万字长文带你一览ICLR2020最新Transformers进展(下)
原文鏈接:http://gsarti.com/post/iclr2020-transformers/
作者:Gabriele Sarti
編譯:樸素人工智能
3. Embeddings
原始的Transformer依靠兩組嵌入來表示輸入序列:
詞匯表中存在的每個標(biāo)記的學(xué)習(xí)單詞嵌入(word embedding),用作模型的標(biāo)記向量表示。
位置嵌入(position embedding),用于注入有關(guān)token在序列中的位置的信息。對于位置和維度,位置嵌入與正弦周期函數(shù)相對應(yīng),根據(jù)經(jīng)驗顯示這些正弦周期函數(shù)與通過學(xué)習(xí)獲得的嵌入效果相當(dāng):
對于能夠在多個輸入段上運行的類似BERT的模型,還使用第三組可學(xué)習(xí)的分段嵌入(segment embedding)來區(qū)分屬于不同句子的token。
所有這些嵌入都具有相同的尺寸,并被加在一起以獲得輸入最終的表示。本節(jié)介紹的方法旨在給嵌入注入更多結(jié)構(gòu),或優(yōu)化其尺寸以提高效率。
Position-Aware Complex Word Embeddings
Introduced in: Encoding word order in complex[1] embeddings by Wang et al.
盡管PE在輸入中捕獲了不同的位置,但它們沒有明確考慮這些位置之間的關(guān)系,即順序關(guān)系(標(biāo)準(zhǔn)PE只關(guān)注距離,不關(guān)注先后,可以自己推導(dǎo)看看)。Transformer-XL已通過利用單詞之間的相對距離而不是原始位置索引來解決此問題。
本文提出的改進(jìn)是將單詞嵌入泛化為與位置相關(guān)的連續(xù)函數(shù),并擴(kuò)展到復(fù)數(shù)值域,以便從更豐富的表示形式中獲益。生成的復(fù)值嵌入(complex-valued embeddings)引入了新的關(guān)于幅度、頻率和初始相位的參數(shù),這些參數(shù)確定了嵌入的各種屬性(例如位置敏感性)。實驗結(jié)果表明,具有參數(shù)共享方案的復(fù)值嵌入優(yōu)于以前的嵌入方法,而可訓(xùn)練參數(shù)的數(shù)量卻沒有顯著增加。
Hierarchical Embeddings
Introduced in: Tree-Structured Attention with Hierarchical Accumulation[2] by Nguyen et al.
在之前對樹狀結(jié)構(gòu)注意的概述中,我們看到了如何使用層次累加來形成基于非葉子節(jié)點后代的表示。但是,此過程的缺點是沒有考慮后代的層次結(jié)構(gòu)。
通過將垂直和水平嵌入矩陣連接起來,分別表示分支內(nèi)部的層次結(jié)構(gòu)順序和子樹中同級節(jié)點之間的關(guān)系,使得分層嵌入(Hierarchical embeddings) 可以注入更多的結(jié)構(gòu)信息。這些嵌入在注意力頭之間共享,因此僅占總參數(shù)的0.1%。
Factorized Embedding Parametrization
Introduced in: ALBERT: A Lite BERT for Self-supervised Learning of Language Representations[3] by Lan et al.
在基于BERT和Transformer-XL的最新模型中,embedding大小與隱藏層的大小有關(guān),即。這在實際操作時有很大的弊端:要增強(qiáng)模型的上下文表示能力通常要增大隱層,這會導(dǎo)致嵌入矩陣的變大,因為,其中是詞匯量。即使對于相對較小的隱藏層尺寸,這中關(guān)系也會導(dǎo)致數(shù)十億個參數(shù),而且這些參數(shù)在訓(xùn)練期間很少更新。
ALBERT作者建議在和(我感覺,這個應(yīng)該是)之間插入一個投影使兩個維度獨立,這種方法在時對減少參數(shù)量特別有效。一個,? 包含21M參數(shù)(表3中為89M,而BERT為110M)的ALBERT,可以在許多下游任務(wù)上獲得與具有相同配置的BERT基礎(chǔ)相當(dāng)?shù)男阅堋?/p>
4. 模型架構(gòu)
原始的Transformer體系結(jié)構(gòu)由編碼器和解碼器組成,每個編碼器和解碼器由相同層的堆疊序列組成,這些堆疊序列對具有相同尺寸的嵌入進(jìn)行轉(zhuǎn)換(因此稱為Transformer)。Transformer編碼器的每一層都由兩個子層:一個多頭自我注意機(jī)制和一個前饋網(wǎng)絡(luò)組成,前者被殘差連接所包圍,然后進(jìn)行層歸一化。解碼器還包括第三層,對編碼器的輸出執(zhí)行多頭自我注意,并解碼器的自注意力子層也和編碼器不同。因為由于自回歸語言模型的要求,這里需要避免后文參與運算(否則就泄露了)。
Transformer的雙向變體(如BERT)放棄了解碼器結(jié)構(gòu),僅專注于編碼器,以生成各種任務(wù)(包括MLM)所需的上下文嵌入。
特別的,Transformer-XL為Transformer網(wǎng)絡(luò)引入了一種內(nèi)存概念,其中在前段中獲得的隱藏狀態(tài)會被重用以更好地對長程依賴性進(jìn)行建模,從而防止上下文碎片化。
關(guān)于Transformer-XL可以參考我們之前的文章[預(yù)訓(xùn)練語言模型專題] Transformer-XL 超長上下文注意力模型。
以下方法嘗試在當(dāng)前結(jié)構(gòu)的基礎(chǔ)上進(jìn)一步改善長程建模、減少參數(shù)數(shù)量或優(yōu)化模型執(zhí)行的計算。
Compressive Memory
Introduced in: Compressive Transformers for Long-Range Sequence Modelling[4] by Rae et al.
在Transformer-XL的循環(huán)存儲方法中,舊記憶會被丟棄,從而能夠以先進(jìn)先出的方式存儲新的記憶。此方法僅考慮先后遠(yuǎn)近,而不考慮可能會丟棄的信息的相關(guān)性。
Compressive Transformers添加了新的壓縮記憶機(jī)制,保存歷史記憶的粗糙表示,而非直接丟棄舊記憶。作者嘗試使用多種壓縮函數(shù),最后選擇一種注意力重建損失函數(shù)(attention-reconstruction loss),該損失會丟棄網(wǎng)絡(luò)未被注意(not attended)到的信息。壓縮內(nèi)存的使用顯示了對少見單詞建模的巨大改進(jìn),實驗證明網(wǎng)絡(luò)通過壓縮機(jī)制學(xué)習(xí)到了如何保留有用的信息。
Reversible Layers
Introduced in: Reformer: The Efficient Transforme[5]r by Kitaev et al.
可逆性(reversibility)背后的主要思想是可以通過僅使用后續(xù)層的激活情況和模型參數(shù)來恢復(fù)網(wǎng)絡(luò)任意層中的激活情況。當(dāng)與Transformer模型結(jié)合時,它變得特別有趣,因為Transformers通常由一大堆堆疊的層組成,并且模型的內(nèi)存復(fù)雜度隨層數(shù)線性增長。
通過將自注意力和前饋子層組合成為單個可逆層,Reformer在Transformer體系結(jié)構(gòu)中引入了可逆性。這允許僅在存儲最上層的激活情況,并通過在反向傳播期間反轉(zhuǎn)各層來恢復(fù)所有其他激活,從而使模型大小與層數(shù)無關(guān)。通過在前饋和可逆層中進(jìn)行分塊獨立計算,還可以進(jìn)一步改進(jìn)空間復(fù)雜性。
Cross-Layer Parameter Sharing
Introduced in: ALBERT: A Lite BERT for Self-supervised Learning of Language Representations[6] by Lan et al.
跨層參數(shù)共享是一種簡單但非常有效的方法,可以大大減少深度Transformer模型內(nèi)部的參數(shù)數(shù)量,正如ICLR 2019 在Universal Transformer[7]論文中所展示的那樣。
ALBERT作者對自注意子層和前饋子層的跨層參數(shù)共享進(jìn)行了實驗,發(fā)現(xiàn)共享權(quán)重矩陣可以將模型的總參數(shù)數(shù)量大大減少,當(dāng)結(jié)合前面的嵌入分解使時,模型大小可以變?yōu)樵瓉淼钠叻种?#xff0c;而對最終結(jié)果的影響很小。參數(shù)共享還可以使層間的過渡更加平滑,有效地穩(wěn)定網(wǎng)絡(luò)參數(shù)。
Adaptive Depth Estimation
Introduced in: Depth-Adaptive Transformer[8] by Elbayad et al.
不管輸入語句的復(fù)雜度如何,當(dāng)前模型為每個輸入執(zhí)行的計算都是固定的。這個問題已經(jīng)在Universal Transformer中被提出,Universal Transformer建議使用自適應(yīng)計算時間(ACT)重復(fù)使用相同的層,但是由此導(dǎo)致的每層權(quán)重的增加大大降低了網(wǎng)絡(luò)的計算速度。
Depth-adaptive Transformer通過使用標(biāo)準(zhǔn)Transformer編碼器對序列進(jìn)行編碼并以可變步長對其進(jìn)行解碼來解決此問題。為此,將一個分類器連接到解碼器的每層后面,然后使用首先在計算機(jī)視覺領(lǐng)域引入的anytime prediction方法,通過如圖所示的對齊和混合訓(xùn)練(aligned and mixed training)對整個集合進(jìn)行訓(xùn)練。作者探索了不同的機(jī)制來自適應(yīng)地控制序列級別和token 級別的計算量,并得出結(jié)論:自適應(yīng)可以縮減超過75%的解碼器層,而不會對機(jī)器翻譯任務(wù)造成任何性能損失。
(這篇沒怎么看懂,大家可以參考知乎上的一些介紹)
結(jié)論
在ICLR 2020上引入的許多方法為解決原始Transformer從自注意力計算到模型結(jié)構(gòu)本身的問題提供了大量的解決方案。
其中的許多方法似乎對Transformer的未來發(fā)展很有幫助,而且重要的是,一旦其中一些方法被組合起來,就有可能相互補(bǔ)充產(chǎn)生更進(jìn)一步的改進(jìn)。
我希望在ICLR 2021能看到更多的工作,將現(xiàn)存的策略組合在一起,呈現(xiàn)它們之間最有效的組合。
參考資料
[1]
Encoding word order in complex: https://iclr.cc/virtual_2020/poster_Hke-WTVtwr.html
[2]Tree-Structured Attention with Hierarchical Accumulation: https://iclr.cc/virtual_2020/poster_HJxK5pEYvr.html
[3]ALBERT: A Lite BERT for Self-supervised Learning of Language Representations: https://iclr.cc/virtual_2020/poster_H1eA7AEtvS.html
[4]Compressive Transformers for Long-Range Sequence Modelling: https://iclr.cc/virtual_2020/poster_SylKikSYDH.html
[5]Reformer: The Efficient Transforme: https://iclr.cc/virtual_2020/poster_rkgNKkHtvB.html
[6]ALBERT: A Lite BERT for Self-supervised Learning of Language Representations: https://iclr.cc/virtual_2020/poster_H1eA7AEtvS.html
[7]Universal Transformer: https://arxiv.org/abs/1807.03819
[8]Depth-Adaptive Transformer: https://iclr.cc/virtual_2020/poster_SJg7KhVKPH.html
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯AI基礎(chǔ)下載(pdf更新到25集)機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯本站qq群1003271085,加入微信群請回復(fù)“加群”獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:https://t.zsxq.com/yFQV7am喜歡文章,點個在看 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的万字长文带你一览ICLR2020最新Transformers进展(下)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 万字长文带你一览ICLR2020最新Tr
- 下一篇: 【算法漫画】什么是红黑树?(下篇)