0
雷鋒網(wǎng)AI科技評論按:本文講述Transformers的最新研究進(jìn)展,由數(shù)據(jù)科學(xué)家 Derrick Mwiti寫作。原文標(biāo)題:Research Guide for Transformers。雷鋒網(wǎng)AI科技評論的編譯如下:
Transformers是神經(jīng)機(jī)器翻譯中使用的一種神經(jīng)網(wǎng)絡(luò),它主要涉及將輸入序列轉(zhuǎn)換為輸出序列的任務(wù)。這些任務(wù)包括語音識別和文本轉(zhuǎn)換語音,接下來舉幾個(gè)詳細(xì)的例子說明。
這類任務(wù)需要「記憶」,下一個(gè)句子必須與前一個(gè)句的上下文相關(guān)聯(lián)(這是相當(dāng)關(guān)鍵的),以免丟失重要的信息。
直到最近,還主要在使用遞歸神經(jīng)網(wǎng)絡(luò)(RNNs)和卷積神經(jīng)網(wǎng)絡(luò)(CNNs)解決這樣的問題。但問題是,當(dāng)句子太長的時(shí)候,RNN或CNN無法跟蹤上下文和內(nèi)容。通過將attention應(yīng)用到正在使用的單詞上可以解決這種局限性。這篇指南將重點(diǎn)介紹Transformers是如何在深度學(xué)習(xí)的幫助下解決這個(gè)問題的。
這篇論文的作者提出了一種僅基于注意力機(jī)制的網(wǎng)絡(luò)體系結(jié)構(gòu),也就是Transformer。這個(gè)模型在WMT 2014年的英德文翻譯任務(wù)中實(shí)現(xiàn)了28.4 BLEU(雙語評價(jià)學(xué)習(xí))。Transformer的傳導(dǎo)模型使用自注意力機(jī)制來計(jì)算其輸入和輸出的表示,無需使用卷積或序列對齊的RNN。
地址:https://arxiv.org/abs/1706.03762
大多數(shù)神經(jīng)序列傳導(dǎo)模型都有編碼-解碼模型。Transformer采用了同樣的模式,并結(jié)合了自注意力機(jī)制,編碼器和解碼器均使用完全連接的層。編碼器由6個(gè)相同的層組成,每個(gè)層有2個(gè)子層。第一個(gè)子層是一個(gè)多頭自注意力機(jī)制,第二個(gè)子層是位置完全連接的前饋網(wǎng)絡(luò)。在這兩個(gè)子層的每個(gè)子層周圍都存在殘差連接。然后是一個(gè)規(guī)范層。
解碼器還具有6個(gè)相同的層(各自帶有兩個(gè)子層)。解碼器包括第三子層,第三子層對編碼器堆棧的輸出進(jìn)行多頭注意。每個(gè)子層都被剩余連接包圍,然后再進(jìn)行層的規(guī)范化處理。為了防止子層出現(xiàn)位置混淆,需要對解碼器堆棧中的自注意層進(jìn)行了修改。
注意力函數(shù)包括將查詢和一組鍵值對映射到輸出。查詢、鍵、值和輸出都是向量。這些值的加權(quán)和構(gòu)成輸出。分配給每個(gè)值的權(quán)重是通過查詢與相應(yīng)鍵的兼容性函數(shù)來計(jì)算的。
這個(gè)模型在WMT 2014年的英德文翻譯的數(shù)據(jù)集上進(jìn)行訓(xùn)練,WMT 2014包含有大約450萬個(gè)序列對。以下是從英語轉(zhuǎn)換到德語和從英語轉(zhuǎn)換到法語的newstest2014的結(jié)果。
Transformer的雙向編碼器表示(BERT)是由來自 Google AI Language的研究人員引入的一種語言表示模型。BERT在所有層中聯(lián)合調(diào)整左右上下文,對未標(biāo)注文本中的深度雙向表示進(jìn)行預(yù)訓(xùn)練。
經(jīng)過預(yù)訓(xùn)練的BERT模型可以通過一個(gè)附加的層進(jìn)行微調(diào),以創(chuàng)建諸如問答和語言推理等任務(wù)的模型。BERT在自然語言處理任務(wù)上取得了最先進(jìn)的成果。取得的成果包括:一個(gè)80.5%的GLUE (通用語言理解評價(jià))評分和86.7%的MultiNLI精確度。
為了對深層雙向表示進(jìn)行預(yù)訓(xùn)練,BERT使用了masked language models。BERT有兩個(gè)主要的步驟,預(yù)訓(xùn)練和微調(diào)。
在預(yù)訓(xùn)練階段,這個(gè)模型通過不同的預(yù)訓(xùn)練任務(wù)對未標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練。在微調(diào)過程中,使用預(yù)訓(xùn)練的參數(shù)初始化模型。然后,使用來自下游任務(wù)的標(biāo)記數(shù)據(jù)對參數(shù)進(jìn)行微調(diào)。每個(gè)下游任務(wù)都由相同的預(yù)訓(xùn)練參數(shù)初始化,但是具有單獨(dú)的微調(diào)模型。
下圖顯示了一個(gè)問答任務(wù)的例子。BERT體系結(jié)構(gòu)在不同的任務(wù)之間是統(tǒng)一的,預(yù)訓(xùn)練的和最終的下游架構(gòu)之間的差異是最小的。
BERT的體系結(jié)構(gòu)實(shí)際上是一個(gè)多層雙向Transformer編碼器。它使用了WordPiece嵌入和30,000個(gè)標(biāo)記詞匯表。特殊的分類標(biāo)記[(CLS)]構(gòu)成每個(gè)序列的第一個(gè)標(biāo)記。句子對打包在一起形成單一表示。句子通過特殊標(biāo)記[(SEP)]進(jìn)行區(qū)分,并通過在每個(gè)標(biāo)記中添加學(xué)習(xí)的嵌入來表示它們是屬于句子A還是B。
這個(gè)模型的預(yù)訓(xùn)練是在BooksCorpus(800億字)和English Wikipedia(25億字)上進(jìn)行訓(xùn)練的。這是GLUE測試的結(jié)果:
Transformer -XL(意為超長)允許學(xué)習(xí)超過固定長度的依賴關(guān)系,而不會破壞時(shí)間的一致性。它結(jié)合了段級遞歸機(jī)制和位置編碼方案。Transformer- XL的依賴關(guān)系比RNN長80%,比vanilla Transformer長450%。它在TensorFlow和PyTorch上均可使用。
這篇論文的作者將遞歸引入到他們的深層自注意力網(wǎng)絡(luò)中。他們并沒有從零開始計(jì)算每個(gè)新段的隱藏狀態(tài),而是重用了從先前分段中獲得的隱藏狀態(tài)。重復(fù)使用的隱藏狀態(tài)充當(dāng)遞歸段的內(nèi)存。
這在分段之間建立了循環(huán)連接。對長期依賴關(guān)系進(jìn)行建模就有可能實(shí)現(xiàn),因?yàn)樾畔⑹峭ㄟ^循環(huán)連接傳遞的。作者還介紹了一種更有效的相對位置編碼公式,它將注意力集中到比訓(xùn)練過程中觀察到的注意力長度更長的位置。
如上文所示,在訓(xùn)練過程中,在前一段中計(jì)算的隱藏狀態(tài)序列是固定的,并經(jīng)過緩存,以便在模型處理新段時(shí)為外部上下文重用。梯度保持在段內(nèi)。
附加輸入使網(wǎng)絡(luò)能夠包含歷史信息。這樣就可以對長期依賴性進(jìn)行建模,并避免了上下文碎片化。由于遞歸應(yīng)用于語料庫中的每兩個(gè)連續(xù)的段,因此會在隱藏狀態(tài)下創(chuàng)建段級遞歸。這會導(dǎo)致上下文的利用率超出了這兩個(gè)部分。
該模型的性能如下所示。
XLNet是一種通用的自回歸預(yù)訓(xùn)練方法,它通過最大化因式分解順序的所有排列預(yù)期可能性來實(shí)現(xiàn)雙向上下文的學(xué)習(xí)。它不使用固定的正向或反向分解順序。
相反,它最大化了一個(gè)序列的所有可能的因子分解順序排列的預(yù)期可能性。由于這些排列,每個(gè)位置的上下文都可以由左、右兩個(gè)標(biāo)記組成。因?yàn)槊總€(gè)位置都在學(xué)習(xí)利用所有位置的上下文信息,因此可以獲取雙向上下文。
文中所提議方法的內(nèi)容流與標(biāo)準(zhǔn)的自注意力機(jī)制保持一致。查詢流的注意力機(jī)制并沒有關(guān)于上下文的訪問信息。
這篇論文從Transformer XL相對位置編碼方案和分段遞歸機(jī)制兩個(gè)方面實(shí)現(xiàn)了兩種理念。在預(yù)訓(xùn)練階段,作者隨機(jī)抽取兩個(gè)片段,并將兩個(gè)片段的串聯(lián)作為一個(gè)序列來進(jìn)行置換語言建模。唯一被重用的內(nèi)存是屬于同一上下文的內(nèi)存。模型的輸入類似于BERT的輸入。
下面展示在模型上得到的相關(guān)結(jié)果。
最新的深度學(xué)習(xí)是來源于你可以完全信任的資源。報(bào)名參加由該領(lǐng)域的專家策劃的每周一次的深度學(xué)習(xí)課程(https://www.deeplearningweekly.com/newsletter?utm_campaign=dlweekly-newsletter-expertise1&utm_source=heartbeat)。
這篇論文學(xué)習(xí)了一種基于實(shí)體感知的語言模型嵌入擴(kuò)展,稱為Entity- Elmo(E-Elmo)。嵌入語言模型(Elmo)是由Peters 等人提出的。這個(gè)語言模型將單詞作為整個(gè)句子的一個(gè)函數(shù)來生成上下文敏感的詞語表示。E-Elmo訓(xùn)練語言模型來預(yù)測被提及的是基礎(chǔ)實(shí)體,而不是提到的某些單詞。
既然E-ELMo 實(shí)際上是ELMo的擴(kuò)展,那么讓我們先簡要地介紹一下ELMo。給定一個(gè)序列,ELMo在一個(gè)2層 bi-RNN的基礎(chǔ)上生成單詞表示。輸入是字符卷積。ELMo首先為每個(gè)方向計(jì)算一個(gè)與上下文無關(guān)的表示。這是通過在位置k對每個(gè)標(biāo)記應(yīng)用基于字符的CNN來完成的,然后通過一個(gè)2層的LSTM傳遞標(biāo)記表示。E-ELMo在Wikipedia數(shù)據(jù)集的子集上進(jìn)行訓(xùn)練。 E-ELMo的訓(xùn)練是通過AdaGrad進(jìn)行的,學(xué)習(xí)率為0.1,持續(xù)10期.
下面是這個(gè)模型產(chǎn)生的結(jié)果。
這篇論文介紹了通用語言模型微調(diào)(ULMFiT),這是一種可以適用于任何NLP任務(wù)的遷移學(xué)習(xí)方法。ULMFiT在大型通用領(lǐng)域語料庫上預(yù)先訓(xùn)練語言模型,并對目標(biāo)任務(wù)進(jìn)行微調(diào)。這種方法適用于各種任務(wù)。它使用單一的體系結(jié)構(gòu)和訓(xùn)練過程,而且不需要自定義特征工程或預(yù)處理。
ULMFiT不需要其他的域內(nèi)文檔或標(biāo)簽。ULMFiT涉及的步驟包括:通用域LM預(yù)訓(xùn)練,目標(biāo)任務(wù)LM微調(diào)和目標(biāo)任務(wù)分類器微調(diào)。
這個(gè)語言模型是在Wikitext-103上進(jìn)行預(yù)訓(xùn)練的,它由28,595篇預(yù)處理的Wikipedia文章和1.03億個(gè)單詞組成。然后,LM將根據(jù)目標(biāo)任務(wù)的數(shù)據(jù)進(jìn)行微調(diào)。建議使用判別式微調(diào)和傾斜三角形學(xué)習(xí)率對模型進(jìn)行微調(diào)。通過使用兩個(gè)附加的線性模塊擴(kuò)展預(yù)訓(xùn)練的語言模型,可以對目標(biāo)任務(wù)分類器進(jìn)行微調(diào)。每個(gè)模塊都使用批處理規(guī)范化和一個(gè)dropout。中間層采用ReLU激活,輸出概率分布采用Softmax激活函數(shù)。
下面是這個(gè)模型的測試錯(cuò)誤率結(jié)果。
這篇論文的作者提出的通用Transformers (UT),是一種并行性自注意力遞歸序列模型,可以將其轉(zhuǎn)換為Transformer模型的泛化。UT將諸如Transformer之類的前饋序列模型的可并行性和全局接受域與RNNS的遞歸歸納相結(jié)合。
UT在每個(gè)重復(fù)步驟中都使用自注意力機(jī)制,對并行序列中的所有符號進(jìn)行迭代地優(yōu)化改進(jìn)。接下來是由一個(gè)深度可分離的卷積或位置完全連接層組成的轉(zhuǎn)換。作者還添加了一種暫停機(jī)制,允許模型動態(tài)地為每個(gè)符號選擇所需的細(xì)化步驟數(shù)量。
通用Transformers是一種編解碼結(jié)構(gòu)。編碼器和解碼器的工作原理是將遞歸神經(jīng)網(wǎng)絡(luò)應(yīng)用于輸入和輸出序列的每個(gè)位置的表示。遞歸神經(jīng)網(wǎng)絡(luò)不會在序列中重復(fù)出現(xiàn)。相反,它在每個(gè)位置的向量表示的連續(xù)修正中反復(fù)出現(xiàn)。
每個(gè)位置的表示在兩個(gè)子步驟中并行地進(jìn)行修正。這是在每一個(gè)重復(fù)的時(shí)間步驟中完成的。第一個(gè)子步驟涉及使用自注意力機(jī)制在序列中的所有位置傳遞信息。這將為每個(gè)位置生成一個(gè)向量表示,這個(gè)表示是由前一個(gè)時(shí)間步驟中的其他表示所提供的。由于遞歸翻譯函數(shù)可以多次應(yīng)用,所以UT的深度是可變的。這是UT與其他序列模型(如深層RNN或Transformer)之間的主要區(qū)別。
下面是這個(gè)模型的表現(xiàn):
(雷鋒網(wǎng))原文鏈接:https://heartbeat.fritz.ai/research-guide-for-transformers-3ff751493222
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。