熟女chachacha性少妇,在线新版天堂资源中文www,色妞www精品免费视频,中文字幕理伦午夜福利片,孕妇怀孕高潮潮喷视频孕妇

crm系統(tǒng)

免費試用400-821-5041


Salesforce AI新研究,翻譯中的情境化詞向量

時間: 2017-08-08來源: 怡海軟件

Salesforce AI

Salesforce Einstein發(fā)布以來究竟做了哪些事情,做了哪些高科技含量的事情,下面我們就來一起看一看Salesforce Einstein 在自然語言處理領(lǐng)域的新研究吧。

 

Salesforce 在去年成立新部門 Salesforce Research,專門處理關(guān)于深度學(xué)習(xí)、自然語言處理,和計算機(jī)視覺辨識技術(shù)的研究,協(xié)助用在 Salesforce 的產(chǎn)品線上。其人工智能服務(wù)愛因斯坦AI (Einstein AI),將與他們既有的云端服務(wù)結(jié)合,提供更好的服務(wù)。近期,他們發(fā)布了新的自然語言處理成果,我們一起來看看。

 

現(xiàn)如今,自然語言處理(NLP)找到一個很好的實現(xiàn)方法,通過對單個單詞的理解以植入新的神經(jīng)網(wǎng)絡(luò),但是該領(lǐng)域還沒有找到一種方法可以初始化新網(wǎng)絡(luò),理解這些單詞與其他單詞之間的關(guān)系。我們的研究打算利用已經(jīng)學(xué)會了如何使文本情境化的網(wǎng)絡(luò),從而使新的神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)理解自然語言的其他部分。

 

對于NLP中的大多數(shù)問題來說,理解情境至關(guān)重要。翻譯模型需要了解英語句子中的單詞是如何協(xié)同工作的,從而生成德語翻譯。摘要模型需要通曉上下文,從而知道哪些詞是更重要的。執(zhí)行情緒分析的模型需要了解如何能夠掌握那些改變他人表達(dá)情緒的關(guān)鍵詞。問答模型依賴于對一個問題中的詞語如何改變一個文檔中詞語重要性的理解。由于這些模型中的每一個都需要理解情境是如何影響單詞的含義的,因此每個模型都可以通過與已經(jīng)學(xué)習(xí)如何情境化單詞的模型相結(jié)合來獲益。

 

一條通往NLP Imagenet-CNN的路徑

在找尋可重復(fù)使用的表征方面,顯然計算機(jī)視覺已經(jīng)比NLP取得了更大的成功。在大圖像分類數(shù)據(jù)集(ImageNet)上訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)經(jīng)常用作其他模型中的組件。為了更好地對圖像進(jìn)行分類,CNN通過逐漸構(gòu)建像素是如何與其他像素相關(guān)的更為復(fù)雜的理解,來學(xué)習(xí)圖像的表征。諸如圖像標(biāo)注、面部識別和目標(biāo)檢測等模型處理任務(wù)都可以從這些表征開始,而不需要從頭開始。NLP應(yīng)該能夠做一些和單詞及其語境類似的事情。

 

我們可以教一個神經(jīng)網(wǎng)絡(luò)如何在情境中理解單詞。首先,教它如何將英語翻譯成德語;然后,我們將以一種方式來展示我們可以重復(fù)使用這個網(wǎng)絡(luò),即計算機(jī)視覺中在ImageNet上進(jìn)行訓(xùn)練的CNN的重用。我們通過將網(wǎng)絡(luò)的輸出,即情境向量(context vectors (CoVe))作為學(xué)習(xí)其他NLP任務(wù)的新網(wǎng)絡(luò)的輸入來實現(xiàn)。在我們的實驗中,將CoVe提供給這些新網(wǎng)絡(luò)總是能夠提高其性能,所以我們很高興發(fā)布生成CoVe的已訓(xùn)練網(wǎng)絡(luò),以便于進(jìn)一步探索NLP中的可重用表征。

 

詞向量

可以說今天的大多數(shù)用于NLP的深度學(xué)習(xí)模式主要是依靠用詞向量來表征單個單詞的含義。而對于那些不熟悉這個概念的人來說,所有這一切只不過意味著我們將語言中的每個單詞與一個稱為向量的數(shù)字列表相關(guān)聯(lián)在一起。

 

Salesforce AI

圖1:在深度學(xué)習(xí)中,常常將單詞表征為向量。深度學(xué)習(xí)模型不是像讀文本般讀取序列單詞,而是讀取單詞向量的序列。

 

預(yù)訓(xùn)練詞向量

有時,在為特定任務(wù)訓(xùn)練模型之前,常常將詞向量初始化為隨機(jī)數(shù)列表,但是用諸如word2vec、GloVe或FastText之類的方法來初始化模型的詞向量也是很常見的。這些方法中的每一種都定義了一種學(xué)習(xí)具有有用屬性的詞向量的方法。前兩種假說認(rèn)為,至少有一部分單詞的含義與它的用法是相關(guān)的。

 

