Synthesizer

《MLP-Mixer: An all-MLP Architecture for Vision》- Google Research

《Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks》- 清華大學(xué)

《Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet》- 牛津大學(xué)

《Are Pre-trained Convolutions Better than Pre-trained Transformers?》- Google Research

《ResMLP: Feedforward networks for image classification with data-efficient training》- Facebook AI

《FNet: Mixing Tokens with Fourier Transforms》- Google Research

《Pay Attention to MLPs》- Google Research

蘇老師的點評:

MLP-Mixer、Stack of FFN、ResMLP這三個模型,事實上可以看成是去年的Synthesizer的一個特例,甚至從技術(shù)上來說,它們還不如Synthesizer的內(nèi)容豐富,因此真算不上什么有意思的工作;至于它的改進版gMLP / aMLP,則是非常常規(guī)的結(jié)構(gòu)煉丹工作,只要算力足夠我們都可以去做,所以也確實沒什么意思;External Attention號稱兩個線性層,事實上就是Attention的變式,其生效機制和實驗對比也不夠明朗;比較有意思的就是CNN預(yù)訓(xùn)練和FNet這兩個工作了,一個讓我們解耦了“預(yù)訓(xùn)練改進”和“模型改進”兩個概念,一個提出的傅立葉變換也有效給我們帶來了較大的思想沖擊。

整體而言,這些工作離成熟還遠得很,最多是初步驗證了有效性,連優(yōu)雅也說不上。比如,除了FNet,這些所謂的“all in MLP”的模型,都沒有辦法比較優(yōu)雅處理變長輸入,像MLP-Mixer、Stack of FFN、ResMLP純粹在(固定大小的)圖像上實驗,所以不用考慮這個問題,像Synthesizer / gMLP / aMLP雖然做了NLP的實驗,但看上去都是強行截斷的,算不上漂亮。所以,這系列工作一定程度上是開拓了新的思路,但其實帶來了更多有待解答的問題。

那么我們要不要跟呢?個人認為沒必要投入多少精力進去,平時大致關(guān)注一下就行了。拋開前面說的優(yōu)雅性問題不說,這些工作的實用性本身就值得商榷。像將Attention換成MLP的改進,最大的優(yōu)點無非就是提速,沒錯,是會快一點,但理論復(fù)雜度還是

,這說明其實沒有本質(zhì)改進,況且提速的同時通常還會降低一點性能。如果單從“提速并降低一點性能”的追求來看,Transformer可做的工作也非常多(最直接的就是減少一兩層),沒必要換成MLP,而換成MLP探索自由度降低了不少。當然,從“拓荒”的學(xué)術(shù)角度來看,多角度嘗試各種新模型是有意義的,但這也不宜摻入過多的人造因素在里邊,不然就變成了一個在結(jié)構(gòu)上過擬合任務(wù)的過程了,難登大雅之堂。

此外,對于NLP來說,我們可能比較關(guān)心的是“預(yù)訓(xùn)練+微調(diào)”這一塊的性能,而很遺憾,從Synthesizer開始的一系列NLP實驗表明,將Attention換成MLP后的模型也許在某個任務(wù)上能取得有競爭性的結(jié)果,但是其遷移性往往不好,也就是說可能單看預(yù)訓(xùn)練效果還不錯,但是“預(yù)訓(xùn)練+微調(diào)”多數(shù)就比不上Transformer了。這也不難理解,因為它們把Attention矩陣參數(shù)化,那么該矩陣更有可能跟具體任務(wù)強相關(guān)了,不像Transformer那樣自適應(yīng)生成的Attention矩陣那樣具有更好的適應(yīng)能力。

蘇老師的其它講解:

Google新作Synthesizer:我們還不夠了解自注意力

RealFormer:把殘差轉(zhuǎn)移到Attention矩陣上面去

Nystr?mformer:基于矩陣分解的線性化Attention方案

Performer:用隨機投影將Attention的復(fù)雜度線性化

線性Attention的探索:Attention必須有個Softmax嗎?

Transformer升級之路:3、從Performer到線性Attention

為節(jié)約而生:從標準Attention到稀疏Attention

突破瓶頸,打造更強大的Transformer

Transformer升級之路:1、Sinusoidal位置編碼追根溯源





《Synthesizer: Rethinking Self-Attention in Transformer Models》

