一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

 LZS2851 2021-06-22

機器之心報道

編輯:Liyuan、杜偉

自提出至今,Transformer 模型已經(jīng)在自然語言處理、計算機視覺以及其他更多領(lǐng)域「大展拳腳」,學(xué)界也提出了各種各樣基于原始模型的變體。但應(yīng)看到,學(xué)界依然缺少系統(tǒng)全面的 Transformer 變體文獻綜述。復(fù)旦大學(xué)邱錫鵬教授團隊的這篇綜述正好彌補了這一空缺。

自 2017 年 6 月谷歌發(fā)布論文《Attention is All You Need》后,Transformer 架構(gòu)為整個 NLP 領(lǐng)域帶來了極大的驚喜。在誕生至今僅僅四年的時間里,Transformer 已經(jīng)成為自然語言處理領(lǐng)域的主流模型,基于 Transformer 的預(yù)訓(xùn)練語言模型更是成為主流。

隨著時間的推移,Transformer 還開始了向其他領(lǐng)域的跨界。得益于深度學(xué)習(xí)的發(fā)展,Transformer 在計算機視覺(CV)和音頻處理等許多人工智能領(lǐng)域已然殺瘋了,成功地引來了學(xué)界和業(yè)界研究人員的關(guān)注目光。到目前為止,研究者已經(jīng)提出了大量且種類駁雜的 Transformer 變體(又名 X-former),但是仍然缺失系統(tǒng)而全面的 Transformer 變體文獻綜述。

去年,谷歌發(fā)布的論文《Efficient Transformers: A Survey》對高效 Transformer 架構(gòu)展開了綜述,但主要關(guān)注 attention 模塊的效率問題,對 Transformer 變體的分類比較模糊。

近日,復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院邱錫鵬教授團隊對種類繁多的 X-former 進行了綜述。首先簡要介紹了 Vanilla Transformer,提出 X-former 的新分類法。接著從架構(gòu)修改、預(yù)訓(xùn)練和應(yīng)用三個角度介紹了各種 X-former。最后概述了未來研究的一些潛在方向。

論文鏈接:https:///pdf/2106.04554.pdf

回顧 Transformer 的發(fā)展

Transformer 最初是作為機器翻譯的序列到序列模型提出的,而后來的研究表明,基于 Transformer 的預(yù)訓(xùn)練模型(PTM) 在各項任務(wù)中都有最優(yōu)的表現(xiàn)。因此,Transformer 已成為 NLP 領(lǐng)域的首選架構(gòu),尤其是 PTM。除了語言相關(guān)的應(yīng)用,Transformer 還被用于 CV、音頻處理,甚至是化學(xué)和生命科學(xué)。由于取得了成功,過去幾年研究者又提出了各種 Transformer 變體(又名 X-former)。這些 X-former 主要從以下三個不同的角度改進了最初的 Vanilla Transformer

模型效率。應(yīng)用 Transformer 的一個關(guān)鍵挑戰(zhàn)是其處理長序列時的效率低下,這主要是由于自注意力(self-attention)模塊的計算和內(nèi)存復(fù)雜度。改進的方法包括輕量級 attention(例如稀疏 attention 變體)和分而治之的方法(例如循環(huán)和分層機制);

模型泛化。由于 Transformer 是一種靈活的架構(gòu),并且對輸入數(shù)據(jù)的結(jié)構(gòu)偏差幾乎沒有假設(shè),因此很難在小規(guī)模數(shù)據(jù)上進行訓(xùn)練。改進方法包括引入結(jié)構(gòu)偏差或正則化,對大規(guī)模未標(biāo)記數(shù)據(jù)進行預(yù)訓(xùn)練等;

模型適配。這一系列工作旨在使 Transformer 適應(yīng)特定的下游任務(wù)和應(yīng)用程序。

雖然可以根據(jù)上述角度來組織 X-former,但許多現(xiàn)有的 X-former 可能會解決一個或幾個問題。例如,稀疏 attention 變體不但降低了計算復(fù)雜度,而且在輸入數(shù)據(jù)上引入了結(jié)構(gòu)先驗以緩解小數(shù)據(jù)集上的過度擬合問題。因此,主要根據(jù) X-former 改進 Vanilla Transformer 的方式進行分類更加有條理:架構(gòu)修改、預(yù)訓(xùn)練和應(yīng)用??紤]到本次綜述的受眾可能來自不同的領(lǐng)域,研究者主要關(guān)注的是通用架構(gòu)變體,僅簡要討論了預(yù)訓(xùn)練和應(yīng)用方面的具體變體。

Vanilla Transformer

架構(gòu)