word2vec通過訓(xùn)練一個模型來處理一個單詞并預(yù)測一個本地情境窗口;模型看到一個單詞,并試圖預(yù)測在其周圍的單詞。

 

Salesforce AI

圖2:像word2vec和GloVe這樣的算法產(chǎn)生的詞向量與在自然語言中經(jīng)常出現(xiàn)的詞向量是相關(guān)的。這樣一來,“(vector)向量”的向量意味著出現(xiàn)在諸如“lists”、“of”以及“numbers”這類單詞周圍的單詞“vector”。

 

GloVe采取類似的方法,但它還明確地添加了關(guān)于每個單詞與其他每個單詞發(fā)生頻率的統(tǒng)計信息。在這兩種情況下,每個單詞都由相應(yīng)的詞向量表示,并且訓(xùn)練強(qiáng)制詞向量以與自然語言中單詞的使用相關(guān)聯(lián)的方式相互關(guān)聯(lián)。

 

預(yù)訓(xùn)詞向量的突現(xiàn)屬性

如果將這些詞向量視為空間中的點,我們可以從中看到一種令人著迷的緊密關(guān)系,從而讓人聯(lián)想到單詞之間的語義關(guān)系。

 

Salesforce AI

圖3:捕獲到的男性—女性單詞對之間的向量差異(Pennington等人在2014提出的觀點)。

 

Salesforce AI

圖4:對于關(guān)系a-b,c:d表示c +(a-b)產(chǎn)生更接近d的向量(Mikolov等人于2013年提出觀點)。

 

Salesforce AI

圖5:捕獲到的比較和較高級關(guān)系之間的向量差異(Pennington等人于2014提出的觀點)。

 

很快就發(fā)現(xiàn),在為目標(biāo)任務(wù)初始化一個模型時,如果用word2vec或GloVe所定義的用于中級任務(wù)的預(yù)訓(xùn)練詞向量進(jìn)行訓(xùn)練,將會使模型在目標(biāo)任務(wù)上更加具有優(yōu)勢。因此,由word2vec和GloVe生成的詞向量在NLP的許多任務(wù)中找到了廣泛的實驗方法。

 

隱藏向量

這些預(yù)訓(xùn)練的詞向量表現(xiàn)出有趣的屬性,并提供了對隨機(jī)初始化的詞矢量的性能增益。但是正如上面所敘述的那樣,單詞很少獨立出現(xiàn)。使用預(yù)訓(xùn)練詞向量的模型必須學(xué)習(xí)如何使用它們。我們的工作是通過對中級任務(wù)進(jìn)行訓(xùn)練,找到一種用于改進(jìn)詞向量情境化的隨機(jī)初始化方法,從而提取詞矢量。

 

編碼器

情境化詞向量的一種常見方法是使用一個循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。RNN是一種處理可變長度的向量序列的深度學(xué)習(xí)模型。這使得它們適合于處理詞向量的序列。我們使用的是一種稱為長短期記憶網(wǎng)絡(luò)(LSTM)的特定類型的RNN,從而更好地處理長序列。在處理的每個步驟中,LSTM接收一個詞向量,并輸出一個稱為隱藏向量的新向量。該過程通常被稱為編碼序列,并且將執(zhí)行編碼的神經(jīng)網(wǎng)絡(luò)稱為編碼器。

 

Salesforce AI

圖6:LSTM編碼器接收一個詞矢量序列并輸出一個隱藏向量序列。

 

雙向編碼器

這些隱藏的向量不包含序列中稍后出現(xiàn)的單詞的信息,但這一點很容易進(jìn)行補(bǔ)救。我們可以反向運行一個LSTM從而獲得一些反向輸出向量,并且我們可以將它們與正向LSTM的輸出向量相連,以獲得更有用的隱藏向量。我們把這對正向和反向的LSTM當(dāng)做一個單元,它通常被稱為雙向LSTM。它接收一個詞向量序列,運行正向和反向LSTM,連接對應(yīng)于相同輸入的輸出,并返回所得到的隱藏向量的結(jié)果序列。

 

Salesforce AI

圖7:雙向編碼器包含每個單詞前后的信息。

 

我們使用一組兩個雙向LSTM作為編碼器。第一個雙向LSTM處理其整個序列,然后將輸出傳遞給第二個。

 

機(jī)器翻譯中的隱藏向量