眾所周知,點積的自注意是最先進Transformer型號的核心和不可或缺的部分。但真的需要嗎?本文研究了基于點積的自注意機制對Transformer模型性能的真正重要性和貢獻。通過大量的實驗,我們發(fā)現(xiàn):(1)隨機對齊矩陣(random alignment matrices)令人驚訝地表現(xiàn)相當有競爭力;(2)從Token到Token(查詢到鍵)交互學(xué)習(xí)注意權(quán)重是有用的,但畢竟不是那么重要。為此,我們提出了Synthesizer,一個模型,學(xué)習(xí)合成的注意權(quán)重,沒有Token間的相互作用。在我們的實驗中,我們首先展示了簡單的Synthesizer在一系列任務(wù)中,包括機器翻譯、語言建模、文本生成和GLUE/SuperGLUE基準測試,與vanilla Transformer模型相比,具有很強的競爭力。當與點積的注意力結(jié)合,我們發(fā)現(xiàn)Synthesizer始終優(yōu)于Transformer。此外,我們還將Synthesizer與動態(tài)卷積進行了比較,結(jié)果表明,簡單的隨機Synthesizer不僅速度快60%,而且使復(fù)雜度提高了3.5%。最后,我們證明了簡單的因式分解Synthesizer在僅編碼任務(wù)上的性能優(yōu)于Linformers。

1. 引言

Transformer模型(Vaswani等人,2017年)在廣泛的任務(wù)中取得了成功。這導(dǎo)致了近年來Transformer在很大程度上取代了一度流行的自回歸和循環(huán)模型。在Transformer模型的核心在于query-key-value 點積的關(guān)注。Transformer模型的成功被廣泛地歸因于這種自注意機制,因為全連接的token graphs能夠模擬長程依賴,提供了一種魯棒的感應(yīng)偏置。

但是點積的自注意真的那么重要嗎?我們需要它嗎?有必要通過兩兩點積來學(xué)習(xí)注意權(quán)重嗎?本文旨在加深對點積自注意機制在Transformer模型中的作用的理解。

點積自注意的基本作用是學(xué)習(xí)自對齊(self-alignment),即確定單個標記相對于序列中所有其他標記的相對重要性。為此,人們構(gòu)建了記憶隱喻和類比來支持這一說法。事實上,術(shù)語查詢、鍵和值意味著自注意模擬了一個基于內(nèi)容的檢索過程,該過程的核心是利用成對交互。

與傳統(tǒng)相反,本文假設(shè)我們能(?)沒有點積自注意,也可以(?)完全沒有基于內(nèi)容的記憶,比如自注意。傳統(tǒng)上,注意力權(quán)重是在實例級或樣本級學(xué)習(xí)的,其中權(quán)重是由實例級的成對交互產(chǎn)生的。因此,這些特定于實例的交互常常在不同的實例之間自由波動,因為它們?nèi)狈σ恢碌娜稚舷挛摹?Moving against convention, this paper postulates that we cannot only do without dot product self-attention but alsocontent-basedmemory-likeself-attention altogether. Traditionally, attention weights are learned at the instance or sample level, where weights are produced by instance-level pairwise interactions. As a result, these instance-specific interactions often fluctuate freely across different instances as they lack a consistent global context )

本文提出了一種新的合成模型,即學(xué)習(xí)合成自對準矩陣,而不是人工設(shè)計的計算兩兩點積。我們提出了一系列不同的合成函數(shù),并對它們進行了廣泛的評估。我們描述了這些合成函數(shù)接收的源信息,即它們是否從單個Token、Token-Token交互和/或全局任務(wù)信息接收信息。直觀地說,合成函數(shù)的不同源輸入應(yīng)該捕獲不同的視圖(views),這在結(jié)合使用時可能很有用。

除了推廣標準的Transformer模型外,我們還表明,完全全局關(guān)注權(quán)重完全不考慮Token-Token交互或任何實例級(本地)信息是有可能獲得競爭結(jié)果的。(it is possible to achieve competitive results with fully global attention weights that do not consider token-token interactions or any instance-level (local) infor-mation at all. )更具體地說,隨機矩陣Synthesizer模型在WMT 2014 English-German1上獲得27.27 BLEU分數(shù)。通過一組嚴格的實驗,我們觀察到,流行的和完善的基于點積內(nèi)容的注意力可以用簡單的變量(如隨機矩陣或密集層)來近似,而在某些情況下不會犧牲太多性能。

