NLP領域中的遷移學習現狀

2020-12-06 雷鋒網

雷鋒網AI科技評論編者按:本文拓展自NAACL 2019教程「NLP領域的遷移學習」,這個教程是由Matthew Peters、Swabha Swayamdipta、Thomas Wolf和我組織策劃的。在這篇文章中,我強調了一些在這個領域中的見解和收穫,並根據最近的工作進展更新了一部分資料。整篇文章的結構如下圖。

圖1

一、內容簡介

我們在這篇文章中的對遷移學習的主要定義如圖所示,遷移學習是一種從源設置中提取信息並將其應用於不同設定目標的方法。 

圖2:遷移學習過程的說明

在過去一年多的時間裡,以預訓練的語言模型形式進行的遷移學習已經在NLP領域中普及,為許多不同的任務帶來了新的最好成績。然而,遷移學習在自然語言處理中並不是最近才出現的。雷鋒網(公眾號:雷鋒網)舉個簡單的例子,命名實體識別(NER)任務的進展情況,如下所示。

圖3:隨時間推移在CoNLL-2003上的命名實體識別(NER)性能

縱觀其歷史, 在這項任務中大多數的進步已經是由不同形式的遷移學習推動的:從早期s帶有輔助任務的自監督學習(Ando和Zhang,2005)和短語和單詞集群(Lin和Wu,2009)語言模型嵌入(Peters等人, 2017)和預訓練語言模型(Peters, Akbik, Baevski等人)。

在當前的自然語言處理領域中,普遍存在著不同類型的遷移學習。它們可以按照三個維度進行分類:1、源設定和目標設定是否處理相同的任務;2、源域和目標域的性質;3、學習任務的順序。這樣就可以把各種遷移學習分為圖中的幾類。

圖4:NLP中遷移學習的分類(Ruder, 2019)

序列遷移學習是其中進步最大的那一類。通常的做法是,使用你選擇的方法在一個大型文本語料庫中的未標記數據上進行表徵預訓練,然後通過標註數據把學到的表徵適配到一個有監督任務上。如下圖。

圖5: 序列遷移學習的一般過程

二、主要的研究課題

在應用這種範式的過程中,我們可以觀察到以下幾個主要的研究課題

1、單詞表徵(如今已經是帶有語境的單詞表徵)

隨著時間推移、技術發展,單詞表徵也更多地聯繫上下文的語義。像word2vec這樣的早期方法 (Mikolov 等人, 2013)為每個單詞學習了單獨的表徵,但與上下文沒有聯繫。後來的方法就開始將這些表徵的尺度拓展到了句子和文本級別(Le和Mikolov, 2014;Conneau等人,2017)。當前的方法能夠基於單詞的上下文不同而學到不同的表徵(McCann等人,2017; Peters等人,2018)。

2、LM預訓練

許多成功的預訓練方法都是基於語言建模(LM)的變體。 LM的優點是它不需要任何人工注釋,並且許多語言都有足夠的文本資料學出一個不錯的模型d。此外,LM是多用途的,可以通過各種目標函數,學習句子和單詞的表徵。

3、由淺入深

在過去的幾年裡,NLP領域中最先進的模型變得越來越深入。僅僅兩年前,大多數任務上表現最佳的模型都還是2-3層的深度BiLSTM,只有機器翻譯領域表現最好的模型是與眾不同的16層(Wu 等人, 2016)。相比之下,目前的模型如BERT-Large和GPT-2由24個Transformer模塊組成,而最新的模型甚至會更深。

4、預訓練vs目標設定

預訓練和目標任務的選擇密切相關。例如,句子的表達對於單詞級別的預測並沒有用,而基於詞組的預訓練對於詞組級的預測是重要的。總的來說,為了獲得最佳的目標性能,而選擇類似的預訓練任務是有益的。

三、預訓練

1. 為什麼語言建模會如此有效?

預訓練語言模型的取得了驚人的成功。語言建模成功的一個原因可能是,它是一項非常困難的工作,即使對於人類來說也不例外。為了有機會解決這個難題,模型需要學習語法,語義以及某些世界常識。給定足夠的數據,大量參數和足夠的計算能力,模型就可以有不錯的學習成果。根據過往的實驗來看,語言建模比翻譯或自動編碼等其它預訓練工作更有效(Zhang ,Wang等人)。