Vanilla Transformer 是一個序列到序列的模型,由一個編碼器和一個解碼器組成,二者都是相同的塊 組成的堆棧。每個編碼器塊主要由一個多頭 self-attention 模塊和一個位置前饋網(wǎng)絡(luò)(FFN)組成。為了構(gòu)建更深的模型,每個模塊周圍都采用了殘差連接,然后是層歸一化模塊。與編碼器塊相比,解碼器塊在多頭 self-attention 模塊和位置方面 FFN 之間額外插入了 cross-attention 模塊。此外,解碼器中的 self-attention 模塊用于防止每個位置影響后續(xù)位置。Vanilla Transformer 的整體架構(gòu)如下圖所示:

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

用法

通常有三種不同的方式使用 Transformer 架構(gòu):

使用編碼器 - 解碼器,通常用于序列到序列建模,例如神經(jīng)機器翻譯;

僅使用編碼器,編碼器的輸出用作輸入序列的表示,通常用于分類或序列標(biāo)記問題;

僅使用解碼器,其中也移除了編碼器 - 解碼器 cross-attention 模塊,通常用于序列生成,例如語言建模。

Transformer 變體的的分類

截止目前,領(lǐng)域研究人員從架構(gòu)修改類型、預(yù)訓(xùn)練方法和應(yīng)用這三個方面提出了各種基于 vanilla Transformer 的變體模型。下圖顯示了 這些變體模型的類別:

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

而下圖顯示了本文研究者的分類和一些代表性模型:

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

Attention 模塊

Self-attention 在 Transformer 中非常重要,但在實際應(yīng)用中存在兩個挑戰(zhàn):

復(fù)雜度。self-attention 的復(fù)雜度為 O(T^2·D)。因此,attention 模塊在處理長序列時會遇到瓶頸;

結(jié)構(gòu)先驗。Self-attention 對輸入沒有假設(shè)任何結(jié)構(gòu)性偏差,甚至指令信息也需要從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)。因此,無預(yù)訓(xùn)練的 Transformer 通常容易在中小型數(shù)據(jù)集上過擬合。

Attention 機制的改進可以分為以下幾個方向:

稀疏 attention。將稀疏偏差引入 attention 機制可以降低了復(fù)雜性;

線性化 attention。解開 attention 矩陣與內(nèi)核特征圖,然后以相反的順序計算 attention 以實現(xiàn)線性復(fù)雜度;

原型和內(nèi)存壓縮。這類方法減少了查詢或鍵值記憶對的數(shù)量,以減少注意力矩陣的大小;

低階 self-Attention。這一系列工作捕獲了 self-Attention 的低階屬性;

Attention 與先驗。該研究探索了用先驗 attention 分布來補充或替代標(biāo)準(zhǔn) attention;

改進多頭機制。該系列研究探索了不同的替代多頭機制。

稀疏 attention

在標(biāo)準(zhǔn)的 self-attention 機制中,每個 token 都需要 attend 所有其他的 token。然而,據(jù)觀察,對于經(jīng)過訓(xùn)練的 Transformer,學(xué)習(xí)到的 attention 矩陣 A 在大多數(shù)數(shù)據(jù)點上通常非常稀疏。因此,可以通過結(jié)合結(jié)構(gòu)偏差來限制每個查詢 attend 的查詢鍵對的數(shù)量來降低計算復(fù)雜度。

從另一個角度來看,標(biāo)準(zhǔn) attention 可以被視為一個完整的二部圖,其中每個查詢從所有內(nèi)存節(jié)點接收信息并更新其表示。而稀疏 attention 可以看成是一個稀疏圖,其中刪除了節(jié)點之間的一些連接。基于確定稀疏連接的指標(biāo),研究者將這些方法分為兩類:基于位置和基于內(nèi)容的稀疏 attention。

原子稀疏 attention

基于位置的稀疏 attention 之一是原子稀疏 attention,如下圖所示主要有五種模式。彩色方塊表示計算的 attention 分?jǐn)?shù),空白方塊表示放棄的 attention 分?jǐn)?shù)。

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

復(fù)合稀疏 attention

而另一種基于位置的稀疏 attention 是復(fù)合稀疏 attention,下圖顯示了其五種主要模式,其中紅色框表示序列邊界。

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

擴展稀疏 attention

除了上述模式,一些現(xiàn)有的研究已經(jīng)針對特定數(shù)據(jù)類型探索了擴展稀疏模式。下圖(a)展示了全局 attention 擴展的抽象視圖,其中全局節(jié)點是分層組織的,任何一對 token 都與二叉樹中的路徑相連。紅色框表示查詢位置,橙色節(jié)點 / 方塊表示查詢關(guān)注相應(yīng)的 token。

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