在我們的實驗中,我們還表明,我們相對簡單的Synthesizer模型也優(yōu)于動態(tài)卷積(Wu等人,2019),困惑度相對提高了+3.5%,同時速度提高了60%。在編碼任務(wù)上,我們的 factorized Synthesizer可以優(yōu)于其他低秩高效Transformer模型,如Linformers(Wang等人,)。

雖然簡單的Synthesizer模型能夠有競爭力地執(zhí)行,我們的實驗表明,兩兩點積仍然是有用的。當我們將我們的合成函數(shù)與點積注意力結(jié)合時,我們發(fā)現(xiàn)性能有一致地提升。總的來說,我們相信我們的發(fā)現(xiàn)將促進對Transformer模型中自注意機制的真正作用和效用的進一步調(diào)查和討論。

我們的貢獻我們的主要貢獻如下:

?????我們提出了合成注意(Synthetic Attention),這是一種新的學(xué)習(xí)方式,可以在沒有明確計算注意力(即,沒有點積注意或基于內(nèi)容的注意)(learning to attend without explicitly attending)的情況下關(guān)注。相反,我們生成獨立于標記依賴的對齊矩陣,并探索一系列用于合成注意矩陣的參數(shù)化函數(shù)。

?????我們提出SYNTHESIZER,一種利用合成注意力的新模式。該模型在廣泛的語言任務(wù)(包括機器翻譯和語言建模)上表現(xiàn)出與最先進的Transformer模型相比的競爭力。

?????此外,我們還表明:(1)隨機可學(xué)習(xí)對齊矩陣具有競爭性;(2)token-token間的依賴對于在某些任務(wù)上實現(xiàn)Transformer模型的良好性能不是必需的。

?????在C4數(shù)據(jù)集上的大規(guī)模掩蔽語言建模(Raffel et al.,2019)和SuperGLUE和GLUE基準測試上的微調(diào),我們表明簡單的隨機Synthesizer可以優(yōu)于/匹敵輕量級動態(tài)卷積(Wu et al.,2019),同時優(yōu)于Transformers和Universal Transformers(Dehghani et al.,2018)。在兩個編碼任務(wù)上,factorized random Synthesizers的性能優(yōu)于低秩Linformers(Wang等人,2020)

2. 相關(guān)工作

基于注意力的模型廣泛應(yīng)用于各種問題領(lǐng)域。由于其有效性,這種模型在語言和視覺領(lǐng)域尤其流行。注意力模型可以追溯到(Bahdanau et al.,2014)和(Luong et al.,2015)的機器翻譯模型,其中注意力被用于學(xué)習(xí)語言對之間的詞的軟對齊。注意機制背后的直覺深深植根于基于記憶的檢索(Graves等人,2014;Weston等人,2014),其中首次提出了soft differentiable addressing of memory。

學(xué)習(xí)自校準的范例,也被稱為自注意,已經(jīng)被Transformer模型廣泛推廣(Vaswani et al.,2017)。最近的一些其他研究也探討了這種技術(shù)敘述,包括關(guān)于intra-attention(Parikh et al.,2016)、self-matching networks(Wang et al.,2017)和LSTMN(Cheng et al.,2016)的研究。至此,Transformer模型,其功能主要基于自注意和前饋層,通常作為一個可靠的替代自回歸循環(huán)模型。

自注意層本身就是最近許多技術(shù)創(chuàng)新的主題。例如,最近的研究調(diào)查了通過稀疏化提高層的整體效率和降低計算對齊矩陣的復(fù)雜性(Child等人,2019;Kitaev等人,2020年;黃等,2018;Tay等人,2020年;Beltagy等人,2020年)。這些方法與查詢鍵值范式緊密結(jié)合,采用一種基于記憶的內(nèi)容檢索形式作為注意機制。另一方面,有研究主張用卷積代替自注意(Wu等人,2019)。最近人們對簡化注意機制的興趣激增,這就提出了關(guān)于成對點積的作用和效用的重要問題,而成對點積是自注意模型的定義特征之一。同時,在圖像領(lǐng)域,(Cordonnier et al.,2019)顯示了Transformer與CNN的連接。

