2019年深度學(xué)習(xí)自然語言處理十大發(fā)展趨勢
本文介紹了近日FloydHub 博客上Cathal Horan中自然語言處理的10大發(fā)展趨勢。
[ 導(dǎo)讀 ]自然語言處理在深度學(xué)習(xí)浪潮下取得了巨大的發(fā)展,F(xiàn)loydHub 博客上Cathal Horan介紹了自然語言處理的10大發(fā)展趨勢,是了解NLP發(fā)展的非常好的文章。
2018年是基于深度學(xué)習(xí)的自然語言處理(NLP)研究發(fā)展快速的一年。在此之前,最引人注目的是Word2Vec,它于2013年首次發(fā)布。
在此期間,深度學(xué)習(xí)模型在語言建模領(lǐng)域?qū)崿F(xiàn)的方面出現(xiàn)了一種穩(wěn)定的創(chuàng)新和突破的勢頭。
然而,2018年可能是所有這些勢頭最終結(jié)出碩果的一年,在NLP的深度學(xué)習(xí)方法方面出現(xiàn)了真正突破性的新發(fā)展。
去年的最后幾個月,隨著BERT模型的出現(xiàn),出現(xiàn)了一場特別熱鬧的研究浪潮。2019年,一個新的挑戰(zhàn)者已經(jīng)通過OpenAI GTP-2模型出現(xiàn),該模型“太危險”不適合發(fā)布。通過所有這些活動,很難從實際的業(yè)務(wù)角度了解這意味著什么。
這對我意味著什么?
這項研究能應(yīng)用于日常應(yīng)用嗎?或者,潛在的技術(shù)仍在如此迅速地發(fā)展,以至于不值得花時間去開發(fā)一種可能會被下一篇研究論文視為過時的方法?如果您想在自己的業(yè)務(wù)中應(yīng)用最新的方法,了解NLP研究的趨勢是很重要的。為了幫助解決這個問題,基于最新的研究成果,在這里預(yù)測10個關(guān)于NLP的趨勢,我們可能會在明年看到。
NLP架構(gòu)的趨勢
我們可以看到的第一個趨勢是基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)架構(gòu),這是近年來NLP研究的核心。為了將它們應(yīng)用到您的業(yè)務(wù)用例中,您不必詳細(xì)地了解這些架構(gòu)。但是,您需要知道,對于什么架構(gòu)能夠交付最佳結(jié)果,是否仍然存在重大疑問。
如果對最佳架構(gòu)沒有共識,那么就很難知道應(yīng)該采用什么方法(如果有的話)。您將不得不投入時間和資源來尋找在您的業(yè)務(wù)中使用這些體系結(jié)構(gòu)的方法。所以你需要知道2019年這一領(lǐng)域的趨勢。
目錄
1. 以前的word嵌入方法仍然很重要
2. 遞歸神經(jīng)網(wǎng)絡(luò)(RNNs)不再是一個NLP標(biāo)準(zhǔn)架構(gòu)
3. Transformer將成為主導(dǎo)的NLP深度學(xué)習(xí)架構(gòu)
4. 預(yù)先訓(xùn)練的模型將發(fā)展更通用的語言技能
5. 遷移學(xué)習(xí)將發(fā)揮更大的作用
6. 微調(diào)模型將變得更容易
7. BERT將改變NLP的應(yīng)用前景
8. 聊天機(jī)器人將從這一階段的NLP創(chuàng)新中受益最多
9. 零樣本學(xué)習(xí)將變得更加有效
10. 關(guān)于人工智能的危險的討論可能會開始影響NLP的研究和應(yīng)用
1. 以前的word嵌入方法仍然很重要
Word2Vec和GLoVE是在2013年左右出現(xiàn)的。隨著所有的新研究,你可能認(rèn)為這些方法不再相關(guān),但你錯了。Francis Galton爵士在19世紀(jì)后期提出了線性回歸的方法,但作為許多統(tǒng)計方法的核心部分,它今天仍然適用。
類似地,像Word2Vec這樣的方法現(xiàn)在是Python NLP庫(如spaCy)的標(biāo)準(zhǔn)部分,在spaCy中它們被描述為“實用NLP的基石”。如果你想快速分類常見的文本,那么word嵌入就可以了。