還有一些視覺數(shù)據(jù)的擴展。Image Transformer 探索了兩種類型的 attention:

按光柵掃描順序展平圖像像素,然后應(yīng)用塊局部稀疏 attention;

2D 塊局部 attention,其中查詢塊和內(nèi)存塊直接排列在 2D 板中,如上圖 (b) 所示。

視覺數(shù)據(jù)稀疏模式的另一個例子,Axial Transformer 在圖像的每個軸上應(yīng)用獨立的 attention 模塊。每個 attention 模塊沿一個軸混合信息,同時保持另一個軸的信息獨立,如上圖 (c) 所示。這可以理解為按光柵掃描順序水平和垂直展平圖像像素,然后分別應(yīng)用具有圖像寬度和高度間隙的跨步 attention。

線性化 attention

下圖顯示了標(biāo)準(zhǔn) self-attention 和線性化 linear-attention 的復(fù)雜度區(qū)別。

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

查詢原型和內(nèi)存壓縮

除了使用稀疏 attention 或基于內(nèi)核的線性化 attention 之外,還可以通過減少查詢或鍵值對的數(shù)量來降低 attention 的復(fù)雜度,這分別引向了查詢原型和內(nèi)存壓縮的方法。

在查詢原型設(shè)計中,幾個查詢原型作為計算 attention 分布的主要來源。該模型要么將分布復(fù)制到表示的查詢的位置,要么用離散均勻分布填充這些位置。

下圖 (a) 說明了查詢原型的計算流程。除了通過查詢原型減少查詢數(shù)量外,還可以通過在應(yīng)用 attention 機制之前減少鍵值對的數(shù)量(壓縮鍵值內(nèi)存)來降低復(fù)雜度,如下圖(b)所示。

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

先驗 attention

Attention 機制通常將預(yù)期值輸出為向量的加權(quán)和,其中權(quán)重是值上的 attention 分布。傳統(tǒng)上,分布是從輸入生成的,例如 Vanilla Transformer 中的 softmax(QK?)。一般情況下,attention 分布也可以來自其他來源,也就是先驗。先驗注意力分布可以補充或替代輸入產(chǎn)生的分布。Attention 的這種表述可以抽象為具有先驗 attention,如下圖所示。在大多數(shù)情況下,兩個 attention 分布的融合可以通過在應(yīng)用 softmax 之前計算對應(yīng)于先驗 attention 和生成 attention 的分?jǐn)?shù)的加權(quán)和來完成。

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

改進的多頭機制

多頭 attention 的吸引力在于能夠共同 attend 來自不同位置的不同表示子空間的信息。然而,沒有機制可以保證不同的 attention 頭確實地捕捉到不同的特征。

如下圖所示,多頭機制下三種跨度屏蔽函數(shù)()。橫軸代表距離,縱軸代表掩碼值。

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

其他模塊級修改

位置的重要性

驗證卷積和循環(huán)網(wǎng)絡(luò)不是置換等變是很簡單的。然而,Transformer 中的 self-attention 模塊和位置前饋層都是置換等變的,這在建模問題時可能是一個問題。例如,在對文本序列建模時,單詞的順序很重要,因此在 Transformer 架構(gòu)中正確編碼單詞的位置至關(guān)重要。因此,需要額外的機制將位置信息注入到 Transformer 中。一種常見的設(shè)計是首先使用向量表示位置信息,然后將向量作為附加輸入注入模型。

層的歸一化

層歸一化 ( Layer Normalization, LN) 以及殘差連接被認(rèn)為是一種穩(wěn)定深度網(wǎng)絡(luò)訓(xùn)練的機制(如減輕不適定梯度和模型退化)。在 Vanilla Transformer 中,LN 層位于殘差塊之間,被稱為 post-LN 。后來的 Transformer 實現(xiàn)將 LN 層放在 attention 或 FFN 之前的殘差連接內(nèi),在最后一層之后有一個額外的 LN 來控制最終輸出的大小,即 pre-LN。Pre-LN 已被許多后續(xù)研究和實現(xiàn)所采用。pre-LN 和 post-LN 的區(qū)別如下圖所示。

Transformer模型有多少種變體?復(fù)旦邱錫鵬教授團隊做了全面綜述

位置方面的 FFN

盡管很簡單,但位置前饋網(wǎng)絡(luò) (feed-forward network, FFN) 層對于 Transformer 實現(xiàn)良好性能至關(guān)重要。研究者觀察到簡單地堆疊 self-attention 模塊會導(dǎo)致等級崩潰問題以及 token 均勻性歸納偏差,而前饋層是緩解此問題的重要構(gòu)建塊之一。本節(jié)探索了研究者對 FFN 模塊的修改。