我們的工作是Transformer模型中自注意機制的一個新嘗試。我們進行了更深入的研究,首先用我們所稱的合成函數(shù)來代替成對的點積,這些函數(shù)學(xué)習(xí)可能依賴于也可能不依賴于輸入標記的注意矩陣(learn attention matrices that may or may not depend on the input tokens.)。最密切相關(guān)的工作是(Raganato et al.,2020),其中作者建議在Transformer編碼器中使用固定(即,未學(xué)習(xí)的)注意模式。但是,他們的工作范圍僅限于編碼器,并且依賴于手動定義的手工模式,這些模式似乎工作得很好。我們的工作將這一直覺更進一步,并擴展了這一敘述。

MLP-Mixers是隨機Synthesizer

這是一個討論隨機Synthesizer和最近的MLP-Mixers之間關(guān)系的更新(Tolstikhin等人,2021)。最近的工作(2021年4月)提出了All-MLP架構(gòu)。盡管本文在2020年5月首次出現(xiàn),也就是MLP-Mixers被提出的前一年,我們展示了隨機Synthesizer是MLP-Mixers的一種形式。隨機Synthesizer在長度維度上應(yīng)用權(quán)重矩陣R。RL× L矩陣,可以看作是長度維度上的投影形式。這相當于在MLP-Mixers模型中的token-mixer中在線性投影之前轉(zhuǎn)置軸。這里的關(guān)鍵區(qū)別在于:(1)我們在內(nèi)核(權(quán)重)上使用softmax規(guī)范化,(2)隨機Synthesizer是一種多頭MLP-Mixers

3. 提出的方法

本節(jié)介紹我們提出的Synthesizer模型。在其核心,我們的模型本質(zhì)上是一個Transformer模型的自注意模塊換成我們的合成注意模塊。圖3.1說明了(a)Transformer(b)Dense Synthesizers和(c)Random?Synthesizer背后的關(guān)鍵思想。

3.1 Synthesizer模型

本節(jié)介紹我們提出的自注意模塊“合成注意”。我們的模型去掉了自注意模塊中query-key-values的概念,直接合成對齊矩陣。為了簡單起見,我們描述了每頭和每層的計算,在大多數(shù)情況下分別用hl表示。

Dense Synthesizer? ? 讓我們考慮Synthesizer模型的最簡單變體,它取決于每個輸入Token??偟膩碚f,我們的方法接受輸入X_{h,l} \in R^{N\times d},并產(chǎn)生一個輸出Y_{h,l} \in R^{N\times d}。這里N表示序列長度(原文似有誤,原文說l表示序列長度),d表示模型維度。我們首先應(yīng)用一個參數(shù)化的函數(shù)F_{h,l} (\cdot ),將輸入X_{i} d維映射到N維:

B_{i,h,l} =F_{h,l} (X_{i,h,l})? ??(1)

其中F_{h,l} (\cdot )是將R^d映射到R^l的參數(shù)化函數(shù),iX_{h,l}的第i個token,并按位計算(長度N序列中的每個向量)。直觀地說,這可以解釋為學(xué)習(xí)到序列長度N的Token式投影。本質(zhì)上,在這個模型中,每個Token預(yù)測輸入序列中每個Token的權(quán)重(each token predicts weights for each token in the input sequence)。在實踐中,對于F_{h,l} (\cdot ),我們采用了一個帶ReLU的簡單的兩層前饋層:

F_{h,l} (X_{i,h,l})=W_{2,h,l}(\sigma _{R} (W_{1,h,l} (X_{i,h,l})))? ??(2)

其中\sigma _{R}是ReLU激活函數(shù),W_{1,h,l} \in R^{d\times d}W_{2,h,l} \in R^{d\times l}。醬子,B_{i,h,l} 就是R^l了。給定一個B_{i,h,l} \in R^{N\times N},我們現(xiàn)在計算:

Y_{h,l} =\mathrm{softmax}(B_{h,l} )G_{h,l}(X_{h,l})? ??(3)

其中G_{h,l}(\cdot )X的另一個參數(shù)化函數(shù),可類比于標準Transformer中的V_{h,l} (\mathrm{value})。這種方法通過將標準Transformer中Q_{h,l} K_{h,l}^T換成合成函數(shù)F_{h,l} (\cdot ),從而將點積注意力Y =\mathrm{softmax}(Q_{h,l} K_{h,l}^T)V_{h,l}整個地摘除了。

Random Synthesizer????前一種變體通過取決于X的每個輸入并投影到N的維度來學(xué)習(xí)合成注意力。因此,Dense Synthesizer獨立地依賴于每個Token,與vanilla Transformer模型中的成對Token交互相反。我們考慮Synthesizer的另一個變體,其中注意力權(quán)重不取決于任何input tokens。相反,注意力權(quán)重被初始化為隨機值。這些值可以是可訓(xùn)練的,也可以保持固定的(表示為Fixed)。