Word2Vec等方法的局限性對于幫助我們了解NLP研究的未來趨勢也很重要。他們?yōu)樗形磥淼难芯吭O(shè)定了一個基準(zhǔn)。那么,他們在哪些方面做得不夠呢?
- 每個詞只能嵌入一個詞,即每個詞只能存儲一個向量。所以" bank "只有一個意思"我把錢存進(jìn)了銀行"和"河岸上有一條漂亮的長凳";
- 它們很難在大型數(shù)據(jù)集上訓(xùn)練;
- 你無法調(diào)整它們。為了使他們適合你的領(lǐng)域,你需要從零開始訓(xùn)練他們;
- 它們不是真正的深度神經(jīng)網(wǎng)絡(luò)。他們被訓(xùn)練在一個有一個隱藏層的神經(jīng)網(wǎng)絡(luò)上。
2. 遞歸神經(jīng)網(wǎng)絡(luò)(RNNs)不再是一個NLP標(biāo)準(zhǔn)架構(gòu)
長期以來,RNNs一直是基于NLP的神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)。這些架構(gòu)是真正的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),是從早期的創(chuàng)新(如Word2Vec)設(shè)定的基準(zhǔn)發(fā)展而來的。去年討論最多的方法之一是ELMo(來自語言模型的嵌入),它使用RNNs提供最先進(jìn)的嵌入表示,解決了以前方法的大多數(shù)缺點(diǎn)。從下圖中可以看出,與前饋網(wǎng)絡(luò)不同,RNNs允許隱藏層的循環(huán)返回到它們自己,并且以這種方式能夠接受可變長度的序列輸入。這就是為什么它們非常適合處理文本輸入。

RNNs非常重要,因為它提供了一種處理數(shù)據(jù)的方法,而時間和順序非常重要。例如,對于文本相關(guān)的數(shù)據(jù),單詞的順序很重要。改變語序或單詞可以改變一個句子的意思,或只是使它亂語。在前饋網(wǎng)絡(luò)中,隱含層只能訪問當(dāng)前輸入。它沒有任何其他已經(jīng)處理過的輸入的“內(nèi)存”。相比之下,RNN能夠?qū)ζ漭斎脒M(jìn)行“循環(huán)”,看看之前發(fā)生了什么。
作為一個實際的例子,讓我們回到我們的一個bank的例句,“I lodged money in the bank”。在前饋網(wǎng)絡(luò)中,當(dāng)我們到達(dá)“bank”這個詞時,我們對之前的詞已經(jīng)沒有“記憶”了。這使得我們很難知道句子的上下文,也很難預(yù)測正確的下一個單詞。相比之下,在RNN中,我們可以參考句子中前面的單詞,然后生成下一個單詞是“bank”的概率。
RNNs和長短時記憶(LSTM)是RNN的一種改進(jìn)類型,它們的詳細(xì)信息不在本文討論范圍之內(nèi)。但如果你真的想深入了解這個主題,沒有比克里斯托弗•奧拉斯(Christopher Olahs)關(guān)于這個主題的精彩文章更好的起點(diǎn)了。
ELMo在多層RNN上接受訓(xùn)練,并從上下文學(xué)習(xí)單詞嵌入。這使得它能夠根據(jù)所使用的上下文為每個單詞存儲多個向量。它附帶了一個預(yù)先訓(xùn)練好的模型,這個模型是在一個非常大的數(shù)據(jù)集上訓(xùn)練的,可以動態(tài)地創(chuàng)建基于上下文的詞嵌入,而不是像以前的靜態(tài)詞嵌入方法那樣簡單地提供查找表。