最近對人類語言的預測率失真(PRD)的分析(Hahn and Futrell, 2019)研究表明,人類語言和語言建模都具有無窮高的統計複雜性,但語言建模可以在較低層次上模仿逼近人類語言。這一觀察結果有兩個啟示:1)我們可以用相對較小的模型以獲得較為精準的結果;2) 我們的模型有很大的拓展潛力。對於這兩種啟示,我們都有充足證據,我們可以在下一節中看到。

2. 樣本效率

預訓練的一個主要好處就是它減少了對有標註數據的需求。 在實際使用中,與非預訓練模型相比,遷移學習模型通常只需要十分之一甚至更少的樣本數量就達到類似的表現,如下圖所示(Howard 和Ruder, 2018)。

圖6:從零開始訓練的模型(藍色)與分別對標記目標數據(橙色)和未標記目標數據(綠色)進行微調的兩個預訓練模型(紅色)的性能(Howard和Ruder, 2018)。

3、增大預訓練規模

通常可以通過同時增加模型參數和預訓練數據量的方式來改善預訓練表徵。但隨著預訓練數據量的增長,回報率開始下降。然而,如下圖所示的當前的性能曲線並不表示我們已達到了穩定狀態。因此,我們期待可以在更多數據基礎上訓練出更大的模型。

 圖7:平均GLUE數據與預訓練的爬行數據量對比(Baevski等,2019)。

最近的例子是ERNIE 2.0,XLNet,GPT-2 8B和RoBERTa。 尤其是後者發現,簡單地對BERT進行更長時間和更多數據的訓練就可以得到更好的結果,而對GPT-2 8B進行更長時間和更多數據的訓練則可以減少語言建模數據集上的困惑度(儘管幅度很小)。

4、跨語言預訓練

預訓練的一個主要作用是它可以幫助我們跨越數字語言間鴻溝,使我們能夠為全世界超過6000種語言都學習到NLP模型。(其中大多數語言是缺乏資料的,這既是為每種語言都學習語言模型的難點,也是跨語言預訓練有用的地方)跨語言學習的工作大多集中在訓練不同語言中的單詞嵌入,並學習如何使它們之間匹配度更高(Ruder 等人, 2019);同樣地,我們也可以對上下文表徵做同樣的事情(Schuster 等人,2019)。另一種常見方法是共享子單詞詞彙表並在多種語言上訓練一個模型(Devlin,Artetxe, Schwenk, Mulcaire, Lample和Conneau等人,2019)。

雖然這很容易實現,並且是一個很強大的跨語言基線,但它導致資源配置較低的語言代表性不足(Heinzerling和Strube,2019)。特別是多語言BERT已成為備受關注的話題(Pires ,Wu和Dredze等人,2019),雖然它有很好的零樣本學習表現,但專門的單語模型仍然是具有極大競爭力的,同時也更有效率(Eisenschlos 等人, 2019).

5、實際權衡

預訓練很費錢。我們在教程中使用的Transformer-XL樣式模型的預訓練在8個V100 gpu上花費了5-20小時(如果是1個V100那麼就要花費幾天的時間)才能達到一個好的效果。因此,共享預訓練的模型非常重要。除了需要為transformer的學習速率預熱外,預訓練對超參數的選擇並不怎麼挑剔。一般來說,如果數據集足夠大,模型就不應該有足夠的容量來進行過度擬合。掩蔽語言建模(如BERT中所述)的訓練速度通常比標準LM慢2-4倍,因為掩蔽一小部分單詞對應著只有一小部分的訓練指導信號。

四、表徵中都有什麼

我們已經證明,表徵可以用來預測某些語言現象,如翻譯或句法層次的匹配。使用語法進行預訓練,能夠取得較好的效果;即使沒有明顯地對語法進行編碼,表徵仍然可以學習到一些語法概念(Williams等人,2018)。