R_{h,l} 是一個隨機初始化的矩陣。隨機Synthesizer定義為:

Y_{h,l} =\mathrm{softmax}(R_{h,l} )G_{h,l}(X_{h,l})? ??(4)

其中R_{h,l}\in R^{N\times N}。值得注意的是,每個頭向網(wǎng)絡(luò)添加N^2參數(shù)。隨機Synthesizer(我們本以為這種變體根本不起作用,但結(jié)果證明這是一個很強的基線)的基本思想是不依賴于成對Token交互或來自單個Token的任何信息,而是學(xué)習(xí)任務(wù)特定的對齊,該對齊在許多樣本中整體工作良好。這是最近提出的固定自注意模式的直接推廣(Raganato等人,2020)。

Factorized Models????Dense Synthesizer給網(wǎng)絡(luò)添加d\times N個參數(shù),Random Synthesizer給網(wǎng)絡(luò)添加N\times N個參數(shù)。這里,請注意,我們省略了標準Transformer中的QK投影,這將進一步節(jié)省參數(shù)。盡管節(jié)省了這些成本,但當模型很大時,要學(xué)習(xí)synthesized模型可能會很麻煩。因此,我們提出了Synthesizer模型的factorized 變體,并表明這些變體在實踐中表現(xiàn)相當。

Factorized Dense Synthesizer????Factorized outputs不僅僅輕微地減少了Synthesizer的參數(shù)量,而且有助于防止過擬合。Dense Synthesizer的factorized變體可以表示為:

A_{h,l},B_{h,l} =F_{A,h,l} (X_{i,h,l}), F_{B,h,l} (X_{i,h,l})? ??(5)

其中F_{A,h,l} (\cdot )將輸入X_{i,h,l}投影為a維,F_{B,h,l} (\cdot )X_{i,h,l}投影為b維,并且a\times b=N。分解模型的輸出現(xiàn)在寫為:

Y_{h,l} =\mathrm{softmax}(C_{h,l} )G_{h,l}(X_{h,l})? ??(6)

其中C_{h,l}=H_{A} (A_{h,l})\ast H_{B} (B_{h,l}),這里H_{A}H_{B}是平鋪函數(shù)(tiling functions),并且C_{h,l}\in R^{N\times N}。平鋪函數(shù)是簡單地將向量復(fù)制k次,也即R^N\rightarrow R^{N\times k}。具體地,H_{A}:R^a\rightarrow R^{a\times b},H_{B}:R^b\rightarrow R^{b\times a}。為了避免在同一塊中有相似的值,我們組合(compose)了H_AH_B的輸出。

Factorized Random Synthesizer? ? 類似地,我們也可以將R_{h,l}分解為低秩矩陣R_{1,h,l},R_{2,h,l}\in R^{N\times k}

Y_{h,l} =\mathrm{softmax}(R_{1,h,l} R_{2,h,l}^T )G_{h,l}(X_{h,l})? ??(7)

這樣,很容易看到,對每個頭,將參數(shù)量從N^2縮減至2(Nk),其中k<<N。因此能夠阻止過擬合。實踐中我們使用一個小的值k=8。

Mixture of Synthesizers? ? 最后,我們注意到我們已經(jīng)提到的所有synthetic attention變體可以用加法結(jié)合起來,寫為:

其中S(\cdot )是一個參數(shù)化的合成函數(shù)( synthesizing function),α?是可以學(xué)習(xí)的權(quán)重,且\sum \alpha =1。將Random Factorized與standard Dense Synthesizers結(jié)合的情況,有:

我們在實驗里研究了幾種混合變體。

我們的參數(shù)量取決于序列長度? ? 隨機和密集Synthesizer都依賴于,參數(shù)量取決于序列長度l。一般來說,我們定義一個最大長度,并動態(tài)截斷每個batch的實際長度。我們注意到,這與Transformer模型中常見的可訓(xùn)練位置編碼具有相似的精神。因此,我們在這里看不到任何問題。如果這確實是一個問題,一個可能的解決方案是投影到較小的值b,并將b平鋪到最大序列長度。我們把這個探索留給未來的工作。

3.2 討論