這個圖是一個兩層ELMO架構(gòu)的例子。您擁有的層越多,就可以從輸入中了解到越多的上下文。低層識別基本語法和語法規(guī)則,而高層提取較高的上下文語義。ELMO使其更精確的另一個方面是它采用了雙向語言建模。因此,不是簡單地從開始到結(jié)束讀取輸入,而是從結(jié)束到開始讀取輸入。這使得它能夠捕獲句子中單詞的完整上下文。如果沒有這個,你必須假設(shè)一個特定單詞的所有上下文都出現(xiàn)在單詞之前或之后,這取決于你讀它的方向。
它還允許進(jìn)行微調(diào),以便能夠根據(jù)特定領(lǐng)域的數(shù)據(jù)進(jìn)行調(diào)整。這導(dǎo)致一些人聲稱這是NLPs ImageNet時刻,這意味著我們越來越接近擁有可用于下游NLP任務(wù)的一般訓(xùn)練模型的核心構(gòu)件。
因此,RNN結(jié)構(gòu)仍然是非常前沿的,值得進(jìn)一步研究。直到2018年,它仍然是NLP的主要架構(gòu)。一些評論家認(rèn)為,現(xiàn)在是我們完全放棄RNNs的時候了,因此,無論如何,它們都不太可能成為2019年許多新研究的基礎(chǔ)。相反,2019年深度學(xué)習(xí)NLP的主要架構(gòu)趨勢將是transformer。
3. Transformer將成為主導(dǎo)的NLP深度學(xué)習(xí)架構(gòu)
雖然ELMo能夠克服以前的word嵌入式架構(gòu)的許多缺點(diǎn),比如它只能記住一段文本的上下文,但它仍然必須按順序處理它的輸入,一個詞一個詞地處理,或者在ELMo的情況下,一個字符一個字符地處理。
如前所述,這意味著需要將文本流輸入到輸入層。然后按順序?qū)γ總€隱層進(jìn)行處理。因此,在處理文本以理解上下文時,體系結(jié)構(gòu)必須存儲文本的所有狀態(tài)。這使得學(xué)習(xí)較長的文本序列(如句子或段落)變得困難,也使得訓(xùn)練的速度變慢。
最終,這限制了它可以訓(xùn)練的數(shù)據(jù)集的大小,而這些數(shù)據(jù)集對任何訓(xùn)練它的模型的能力都有已知的影響。在人工智能中,“生命始于十億個例子”。語言建模也是如此。更大的訓(xùn)練集意味著您的模型輸出將更準(zhǔn)確。因此,在輸入階段的瓶頸可能被證明是非常昂貴的,就您能夠生成的準(zhǔn)確性而言。

Transformer架構(gòu)在2017年底首次發(fā)布,它通過創(chuàng)建一種允許并行輸入的方法來解決這個問題。每個單詞可以有一個單獨(dú)的嵌入和處理過程,這大大提高了訓(xùn)練時間,便于在更大的數(shù)據(jù)集上進(jìn)行訓(xùn)練。
作為一個例子,我們只需要看看2019年的早期NLP感覺之一,OpenAI的GTP-s模型。GTP-2模型的發(fā)布受到了很多關(guān)注,因為創(chuàng)建者聲稱,考慮到大規(guī)模生成“虛假”內(nèi)容的可能性,發(fā)布完整的預(yù)訓(xùn)練模型是危險的。不管它們的發(fā)布方法有什么優(yōu)點(diǎn),模型本身都是在Transformer架構(gòu)上訓(xùn)練的。正如主要的AI專家Quoc Le所指出的,GTP-2版本展示了普通Transformer架構(gòu)在大規(guī)模訓(xùn)練時的威力……

