复旦大学邱锡鹏教授团队:Transformer最新综述
?PaperWeekly 原創(chuàng) · 作者 |?王馨月
學(xué)校 |?四川大學(xué)本科生
研究方向?|?自然語言處理
Transformer 在自然語言處理、計算機視覺、音頻處理等許多人工智能領(lǐng)域都取得了巨大的成功,也吸引了學(xué)術(shù)界和行業(yè)研究人員的大量興趣。到目前為止,已經(jīng)有各種各樣的 Transformer 變體(又名 X-former)被提出,但是,關(guān)于這些 Transformer 變體的系統(tǒng)而全面的文獻綜述仍然缺失。這篇綜述對各種 X-former 進行了全面介紹。?
這篇綜述首先簡要介紹了原版 Transformer,然后提出了一種新的 X-former 分類法。接著從架構(gòu)修改、預(yù)訓(xùn)練、應(yīng)用三個角度介紹各種 X-former。最后,概述了未來研究的一些潛在方向。
論文標題:
A Survey of Transformers
論文作者:
Tianyang Lin, Yuxin Wang, Xiangyang Liu, Xipeng Qiu
論文鏈接:
https://arxiv.org/abs/2106.04554
引言
Transformer 最初是作為機器翻譯的 Seq2Seq 模型提出的。后來的工作表明,基于 Transformer 的預(yù)訓(xùn)練模型 (PTM) 可以在各種任務(wù)上實現(xiàn) SOTA。因此,Transformer,特別是 PTM,已成為 NLP 中的首選架構(gòu)。除了語言相關(guān)的應(yīng)用,Transformer 還被 CV,音頻處理甚至其他學(xué)科采用。在過去幾年中提出了各種 Transformer 變體(又名 X-former),這些 X-former 也從不同的角度改進了原版 Transformer。
1. 模型效率。應(yīng)用 Transformer 的一個關(guān)鍵挑戰(zhàn)是其處理長序列的效率較低,這主要是由于 self-attention 的計算和內(nèi)存復(fù)雜性。改進方法包括輕量化注意力模塊(例如稀疏注意力)和分而治之的方法(例如循環(huán)和分層機制)。
2. 模型泛化。由于 Transformer 是一種靈活的架構(gòu),并且對輸入數(shù)據(jù)的結(jié)構(gòu)偏差幾乎沒有假設(shè),因此很難在小規(guī)模數(shù)據(jù)上進行訓(xùn)練。改進方法包括引入結(jié)構(gòu)偏差或正則化,對大規(guī)模未標記數(shù)據(jù)進行預(yù)訓(xùn)練等。
3. 模型適配。這一系列工作旨在使 Transformer 適應(yīng)特定的下游任務(wù)和應(yīng)用程序。
在這篇綜述中,我們旨在全面回顧 Transformer 及其變體。雖然我們可以根據(jù)上述觀點來分類 X-former,但許多現(xiàn)有的 X-former 可能會解決一個或幾個問題。例如,稀疏注意力不僅降低了計算復(fù)雜度,而且在輸入數(shù)據(jù)上引入了結(jié)構(gòu)先驗以緩解小數(shù)據(jù)集上的過擬合問題。因此,對現(xiàn)有的各種 X-former 進行分類,并主要根據(jù)它們改進原版 Transformer 的方式提出新的分類法:架構(gòu)修改、預(yù)訓(xùn)練和應(yīng)用。
原版 Transformer
Transformer?分類
迄今為止,已經(jīng)從三個角度提出了基于原版 Transformer 的各種模型:架構(gòu)修改類型、預(yù)訓(xùn)練方法和應(yīng)用程序。如圖:
詳細的 Transformer 分類如下圖:
模型層面
2.1 注意力機制
Self-attention 在 Transformer 中扮演著重要的角色,但在實際應(yīng)用中存在兩個挑戰(zhàn)。
1. 復(fù)雜性。self-attention 的復(fù)雜度是 。因此,在處理長序列時 Attention 模塊會成為瓶頸。
2. 結(jié)構(gòu)先驗。Self-attention 不假設(shè)對輸入有任何結(jié)構(gòu)性偏見。甚至順序信息也需要從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)。因此,無預(yù)訓(xùn)練的 Transformer 通常很容易在小型或中等規(guī)模的數(shù)據(jù)上過擬合。
Attention 機制的改進可以分為幾個方向:
1. 稀疏注意力。這一系列工作將稀疏偏差引入 Attention 機制,從而降低了復(fù)雜性。
2. 線性化注意力。這一系列工作將注意力矩陣與核特征圖分解,然后以相反的順序計算注意力以實現(xiàn)線性復(fù)雜度。
3. 原型和內(nèi)存壓縮。這類方法減少了查詢或鍵值記憶對的數(shù)量,以減少注意力矩陣的大小。
4. 低秩的自注意力。這一系列工作捕獲了 Self-attention 的低秩屬性。
5. 先驗注意力。該研究領(lǐng)域探索用先驗的注意力分布來補充或替代標準注意力。
6. 改進的多頭機制。這一系列工作探索了多個不同的多頭(Multi-head)機制。
2.1.1 Sparse Attention 稀疏注意力
在標準的自注意力機制中,每個 token 都需要關(guān)注所有其他 token。然而,據(jù)觀察,對于經(jīng)過訓(xùn)練的 Transformer,學(xué)習(xí)到的注意力矩陣 A 在大多數(shù)數(shù)據(jù)點上通常非常稀疏。因此,可以通過結(jié)合結(jié)構(gòu)偏差來限制每個查詢關(guān)注的查詢鍵對的數(shù)量來降低計算復(fù)雜度。
從另一個角度來看,標準注意力可以被視為一個完整的二分圖,其中每個查詢從所有內(nèi)存節(jié)點接收信息并更新其表示。稀疏注意力可以被認為是一個稀疏圖,其中刪除了節(jié)點之間的一些連接。基于確定稀疏連接的指標,我們將這些方法分為兩類:基于位置的稀疏注意力和基于內(nèi)容的稀疏注意力。
2.1.1.1 基于位置的稀疏注意力
在基于位置的稀疏注意力中,注意力矩陣根據(jù)一些預(yù)定義的模式受到限制。雖然這些稀疏模式以不同的形式變化,但我們發(fā)現(xiàn)其中一些可以分解為一些原子稀疏模式。
1. 原子稀疏注意力:全局注意力(Global)、帶狀注意力(Band)、擴張注意力(Dilated)、隨機注意力(Random)、塊局部注意力(Block Local);
2. 復(fù)合稀疏注意力:現(xiàn)有的稀疏注意力通常由以上原子模式中的一種以上組成。?如圖:
3. 拓展稀疏注意力:除了上述模式,一些現(xiàn)有的研究探索了特定數(shù)據(jù)類型的擴展稀疏模式。對于文本數(shù)據(jù),有 BP-Transformer;還有一些視覺數(shù)據(jù)的擴展,如 Image Transformer 和 Axial Transformer。如圖:
2.1.1.2 基于內(nèi)容的稀疏注意力?
另一行工作基于輸入內(nèi)容創(chuàng)建稀疏圖,即稀疏連接以輸入為條件。構(gòu)建基于內(nèi)容的稀疏圖的一種直接方法是選擇那些可能與給定查詢具有較大相似性分數(shù)的鍵。為了有效地構(gòu)建稀疏圖,我們可以遞歸到最大內(nèi)積搜索 (MIPS) 問題,即嘗試通過查詢找到具有最大點積的鍵,而無需計算所有點積項。
2.1.2 線性注意力
線性化注意力是一類用 近似或替換非標準化注意力矩陣 的方法,其中 是按行方式應(yīng)用的特征圖。 因此,非歸一化注意力矩陣的計算可以通過計算 來線性化,如圖:
該模型通過聚合(由特征映射的)鍵和值的外積表示的關(guān)聯(lián)來維護內(nèi)存矩陣,然后通過將內(nèi)存矩陣與具有適當歸一化的特征映射查詢相乘來檢索值。 這種方法有兩個關(guān)鍵組件:1)特征圖 ;2)聚合規(guī)則。
2.1.3 查詢原型和內(nèi)存壓縮?
除了使用稀疏注意力或基于內(nèi)核的線性注意力之外,還可以通過減少查詢或鍵值對的數(shù)量來降低注意力的復(fù)雜性,這分別產(chǎn)生了查詢原型和內(nèi)存壓縮方法。
使用原型查詢的注意力:在查詢原型設(shè)計中,幾個查詢原型作為計算注意力分布的主要來源。該模型要么將分布復(fù)制到表示的查詢的位置,要么用離散的均勻分布填充這些位置。
壓縮鍵值內(nèi)存的注意力:可以通過在應(yīng)用注意力機制之前減少鍵值對的數(shù)量來降低復(fù)雜性。
2.1.4 低秩的自注意力?
一些經(jīng)驗和理論分析報告稱,自注意力矩陣通常是低秩的。這個屬性的含義是雙重的:1)低秩屬性可以用參數(shù)化顯式建模;2) 可以用低秩近似代替自注意力矩陣。
2.1.5 先驗的注意力?
注意力機制通常將預(yù)期的注意力值輸出為向量的加權(quán)和,其中權(quán)重是值上的注意力分布。傳統(tǒng)上,分布是從輸入生成的(例如,原版 Transformer 中的 )。
作為一般情況,注意力分布也可以來自其他來源,我們稱之為先驗的。預(yù)先注意分布可以補充或替代輸入產(chǎn)生的分布。我們將注意力的這種表述抽象為具有先驗的注意力,如圖所示。在大多數(shù)情況下,兩個注意力分布的融合可以通過在應(yīng)用 softmax 之前計算對應(yīng)于先驗注意力和生成注意力的分數(shù)的加權(quán)和來完成。
模型位置先驗:某些類型的數(shù)據(jù)(例如,文本)可以表現(xiàn)出對位置的強烈偏好。此屬性可以顯式編碼為先驗注意力。
從下層模塊先驗:在 Transformer 架構(gòu)中,經(jīng)常觀察到相鄰層的注意力分布相似。因此,很自然地將前一層的注意力分布作為注意力計算的先驗。
多任務(wù)適配器先驗:適配器是依賴于任務(wù)的訓(xùn)練模塊,它們附加在預(yù)訓(xùn)練網(wǎng)絡(luò)的特定位置,用于跨任務(wù)高效參數(shù)共享。
僅注意力先驗:一些工作探索了使用獨立于輸入之間成對交互的注意力分布。 換句話說,他們的模型只利用了先驗注意力分布。
2.1.6 改進的多頭機制
多頭(Multi-head)注意力的吸引力在于能夠共同關(guān)注來自不同位置的不同表示子空間的信息。然而,沒有機制可以保證不同的注意力頭確實捕捉到不同的特征。
頭部行為建模:使用多頭注意力的一個基本動機是允許模型共同關(guān)注來自不同位置的不同表示子空間的信息。然而,在 原版 Transformer 中,沒有明確的機制來保證注意力頭之間的不同行為,也沒有任何機制讓頭相互交互。有 一系列工作致力于通過引入更復(fù)雜的機制來改進多頭機制,這些機制指導(dǎo)不同注意力頭的行為或允許跨注意力頭的交互。
跨度受限的多頭:原版注意力采用完全注意力跨度假設(shè),其中查詢可以關(guān)注所有鍵值對。然而,經(jīng)常觀察到,一些頭主要將注意力集中在局部環(huán)境中,而其他一些頭則關(guān)注更廣泛的環(huán)境。因此,限制注意力范圍可能對于局部性和效率方面都有益處。
精細聚合的多頭:在每個注意力頭計算其輸出表示后,原版多頭注意力將這些表示連接起來,然后對連接后的表示應(yīng)用線性變換以獲得最終的輸出表示。有人可能會爭辯說,這種簡單的逐個聚合范式并沒有充分利用多頭注意力的表現(xiàn)力,而使用更復(fù)雜的聚合更為可取。因此有人提出了使用為膠囊網(wǎng)絡(luò)設(shè)計的路由方法,注意力頭的輸出首先轉(zhuǎn)化為輸入膠囊,然后經(jīng)過迭代路由過程得到輸出膠囊。然后將輸出膠囊連接起來作為多頭注意力的最終輸出。
2.2 位置表示
很容易驗證卷積和循環(huán)網(wǎng)絡(luò)不是置換等變的。然而,Transformer 中的自注意力模塊和位置前饋層都是置換等變的,這可能在建模時成為一個問題,而不是需要輸入結(jié)構(gòu)的集合輸入問題。例如,在對文本序列建模時,單詞的順序很重要,因此在 Transformer 架構(gòu)中正確編碼單詞的位置至關(guān)重要。因此,需要額外的機制將位置信息注入到 Transformer 中。一種常見的設(shè)計是首先使用向量表示位置信息,然后將向量作為附加輸入注入模型。
2.2.1 絕對位置表示
在原版 Transformer 中,位置信息被編碼為絕對正弦位置編碼。對于每個位置索引,編碼是一個向量,其中每個元素都是一個正弦函數(shù),具有預(yù)定義頻率的索引。
另一種表示絕對位置的方法是為每個位置學(xué)習(xí)一組位置嵌入。與手工制作的位置表示相比,學(xué)習(xí)嵌入更加靈活,因為位置表示可以通過反向傳播適應(yīng)任務(wù)。但是嵌入的數(shù)量被限制在訓(xùn)練前確定的最大序列長度,這使得這種方法不再具有歸納性,即無法處理比訓(xùn)練時看到的序列更長的序列。
2.2.2 相對位置表示
另一系列工作側(cè)重于表示 token 之間的位置關(guān)系,而不是單個 token 的位置。直覺認為,在自注意力中輸入元素(方向和距離)之間的成對位置關(guān)系可能比元素的位置更有益。遵循這一原則的方法稱為相對位置表示。
2.2.3 其他表示
一些研究已經(jīng)探索使用包含絕對和相對位置信息的混合位置表示。Transformer with Untied Position Encoding (TUPE) 將注意力分數(shù)的計算重新設(shè)計為內(nèi)容到內(nèi)容項、絕對位置到位置項和表示相對位置關(guān)系的偏置項的組合。
2.2.4 沒有顯式編碼的位置表示
Wang 等人沒有明確引入額外的位置編碼,建議通過將嵌入推廣到位置上的連續(xù)(復(fù)值)函數(shù)來對詞嵌入中的位置信息進行編碼。
2.2.5 Transformer decoder 的位置表示
值得注意的是,mask的self-attention不是置換等變的。因此,僅利用 Transformer 解碼器的模型具有在不包含顯式位置表示的情況下感知位置信息的潛力。語言建模任務(wù)的一些實證結(jié)果證實了這一點,作者發(fā)現(xiàn)刪除位置編碼甚至可以提高性能。
2.3 層歸一化
層歸一化(Layer Normalization, LN)以及殘差連接被認為是一種穩(wěn)定深度網(wǎng)絡(luò)訓(xùn)練的機制(例如,減輕不適定梯度和模型退化)。 有一些工作可以分析和改進 LN 模塊。
2.3.1 LN 的位置
在原版 Transformer 中,LN 層位于殘差塊之間,稱為 post-LN。 后來的 Transformer 實現(xiàn)將 LN 層放在注意力或 FFN 之前的殘差連接內(nèi),在最后一層之后有一個額外的 LN 來控制最終輸出的大小,這被稱為 pre-LN。Pre-LN 已被許多后續(xù)研究和實現(xiàn)所采用,區(qū)別如圖所示。
2.3.2 LN 的替代
徐等人憑經(jīng)驗觀察到LN模塊中的可學(xué)習(xí)參數(shù)在大多數(shù)實驗中不起作用,甚至增加了過度擬合的風(fēng)險。他們從受控實驗中進一步得出結(jié)論,正向歸一化不是 LN 適用于 Transformer 的原因。從分析和實驗中可以得出結(jié)論,均值和方差的導(dǎo)數(shù)重新居中并重新縮放梯度,并在 LN 中發(fā)揮重要作用。因此,他們提出了 AdaNorm,一種沒有可學(xué)習(xí)參數(shù)的歸一化技術(shù)。
Nguyen 和 Salazar 建議用縮放的 l2 歸一化替換 LN 模塊。
沈等人討論了為什么批歸一化 (Bath Normalization, BN) 在文本數(shù)據(jù)的 Transformer 中表現(xiàn)不佳,并得出結(jié)論,BN 的顯著性能下降源于與其批量統(tǒng)計相關(guān)的不穩(wěn)定性。因此,他們提出了對 BN 進行三個修改的 PowerNorm (PN):1)它放寬了零均值歸一化;2) 它使用信號的二次均值,而不是方差;3) 它使用二次均值的運行統(tǒng)計,而不是使用每批統(tǒng)計。
2.3.3 無歸一化的Transformer
除了 LN,還有另一種機制可以構(gòu)建更深層次的神經(jīng)網(wǎng)絡(luò)。ReZero 用可學(xué)習(xí)的殘差連接替換 LN 模塊。驗證表明用 ReZero 機制替換 Transformer 中的 LN 可以為輸入信號引入更好的動態(tài)等距,并導(dǎo)致更快的收斂。
2.4 位置前饋網(wǎng)絡(luò)
位置前饋網(wǎng)絡(luò) (FFN) 層對于 Transformer 實現(xiàn)良好性能很重要。董等人觀察到,簡單地堆疊自我注意模塊會導(dǎo)致等級崩潰問題,導(dǎo)致 token 均勻性歸納偏差,而前饋層是緩解此問題的重要構(gòu)建塊之一。各種工作都探索了對 FFN 模塊的修改。
FFN 中的激活函數(shù):原版 Transformer 采用整流線性單元 (ReLU) 激活來實現(xiàn)兩個 FFN 層之間的非線性關(guān)系。隨著時間的推移,一些研究探索了除 ReLU 之外的不同激活,比如 GELU 和 GLU。
調(diào)整 FFN 以獲得更大容量:有幾項工作專注于擴展 FFN 以獲取更大的模型容量。基本思想是用具有更多參數(shù)的類似結(jié)構(gòu)替換 FFN。
刪除 FFN 層:值得注意的是,有人可能會爭辯說,在某些情況下,可以完全刪除 FFN 層,從而簡化網(wǎng)絡(luò)。
架構(gòu)層面
3.1 使 Transformer 輕量化
除了在模塊級別為減輕計算開銷所做的努力之外,還有一些嘗試通過更高級別的修改來使 Transformer 變得輕量級。
類似于將注意力分解為局部約束注意力和低階全局注意力的低階自注意力,Lite Transformer 建議將 Transformer 中的每個注意力模塊替換為兩個分支結(jié)構(gòu),其中一個分支使用注意力來捕獲遠程上下文,而另一個分支使用深度卷積和線性層來捕獲局部依賴關(guān)系。該架構(gòu)在模型大小和計算方面都是輕量級的,因此更適合移動設(shè)備。
Funnel Transformer 利用類似漏斗的 encoder 架構(gòu),其中隱藏序列的長度使用沿序列維度的池化逐漸減少,然后使用上采樣恢復(fù)。與普通的 Transformer 編碼器相比,該架構(gòu)有效地減少了 FLOP 和內(nèi)存。自然,人們可以使用這種架構(gòu)使用相同的計算資源構(gòu)建更深或更廣的模型。
DeLighT 用 DeLighT 塊替換了標準的 Transformer 塊,該塊由三個子模塊組成:1)“擴展和減少”DeLightT 轉(zhuǎn)換模塊,以低計算要求學(xué)習(xí)更廣泛的表示;2)單頭自注意力學(xué)習(xí)成對交互;3)一個輕量級的“reduce-and-expand”FFN。他們還提出了一種逐塊縮放策略,允許輸入附近的更淺和更窄的塊以及輸出附近更寬和更深的塊。誘導(dǎo)網(wǎng)絡(luò)比普通 Transformer 深得多,但參數(shù)和操作更少。
3.2 加強跨塊連接
在原版 Transformer 中,每個塊都將前一個塊的輸出作為輸入并輸出一系列隱藏表示。人們可能對創(chuàng)建更多路徑感興趣,輸入信號可以沿著這些路徑通過網(wǎng)絡(luò)。Realformer 和 Predictive Attention Transformer 重用前一個塊的注意力分布來引導(dǎo)當前塊的注意力。這可以看作是在相鄰的 Transformer 塊之間創(chuàng)建了一條前向路徑。
3.3 自適應(yīng)計算時間
與大多數(shù)神經(jīng)模型一樣,原版 Transformer 使用固定(學(xué)習(xí)過的)計算程序來處理每個輸入。一個有趣且有前途的修改是使計算時間以輸入為條件,即將自適應(yīng)計算時間 (Adaptive Computation Time, ACT) 引入 Transformer 模型。此類修改可能會帶來以下優(yōu)勢:
1. 困難示例的特征細化。 對于難以處理的數(shù)據(jù),淺層表示可能不足以完成手頭的任務(wù)。 應(yīng)用更多計算來獲得更深入、更精細的表示會更理想。
2. 簡單示例的效率。 在處理簡單的示例時,淺層表示可能足以完成任務(wù)。 在這種情況下,如果網(wǎng)絡(luò)可以學(xué)習(xí)使用減少的計算時間來提取特征,那將是有益的。
如圖所示是三種 ACT 范式:
3.4 分治策略的 Transformer?
序列長度上的自注意力的二次復(fù)雜度會顯著限制一些下游任務(wù)的性能。例如,語言建模通常需要遠程的上下文。、另一種處理長序列的有效方法是使用分治策略,即將輸入序列分解為可以由 Transformer 或 Transformer 模塊有效處理的更細段。我們確定了兩類有代表性的方法,循環(huán)和分層 Transformer,如圖所示。這些技術(shù)可以被理解為 Transformer 模型的包裝器,其中 Transformer 作為一個基本組件,被重用以處理不同的輸入段。
3.4.1 循環(huán) Transformer
在循環(huán) Transformer 中,會維護一個緩存以合并歷史信息。在處理一段文本時,網(wǎng)絡(luò)從緩存中讀取作為附加輸入。處理完成后,網(wǎng)絡(luò)通過簡單地復(fù)制隱藏狀態(tài)或使用更復(fù)雜的機制來寫入內(nèi)存。
3.4.2?分層 Transformer
分層 Transformer 將輸入分層分解為更細粒度的元素。低級特征首先被送到 Transformer 編碼器,產(chǎn)生輸出表示,然后聚合(使用池化或其他操作)以形成高級特征,然后由高級 Transformer 處理。這類方法可以理解為一個層次抽象的過程。這種方法的優(yōu)點有兩個:1)分層建模允許模型以有限的資源處理長輸入;2)它有可能產(chǎn)生更豐富的對任務(wù)有益的表征。
3.5 探索替代架構(gòu)
盡管 Transformer 架構(gòu)取得了成功,但人們可能會質(zhì)疑當前的 Transformer 架構(gòu)是否是最佳的。有趣的是,有幾項研究探索了 Transformer 的替代架構(gòu)。
盧等人將 Transformer 解釋為多粒子動態(tài)系統(tǒng)中對流擴散方程的數(shù)值常微分方程 (Ordinary Differential Equation, ODE) 求解器,并設(shè)計 Macaron Transformer,它將每個 Transformer 塊替換為 FFN-attention-FFN 變體。
Sandwich Transformer 探索重組注意力模塊和 FFN 模塊,使得注意力模塊主要位于較低層,FFN 模塊主要位于較高層。誘導(dǎo)模型在不增加參數(shù)、內(nèi)存或訓(xùn)練時間的情況下,改善了多語言建模基準的困惑度。
掩碼注意網(wǎng)絡(luò) (Mask Attention Network, MAN) 在每個 Transformer 塊中的自注意模塊之前添加了一個動態(tài)掩碼注意模塊。掩碼以標記表示、標記和頭部索引之間的相對距離為條件。所提出的動態(tài)掩碼注意力被證明可以有效地對文本數(shù)據(jù)中的局部性進行建模,并且誘導(dǎo)模型在機器翻譯和抽象摘要中始終優(yōu)于Baseline模型。
值得注意的是,有一系列工作使用神經(jīng)架構(gòu)搜索 (NAS) 來搜索替代 Transformer 架構(gòu)。Evolved Transformer (ET) 采用基于進化的架構(gòu)搜索,標準的 Transformer 架構(gòu)為初始群體提供種子。搜索到的模型在多個語言任務(wù)上表現(xiàn)出對 Transformer 的持續(xù)改進。作為另一項代表性工作,DARTSformer 應(yīng)用可微架構(gòu)搜索(DARTS),結(jié)合多分裂可逆網(wǎng)絡(luò)和反向傳播重建算法以提高內(nèi)存效率。由此產(chǎn)生的模型始終優(yōu)于標準 Transformer,并且與更大的 ET 模型相比具有優(yōu)勢,并且搜索成本顯著降低。
預(yù)訓(xùn)練 Transformer
作為與卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)的一個關(guān)鍵區(qū)別,Transformer 不對數(shù)據(jù)的結(jié)構(gòu)做出任何假設(shè)。一方面,這有效地使 Transformer 成為一種非常通用的架構(gòu),具有捕獲不同范圍依賴關(guān)系的潛力。另一方面,這使得 Transformer 在數(shù)據(jù)有限時容易過擬合。緩解此問題的一種方法是在模型中引入歸納偏置。
最近的研究表明,在大型語料庫上預(yù)訓(xùn)練的 Transformer 模型可以學(xué)習(xí)對下游任務(wù)有益的通用語言表示。這些模型是使用各種自監(jiān)督的目標進行預(yù)訓(xùn)練的,例如,根據(jù)上下文預(yù)測掩碼。在對模型進行預(yù)訓(xùn)練后,可以簡單地在下游數(shù)據(jù)集上對其進行微調(diào),而不是從頭開始訓(xùn)練模型。為了說明在預(yù)訓(xùn)練中使用 Transformers 的典型方法,我們確定了一些預(yù)訓(xùn)練的 Transformer 并將它們分類如下:
1. 僅 Encoder。一系列工作使用 Transformer Encoder 作為其主干架構(gòu)。BERT是典型的 PTM,通常用于自然語言理解任務(wù)。它利用掩碼語言建模 (MLM) 和下一句預(yù)測 (NSP) 作為自監(jiān)督訓(xùn)練目標。RoBERTa 進一步調(diào)整了 BERT 的訓(xùn)練并刪除了 NSP 目標,因為 NSP 被發(fā)現(xiàn)會損害下游任務(wù)的性能。
2. 僅 Decoder。一些研究側(cè)重于對語言建模的 Transformer 解碼器進行預(yù)訓(xùn)練。例如,生成式預(yù)訓(xùn)練 Transformer (GPT) 系列(即 GPT 、GPT-2 和 GPT-3 )專門用于縮放預(yù)訓(xùn)練的 Transformer 解碼器,并且最近說明了大規(guī)模 PTM 可以通過將任務(wù)和示例作為構(gòu)造提示輸入模型來在低資源場景下實現(xiàn)不錯的功能。
3. Encoder-Decodr。也有采用 Transformer Encodr-Decoder 作為整體架構(gòu)的 PTM。BART 將 BERT 的去噪目標擴展到 Encoder-Decoder架構(gòu)。使用 Encoder-Decoder 架構(gòu)的好處是,誘導(dǎo)模型具備執(zhí)行自然語言理解和生成的能力。T5 采用類似的架構(gòu),是最早在下游任務(wù)中使用特定于任務(wù)的文本前綴的研究之一。
一些 Transformer 架構(gòu)變體也可以應(yīng)用于基于 Transformer 的 PTM。例如, BigBird 就是一個基于編碼器的 PTM,它使用基于復(fù)合位置的稀疏注意力來啟用長序列輸入。GPT-3 在自注意力模塊中使用交替的密集和局部帶狀稀疏注意力。Switch Transformer 是一種基于 Encoder 的 PTM,它用混合專家層替換了 FFN 層,并且可以增加參數(shù)數(shù)量,同時保持每個示例的 FLOPs 不變。
Transformer 的應(yīng)用
Transformer 最初是為機器翻譯而設(shè)計的,但由于其靈活的架構(gòu),已被廣泛應(yīng)用于 NLP 之外的各個領(lǐng)域,包括 CV 和音頻處理。
1. 自然語言處理。Transformer 及其變體已在 NLP 任務(wù)中得到廣泛探索和應(yīng)用,例如機器翻譯、語言建模和命名實體識別。大量的努力致力于在大規(guī)模文本語料庫上預(yù)訓(xùn)練 Transformer 模型,我們認為這是 Transformer 在 NLP 中廣泛應(yīng)用的主要原因之一。
2. 計算機視覺。Transformer 還適用于各種視覺任務(wù),例如圖像分類、物體檢測、圖像生成和視頻處理。
3. 音頻應(yīng)用。Transformer 還可以擴展到與音頻相關(guān)的應(yīng)用,例如語音識別,語音合成,語音增強和音樂生成 。
4. 多模態(tài)應(yīng)用。由于其靈活的架構(gòu),Transformer 還被應(yīng)用于各種多模態(tài)場景,例如視覺問答、視覺常識推理、字幕生成、語音到文本翻譯和文本到圖像生成。
總結(jié)和未來的方向
在這篇綜述中,我們對 X-former 進行了全面概述,并提出了一個新的分類法。現(xiàn)有的大部分工作都是從不同的角度對 Transformer 進行改進,例如效率、泛化和應(yīng)用。改進包括結(jié)合結(jié)構(gòu)先驗、設(shè)計輕量級架構(gòu)、預(yù)訓(xùn)練等。
盡管 X-former 已經(jīng)證明了它們在各種任務(wù)中的能力,但挑戰(zhàn)仍然存在。除了當前的關(guān)注點(例如效率和泛化)之外,Transformer 的進一步改進可能在于以下幾個方向:
1. 理論分析。Transformer 的架構(gòu)已被證明能夠支持具有足夠參數(shù)的大規(guī)模訓(xùn)練數(shù)據(jù)集。許多工作表明,Transformer 具有比 CNN 和 RNN 更大的容量,因此具有處理大量訓(xùn)練數(shù)據(jù)的能力。當 Transformer 在足夠的數(shù)據(jù)上進行訓(xùn)練時,它通常比 CNN 或 RNN 具有更好的性能。一個直觀的解釋是 Transformer 對數(shù)據(jù)結(jié)構(gòu)的先驗假設(shè)很少,因此比 CNN 和 RNN 更靈活。然而,理論原因尚不清楚,我們需要對Transformer能力進行一些理論分析。
2. 超越注意力的更好的全局交互機制。Transformer 的一個主要優(yōu)點是使用注意力機制來模擬輸入數(shù)據(jù)中節(jié)點之間的全局依賴關(guān)系。然而,許多研究表明,對于大多數(shù)節(jié)點來說,完全注意是不必要的。在某種程度上,無法區(qū)分地計算所有節(jié)點的注意力是低效的。因此,在有效地對全局交互進行建模方面仍有很大的改進空間。一方面,self-attention 模塊可以看作是一個具有動態(tài)連接權(quán)重的全連接神經(jīng)網(wǎng)絡(luò),它通過動態(tài)路由聚合非局部信息。因此,其他動態(tài)路由機制是值得探索的替代方法。另一方面,全局交互也可以由其他類型的神經(jīng)網(wǎng)絡(luò)建模,例如記憶增強模型。
3. 多模態(tài)數(shù)據(jù)統(tǒng)一框架。在許多應(yīng)用場景中,集成多模態(tài)數(shù)據(jù)對于提高任務(wù)性能是有用且必要的。此外,通用人工智能還需要能夠捕捉不同模態(tài)之間的語義關(guān)系。由于 Transformer 在文本、圖像、視頻和音頻方面取得了巨大成功,我們有機會構(gòu)建一個統(tǒng)一的框架,更好地捕捉多模態(tài)數(shù)據(jù)之間的內(nèi)在聯(lián)系。然而,模內(nèi)和跨模態(tài)注意力的設(shè)計仍有待改進。
最后,我們希望這篇綜述成為一個參考,以更好地了解 Transformer 的當前研究進展,并幫助讀者進一步改進 Transformer 的各種應(yīng)用。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點剖析、科研心得或競賽經(jīng)驗講解等。我們的目的只有一個,讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺已發(fā)表或待發(fā)表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯(lián)系方式(微信),以便我們在稿件選用的第一時間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的复旦大学邱锡鹏教授团队:Transformer最新综述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么支付宝二维码不支持花呗付款
- 下一篇: 保时捷Taycan Cross Turi