最近的工作進一步表明,當前最先進的模型可以有效地蒸餾出語法知識(Kuncoro等人., 2019)。網絡架構通常決定了表徵的內容。例如,已經觀察到了BERT能夠捕捉語法(Tenney等人)。對於捕捉到的信息,不同的模型架構會表現出不同的層間變化趨勢。

 圖8:探究工作一般用於設置研究語境詞表示中的語言知識(Liu 等人, 2019)

模型捕獲的信息還取決於你如何看待它:可視化激活或是注意力權重能提供模型知識的總體情況,但只能針對幾個樣本進行分析;如果在學習到的表徵基礎上訓練一個分類器作為探針,用它來預測某些屬性,這種方法可以發現語料庫級別的一些具體特點,但也可能引入探針本身帶來的偏倚;最後,網絡對照試驗對於改進模型非常有用,但得到的結論可能會僅限於當前的任務。

五、適配

為了使預訓練模型適應目標任務,我們可以做出若干不同方向上的決策:架構修改,優化方案以及是否要獲得更多的學習信號。

1、架構修改

對於架構修改,我們有兩個選項:

a)保持預訓練的模型內部不變

簡單的做法可以是在預訓練的模型之上添加一個或多個線性層,通常是在Bert基礎上增加。或者我們也可以使用模型輸出作為另一個模型的輸入。當目標任務需要預訓練的嵌入有一些交互作用但目前的預訓練模型執行不了時,這通常是有幫助的,例如以BERT為預訓練模型但需要詞彙表徵或建立跨句子關係模型。

b)修改預先訓練的模型內部架構

我們希望這樣做的原因之一可能是為了適應結構不同的設定目標,例如一個具有多個輸入序列的任務。在這種情況下,我們可以使用預訓練的模型儘可能初始化結構不同的設定模型。我們還可以應用於特定項目的修改,例如添加、跳過或殘餘連接或警示。最後,修改目標任務的參數可以通過在預訓練的模型層之間添加瓶頸模塊(「適配器」)來減少需要精細調整的參數數量(Houlsby,Stickland和Murray等人,2019)。 

圖9:變壓器(左)中使用的適配器層(右)(Houlsby等人,2019年)

 六、優化方案

在優化模型方面,我們需要選擇要更新哪些權重,以及何時、如何更新它們

1、要更新哪些權重

對於權重更新,我們可以選擇微調或者不微調(預訓練權重)

a)不要改變預訓練的權重(特徵提取)

在實際應用中,很多人會在預訓練表徵的基礎上訓練一個線性分類器。如果想要獲得最好的性能,通常就不僅使用頂層的表徵,而要學習層表徵的線性組合 (Peters等人, 2018, Ruder 等人, 2019)。另一個做法是,預訓練的表徵可以作為下遊模型中的特性。當添加適配器時,只訓練適配器層。

 

圖10:在單獨的下遊模型中使用預:訓練的模型作為特徵

b)改變預訓練過程中的權重(微調)

採用預訓練的權值作為下遊模型參數的初始化值。然後,在適應階段對整個預訓練架構進行訓練。

2、如何以及何時更新權重

選擇順序和如何更新權重的主要目的是要避免覆蓋有用的預訓練的信息並最大化正遷移。與此相關的是災難性遺忘的概念(McCloskey&Cohen,1989;French,1999),是指一個模型忘記了它最初訓練的任務。在大多數設置中,我們只關心目標任務的性能,但這可能因應用場合的不同而有所不同。

更新我們模型的參數的一個指導原則是,在時間上、強度上或與預訓練的模型相比,自上而下地逐步更新:

a)時間上的逐步更新(凍結法)

對不同分布和不同任務的數據同時進行所有層的訓練可能會導致性能不穩定,產生的解決方案較差。相反,我們單獨訓練網絡中不同的層,讓它們有時間適應新的任務和數據。這可以追溯到早期深層神經網絡的分層訓練(Hinton等人,2006;Bengio等人,2007)。最近的方法(Felbo等人,2017;Howard和Ruder,2018年;Chronopoulou等,2019年) 的變化主要在於共同訓練的層的選擇不同。 尚未對transformer模型的解凍進行詳細的研究。

b)強度上的逐步更新(降低的學習率)