隨著Transformer- xl的發(fā)布,Transformer架構(gòu)本身在2019年已經(jīng)向前邁出了一步。這建立在原始轉(zhuǎn)換器的基礎(chǔ)上,并允許一次處理更長的輸入序列。這意味著輸入序列不需要被分割成任意固定的長度,而是可以遵循自然的語言邊界,如句子和段落。這有助于理解多個句子、段落和可能更長的文本(如冠詞)的深層上下文。
通過這種方式,Transformer架構(gòu)為新模型打開了一個全新的開發(fā)階段。人們現(xiàn)在可以嘗試訓(xùn)練更多的數(shù)據(jù)或不同類型的數(shù)據(jù)?;蛘?,他們可以在轉(zhuǎn)換器上創(chuàng)建新的和創(chuàng)新的模型。這就是為什么我們將在2019年看到許多NLP的新方法。
transformer架構(gòu)的發(fā)布為NLP深度學(xué)習(xí)方法創(chuàng)建了一個新的基線。人們可以看到這種新體系結(jié)構(gòu)所提供的潛力,并很快嘗試尋找方法將其合并到新的更高級的NLP問題方法中。我們可以預(yù)計這些趨勢將持續(xù)到2019年。
4. 預(yù)先訓(xùn)練的模型將發(fā)展更通用的語言技能
首先,像Transformer這樣的新架構(gòu)使得在數(shù)據(jù)集上訓(xùn)練模型變得更容易,而在此之前,人們認(rèn)為數(shù)據(jù)集太大,而且學(xué)習(xí)數(shù)據(jù)集的計算開銷太大。這些數(shù)據(jù)集對大多數(shù)人來說都是不可用的,即使新的體系結(jié)構(gòu)使得重新訓(xùn)練他們自己的模型變得更容易,但對每個人來說仍然是不可行的。因此,這意味著人們需要使他們的預(yù)先訓(xùn)練的模型可用現(xiàn)貨供應(yīng)或建立和微調(diào)所需。
第二,TensorFlow Hub開啟了,這是一個可重用機(jī)器學(xué)習(xí)模型的在線存儲庫。這使它很容易快速嘗試一些先進(jìn)的NLP模型,這也意味著你可以下載的模型,預(yù)先訓(xùn)練了非常大的數(shù)據(jù)集。這與ELMo和Universal Sentence Encoder (USE)的出版是一致的。使用的是一種新的模型,它使用轉(zhuǎn)換器架構(gòu)的編碼器部分來創(chuàng)建句子的密集向量表示。
5. 遷移學(xué)習(xí)將發(fā)揮更大的作用

遷移學(xué)習(xí)允許您根據(jù)自己的數(shù)據(jù)對模型進(jìn)行微調(diào)
隨著更多的預(yù)先訓(xùn)練模型的可用性,實現(xiàn)您自己的NLP任務(wù)將變得更加容易,因為您可以使用下載的模型作為您的起點(diǎn)。這意味著您可以在這些模型的基礎(chǔ)上構(gòu)建自己的服務(wù),并使用少量領(lǐng)域特定的數(shù)據(jù)對其進(jìn)行快速培訓(xùn)。如何在您自己的生產(chǎn)環(huán)境中實現(xiàn)這些下游方法的一個很好的示例是將BERT作為服務(wù)提供的。
6. 微調(diào)模型將變得更容易
相反,原始模型的輸出,BERTs和ELMos,是一個密集的向量表示,或嵌入。嵌入從它所訓(xùn)練的大的和一般的數(shù)據(jù)集中捕獲一般的語言信息。您還可以對模型進(jìn)行微調(diào),以生成對您自己的封閉域更敏感的嵌入。這種形式的微調(diào)的輸出將是另一種嵌入。因此,微調(diào)的目標(biāo)不是輸出情緒或分類的概率,而是包含領(lǐng)域特定信息的嵌入。

7. BERT將改變NLP的應(yīng)用前景

BERT的預(yù)先訓(xùn)練的通用模型比它的任何前序都更強(qiáng)大。它已經(jīng)能夠通過使用雙向方法將一種新技術(shù)納入到NLP模型的訓(xùn)練中。這更類似于人類從句子中學(xué)習(xí)意義的方式,因為我們不只是在一個方向上理解上下文。我們在閱讀時也會提前投射以理解單詞的上下文。
8. 聊天機(jī)器人將從這一階段的NLP創(chuàng)新中受益最多