正如預(yù)訓(xùn)練的詞向量被證明是許多NLP任務(wù)的有效表征一樣,我們期望預(yù)訓(xùn)練我們的編碼器,以便它能夠輸出通用的隱藏向量。為此,我們選擇機(jī)器翻譯作為第一個訓(xùn)練任務(wù)。機(jī)器翻譯訓(xùn)練集要遠(yuǎn)大于其他大多數(shù)NLP任務(wù)的翻譯訓(xùn)練集,翻譯任務(wù)的性質(zhì)似乎具有一種吸引人的屬性,可用于訓(xùn)練通用情境編碼器,例如,翻譯似乎比文本分類這樣的任務(wù)需要更一般的語言理解能力。

 

解碼器

在實驗中,我們教編碼器如何如何將英語句子翻譯成德語句子,從而教它生成有用的隱藏向量。編碼器為英語句子生成隱藏向量,另一個稱為解碼器的神經(jīng)網(wǎng)絡(luò)在生成德語句子時將引用這些隱藏向量。

 

正如LSTM是我們編碼器的主干一樣,LSTM在解碼器中也扮演著重要的角色。我們使用一個與編碼器一樣具有兩個層的解碼器LSTM。解碼器LSTM從編碼器的狀態(tài)初始化,讀入一個特殊的德語詞向量作為開始,并生成一個解碼器狀態(tài)向量。

 

Salesforce AI

圖8:解碼器使用單向LSTM從輸入詞向量中創(chuàng)建解碼器狀態(tài)。

 

注意

注意機(jī)制回顧隱藏向量,以便決定接下來要翻譯英文句子的哪一部分。它使用狀態(tài)向量來確定每個隱藏向量的重要性,然后它生成一個新的向量,我們稱之為情境調(diào)整狀態(tài)(context-adjusted state)來記錄其觀察結(jié)果。

 

Salesforce AI

圖9:注意機(jī)制使用隱藏狀態(tài)和解碼器狀態(tài)來生成情境調(diào)整狀態(tài)。

 

生成

生成器稍后將查看情境調(diào)整狀態(tài)以確定要輸出的德語單詞,并且將情境調(diào)整狀態(tài)傳遞回解碼器,從而使其對已經(jīng)翻譯的內(nèi)容與足夠準(zhǔn)確的理解。解碼器重復(fù)此過程,直到完成翻譯。這是一種標(biāo)準(zhǔn)的注意編碼—解碼器體系結(jié)構(gòu),用于學(xué)習(xí)序列的序列任務(wù),如機(jī)器翻譯。

 

Salesforce AI

圖10:生成器使用情境調(diào)整狀態(tài)來選擇輸出單詞。

 

來自預(yù)訓(xùn)練MT-LSTM的情境向量

當(dāng)訓(xùn)練完成后,我們可以提取已訓(xùn)練的LSTM作為機(jī)器翻譯的編碼器。我們將這個已預(yù)訓(xùn)練的LSTM稱為MT-LSTM,并使用它來輸出用于新句子的隱藏向量。當(dāng)使用這些機(jī)器翻譯隱藏向量作為另一個NLP模型的輸入時,我們將它們稱為情境向量(CoVe)。

 

Salesforce AI

圖11:a)編碼器的訓(xùn)練b)將其重新用作新模型的一部分

 

用CoVe進(jìn)行實驗

我們的實驗探索了使用預(yù)訓(xùn)練的MT-LSTM生成用于文本分類和問答模型的CoVe的優(yōu)點,但CoVe可以與任何表征其輸入的模型一起作為向量序列。

 

分類

我們研究兩種不同類型的文本分類任務(wù)。第一種,包括情緒分析和問題分類,具有單一的輸入。第二種僅包括蘊(yùn)涵分類(entailment classification),有兩個輸入。對于這兩種,我們使用雙集中分類網(wǎng)絡(luò)(Biattentive Classification Network)。如果只有一個輸入,我們將其復(fù)制,假裝有兩個,讓模型知道避免運行冗余計算。而且我們不需要了解BCN理解CoVe的細(xì)節(jié)以及使用它們的好處。

Salesforce AI

圖12:一個雙集中分類網(wǎng)絡(luò)。

 

問答

我們依靠動態(tài)關(guān)注網(wǎng)絡(luò)(Dynamic Coattention Network)進(jìn)行問答實驗。為了分析MT數(shù)據(jù)集對模型學(xué)習(xí)其他任務(wù)性能的影響,我們使用一個稍微修改過的DCN,但實驗測試了整個CoVe和CoVe與字符向量的總體有效性,我們使用udpated DCN +。

 

Salesforce AI

表1:我們實驗中數(shù)據(jù)集和任務(wù)的總結(jié)。

 

GloVe+CoVe