本文提出了關(guān)于注意矩陣A的基本問題,以及除了兩兩注意之外,是否有可能用其他方法合成A。值得注意的是,我們的Synthesizer框架也包含了對常規(guī)點積的關(guān)注,即Synthesizer是Transformer模型的推廣。在Transformer的情況下,合成函數(shù)是S(X)=FQ(X)FK(X)>。表1列出了在我們的Synthesizer框架中探索的不同模型變體?!癱ondition on”列是指合成輸出是作為Xi的函數(shù)還是作為每個Xi,Xj對的函數(shù)生成的。“sample”列指示給定的變量是利用本地上下文還是全局上下文。隨機Synthesizer是全局的,因為它們在所有樣本中共享相同的全局對齊模式。密集Synthesizer被認為是局部的,因為它們是以Xi為條件的,這使得對準模式依賴于每個單獨的樣本。為此,合成模型必須有多個頭才能有效。

實驗

本節(jié)概述了我們的實驗設(shè)置和結(jié)果。我們首先對五項任務(wù)進行實驗,評估不同Synthesizer變體的有效性,以及它們與普通轉(zhuǎn)換器的比較。具體來說,我們進行了以下實驗:(1)機器翻譯(EnDe,EnFr);(2)自回歸語言建模(LM1B);(3)文本生成(摘要和對話建模);(4)多任務(wù)自然語言處理(GLUE/SuperGLUE)。每個實驗的細節(jié)見附錄。

變體符號

我們用R表示隨機,D表示密集,V表示香草點積注意。Fix表示固定隨機,F(xiàn)R表示因式分解隨機,F(xiàn)D表示因式分解隨機。對于混合Synthesizer,我們使用+表示兩種方法是混合的。

4.1.比較Synthesizer變體和Transformer模型

本節(jié)深入到多個Synthesizer變體和基礎(chǔ)Transformer模型的詳細研究。在MT/LM上的實驗結(jié)果首先,我們觀察到我們的隨機Synthesizer基線在EnDe上達到27.27,在EnFr上達到41.12。不可訓(xùn)練的(即固定的)變體的性能要差得多,但仍然產(chǎn)生出人意料的強大≈ 24 BLEU,具有固定的隨機注意力權(quán)重。大多數(shù)其他Synthesizer變種實現(xiàn)了競爭性的性能,雖然與Transformer相比性能略有下降。一個有趣的發(fā)現(xiàn)是,隨機+密集Synthesizer的混合模型的性能與EnDe上的香草變形金剛相當。當混合標準點積時,性能進一步提高+0.8 BLEU點(EnDe)。一般來說,Synthesizer變體的性能在這項任務(wù)上與Transformer具有競爭力。在LM1b上,我們發(fā)現(xiàn)隨機Synthesizer的性能與vanilla Transformer模型相差1-2ppl點。性能最好的型號是Synthesizer(D+V),它在這種設(shè)置下獲得最佳性能。

文本生成結(jié)果

綜上所述,我們發(fā)現(xiàn)(R)和(D)變量的性能并不優(yōu)于Transformer。(D)模型的性能是≈ Transformer下方2個胭脂點。因此,我們假設(shè)局部樣本成對交互對摘要任務(wù)非常重要。另一方面,也可以觀察到綜合注意的效用,即(R+V)和(R+D)模型都優(yōu)于Transformer。在對話任務(wù)中,Synthesizer(R)和(D)都比普通變形金剛有一個合理的優(yōu)勢(≈ 1-3)大多數(shù)/所有指標得分。這里性能最好的模型是(D)變體。令人驚訝的是,與大多數(shù)其他任務(wù)不同,(+V)變體的表現(xiàn)并不好,這意味著點積自注意實際上可能對這項任務(wù)有害。

比較Synthesizer與動態(tài)卷積

為了確定Synthesizer的競爭力,我們還將其與動態(tài)卷積進行了比較(Wu等人,2019年)

我們比較了它們在(1)訓(xùn)練前的困惑(使用C4上的蒙面語言建模目標)和(2)在GLUE和SuperGLUE上的下游微調(diào)結(jié)果。

掩蔽語言建模結(jié)果

我們還測試了這些模型的速度。為了做到這一點,我們在C4數(shù)據(jù)集(Raffel et al.,2019)上進行了額外的實驗,對比了輕量級動態(tài)卷積(Wu et al.,2019)對掩蔽語言建模任務(wù)的適應(yīng)性。我們也借此機會,以基準速度Synthesizer相比Transformer。在Mesh Tensorflow(Shazeer et al.,2018)上進行實驗,并在2x2 TPU V3芯片上運行約524K步。