架構(gòu)級修改

在本章中,研究者介紹了架構(gòu)層面的 X-former 變體模型。

輕量級 Transformer

除了在模塊層面為減輕計算開銷所做的努力外,領(lǐng)域內(nèi)還出現(xiàn)了一些在更高層面進行修改的輕量級 Transformer 模型,如 Lite Transformer、Funnel Transformer 和 DeLighT。

Strengthening Cross-Block Connectivity

在 deep Transformer 編碼器 - 解碼器模型中,解碼器中的 cross-attention 模塊僅利用編碼器的最終輸出,因此誤差信號必須沿著編碼器的深度進行遍歷。這使得 Transformer 更易于受到梯度消失等優(yōu)化問題的影響。

Transparent Attention [8] 使用每個 cross-attention 模塊中所有編碼器層(包括嵌入層)上的編碼器表示的加權(quán)和。對于第 j 個編碼器塊,cross-attention 應(yīng)表示如下:

Feedback Transformer[34] 提出在 Transformer 解碼器添加反饋機制,其中每個位置均關(guān)注來自所有層的歷史表示的加權(quán)和:

自適應(yīng)計算時間

與大多數(shù)神經(jīng)模型一樣,Vanilla Transformer 使用固定(學(xué)習(xí)的)計算程序來處理每個輸入。一個有趣且有發(fā)展?jié)摿Φ男薷氖鞘褂嬎銜r間以輸入為條件,即在 Transformer 模型中引入自適應(yīng)計算時間(Adaptive Computation Time, ACT)。

如下圖 12(a)所示,Universal Transformer (UT) 結(jié)合了深度循環(huán)(recurrence-over-depth)機制,該機制使用一個在深度上共享的模塊來迭代地改進所有符號的表示;圖 12(b)中,Conditional Computation Transformer (CCT) 在每個自注意力和前饋層添加一個門控模塊來決定是否跳過當(dāng)前層;圖 12(c)中,與 UT 中使用的動態(tài)停機機制類似,有一條工作線專門用于調(diào)整每個輸入的層數(shù)以實現(xiàn)良好的速度 - 準(zhǔn)確率權(quán)衡,這稱為「提前退出機制」(early exit mechanism)。

利用「分而治之」策略的 Transformer

自注意力對序列長度的二次復(fù)雜度會顯著限制一些下游任務(wù)的性能。研究者確定了兩類有具有代表性的方法,分別是循環(huán)和層級 Transformer,具體如下圖 13 所示

在循環(huán) Transformer 中,維護一個高速緩存(cache memory)用來合并歷史信息。在處理一段文本時,該網(wǎng)絡(luò)從緩存中的讀取作為額外輸入。處理完成后,網(wǎng)絡(luò)通過簡單地復(fù)制隱藏狀態(tài)或使用更復(fù)雜的機制來寫入內(nèi)存。

層級 Transformer 將輸入分層分解為更細(xì)粒度的元素。低級特征首先被饋入到 Transformer 編碼器,產(chǎn)生輸出表示,然后使用池化或其他操作來聚合以形成高級特征,然后通過高級 Transformer 進行處理。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品视频一级香蕉| 日韩av生活片一区二区三区| 免费观看潮喷到高潮大叫| 日韩av生活片一区二区三区| 男女午夜视频在线观看免费| 老司机精品线观看86| 一区二区日韩欧美精品| 国产目拍亚洲精品区一区| 亚洲国产精品无遮挡羞羞| 久久久精品区二区三区| 日韩性生活视频免费在线观看| 免费在线播放一区二区| 日本中文在线不卡视频| 国产日韩综合一区在线观看| 国产又粗又硬又大又爽的视频| 91精品国产av一区二区| 东京热男人的天堂社区| 麻豆一区二区三区精品视频| 欧美日韩国产免费看黄片| 亚洲国产精品一区二区| 午夜传媒视频免费在线观看| 欧美成人免费视频午夜色| 九九九热视频免费观看| 国产一区二区三区免费福利| 天堂网中文字幕在线观看| 五月婷日韩中文字幕四虎| 日本办公室三级在线观看| 久久精品国产亚洲av麻豆尤物| 丝袜诱惑一区二区三区| 亚洲午夜福利不卡片在线| 国产又猛又黄又粗又爽无遮挡| 亚洲一区二区三区日韩91| 欧美成人精品一区二区久久| 国产一级片内射视频免费播放 | 高清免费在线不卡视频| 日韩少妇人妻中文字幕| 成年人视频日本大香蕉久久| 久久精品亚洲精品国产欧美| 国产又猛又黄又粗又爽无遮挡| 少妇丰满a一区二区三区| 东京热男人的天堂社区|