基于 transformer 的雙向編碼器表示(BERT)和微軟的圖靈自然語言生成(T-NLG)等模型已經在機器學習世界中廣泛的用于自然語言處理(NLP)任務,如機器翻譯、文本摘要、問題回答、蛋白質折疊預測,甚至圖像處理任務。
在本文中,對基于transformer 的工作成果做了一個簡單的總結,將最新的transformer 研究成果(特別是在2021年和2022年發表的研究成果)進行詳細的調研。
這張圖與一篇調查論文[Tay 2022]中的圖相似,但被調transformers會更新并且它們的整體分類也有很大的不同。
如圖所示,主要類別包括計算復雜度、魯棒性、隱私性、近似性和模型壓縮等等。本文文字和專業術語較多,并且均翻譯自論文原文,如有錯誤(很可能)請諒解。
計算復雜度
一些研究方向是以各種方式解決transformer的O(N2)計算復雜度。transformer的關鍵問題之一是它與輸入序列長度相關的二次復雜度。這意味著我們必須為每一層和注意頭計算N*N個注意矩陣。人們嘗試了各種方法來降低這種O(N2)復雜度,包括使用緩存體系結構。
Sparse transformer是解決這種復雜性的流行方法之一。每個輸出位置從輸入位置的一個子集計算權重。如果子集是√(N),那么transformer的復雜度降低到O(N *√(N)),并允許它處理更大范圍的依賴關系。
Longformer使用了帶窗口的局部注意力(對于窗口大小為w的窗口,每個令牌會注意到兩邊的w/2個令牌,而不是整個輸入)并且使用特殊令牌的任務驅動的全局注意力進行組合。
另一項被稱為BigBird [Manzil 2020]的工作使用了圖稀疏化技術。它使用一種稱為Watts-Strogatz圖的特殊圖,它近似于一個完整的圖可以實現輸入序列的線性復雜度。作者表明在標準精度假設下,BigBird是圖靈完備的。他們還評估BigBird在遠距離依賴的任務上的表現,特別是在提取基因組序列(如DNA)和預測結果染色質譜方面
Linformer使用線性投影和低秩因子分解的組合逼近點積注意運算[Wang2020]。
上面許多基于稀疏矩陣操作的transformer可能需要稀疏矩陣乘法操作,這種方式并不是在所有體系結構上都可用。他們也傾向于堆疊更多的注意力層來彌補稀疏性,從而導致總體上的算力的增加。對于某些操作,如softmax操作也可能不容易;還有多項式probit運算也不容易稀疏化。
谷歌提出了一個廣義注意框架Performer,可以根據不同的相似性度量或內核來指定廣泛的注意力機制。他們通過積極的正交隨機特征(Favor+)算法來實現注意力的機制。他們還表明可以通過指數函數和隨機高斯投影的組合來近似普通的softmax注意。Performer在蛋白質序列預測任務等方面優于標準模型。
Wang等[Wang 2021]提出了一種用于無卷積的密集預測的金字塔視覺transformer(PVT)。這一問題克服了基于VIT的模型在將密集的預測任務時遇到了困難,PVT有助于各種像素級密度預測,并且不需要卷積和非最大抑制,如目標檢測方法。采用漸進式收縮金字塔和空間減少注意力可以很容易地連接transformer。最后在圖像分類、目標檢測、實例和語義分割等任務中PVT也是可用的。
Liu等人[Liu 2021]討論了transformer從語言領域到視覺領域的適應問題,方法包括大量視覺實體的差異和與文本中的文字相比的圖像的高分辨率像素差異。為了解決這個問題,作者提出了Swin Transformer [Lui 2021],這是一種分層方法,其表示是使用移位窗口計算。該技術更有效地克服了自注意力局部窗口不重疊的問題。
Chu等人[Chu 2021]討論了空間注意對于transformer在各種任務中的性能成功的重要性。作者提出了兩個簡單而高效的體系結構:twin - pcpvt和twin - svt。twin -pcpvt使用可分離的深度卷積注意機(depth-wise convolution attention machine),又被稱為空間分離自注意力(spatial-separable self-attention - SSSA)。SSSA使用兩種類型的注意力操作:本地分組的自注意力(LSA)和全局次采樣的注意力(GSA)。LSA處理細粒度和短距離信息,而GSA則處理長距離序列和全局信息。另一個方法twin - svt同時使用LSA和帶有矩陣乘法的GSA。
光譜的復雜性
通過將自注意網絡替換為混合輸入令牌的線性轉換,可以設計高效的transformer來加速編碼器架構。transformer的自注意層被參數化的傅里葉變換(Fnet)取代[Lee-Thorp 2022],然后是一個非線性和前饋網絡。與BERT相比,該網絡速度快80%,可以達到傳統transformer性能的92%到97%。
The Global Frequency network(GFnet) [Rao 2022]提出了一種用于令牌混合的深度全局卷積。GFnet涉及三個步驟:通過快速傅里葉變換(FFT)進行空間令牌混合、頻率門控和反FFT進行令牌分解。GFnet不涉及信道混合,隨著序列長度的增加,對于高像素的圖像來說消耗非常大,而且不具有自適應能力。
Guibias等人[Guibias 2022]將令牌混合任務定義為一種操作符學習任務,該任務是學習在無限尺寸空間中連續函數之間的映射。Li等人[Li 2020]討論了使用傅里葉神經算符(FNO)求解偏微分方程(PDE)。FNO在連續域中工作良好。
將FNO應用于高分辨率圖像輸入的視覺域,需要對PDE的FNO設計體系結構進行修改。這是因為高分辨路圖像由于邊緣和其他結構而具有不連續性。信道混合FNO與信道大小有關,具有二次復雜度。信道混合權重采用塊對角線結構來解決信道混合問題。作者在MLP層的令牌之間共享權重以提高參數效率,并使用軟閾值在頻域引入稀疏性以進行泛化。這些解決方案結合稱為自適應傅里葉神經算子(AFNO)。
Bai等人[Bai 2022]提出了HAT方法(High-frequency components via Adversarial Training),該方法在訓練階段對組件進行高頻擾動。HAT方法通過添加對抗性擾動改變訓練圖像的高頻成分,然后用改變后的圖像訓練ViT [Bai 2022]模型,這樣可以提高模型性能,使模型更魯棒。
魯棒性
Shao等[Shao 2021]利分析了transformer模型的魯棒性。作者使用白盒攻擊進行了一個實驗。他們觀察到與卷積神經網絡(CNNs)相比,ViT具有更好的對抗魯棒性。ViT特征包含低層信息,對對抗攻擊提供了優越的魯棒性,并指出與增加尺寸或增加層數的純transformer模型相比,cnn和transformer的組合具有更好的魯棒性。他們還發現預訓練更大的數據集并不能提高魯棒性。對于一個穩健的模型,情況正好相反。
Bhojanapalli等人[Bhojanapalli 2021]調查了ViT模型和resnet模型針對對抗實例、自然實例和常見破壞的各種魯棒性度量。作者研究了對輸入和模型擾動的魯棒性。無論是從輸入還是從模型中去除任何一層,transformer都是魯棒的。
Paul等人[Paul 2022]研究了ViT [Dosovitskiy 2020]、cnn和Big Transformer[Kolesnikov 2020]方法的魯棒性。Paul等人[Paul 2022]在ImageNet數據集上對ViTs的魯棒性進行了基準測試。結果在表r中。通過6個實驗,作者驗證了與CNN和Big Transformer相比,ViT在魯棒性方面有了提高。這些實驗的結果包括:
實驗1:注意力是提高魯棒性的關鍵。
實驗2:預訓練的作用很重要。
實驗3:ViT對圖像遮蔽具有較好的魯棒性。
實驗4:傅里葉頻譜分析顯示ViT的靈敏度較低。
實驗5:對抗性擾動在能量譜中擴散得更廣。
實驗6:ViT對輸入擾動有更平滑的損失。
根據Park等人[Park 2022]的研究,與cnn相比ViT [Dosovitskiy 2020]在捕獲圖像高頻成分方面的效率較低。HAT [Bai 2022]是對現有transformer模型在頻率角度的影響進行進一步研究的結果。HAT使用RandAugment方法對輸入圖像的進行高頻分量擾動。Wu等人[Wu 2022]研究了易受對抗實例影響的transformer模型的問題。這個問題(對對抗性噪聲的脆弱性)在cnn中是通過對抗性訓練來處理的。但在transformer中,由于自注意計算的二次復雜度,對抗訓練的計算成本很高。AGAT方法采用了一種有效的注意引導對抗機制,在對抗訓練過程中使用注意引導下降策略去除每一層嵌入的確定性補丁。
隱私
預訓練的transformer模型部署在云上。基于云的模型部署中的一個主要問題與數據中隱私問題有關。主要的隱私問題是用戶數據(如搜索歷史、醫療記錄和銀行賬戶)的暴露。目前的研究重點是在transformer模型推理中保護隱私。
論文[Huang 2020]介紹了TextHide,一種保護隱私的聯邦學習技術,但這種方法適用于基于句子的任務,如機器翻譯、情緒分析、轉述生成任務),而不是基于令牌的任務(如名稱實體識別和語義角色標記)。
DP-finetune [Kerrigan 2020]差分隱私(DP)方法允許量化保護數據敏感性的程度。但是訓練DP算法會降低模型的質量,但是可以在私有數據集上使用公共基礎模型進行調優來部分解決。
Gentry等人[Gentry 2009]提出了一種用homomorphic encryption(HE)中的密文保護隱私的方法。但是transformer的模型中GELU [Hendrycks 2016]激活的計算復雜性,HE解決方案只支持加法和乘法。
論文[Chen 2022]在transformer中基于HE [Boemer 2019, Boemer 2020]的解上提出了一種通過級數逼近的The - x方法。the - x方法在SoftMax和GELU等層的幫助下,用一系列近似代替非多項式操作,去掉池器層,添加歸一化層,使用知識蒸餾技術。THE-X方法使用BERT-Tiny Model進行評估[Wang 2018],并對CONLL2003 [Sang2003]任務進行了基準測試。
Li等人[Li 2022]使用差分隱私算法解決了性能下降和高計算開銷的問題。這樣可以使用更大的預訓練語言模型來處理,也可以通過在中等語料庫上使用DP優化進行微調的對齊預訓練過程來進行微調。
近似性
論文[Ruthotto 2019]是最早為ResNets等深度神經網絡提供基于偏微分方程(PDEs)的理論基礎的論文之一。更具體地說,作者證明了殘差cnn可以解釋為時空微分方程的離散化。在理論表征的基礎上,Ruthotto還提出了具有特殊性質的雙曲和拋物線cnn等新模型。
殘差網絡也被解釋為常微分方程的歐拉離散化。但歐拉法求解精度不高,由于是一階方法,存在截斷誤差。ODE Transformers [Bei 2022]的作者使用了經典的高階方法(Runge Kutta)來構建Transformer塊。他們在三個序列生成任務上評估了ODE Transformers 。這些任務證明了ODE是有效的,包括抽象摘要、機器翻譯和語法糾正。在這個方向上的另一項努力是TransEvolve [Dutta 2021],它提供了一個Transformer架構,與ODE類似,但以多粒子動態系統為模型。
Transformers 已經被證明相當于通用計算引擎[Kevin 2022]。作者提出了一種稱為Frozen pretrain transformer (FPT)的結構,它可以在單一模態(如用于語言建模的文本數據)上進行訓練,并識別跨模態有用的抽象(如特征表示)。他們采用GPT,只對自然語言數據進行預訓練,并對其輸入和輸出層以及層歸一化參數和位置嵌入進行微調。這使得FPT在完成蛋白質折疊預測、數值計算甚至圖像分類等各種任務時,可以與完全從零開始訓練的transformer進行比較。
模型壓縮
Touvron等人[Touvron 2021]提出了一種基于蒸餾技術(Deit)的高效transformer模型。它使用一種依賴于蒸餾令牌的師生策略,以確保學生通過注意力從老師那里學習。
Bao等人[Bao 2021]向預訓練的VIT提出了一個遮蔽圖像模型任務。作者提出了一種基于自監督的視覺表示模型,即來自圖像transformer的雙向編碼器表示(BEiT),它遵循了為自然語言處理領域開發的BERT [Kenton 2019]方法。在這種方法中,每個圖像被認為是兩個視圖:一個是大小為16 x 16像素的圖像補丁,另一個是離散的可視標記。將原始圖像標記為可視標記,并對部分圖像補丁進行隨機掩碼,然后將其饋送給預訓練的骨干transformer。訓練BEiT后,模型可以針對下游任務進行微調。
作者:Dr. Vijay Srinivas Agneeswaran
學習 人工智能技術與咨詢
審核編輯 黃昊宇
-
深度學習
+關注
關注
73文章
5503瀏覽量
121170
發布評論請先 登錄
相關推薦
評論