有了像GPT-2和BERT這樣的方法,情況就不一樣了?,F(xiàn)在我們看到,一般訓(xùn)練的模型可以在接近人類的水平上產(chǎn)生反應(yīng)。而特定的封閉域聊天機(jī)器人則比較困難,因為它們需要進(jìn)行微調(diào)。到2019年,將出現(xiàn)一種轉(zhuǎn)變,即創(chuàng)建工具來更容易地對模型(如BERT)進(jìn)行微調(diào),以獲得更小數(shù)量的領(lǐng)域特定數(shù)據(jù)。未來一年的主要問題將是,是更容易生成響應(yīng),還是使用新的NLP模型將傳入的客戶問題與之前存儲或管理的響應(yīng)模板匹配起來。這種匹配將由發(fā)現(xiàn)問題和回答之間的相似性來驅(qū)動。調(diào)優(yōu)越好,模型在識別新客戶查詢的潛在正確答案方面就越精確。
9. 零樣本學(xué)習(xí)將變得更加有效
零樣本學(xué)習(xí)是在一個非常大的數(shù)據(jù)集或一個非常不同的數(shù)據(jù)集上訓(xùn)練一個通用模型。然后您可以將此模型應(yīng)用于任何任務(wù)。在翻譯示例中,您將訓(xùn)練一個模型并將其用作其他語言的通用翻譯程序。2018年底發(fā)表的一篇論文就做到了這一點(diǎn),能夠?qū)W習(xí)93種不同語言的句子表示。

10. 關(guān)于人工智能的危險的討論可能會開始影響NLP的研究和應(yīng)用
目前,深度學(xué)習(xí)NLP領(lǐng)域似乎是人工智能最令人興奮的領(lǐng)域之一。有這么多事情要做,很難跟上最新的趨勢和發(fā)展。這是偉大的,它看起來將繼續(xù)和增長更快。唯一需要注意的是,經(jīng)濟(jì)增長的速度可能太過迅猛,以至于我們需要更多的時間來考慮潛在的影響。
更多請參照請閱讀,ACL 主席、微軟亞洲研究院副院長周明博士在ACL2019主題演講《一起擁抱 ACL 和 NLP 的光明未來》,講述,NLP 領(lǐng)域的技術(shù)趨勢以及未來重要的發(fā)展方向。

NLP 技術(shù)發(fā)展概覽
近年來,NLP 研究和技術(shù)發(fā)生了巨大變化。自2012年以來,最令人印象深刻的進(jìn)展是基于深度神經(jīng)網(wǎng)絡(luò)的 NLP——DNN-NLP。目前,DNN-NLP 已經(jīng)形成了一整套相關(guān)技術(shù),包括詞向量、句向量、編碼器- 解碼器、注意力機(jī)制、transformer 和各種預(yù)訓(xùn)練模型。DNN-NLP 在機(jī)器翻譯、機(jī)器閱讀理解、聊天機(jī)器人、對話系統(tǒng)等眾多 NLP 任務(wù)中取得了重大進(jìn)展。

NLP 未來之路
對于基礎(chǔ)任務(wù),周明博士認(rèn)為其中的關(guān)鍵問題是需要為各種模型的構(gòu)建訓(xùn)練和測試數(shù)據(jù)集。在設(shè)計良好的數(shù)據(jù)集上,每個人都可以提出新的方法,不同的模型之間可以相互競爭。
如果在這些任務(wù)上有所推進(jìn)的話,我們的認(rèn)知智能就會進(jìn)一步提升,包括語言的理解水平、推理水平、回答問題能力、分析能力、解決問題的能力、寫作能力、對話能力等等。然后再加上感知智能的進(jìn)步,聲音、圖象、文字的識別和生成的能力,以及多模態(tài)文、圖交叉的能力,通過文字可以生成圖象,根據(jù)圖象可以生成描述的文字等等,我們就可以推進(jìn)很多應(yīng)用的落地,包括搜索引擎、智能客服、AI教育、AI金融等等各個方面的應(yīng)用。