結(jié)果

表4報告了掩蔽語言建模5的驗證集日志困惑。我們觀察到,Synthesizer(R)的性能比動態(tài)卷積高出3.5%,同時速度快了60%。相對于輕量級的動態(tài)卷積,我們匹配性能的同時提高了+5%??紤]到這是一個簡單的隨機Synthesizer基線,我們發(fā)現(xiàn)這非常有趣,它是如何能夠超越動態(tài)卷積,一個相對復(fù)雜的模型。與兩種卷積模型相比,隨機Synthesizer也具有較少的觸發(fā)器。另一方面,使用點積注意的混合Synthesizer模型以相對相等的模型速度改進了基本Transformer模型的性能。最后,與先前的結(jié)果相似,我們看到Synthesizer(D+V)和Synthesizer(R+V)的性能增益一致,優(yōu)于基本Transformer模型。

膠水和強力膠的結(jié)果

表5和表6報告了膠水和超級膠水基準測試的結(jié)果。我們注意到,Synthesizer的(R)和(D)變體沒有達到合理的性能。這在很大程度上可以歸因于這樣一個事實,即T5設(shè)置中的編碼器自注意也起到了跨句注意的作用。例如,在蘊涵或閱讀理解任務(wù)中,前提和假設(shè)連接在一起,自注意有效地充當了跨句注意

.在SST這樣的數(shù)據(jù)集上,這種跨句注意是不必要的,因此Syn(R)和Syn(D)的表現(xiàn)都很有競爭力。為此,動態(tài)卷積(Wu et al.,2019)也沒有這種編碼器“交叉注意”,因此在許多成對匹配任務(wù)中也會受到影響。值得注意的是,在這種“無交叉注意”設(shè)置中,隨機Synthesizer的膠水/強力膠水分數(shù)比動態(tài)卷積高4到5個百分點。

樂觀地說,我們觀察到混合模型Syn(R+V)比T5模型有很大的優(yōu)勢(+1.9點的強力膠和+0.6點的強力膠)。當然,混合混合模型也大大優(yōu)于動態(tài)卷積。最后,為了確保Syn(+V)變量不會因為簡單地具有更多參數(shù)而優(yōu)于Transformer,我們還比較了與Syn(+V)變量具有相同參數(shù)數(shù)量的T5(Base+)變量(大約≈ 更多參數(shù))。我們的結(jié)果表明,Synthesizer(+V)仍然優(yōu)于T5(Base+)。

4.2. Synthesizer與線性調(diào)頻器的比較

我們進行了更多的實驗比較因子隨機Synthesizer和linformer。由于Linformer不能用于解碼,我們將其與來自tensorflow數(shù)據(jù)集(AGnews(Zhang et al.,2015)和電影評論(Maas et al.,2011))的兩個編碼任務(wù)進行比較。我們對兩個因子分解模型都使用k=32。我們還在這項任務(wù)中對Transformer進行基準測試。注:我們不使用上下文嵌入,因此結(jié)果與其他工作不可比較。

結(jié)果

我們注意到因子Synthesizer(FR)在這個任務(wù)上與linformer和transformer有競爭力。Syn(FR)的精度與Linformers相當,而Syn(FR+V)的性能優(yōu)于Transformer和Linformers。

定性分析

重量分布

我們感興趣的是研究如何綜合產(chǎn)生的注意權(quán)重不同于點積注意權(quán)重。圖3顯示了經(jīng)過訓(xùn)練的Transformer和Synthesizer模型的注意力直方圖。我們報告了一個6層(Transformer或Synthesizer)模型的第1層、第3層和第5層在50K步進時的直方圖。我們發(fā)現(xiàn)此后,權(quán)重分布保持相對一致。圖2顯示了初始化狀態(tài)。我們觀察到Synthesizer和Transformer模型的重量分布有明顯的差異。Synthesizer權(quán)重的變化趨于更大。另一方面,Transformer模型上的權(quán)值趨向于0附近的引力,方差較小。(R)和(D)Synthesizer變體之間也存在顯著差異。具體而言,(D)模型通常具有更大的最大值,在0.1-0.2范圍內(nèi)具有更多的值,而R模型的值趨向于保持接近0。

Synthesizer學(xué)習(xí)什么模式?