我們希望通過降低學習率,以避免覆蓋有用的信息。較低的學習率在較低層次(因為它們會捕捉到很多的普遍信息)、訓練早期(因為模型仍然需要適應目標分布)和訓練後期(當模型接近結尾時)尤為重要。為此,我們可以使用判別性微調(Howard和Ruder,2018),它降低了每一層的學習速度,如下所示。為了在早期的訓練中保持較低的學習率,可以使用三角學習速率計劃,也就是transformer的學習率預熱。(Liu等人,2019)最近指出,在訓練的早期階段,預熱可以減少差異  

圖11:歧視性微調(Howard和Ruder,2018年)

c)逐步更新vs預訓練模型(正則化)

最大限度地減少災難性遺忘的一種方法是鼓勵目標模型參數使用正則化項,減小與預訓練模型的參數的差異性(Wiese等人,CoNLL 2017,Kirkpatrick等人,PNAS 2017)。

七、權衡與實際考慮

一般來說,需要從頭開始訓練的參數越多訓練速度就越慢。特徵提取需要添加比微調更多的參數(peters等人,2019),因此訓練速度通常較慢。然而,當一個模型需要適應很多的任務時,特徵提取更節省空間,因為它只需要在內存中存儲一個預先訓練過的模型的副本。適配器通過為每個任務添加少量的附加參數來達到平衡。

就性能而言,沒有一種適配器方法能在所有設置中都帶來帶來最好的表現。如果源和目標任務不一致,特徵提取似乎更可取(Peters等人,2019)。否則,特徵提取和微調通常執行類似的操作,這取決於用於超參數調整的預算(微調通常需要對超參數進行更廣泛的搜索和嘗試)。據說,transformer比lstms更容易微調(對超參數不那麼敏感),並且可以通過微調實現更好的性能。

然而,大型的預訓練模型(如Bert-Large)在對小訓練集的任務進行精細調整時,往往會導致性能退化。通常顯示為「ON-off」:如下圖所示,模型要麼運行良好,要麼根本不起作用。想要了解這種行為的條件和原因,目前來說還是一個等待解決的研究問題。 

圖12:BERT(紅色)和BERT的20個隨機重啟的任務分數分布,在MNLI(綠色)上進行微調,每次任務的微調不超過5k(Phang等,2018)。

八、獲得更多的學習信號

目標任務通常都缺少資源.我們通常可以通過組合多種不同的學習信號來提高遷移學習的性能

1、提高樣本效率

如果存在相關的任務,我們可以先在相關任務上使用更多數據對模型進行微調,然後再對目標任務進行微調。這尤其有助於數據有限的情況和執行類似任務 (Phunet 等人,2018),並提高了目標任務的樣本效率(Yogatama等人,2019)。

2、多任務微調

或者,我們也可以根據相關任務和目標任務的要求對模型進行共同微調。這個相關的任務也可以是一個無監督的輔助任務。語言建模是一個很好的選擇,並且已經證明即使沒有預訓練也能起到幫助(Rei等人,2017年)。任務比率可以進行選擇,逐漸減小輔助任務的比例,在訓練結束時輔助任務的比例可以減小到0(Chronopoulou等人,NAACL,2019年)。語言模型微調也已經作為一個單獨步驟使用在了ULMFiT中 (Howard和Ruder,2018)。最近,即便有很多個目標任務,多任務微調也可以帶來收益 (Liu等人,2019;Wang等人,2019)。

3、數據集分割

我們可以使用只在數據的某個子集上訓練的輔助任務,而不對輔助任務微調。為此,我們首先要分析模型的誤差,採用啟發式方法自動識別訓練數據中的突出子集,然後與目標任務聯合訓練輔助任務。

4、半監督學習

我們還可以使用半監督學習方法,通過擾亂未標記的數據來使我們的模型預測更加準確。 幹擾方式可以是噪聲,掩蔽(Clark等人,2018)也可以是數據增強,(Xie 等人,2019)。

5、集成模型

為了提高性能,可以把不同超參數訓練的模型、不同預訓練模型精細調節得到的模型、乃至不同任務,不同數據集的子集上訓練的模型集成起來

6、蒸餾

最後,大型模型或模型組合可能被提煉成小型單一模型。該模型也可以更加簡單化 (Tang等人,2019年),也可以產生不同的歸納偏差(Kuncoro等人,2019年)。多任務微調也可以與提煉相結合(Clark等人,2019)。