對于每個任務(wù),我們用不同的方式來表征輸入序列。我們可以將每個序列表示為我們訓(xùn)練的隨機(jī)初始化的詞向量序列,我們可以使用GloVe,或者我們可以將GloVe和CoVe一起使用。 在后一種情況下,我們采用GloVe序列,通過預(yù)訓(xùn)練的MT-LSTM運行它,以獲得CoVe序列,并且我們將CoVe序列中的每個向量與GloVe序列中的相應(yīng)向量相加。不管是MT-LSTM還是GloVe都不是作為分類或問答模型的一部分進(jìn)行訓(xùn)練的。

 

實驗結(jié)果表明,在隨機(jī)初始化詞向量和單獨使用GloVe的情況下,包括CoVe以及GloVe在內(nèi)總是能夠提高其性能。

 

Salesforce AI

圖13:通過使用GloVe和添加CoVe來驗證性能是否提高。

 

更多MT→更好CoVe

改變用于訓(xùn)練MT-LSTM的數(shù)據(jù)量表明,用更大的數(shù)據(jù)集進(jìn)行訓(xùn)練會導(dǎo)致更高質(zhì)量的MT-LSTM,在這種情況下,更高的質(zhì)量意味著使用它來生成CoVe會在分類和問題應(yīng)答任務(wù)上產(chǎn)生更好的性能。

 

結(jié)果表明,用較少的MT訓(xùn)練數(shù)據(jù)訓(xùn)練的MT-lstms所獲得的增益是不顯著的,在某些情況下,使用這些小MT數(shù)據(jù)集訓(xùn)練MT-lstm產(chǎn)量,實際上會損害性能。這可能表明使用CoVe的好處來自于使用不平凡的MT-lstm。這也可能表明,MT訓(xùn)練集的領(lǐng)域?qū)Ξa(chǎn)生的MT-lstm所提供的任務(wù)有影響。

 

Salesforce AI

圖14:MT-LSTM的訓(xùn)練集大小對使用CoVe的模型的驗證性能有明顯的影響。在這里,MT-Small是2016年WMT多模態(tài)數(shù)據(jù)集,MT-Medium是2016年IWSLT訓(xùn)練集,MT-Large是2017年WMT新聞追蹤訓(xùn)練集。

 

CoVe和字符

在這些實驗中,我們嘗試向GloVe和CoVe添加字符向量。結(jié)果表明,在某些任務(wù)中,字符向量可以與GloVe和CoVe一起工作,以獲得更高的性能。這表明CoVe添加了與字符和單詞級信息相輔相成的信息。

 

Salesforce AI

圖15:CoVe與字符向量中存儲的字符級信息互補(bǔ)。

 

測試性能

我們所有好的模型都使用了GloVe、CoVe和字符向量。我們采用了為每個任務(wù)實現(xiàn)更高驗證性能的模型,并在測試集上對這些模型進(jìn)行了測試。上圖顯示,相較于我們在出發(fā)點的表現(xiàn),添加CoVe始終可以提升我們的模型性能,下表顯示,在我們七個任務(wù)中的其中三個里面,在測試集層面,足以推動我們的起始模式向藝術(shù)表現(xiàn)的新狀態(tài)發(fā)展。

 

Salesforce AI

表2:在測試時,測試性能與其他機(jī)器學(xué)習(xí)方法的比較(7/12/17)。

 

值得注意的是,就像我們使用機(jī)器翻譯數(shù)據(jù)來改進(jìn)我們的模型一樣,sst-2和IMDb的先進(jìn)的模型也在使用監(jiān)督訓(xùn)練集之外的數(shù)據(jù)。對于sst-2來說,模型使用了8200萬未標(biāo)記的Amazon評論,而IMDb的模型使用了50000個未標(biāo)記的IMDb評論,此外還有22500個監(jiān)督訓(xùn)練樣本。這兩種方法都增加了與目標(biāo)任務(wù)相似的數(shù)據(jù),而不是我們使用的機(jī)器翻譯數(shù)據(jù)集。這些模型的優(yōu)越性可能突出顯示了附加數(shù)據(jù)的種類與附加數(shù)據(jù)的有益程度之間的聯(lián)系。

 

結(jié)論

我們展示了如何訓(xùn)練一個神經(jīng)網(wǎng)絡(luò),使其能夠?qū)W習(xí)情境中單詞的表征,并且我們展示了我們可以使用該網(wǎng)絡(luò)的一部分——MT-LSTM,從而幫助網(wǎng)絡(luò)學(xué)習(xí)NLP中的其他任務(wù)。在分類和問答模型中,MT-LSTM提供的情境向量或CoVe都無疑推動它們達(dá)到更好的性能。我們用于訓(xùn)練MT-LSTM的數(shù)據(jù)越多,改進(jìn)越明顯,這似乎與使用其他形式的預(yù)先訓(xùn)練向量表征所帶來的改進(jìn)相輔相成。通過將來自GloVe,CoVe和字符向量的信息相結(jié)合,我們能夠在各種NLP任務(wù)中提高基準(zhǔn)模型的性能。