在本節(jié)中,我們將對Synthesizer模型進行更深入的分析。

分析

最后,我們有興趣了解這些Synthesizer模型在學(xué)習(xí)什么。我們檢驗了語言建模任務(wù)LM1B的隨機合成注意權(quán)重,并將其與普通注意進行了比較。我們發(fā)現(xiàn),對于LM任務(wù),Synthesizer能夠?qū)W習(xí)一個本地窗口,盡管從完全隨機開始,但仍然能夠非常接近地模擬vanilla Transformer。然而,與Transformer相比,重量看起來更平滑,也不那么粗糙。這似乎反映了我們的期望,因為Synthesizer不受益于Token特定的信息。我們在補充材料中提供了機器翻譯任務(wù)權(quán)重的額外分析和可視化。

定量結(jié)果的總體總結(jié)

本節(jié)總結(jié)了我們的總體發(fā)現(xiàn)。

即使沒有點積注意,合成注意也是有競爭力的

在所有的評價任務(wù)中,我們發(fā)現(xiàn),綜合注意函數(shù)具有競爭力,即達到了與點積自注意相對應(yīng)的性能。在一個任務(wù)(對話生成)中,點積自注意實際上降低了績效。在其他任務(wù)中,機器翻譯受刪除香草點積的影響最小。這些發(fā)現(xiàn)使我們能夠反省是否有必要對自注意進行兩兩比較。在多任務(wù)語言理解基準上,自注意通過連接句子對作為交叉注意的形式發(fā)揮作用。因此,綜合注意力的表現(xiàn)要比普通變形金剛差得多。

綜合注意和點積注意是高度互補的

總的來說,我們還觀察到,點積的關(guān)注是非常有幫助的。為此,合成注意力與成對點積注意力是高度互補的。雖然合成注意力通常可以自己獲得有競爭力的快速表現(xiàn),但合成注意力可以提高表現(xiàn),將多個合成注意力(和點積注意力)組合在一起,幾乎可以在我們所研究的所有任務(wù)中獲得收益。因此,我們認為這是一個強有力的發(fā)現(xiàn)。

最簡單的Synthesizer如隨機Synthesizer是快速競爭的基線

最后,我們注意到簡單的隨機Synthesizer與動態(tài)卷積和LINFORMER競爭,這是最近提出的模型。在兩個編碼任務(wù)和大規(guī)模的蒙面語言建模任務(wù)上,我們發(fā)現(xiàn)隨機(或因子化隨機)Synthesizer仍然與其他快速或高效的Transformer模型競爭。

結(jié)論

本文提出了一種新的綜合注意Transformer模型——Synthesizer。我們進行了一項原則性研究,以更好地理解和評估全局對齊和局部實例對齊(例如,獨立Token和基于Token的Token)在自注意中的效用。我們發(fā)現(xiàn),在機器翻譯、語言建模、對話生成、掩蔽語言建模和文檔分類等多個任務(wù)中,綜合注意表現(xiàn)出與一般自注意相比的競爭性表現(xiàn)。此外,對于對話生成任務(wù),成對交互實際上會影響性能。值得注意的是,我們再次強調(diào),這項研究涉及自注意。我們發(fā)現(xiàn),在大多數(shù)情況下,我們無法用簡單的變體取代交叉注意。通過一組額外的大規(guī)模實驗,還發(fā)現(xiàn)Synthesizer可以優(yōu)于或匹配動態(tài)卷積,因子化Synthesizer可以優(yōu)于其他低秩Linformer模型。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • https://zhuanlan.zhihu.com/p/319866371[https://zhuanlan.z...
    Valar_Morghulis閱讀 943評論 0 0
  • 一 前言 從現(xiàn)在的大趨勢來看,使用某種模型預(yù)訓(xùn)練一個語言模型看起來是一種比較靠譜的方法。從之前AI2的 ELMo,...
    Jessie_83bf閱讀 1,857評論 1 0
  • BERT論文地址:https://arxiv.org/abs/1810.04805翻譯 https://arxiv...
    高永峰_GYF閱讀 3,000評論 0 1
  • SegFormer: Simple and Efficient Design for Semantic Segme...
    Valar_Morghulis閱讀 9,719評論 0 4
  • 表情是什么,我認為表情就是表現(xiàn)出來的情緒。表情可以傳達很多信息。高興了當然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,613評論 2 7

友情鏈接更多精彩內(nèi)容