九、下遊應用

預訓練大型模型在計算和環境影響方面的成本很高(Strubell等人,2019年)。只要有可能,最好使用開源模型。如果您需要訓練自己的模型,請與社區分享您的預訓練模型。

1、框架和函數庫

為了共享和使用經過訓練的模型,可以有不同的選擇:

2、Hubs

Hubs是中央存儲庫,並能提供訪問預訓練模型的通用API 。最常見的兩個Hub是TensorFlow Hub和PyTorch Hub。Hub通常使用起來很簡單;但是,由於模型的原始碼難以訪問,所以它們更像一個黑匣子。此外,修改預訓練模型架構的內部結構可能會很困難。

3、研究者發布了檢查點模型

檢查點文件通常包含了預訓練模型的所有權重。與Hub相比,仍然需要創建模型圖,需要單獨加載模型權重。因此,檢查點文件比Hub模塊更難使用,但它可以讓你完全控制模型內部。

4、第三方函數庫

像是 AllenNLP, fast.ai和 pytorch-transformers這類的第三方函數庫,可以輕鬆訪問預訓練模型。 此類庫通常可實現快速實驗,並涵蓋了許多經典的示例以進行遷移學習。

十、有待解決的問題及未來發展方向

1、預訓練語言模型的缺陷

預訓練的語言模型仍然不擅長細粒度的語言任務(Liu等人,2019)、層次句法推理(Kuncoro等人,2019)和常識(Zellers等人,2019)。在自然語言生成方面仍然有所欠缺,特別是在長期的維繫、關係和連貫性方面。微調的時候它們更傾向於過於過度擬合表面形式信息,目前仍然被視為是「效率極高的表面學習者」。

正如我們前面所指出的,特別是對少量數據進行微調的大型模型很難進行優化,而且存在高度的差異性。目前經過預訓練的語言模型非常龐大。蒸餾和剪枝是處理這一問題的兩種方法。

2、預訓練任務

雖然語言建模目標經過試驗正名是有效的,但它也有缺陷。最近,我們看到雙向語境和詞序列的建模尤為重要。也許最重要的是,語言建模鼓勵人們關注語法和詞的共現,並且只提供了用於理解語義和維繫上下文弱信號。我們可以從其他形式的自我監督中汲取靈感。此外,我們還可以設計專門的預訓練任務,學習某些關係(Joshi等人,2019年;Sun等人,2019年)。

雷鋒網小結,很難能從原始文本中學習某種類型的信息。最新的方法就是將結構化知識(Zhang等人,2019;Logan IV等人,2019年)或多模態(Sun等人,2019;Lu等人,2019)引入,作為緩解這一問題的兩種潛在方式。

