日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NLP中的迁移学习

發布時間:2024/8/23 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NLP中的迁移学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要:?遷移學習正在各個領域大展拳腳,NLP領域正在受到沖擊!

在我們之前的文章中,我們展示了如何使用CNN與遷移學習為我們自己創建圖片構建分類器。今天,我們介紹NLP中遷移學習的最新趨勢,并嘗試進行分類任務:將亞馬遜評論的數據集分類為正面或負面。

NLP中的遷移學習理念在fast.ai課程中得到了很好的體現,我們鼓勵你查看論壇。我們這里的參考文件是??Howard,Ruder,“用于文本分類的通用語言模型微調”。

什么是遷移學習?

計算機視覺是一個使用遷移學習而取得巨大進步的領域。它具有數百萬參數的高度非線性模型需要大量數據集進行訓練,并且通常需要數天或數周才能進行訓練,只是為了能夠將圖像分類為包含狗或貓!

隨著ImageNet的挑戰,團隊每年都參與競爭,以設計出最佳的圖像分類器。已經觀察到這些模型的隱藏層能夠捕獲圖像中的一般知識(邊緣、某些形式、樣式......)。因此,每次我們想要改變任務時,沒有必要從頭開始重新訓練模型。

讓我們以VGG-16模型為例(Simonyan、Karen和Zisserman·“用于大規模圖像識別的非常深的卷積網絡?!?#xff08;2014))

這種架構比較復雜、層數多、參數數量多。作者聲稱使用4個強大的GPU訓練了為3周時間。

遷移學習的想法是,由于中間層被認為是學習圖像的一般知識,我們可以將它們用作當成比較全面的特征!我們將下載一個預先訓練好的模型(在ImageNet任務上訓練數周),刪除網絡的最后一層(完全連接的層,在ImageNet挑戰的1000個類上投射功能),添加put而不是我們選擇的分類器,適合我們的任務(如果我們有興趣對貓和狗進行分類,則為二元分類器),最后僅訓練我們的分類層。并且因為我們使用的數據可能與之前訓練過的模型數據不同,我們也可以進行微調步驟,這樣我們就能在相當短的時間內訓練所有層。

除了更快地進行訓練之外,遷移學習特別有趣,因為僅在最后一層進行訓練使我們僅使用較少的標記數據即可,而端對端訓練整個模型則需要龐大的數據集。標記數據很昂貴,并且非常需要建立高質量模型而不需要大數據集。

那么NLP中的遷移學習呢?

NLP深度學習的進展不像計算機視覺那樣成熟。雖然可以想象機器能夠學習邊緣、圓形、正方形等形狀,然后使用這些知識做其他事情,但對于文本數據來說這些并不簡單。

最初流行的在NLP中遷移學習是由嵌入模型這個詞(由word2vec和GloVe廣泛推廣)帶來的。這些單詞矢量表示利用單詞的上下文,將它們表示為向量,其中相似的單詞應具有相似的單詞表示。

在這個圖中,來自word2vec論文,我們看到該模型能夠學習國家與其首都城市之間的關系。

包括預先訓練的單詞向量已經顯示出在大多數NLP任務中改進度量,因此已經被NLP社區廣泛采用,被用來尋找甚至更好的單詞/字符/文檔表示。與計算機視覺一樣,預訓練的單詞向量可以被視為特征化函數,轉換一組特征中的每個單詞。

但是,單詞嵌入僅代表大多數NLP模型的第一層。之后,我們仍然需要從頭開始訓練所有RNN / CNN /自定義層。

用于文本分類的語言模型微調

今年早些時候霍華德和羅德提出了ULMFit模型,以此來進一步提升了遷移學習在NLP的應用。

他們正在探索的想法是基于語言模型。語言模型是一種能夠根據已經看到的單詞預測下一個單詞的模型(想想你的智能手機在你發短信時為你猜測下一個單詞)。就像圖像分類器通過對圖像分類來獲得圖像的內在知識一樣,如果NLP模型能夠準確地預測下一個單詞,那么說明它已經學到了很多關于自然語言結構。這些知識應提供良好的初始化,然后可以在自定義任務上進行訓練!

ULMFit建議在非常大的文本語料庫(例如維基百科)上訓練語言模型,并將其用作任何分類器的主干!由于你的文本數據可能與維基百科的編寫方式不同,因此你需要微調語言模型的參數以將這些差異考慮在內。然后,我們將在此語言模型的頂部添加分類器層,并僅訓練此層!

ULMfit paper

讓人驚訝的結果是,使用這種預訓練的語言模型使我們能夠在更少標記的數據上訓練分類器!雖然未標記的數據在網絡上幾乎是無限的,但標記數據非常昂貴且耗時。

以下是他們從IMDb情緒分析任務中報告的結果:

雖然只有100個示例,它們能夠達到與使用20k示例從頭開始訓練時模型達到的相同錯誤率!

此外,他們還提供了代碼,以你選擇的語言預先訓練語言模型。由于維基百科存在很多的語言中,因此我們可以使用維基百科數據快速從一種語言遷移到另一種語言。眾所周知,公共標簽數據集更難以使用英語以外的語言進行訪問。在這里,你可以對未標記數據上的語言模型進行微調,花幾個小時手動注釋幾百/千個數據點,并使分類器頭部適應你預先訓練的語言模型來執行你的任務!

?

游樂場與亞馬遜評論

為了改變這種方法的不足之處,我們使用為其論文中的公共數據集上進行了嘗試。我們在Kaggle上找到了這個數據集:它包含4百萬條關于亞馬遜產品的評論,并用積極或消極的情緒標記它們。我們將針對ULMfit的fast.ai課程調整將亞馬遜評論分類為正面或負面。我們發現只需要1000個數據點,該模型就能夠匹配通過在完整數據集上從頭開始訓練FastText模型獲得的準確度分數。僅使用100個標記示例,該模型仍然能夠獲得良好的性能。

要重現此實驗,你可以使用此筆記本,建議使用GPU來運行微調和分類部分。

NLP中的無監督與監督學習,圍繞意義進行討論

使用ULMFit,我們使用了無監督和監督學習。訓練無監督的語言模型是“便宜的”,因為你可以在線訪問幾乎無限的文本數據。但是,使用監督模型很昂貴,因為你需要對數據進行標記。

雖然語言模型能夠從自然語言的結構中捕獲大量相關信息,但尚不清楚它是否能夠捕獲文本的含義,即“發送者打算傳達的信息或概念”。

你可能已經關注了NLP中非常有趣的Twitter主題。在這個帖子中,艾米莉·本德利用“泰國房間實驗”對她進行了反對意義捕獲的論證:想象一下,你在一個巨大的圖書館里得到了所有泰國文學的總和。假設你還不懂泰語,你就不會從中學到任何東西。

所以我們可以認為語言模型學到的更多是語法而不是意義。然而,語言模型比僅僅預測語法相關的句子更好。例如,“我要吃來這臺電腦”和“我討厭這臺電腦”兩者在語法上都是正確的,但一個好的語言模型應該能夠知道“我討厭這臺電腦”應該比另外一句更“準確”。所以,即使我看過整個泰語維基百科,我也無法用泰語寫作,但很容易看出語言模型確實超越了簡單的語法/結構理解。

我們不會在這里進一步探討意義的概念(這是一個無窮無盡且引人入勝的話題/辯論),如果你有興趣,我們建議你看下Yejin Choi在ACL 2018的演講中是如何探討這一主題的。

NLP中遷移學習的未來

ULMFit取得的進展推動了NLP遷移學習的研究。對于NLP來說,這是一個激動人心的時刻,因為其他微調語言模型也開始出現,特別是FineTune Transformer LM。我們還注意到,隨著更好的語言模型的出現,我們甚至可以改善這種知識遷移。

原文鏈接

本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的NLP中的迁移学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。