NLP深度学习:近期趋势概述(二)
遞歸神經(jīng)網(wǎng)絡(luò)(RNN)
RNN是專門用于處理順序信息的神經(jīng)網(wǎng)絡(luò)的方法。RNN將計(jì)算應(yīng)用于以先前計(jì)算結(jié)果為條件的輸入序列。這些序列通常由固定大小的標(biāo)記向量表示,他們被順序送至循環(huán)單元。下圖說明了一個(gè)簡(jiǎn)單的RNN框架。
RNN的主要優(yōu)勢(shì)在于能夠記憶先前的計(jì)算結(jié)果并在當(dāng)前計(jì)算中使用該信息。這使得RNN模型適合于在任意長度的輸入中都具有上下文依賴性,這樣可以為輸入創(chuàng)建適當(dāng)?shù)慕M合。RNN已被用于研究各種NLP任務(wù),例如機(jī)器翻譯、圖像字幕和語言建模等。
與CNN模型相比,RNN模型在特定的自然語言任務(wù)中可以同樣有效甚至更好。因?yàn)樗鼈兡M了數(shù)據(jù)不同的方面,這才會(huì)使它們有效,具體的效果取決于任務(wù)所需的語義。
RNN期望的輸入通常是單熱(one-hot)編碼或詞嵌入,但在某些情況下,它們與由CNN模型構(gòu)造的抽象表征耦合。簡(jiǎn)單的RNN容易遭受消失的梯度問題,這使得網(wǎng)絡(luò)難以學(xué)習(xí)和調(diào)整較早層中的參數(shù)。其他變體正在出現(xiàn)已解決這個(gè)問題,例如長短期記憶(LSTM)網(wǎng)絡(luò),殘留網(wǎng)絡(luò)(ResNets)和門控循環(huán)網(wǎng)絡(luò)(GRU)后來被引入以克服這一限制。
?
RNN變體
LSTM由三個(gè)門(輸入,遺忘和輸出門)組成,并通過三者的組合計(jì)算隱藏狀態(tài)。GRU類似于LSTM,但只包含兩個(gè)門,效率更高,因?yàn)樗鼈儾荒敲磸?fù)雜。一項(xiàng)研究表明,很難說RNN哪些門控更有效,通常只是根據(jù)可用的計(jì)算能力來挑選它們。研究及實(shí)驗(yàn)表明各種基于LSTM的模型用于序列到序列映射(通過編碼器-解碼器框架),其適用于機(jī)器翻譯,文本摘要,人工對(duì)話建模,問題回答,基于圖像的語言生成以及其他任務(wù)。
總的來說,RNN可以用于許多NLP系統(tǒng),例如:
- 字級(jí)分類(NER);
- 語言建模;
- 句子級(jí)別分類(例如,情感極性);
- 語義匹配(例如,將消息與對(duì)話系統(tǒng)中的候選響應(yīng)相匹配);
- 自然語言生成(例如,機(jī)器翻譯,視覺QA和圖像字幕);
?
注意力機(jī)制
本質(zhì)上,注意力機(jī)制是一種技術(shù),其受益于允許上述基于RNN框架的解碼器使用最后隱藏狀態(tài)以及基于輸入隱藏狀態(tài)序列計(jì)算的信息(即上下文矢量)的需要。這對(duì)于需要在輸入和輸出文本之間進(jìn)行某些對(duì)齊的任務(wù)特別有用。
注意力機(jī)制已成功用于機(jī)器翻譯,文本摘要,圖像字幕,對(duì)話生成和基于內(nèi)容(aspect-based)的情感分析。并且已經(jīng)有人提出了各種不同形式和類型的注意力機(jī)制,它們?nèi)匀皇荖LP研究人員研究各種應(yīng)用的重要領(lǐng)域。
?
遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network)
與RNN類似,遞歸神經(jīng)網(wǎng)絡(luò)是對(duì)連續(xù)數(shù)據(jù)建模非常適用。這是因?yàn)檎Z言可以被視為遞歸結(jié)構(gòu),其中單詞和短語構(gòu)成層次結(jié)構(gòu)中其他更高級(jí)別的短語。在這種結(jié)構(gòu)中,非終端節(jié)點(diǎn)由其所有子節(jié)點(diǎn)的表示來表示。下圖說明了下面的一個(gè)簡(jiǎn)單的遞歸神經(jīng)網(wǎng)絡(luò)。
在基本遞歸神經(jīng)網(wǎng)絡(luò)形式中,組合函數(shù)(即網(wǎng)絡(luò))以自下而上的方法組合成分來計(jì)算更高級(jí)別短語的表示(參見上圖)。在變體MV-RNN中,單詞由矩陣和向量表示,這意味著由網(wǎng)絡(luò)學(xué)習(xí)的參數(shù)表示每個(gè)成分的矩陣。另一種變型,即遞歸神經(jīng)張量網(wǎng)絡(luò)(RNTN),使得輸入矢量之間的更多交互能夠避免大的參數(shù)產(chǎn)生,如MV-RNN的情況。遞歸神經(jīng)網(wǎng)絡(luò)更能顯示出靈活性,并且它們可以與LSTM單元耦合以處理諸如梯度消失之類的問題。
遞歸神經(jīng)網(wǎng)絡(luò)用于各種應(yīng)用,例如:
- 解析;
- 利用短語級(jí)表示來進(jìn)行情緒分析;
- 語義關(guān)系分類(例如,主題消息);
- 句子相關(guān)性;
?
強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)是通過機(jī)器學(xué)習(xí)的方法,訓(xùn)練代理執(zhí)行離散動(dòng)作,然后獎(jiǎng)勵(lì)。正在通過強(qiáng)化學(xué)習(xí)來研究幾種自然語言生成(NLG)任務(wù),例如文本摘要。
強(qiáng)化學(xué)習(xí)在NLP上的應(yīng)用受到一些問題的阻力。當(dāng)使用基于RNN的發(fā)生器時(shí),標(biāo)準(zhǔn)答案會(huì)被模型生成的答案所取代,這會(huì)迅速提升錯(cuò)誤率。此外,對(duì)于這樣的模型,詞級(jí)訓(xùn)練的目標(biāo)不同于測(cè)試度量的目標(biāo),例如用于機(jī)器翻譯和對(duì)話系統(tǒng)的n-gram重疊測(cè)量,BLEU。由于這種差異,當(dāng)前的NLG類型系統(tǒng)往往會(huì)產(chǎn)生不連貫,重復(fù)和枯燥的信息。
為了解決上述問題,業(yè)內(nèi)采用稱為REINFORCE的強(qiáng)化算法來解決NLP任務(wù),例如圖像字幕和機(jī)器翻譯。這個(gè)強(qiáng)化學(xué)習(xí)框架由一個(gè)代理(基于RNN的生成模型)組成,它與外部環(huán)境相互作用(在每個(gè)時(shí)間步驟看到的輸入詞和上下文向量)。代理根據(jù)策略(參數(shù))選擇一個(gè)動(dòng)作,該策略會(huì)在每個(gè)時(shí)間步驟預(yù)測(cè)序列的下一個(gè)單詞。然后代理會(huì)更新其內(nèi)部狀態(tài)(RNN的隱藏單元)。這一直持續(xù)到達(dá)最終計(jì)算獎(jiǎng)勵(lì)序列的結(jié)尾。獎(jiǎng)勵(lì)功能因任務(wù)而異,例如,在句子生成任務(wù)中,獎(jiǎng)勵(lì)可以是信息流。
盡管強(qiáng)化學(xué)習(xí)方法顯示出了希望,但它們需要適當(dāng)?shù)靥幚韯?dòng)作和狀態(tài)空間,這可能限制模型的表達(dá)能力和學(xué)習(xí)能力。記住,獨(dú)立的基于RNN的模型力求表現(xiàn)力和表達(dá)語言的自然能力。
對(duì)抗訓(xùn)練也被用來訓(xùn)練語言生成器,其目的是欺騙訓(xùn)練有素的鑒別器,以區(qū)分生成的序列和真實(shí)的序列。如果一個(gè)對(duì)話系統(tǒng),通過policy gradient(策略網(wǎng)絡(luò)),可以在強(qiáng)化學(xué)習(xí)范例下構(gòu)建任務(wù),其中鑒別器就像人類圖靈測(cè)試員一樣,鑒別器基本上是受過訓(xùn)練以區(qū)分人類和機(jī)器生成的對(duì)話。
?
無監(jiān)督學(xué)習(xí)
無監(jiān)督的句子表征學(xué)習(xí)涉及以無監(jiān)督的方式將句子映射到固定大小的向量。分布式表征從語言中捕獲語義和句法屬性,并使用輔助任務(wù)進(jìn)行訓(xùn)練。
研究員與用于學(xué)習(xí)詞嵌入的算法類似,提出了跳過思維模型,其中任務(wù)是基于中心句子預(yù)測(cè)下一個(gè)相鄰句子。使用seq2seq框架訓(xùn)練該模型,其中解碼器生成目標(biāo)序列,并且編碼器被視為通用特征提取器-甚至在該過程中學(xué)習(xí)了字嵌入。該模型基本上學(xué)習(xí)輸入句子的分布式表征,類似于在先前語言建模技術(shù)中如何為每個(gè)單詞學(xué)習(xí)詞嵌入。
?
深度生成模型
諸如變分自動(dòng)控制器(VAE)和生成對(duì)抗網(wǎng)絡(luò)(GAN)之類的深度生成模型也可以應(yīng)用于NLP中,通過從潛在代碼空間生成逼真句子的過程來發(fā)現(xiàn)自然語言中的豐富結(jié)構(gòu)。
眾所周知,由于無約束的潛在空間,標(biāo)準(zhǔn)的自動(dòng)編碼器無法生成逼真的句子。VAE在隱藏的潛在空間上施加先驗(yàn)分布,使模型能夠生成適當(dāng)?shù)臉颖尽AE由編碼器和發(fā)生器網(wǎng)絡(luò)組成,編碼器和發(fā)生器網(wǎng)絡(luò)將輸入編碼到潛在空間中,然后從潛在空間生成樣本。訓(xùn)練目標(biāo)是在生成模型下最大化觀測(cè)數(shù)據(jù)的對(duì)數(shù)似然的變分下界。下圖說明了用于句子生成的基于RNN的VAE。
生成模型對(duì)于許多NLP任務(wù)是有用的,并且它們本質(zhì)上是靈活的。例如,與標(biāo)準(zhǔn)自動(dòng)編碼器相比,基于RNN的VAE生成模型被提出用于產(chǎn)生更多樣化且格式良好的句子。其他模型允許將結(jié)構(gòu)化變量(例如,時(shí)態(tài)和情感)結(jié)合到潛在代碼中以生成合理的句子。
由兩個(gè)競(jìng)爭(zhēng)網(wǎng)絡(luò)組成的GAN(生成器和鑒別器)也被用于生成逼真的文本。例如,將LSTM用作生成器,CNN用作區(qū)分真實(shí)數(shù)據(jù)和生成樣本的鑒別器。在這種情況下,CNN表示二進(jìn)制句子分類器。該模型能夠在對(duì)抗訓(xùn)練后生成逼真的文本。
除了鑒別器的梯度不能通過離散變量適當(dāng)?shù)胤聪騻鞑サ膯栴}之外,深層生成模型同時(shí)也是難以評(píng)估的。近年來已經(jīng)提出了許多解決方案,但這些解決方案尚未標(biāo)準(zhǔn)化。
?
內(nèi)存增強(qiáng)網(wǎng)絡(luò)(Memory-Augmented Network)
在輸出結(jié)果生成階段由注意力機(jī)制訪問的隱藏向量表示模型的“內(nèi)部存儲(chǔ)器”。神經(jīng)網(wǎng)絡(luò)還可以與某種形式的內(nèi)存耦合,以解決視覺QA,語言建模,POS標(biāo)記和情感分析等任務(wù)。例如,為了解決QA任務(wù),將支持事實(shí)或常識(shí)知識(shí)作為存儲(chǔ)器的形式提供給模型。動(dòng)態(tài)存儲(chǔ)器網(wǎng)絡(luò)是對(duì)先前基于存儲(chǔ)器的模型的改進(jìn),其采用神經(jīng)網(wǎng)絡(luò)模型用于輸入表征、注意力機(jī)制和應(yīng)答機(jī)制。
?
結(jié)論
到目前為止,我們現(xiàn)在已經(jīng)知道了基于神經(jīng)網(wǎng)絡(luò)的模型(如CNN和RNN)的容量和有效性。我們也意識(shí)到將強(qiáng)化學(xué)習(xí)、無監(jiān)督方法和深度生成模型正在被應(yīng)用于復(fù)雜的NLP任務(wù)(如可視化QA和機(jī)器翻譯)。注意力機(jī)制和記憶增強(qiáng)網(wǎng)絡(luò)在擴(kuò)展基于神經(jīng)的NLP模型的能力方面是強(qiáng)大的。結(jié)合這些強(qiáng)大的技術(shù),我們相信會(huì)找到令人信服的方法來處理語言的復(fù)雜性。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的NLP深度学习:近期趋势概述(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云应用配置管理ACM发布,重新定义云
- 下一篇: GDPR到底是如何影响机器学习的?