原文連結:http://ruder.io/state-of-transfer-learning-in-nlp/

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 概述:遷移學習在NLP和CV中的應用實例
    【IT168 資訊】昨天在我們的網站上已經有一篇介紹遷移學習的文章,簡單的將遷移學習的基本情況進行了概述,在今天的這篇文章中,將討論遷移學習的兩個應用,概述自然語言處理和計算機視覺領域的相關例子。通常,這些變體在其產生的語料庫中是不同的,例如維基百科、新聞文章等,以及嵌入模型的差異。了解這些模型和語料庫的背景是非常重要的,以了解是否用詞嵌入來進行轉移學習是明智的。人們通常不會調用嵌入式遷移學習,但其實,因為與計算機視覺中傳輸學習的相似性。基本上,使用詞嵌入意味著你正在使用一個特徵提升器或嵌入網絡將單詞轉換為信息向量。
  • 中科院計算技術研究所王晉東:遷移學習的發展和現狀 | 分享總結
    遷移學習強調通過不同領域之間的知識遷移,來完成傳統機器學習較難完成的任務。它是解決標定數據難獲取這一基礎問題的重要手段,也是未來更好地研究無監督學習的重要方法。在近日雷鋒網(公眾號:雷鋒網) AI研習社的公開課上,來自中國科學院計算技術研究所的在讀博士王晉東帶來了題為《遷移學習的發展和現狀》的分享。
  • 「乾貨」NLP中的遷移學習教程來啦!(238頁PPT下載)
    近兩年來,自然語言處理(NLP)領域出現了幾種轉移學習方法和體系結構,這些方法和體系結構大大提高了NLP任務的先進性。這些改進,加上這些方法的廣泛可用性和易集成性,使人們想起了導致計算機視覺中預訓練字嵌入和ImageNet預訓練成功的因素,並表明這些方法很可能成為NLP中的一種常用工具以及一個重要的研究方向。
  • 2019 年 NLP 領域都發生了哪些大事件?
    Sebastian Ruder 在發表的論文《Neural Transfer Learning for Natural Language Processing》中,提出了自然語言處理神經遷移學習。該方法利用了堆疊的 Transformer 層以及注意力機制,來對齊文本片段中的元素和圖像的區域。《To Tune or Not to Tune? Adapting Pretrained Representations to Diverse Tasks》通過詳細的分析對比了各種自然語言處理中的遷移學習方法,並給出了對自然語言處理從業人員的建議。
  • 深度學習在NLP中的運用?從分詞、詞性到機器翻譯、對話系統
    自然語言是人類知識的抽象濃縮表示,而自然語言理解是人工智慧研究領域中極具挑戰的一個分支。上次,《自然語言處理在 2017 年有哪些值得期待的發展?》中,我們已經講到,2016 年是深度學習大潮衝擊 NLP 的一年,通過去年一年的努力,深度學習在 NLP 領域已經站穩了腳跟。
  • nlp領域發生了新的技術突破,用attention機制研究nlp領域
    近期,nlp領域發生了一系列的技術突破。包括:attention機制,cnn,adaptive attention network(an),兩層cnn相比較,an表現優於一層的cn。今天我們將從這兩種attention機制開始研究nlp領域突破性技術!
  • 一文概述 2018 年深度學習 NLP 十大創新思路
    這份清單包含主要與遷移學習相關的想法及其概述,不過也必然會帶有一定的主觀性。其中的大部分(一些例外)並不是一種趨勢(但我預測其中的一些想法在 2019 年會變得更具趨勢性)。最後,我希望在評論區中看到你的精彩評論或者其他領域的精彩文章。
  • 聯邦學習 OR 遷移學習?No,我們需要聯邦遷移學習
    機器之心分析師網絡作者:仵冀穎編輯:H4O在這篇文章中,作者通過 4 篇論文詳細介紹了聯邦學習中的聯邦遷移學習問題,並探討了向經典聯邦學習中引入遷移學習的目的和意義。海量訓練數據是現代機器學習算法、人工智慧技術在各個領域中應用獲得成功的重要條件。
  • NLP 新手必看!這是一份覆蓋全面的基於 PyTorch 和 keras 的 NLP...
    相信在人工智慧領域,沒有人不知道這三位,眾所周知,他們被稱為「深度學習三巨頭」。作為人工智慧領域「皇冠上的明珠」,NLP 技術在經歷了過去幾年的發展之後,證明了它落地的可行性,因此目前也是相當火爆。想必同學們也會經常在網上找一些好的學習資源。最近,小編在 github 上發現了一份基於 PyTorch 和 keras 的 NLP 學習教程。
  • 【NLP】NLP文本風格遷移,秒變金庸風
    NewBeeNLP公眾號原創出品  公眾號專欄作者@山竹小果風格遷移是自然語言生成領域一個非常火的主題,對於文本風格遷移,先舉個例子:Input:謝謝Output(金庸):多謝之至Input:再見Output(金庸):別過!
  • 【超全資源】自然語言處理(NLP)入門學習資源清單(部分資料下載)
    v=nfoudtpBV68&list=PL6397E4B26D00A269 •  斯坦福CS224d:自然語言處理的深度學習[更高級的機器學習算法、深度學習和NLP的神經網絡架構]http://cs224d.stanford.edu/syllabus.html •  Coursera:自然語言處理簡介[由密西根大學提供的NLP
  • 從遷移學習走向整體建構
    【一堂好課】 遷移是一條重要的心理學原理。美國心理學家奧蘇伯爾指出,有學習的地方就有遷移。先前學習對後續學習產生積極影響的,稱為正遷移;產生消極影響,稱為負遷移(或稱「幹擾」)。雖然遷移廣泛存在,但要能夠進行正遷移並非易事。我的師父——張興華研究表明,學生學習的正遷移量越大,他們通過學習所產生的適應新的學習情境或解決新問題的能力就越強。這種正遷移量的實質,是學生掌握已知的概括化程度。在我20多年的小學數學教學中,我始終注重讓學生溫故知新,探新再連舊,實現新舊知識的「跨越」。
  • 這套1600贊的NLP課程已開放,面向實戰,視頻代碼都有丨資源
    一套面向實戰、號稱「代碼優先」的NLP課程來了,名字為A Code-First Introduction to Natural Language Processing,fast.ai出品,全程免費學習。不到半天點讚超過1600,轉發近500。
  • 遷移學習怎麼做?遷移成分分析 (TCA) 方法簡介
    王晉東 (不在家),中國科學院計算技術研究所博士生,目前研究方向為機器學習、遷移學習、人工智慧等。之前整理總結遷移學習資料的時候有網友評論,大意就是現在的類似資料大全的東西已經太多了,想更深入地了解特定的細節。從這篇文章開始我將以《小王愛遷移》為名寫一系列的介紹分析性的文章,與大家共享遷移學習中的代表性方法、理論與自己的感想。
  • 一文解讀NLP中的注意力機制
    近些年來,注意力機制一直頻繁的出現在目之所及的文獻或者博文中,可見在NLP中算得上是個相當流行的概念,事實也證明其在NLP領域散發出不小得作用。這幾年的頂會paper就能看出這一點。本文深入淺出地介紹了近些年的自然語言中的注意力機制包括從起源、變體到評價指標方面。本文便對NLP的注意力機制進行了綜述。
  • 乾貨| 請收下這份2018學習清單:150個最好的機器學習,NLP和Python...
    這個領域也正在以前所未有的速度進化。在之前的一篇文章(https://unsupervisedmethods.com/why-artificial-intelligence-is-different-from-previous-technology-waves-764d7710df8b)中,我們討論過為什麼通用人工智慧領域即將要爆發。有興趣入坑ML的小夥伴不要拖延了,時不我待!
  • ...請收下這份2018學習清單:150個最好的機器學習,NLP和Python教程
    這個領域也正在以前所未有的速度進化。在之前的一篇文章(https://unsupervisedmethods.com/why-artificial-intelligence-is-different-from-previous-technology-waves-764d7710df8b)中,我們討論過為什麼通用人工智慧領域即將要爆發。有興趣入坑ML的小夥伴不要拖延了,時不我待!
  • 在領域頂尖期刊上看到的論文,往往有更好的基礎和嚴謹的寫作風格
    近幾年,自然語言處理這個技術領域突飛猛進,一些在本科階段就接觸該領域的同學已經成功進入自然語言處理(nlp)專業,進行更深入的研究。自然語言處理(nlp)學習資源一般有:中文nlp,包括如果你想向中文nlp領域發展,最好多讀一讀《中文語言處理》《中文機器翻譯教程》,裡面有些來自於國外的優秀實驗室和經典論文。
  • 快速掌握學習遷移理論
    近期很多地市都在開展教師招聘考試,很多同學都進入了最後的備考衝刺階段,進入了刷題階段,但是很多同學都在反映在學習遷移理論的人物和觀點時,還是不能理解相關考點,那麼今天就和大家分享一下教育心理學中學習遷移理論的相關人物和主要觀點:首先我們要清楚,教育心理學所研究的學習遷移是狹義的遷移,特指前一種學習對後一種學習的影響或者後一種學習對前一種學習的影響。
  • 深度學習概述:NLP vs CNN
    現在,每家公司都希望在其系統中實現這一尖端技術,以降低成本、節省時間,並通過自動化使整個工作流程更加高效。最初的人工智慧和深度學習算法比較簡單,就像我們所知的簡單感知器模型和單層神經網絡一樣。隨著時間的推移和更加專注的研究,我們已經擁有了具有多層結構的複雜神經網絡。一些公司在他們的軟體和服務中使用了LSTMs、GANs、變分自編碼器等算法。