Relative Positional Encoding for Transformers with Linear Complexity
A Liutkus, O Cífka, S Wu, U ?im?ekli, Y Yang, G Richard
ICML2021 long talk
[Inria & Telecom Paris & Research Center for IT Innovation]
https://readpaper.com/paper/3163721282
https://readpaper.com/paper/3168215316
https://hub.fastgit.org/aliutkus/spe
Recent advances in Transformer models allow for unprecedented sequence lengths, due to linear space and time complexity. In the meantime, relative positional encoding (RPE) was proposed as beneficial for classical Transformers and consists in exploiting lags instead of absolute positions for inference. Still, RPE is not available for the recent linear-variants of the Transformer, because it requires the explicit computation of the attention matrix, which is precisely what is avoided by such methods. In this paper, we bridge this gap and present Stochastic Positional Encoding as a way to generate PE that can be used as a replacement to the classical additive (sinusoidal) PE and provably behaves like RPE. The main theoretical contribution is to make a connection between positional encoding and cross-covariance structures of correlated Gaussian processes. We illustrate the performance of our approach on the Long-Range Arena benchmark and on music generation.
https://weibo.com/1402400261/KghhtlkRm
摘要:由于線性空間和時(shí)間復(fù)雜性,Transformer模型的最新進(jìn)展允許前所未有的序列長(zhǎng)度。同時(shí),相對(duì)位置編碼(RPE)被認(rèn)為有利于經(jīng)典Transformer,并且包括利用相對(duì)位置而不是絕對(duì)位置進(jìn)行推理。盡管如此,RPE對(duì)于Transformer的最新線性變體仍然不可用,因?yàn)樗枰⒁饩仃嚨娘@式計(jì)算,而這正是此類方法所避免的。在本文中,我們彌合了這一差距,并提出了隨機(jī)位置編碼作為生成PE的一種方法,該方法可替代經(jīng)典的加法(正弦)PE,并可證明其行為類似于RPE。主要的理論貢獻(xiàn)是在相關(guān)高斯過(guò)程的位置編碼和互協(xié)方差結(jié)構(gòu)之間建立聯(lián)系。我們將說(shuō)明我們的方法在Long-Range Arena基準(zhǔn)測(cè)試和音樂(lè)生成方面的性能。
1.引言
1.1. 線性復(fù)雜度Transformer
Transformer模型(Vaswani et al.,2017)是一種新型的神經(jīng)網(wǎng)絡(luò),在許多應(yīng)用領(lǐng)域迅速成為最先進(jìn)的,包括自然語(yǔ)言處理(He et al.,2020)、圖像處理(Dosovitskiy et al.,2020)、音頻處理(Huang et al.,2018;Pham et al.,2020)或生物信息學(xué)(AlQuraishi,2019)等等。
Transformer的核心、新穎部件是注意層。它從個(gè)輸入值
計(jì)算
個(gè)輸出值
,所有輸入值
都是任意維的向量。遵循經(jīng)典的非參數(shù)回歸原則(Nadaraya,1964;Watson,1964),它包含一個(gè)簡(jiǎn)單的加權(quán)和:

其中每個(gè)注意系數(shù)均為——收集在M×N矩陣
中——表示值
在計(jì)算輸出
中的重要性。
Transformer的主要貢獻(xiàn)之一是計(jì)算這些系數(shù)的原始方法。D維特征向量和
附屬于輸入和輸出序列的所有項(xiàng),分別稱為鍵和查詢。將它們收集在N×D和M×D矩陣
和
中,我們得到softmax點(diǎn)積注意如下:

其中函數(shù)exp是按元素應(yīng)用的。(2)中的右側(cè)是Tsai等人(2019)和Choromanski等人(2020)提出的推廣,其中是一個(gè)核函數(shù)。參數(shù)涉及如何從原始序列中獲得鍵
、值
和查詢
,通常是通過(guò)時(shí)間分布的全連接層。(編者注:應(yīng)該是指用于QKV變換的線性層)
原始的Transformer架構(gòu)(Vaswani et al.,2017)明確計(jì)算注意矩陣,導(dǎo)致
復(fù)雜性,從而不能擴(kuò)展到很長(zhǎng)的序列長(zhǎng)度。雖然這在序列長(zhǎng)度僅為幾百左右時(shí)不一定是個(gè)問(wèn)題,就像在某些語(yǔ)言處理任務(wù)中一樣,但對(duì)于非常大的信號(hào)(如高分辨率圖像或音頻),這是禁止的。
針對(duì)這一擴(kuò)展問(wèn)題,最近研究了幾種允許長(zhǎng)序列的方法:
?????注意聚類(Attention clustering)方案對(duì)元素進(jìn)行分組,通過(guò)定期注意計(jì)算項(xiàng)目之間的依賴關(guān)系。這可以通過(guò)在序列中使用簡(jiǎn)單的鄰近規(guī)則來(lái)實(shí)現(xiàn),從而形成分塊策略(Dai等人,2019年),或者通過(guò)對(duì)鍵和值進(jìn)行聚類(Roy等人,2020年)。簇間依賴關(guān)系要么被忽略,要么通過(guò)在內(nèi)存中創(chuàng)造的固定長(zhǎng)度上下文向量進(jìn)行總結(jié)(Wu等人,2020)。
?????假設(shè)注意力矩陣稀疏。在這種情況下,只有少數(shù)為非零(Child等人,2019年)。
?????假設(shè)具有特定(低秩)結(jié)構(gòu),并可分解為兩個(gè)較小矩陣的乘積。一個(gè)典型的例子是 Linformer(Wang等人,2020b),它僅限于固定長(zhǎng)度的輸入。在這方面,另一個(gè)最近的研究方向是:

其中是應(yīng)用于每個(gè)鍵
和查詢
的非線性特征映射,并且,
(Shen等人,2020年;Katharopoulos等人,2020年)。
?????當(dāng)公式(2)中的是正(半)定核時(shí)(positive (semi)defifinite kernel),Performer(Choromanski et al.,2020)利用復(fù)現(xiàn)核Hilbert空間表明,即使
不是低秩,也可以使用隨機(jī)
平均地方便地實(shí)現(xiàn)公式(3)中的:
? ??
其中是從一個(gè)分布中提取的,該分布取決于
。
一個(gè)簡(jiǎn)單的例子是,其中,對(duì)于某些
,有
。
每當(dāng)使用像(3)或(4)這樣的高效方案時(shí),就可以在不計(jì)算注意系數(shù)的情況下獲得輸出,如(10)。(注釋1:最近的LambdaNet works(Bello,2020)使用了一種稍微相關(guān)的策略,它將鍵值信息封裝為所謂的lambda函數(shù),以便在查詢時(shí)應(yīng)用,因此也避免了計(jì)算完全注意矩陣。)
1.2. 位置編碼
在Transformer網(wǎng)絡(luò)中,輸出被計(jì)算為所有輸入值
的線性組合,由注意系數(shù)
加權(quán)。在序列建模中,合理的假設(shè)是,除了這些位置的內(nèi)容外,實(shí)際位置
和
也應(yīng)在計(jì)算中發(fā)揮作用;否則,序列的任何排列都將導(dǎo)致相同的輸出。采取了兩種核心方法來(lái)納入位置信息:
?????原始Transformer(Vaswani等人,2017年)將該信息添加到網(wǎng)絡(luò)輸入中,即在第一個(gè)注意層之前。這可以等效地理解為對(duì)鍵、值和查詢的augmenting:
,
,
? ??
其中表示間在位置
處的位置編碼(PE;Sukhbatar等人,2015)。查詢和值項(xiàng)同理。Vaswani等人提出了一種基于三角函數(shù)的確定性方案,該方案與可訓(xùn)練嵌入一樣有效。
?????作為注意域中位置編碼的一個(gè)示例,Shaw等人(2018年)提出了相對(duì)位置編碼(RPE),其是基于在時(shí)間維度上的相對(duì)滯后要比絕對(duì)位置編碼(APE)更重要。其如下:

現(xiàn)在充當(dāng)基于查詢選擇的時(shí)間延遲的
個(gè)不同編碼。這一變化被認(rèn)為在許多應(yīng)用領(lǐng)域帶來(lái)了重要的性能提升,并從那時(shí)起得到了廣泛的應(yīng)用。
雖然在注意域中記錄位置編碼有利于提高性能(Shaw等人,2018;Dai等人,2019;Tsai等人,2019),但我們只知道需要計(jì)算或群集(clustered)注意方案的實(shí)現(xiàn),這些方案將
精細(xì)分解為更小的注意矩陣,并計(jì)算它們。這與(3)和(4)形成了鮮明的對(duì)比,后者從不計(jì)算注意力矩陣。
我們的貢獻(xiàn)可以總結(jié)如下:
?????我們建議將隨機(jī)位置編碼(Stochastic Positional Encoding ,SPE)作為鍵域中的一般PE方案,該方案強(qiáng)制實(shí)施在注意域中設(shè)計(jì)的特定注意模式。這使得我們可以使用RPE,而無(wú)需顯示計(jì)算注意力。據(jù)我們所知,這是第一個(gè)與Transformer(例如Choromanski et al.(2020)和Katharopoulos et al.(2020))兼容的RPE策略。
?????我們研究SPE對(duì)Long-Range Arena基準(zhǔn)測(cè)試(Tay等人,2021年)和兩項(xiàng)音樂(lè)生成任務(wù)性能的影響。由于RPE目前僅限于短序列,我們相信這是第一次研究其在長(zhǎng)期預(yù)測(cè)方面的優(yōu)勢(shì)。我們的結(jié)果顯示了更好的驗(yàn)證損失和外推能力。
?????我們?cè)谖覀兊呐涮拙W(wǎng)站2上提供了額外的資源,包括PyTorch和JAX/Flax的SPE的Python實(shí)現(xiàn)(https://cifkao.github.io/spe/)。
2.????隨機(jī)位置編碼
索引集和符號(hào)。
我們假設(shè)輸入/輸出序列的索引分布為,其中
是索引集。對(duì)于常規(guī)采樣的序列,有
。當(dāng)然也有其它的情況,例如非常規(guī)采樣的時(shí)間序列(
)或圖像(
)。
在任何情況下,考慮中的輸入/輸出位置的特定列表都被寫為:(花體字)和
(花體字),其大小分別為N和M(
的情況稱為自注意)。因此,相應(yīng)的鍵和值被索引為
和
,查詢?yōu)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Cleft%5C%7Bq_%7Bm%7D%20%5Cright%5C%7D%20_%7Bm%5Cin%20M%7D%20" alt="\left\{q_{m} \right\} _{m\in M} " mathimg="1">。為了方便起見(jiàn),我們?yōu)镸×N注意矩陣
的條目編寫了
。我們使用粗體大寫字母表示矩陣,粗體小寫字母表示向量(編者注:在在譯文中不顯示),并使用類似NumPy的表示法:如果
是
矩陣,則
和
分別代表其第
行和第
列。
假設(shè)。
在本文的剩余部分中,我們將尋求一個(gè)注意矩陣A,由以下公式給出:

其中是位置核。定義
,這可以用矩陣形式寫成:

這可以被理解為D維注意力模板被查詢
和鍵
共同激活。原始RPE(7)可以看作是一種特殊情況,其中一些條目保持不變。
作為協(xié)方差的位置注意。
SPE的關(guān)鍵思想是將注意力核視為協(xié)方差:

--
其中,Qd(m)和Kd(n)是兩個(gè)實(shí)隨機(jī)變體和零均值隨機(jī)變體,將在其協(xié)方差函數(shù)與Pd匹配的單一條件下進(jìn)行選擇。語(yǔ)義上,它們應(yīng)該分別理解為(隨機(jī))編碼查詢的位置m和鍵的位置n。當(dāng)與點(diǎn)積注意力相乘時(shí),它們平均產(chǎn)生所需的注意力模板Pd(m,n)。中心直覺(jué)是,實(shí)際的位置編碼沒(méi)有他們的點(diǎn)積重要。
在下面的內(nèi)容中,我們將在互協(xié)方差Pd(m,n)上施加特定的結(jié)構(gòu),這將反過(guò)來(lái)允許我們?cè)O(shè)計(jì)隨機(jī)過(guò)程Qd={Qd(m)}m∈M和Kd={Kd(n)}n∈使(11)成立。這種結(jié)構(gòu)的核心優(yōu)點(diǎn)是允許Pd被分解?,F(xiàn)在假設(shè)我們構(gòu)造{qd(m),Kd(n)} d的分布,我們可以從它們中取樣(我們將在第2.1節(jié)中看到),并考慮它們對(duì)于給定m和n的R獨(dú)立實(shí)現(xiàn),它們聚集在m×r和n×r矩陣qd和Kd中:
對(duì)于大R,根據(jù)大數(shù)定律,我們得到:
這導(dǎo)致(9)中的A由以下公式給出:
這里,一個(gè)重要的觀察結(jié)果是,對(duì)于大R,由于獨(dú)立性,交叉項(xiàng)QdK>d0=d可以忽略不計(jì),前提是過(guò)程的平均值被選擇為零。最后,選擇查詢和關(guān)鍵點(diǎn)如下:
我們從(15-17)中看到,我們回到了通常的乘法方案(2),其中A=exp(bQbK>/√R) ,其中查詢/鍵現(xiàn)在具有維度R,并且可以在(10)中用于直接獲得輸出,而無(wú)需計(jì)算A。
該過(guò)程在算法1中進(jìn)行了總結(jié):我們提供了一種方法(16-17)來(lái)實(shí)現(xiàn)鍵域中的PE,從而在注意域中實(shí)施所需的模型(8),由注意核Pd參數(shù)化。有趣的是,這是在不計(jì)算注意矩陣的情況下完成的,符合O(N)變換。我們接下來(lái)討論的剩余挑戰(zhàn)是生成Qd和Kd(13)。
2.1.繪制隨機(jī)位置編碼
考察(11),我們注意到我們的目標(biāo)是從具有規(guī)定互協(xié)方差結(jié)構(gòu)的D對(duì)中心隨機(jī)過(guò)程Qd,Kd D中抽取樣本。為此目的,使用高斯過(guò)程是合理的(Williams&Rasmussen,2006),對(duì)于已知的平均值和協(xié)方差,高斯過(guò)程具有最大熵。這種分布在聯(lián)合克里金法文獻(xiàn)(Matheron,1963;Genton&Kleiber,2015)中的地球物理學(xué)中經(jīng)常遇到,科學(xué)家通常會(huì)處理相關(guān)隨機(jī)場(chǎng)。我們?cè)O(shè)置的特殊曲折是:我們有一個(gè)生成問(wèn)題,如Voˇrechovsk'y(2008年);然而,與它們的設(shè)置相反,我們對(duì)每個(gè)輸出的邊際協(xié)方差函數(shù)并不直接感興趣,只要期望的互協(xié)方差結(jié)構(gòu)成立。
SPE最直接的應(yīng)用出現(xiàn)在我們選擇Pd(m,n)=Pd(m)時(shí)? n) ,即靜止位置核,在Shaw et al.(2018)中作為選擇相對(duì)注意而被創(chuàng)造,并歸結(jié)為對(duì)互協(xié)方差矩陣Pd強(qiáng)制執(zhí)行Toeplitz結(jié)構(gòu)≡ [Pd(m]? n) ]m,n介于Qd和Kd之間。
我們提出了兩種SPE變體來(lái)處理這個(gè)重要的特殊情況,如圖2所示。第一個(gè)變體產(chǎn)生周期協(xié)方差函數(shù)。當(dāng)注意力不應(yīng)隨著大的相對(duì)位置而消失時(shí),這可能是有益的,如交通預(yù)測(cè)(Xue&Salim,2020年)或如我們所示,在音樂(lè)生成中。第二變體生成消失協(xié)方差函數(shù);一個(gè)最近被證明是有用的概念(Wang等人,2021年),并且在我們的一些實(shí)驗(yàn)中顯著地產(chǎn)生較小的驗(yàn)證損失。
變體一。
相對(duì)和周期性注意(sineSPE)。在我們的第一種方法中,我們考慮Pd是周期性的情況,得到方便的治療。我們假設(shè):
K在哪里∈ N是正弦分量和fd的數(shù)量∈ [01]K,θd∈ [?ππ]K和λd∈ RK分別收集其K頻率、相位和權(quán)重。通過(guò)使用矩陣表示法,我們可以將(18)改寫為:
where–v≡ vbp/2cp∈ R2K表示向量v的兩次上采樣版本∈ RK,b·c表示樓層操作,對(duì)于索引集I,?(I,a,b)是一個(gè)大小為| I |×2K的矩陣,帶有條目(基于0的索引):
可以證明,如果θd=0和M=N,我們回到正定義Toeplitz矩陣的(唯一的)Vandermonde分解3(Yang等人,2016),這在我們的上下文中歸結(jié)為假設(shè)?τ、 Pd(0)≥ Pd(τ)。由于這并不總是可取的,我們保留了更一般的(19)。此時(shí),我們可以輕松構(gòu)建Qd和Kd。我們用單位方差的獨(dú)立同分布(i.i.d.)高斯項(xiàng)繪制2K×R矩陣Zd,并定義:
很容易檢查這種構(gòu)造是否導(dǎo)致(13)。它的參數(shù)是{fd,θd,∧d}d,通??梢酝ㄟ^(guò)隨機(jī)梯度下降(SGD)進(jìn)行訓(xùn)練。
變體二。相對(duì)(消失)注意與定期抽樣(convSPE)。
由于其周期結(jié)構(gòu),變體I生成的協(xié)方差函數(shù)是非方差函數(shù)。然而,我們的框架足夠靈活,允許協(xié)方差結(jié)構(gòu)消失,這可能更理想,取決于應(yīng)用(Wang et al.,2021)。
與變體I相反,在變體I中,我們對(duì)Pd施加了特定的結(jié)構(gòu),我們現(xiàn)在將采用間接方法,其中Pd將根據(jù)我們的算法構(gòu)造隱式定義。在這種情況下,我們假設(shè)信號(hào)是定期采樣的(例如文本、圖像、音頻),我們將利用高斯隨機(jī)矩陣的結(jié)構(gòu)和卷積運(yùn)算的基本特性。
為了便于記譜,我們假設(shè)自注意,即M=N。讓{ΦQd,ΦKd}d表示一組過(guò)濾器,這些過(guò)濾器最終將從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)。這些濾波器的大小和尺寸可根據(jù)輸入數(shù)據(jù)選擇(即,可以是向量、矩陣、張量)。然后,我們提出以下程序,通過(guò)卷積產(chǎn)生Toeplitz Pd:
?我們首先繪制具有i.i.d.標(biāo)準(zhǔn)高斯輸入的M×R隨機(jī)矩陣Zd。對(duì)于多維信號(hào),Zd收集R個(gè)隨機(jī)向量、矩陣、立方體等。
?通過(guò)將Zd與各自的過(guò)濾器ΦQd和ΦKd卷積,獲得所需的Qd和Kd:
哪里?表示具有適當(dāng)尺寸的卷積(例如1D、2D或3D)。如附錄所示,使用卷積和有限濾波器可確保協(xié)方差消失。由于Zd項(xiàng)的獨(dú)立性,對(duì)于較大的R,乘積ZdZ>d/R將趨向于單位矩陣??紤]到(22)中的卷積運(yùn)算可以等價(jià)地表示為由各個(gè)濾波器構(gòu)造的三角Toeplitz矩陣的乘法,可以證明,如R→ ∞, 1R QdK>d趨向于兩個(gè)三角Toeplitz矩陣的乘積。因此,通過(guò)使用三角Toeplitz矩陣的性質(zhì)(參見(jiàn)Kucerovsky et al.2016,定理2.4),我們得出如下結(jié)論:→ ∞, 我們的構(gòu)造產(chǎn)生了所需的Toeplitz矩陣Pd。該方法由濾波器{ΦQd,ΦKd}d參數(shù)化,該濾波器將通過(guò)SGD從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)。
注意模式的多樣性P(m)? n) 可直接獲得的結(jié)果取決于核大小,這是信號(hào)處理的經(jīng)典結(jié)果(Vetterli et al.,2014)。在VGGNet中級(jí)聯(lián)幾個(gè)卷積(Simonyan&Zisserman,2014)可能是一種增強(qiáng)卷積SPE變體表達(dá)能力的便捷方法。
從更一般的角度來(lái)看,(22)中的兩個(gè)操作可以理解為通過(guò)過(guò)濾白噪聲來(lái)產(chǎn)生PE,這是我們?yōu)镻E引入的核心思想??梢允褂闷渌?jīng)典信號(hào)處理技術(shù),例如使用無(wú)限脈沖響應(yīng)濾波器。這些考慮接近于(Engel等人,2020年)中提出的想法。
總之,兩種擬議結(jié)構(gòu)(20-21)和(22)之間的核心區(qū)別在于RPE的行為超過(guò)了最大相對(duì)位置,通過(guò)(20-21)的頻率fd和(22)的濾波器尺寸隱含地定義。當(dāng)正弦結(jié)構(gòu)導(dǎo)致周期性RPE時(shí),濾波結(jié)構(gòu)導(dǎo)致RPE消失,這在中稱為單調(diào)(Wang et al.,2021)。根據(jù)應(yīng)用情況,兩者都可能是所需的選項(xiàng)。
2.2.門控SPE
盡管我們提出的RPE和泛化(9)是處理位置信息的新穎而有效的策略,但考慮到不考慮位置因素的注意力系數(shù)也可能是有益的,只需通過(guò)hqm,kni。作為一種通用的選通機(jī)制,我們建議通過(guò)選通參數(shù)δd來(lái)權(quán)衡位置注意和非位置注意∈ [0 1]:
該選通方案可以通過(guò)以下方式簡(jiǎn)單地通過(guò)增加上述生成的Qd和Kd來(lái)實(shí)現(xiàn):
d在哪里∈ (24)和(25)中的RR相同,具有i.i.d.標(biāo)準(zhǔn)高斯項(xiàng)。在實(shí)踐中,我們可以在網(wǎng)絡(luò)上共享一些SPE參數(shù),尤其是跨層共享,以大大減少計(jì)算時(shí)間和內(nèi)存使用。在我們的實(shí)現(xiàn)中,共享意味著在實(shí)現(xiàn)PE到(16-17)之前,為每個(gè)磁頭生成一個(gè)單獨(dú)的Q和K實(shí)例,在該實(shí)例上應(yīng)用分層選通。如圖2所示。
3.實(shí)驗(yàn)
3.1. Long-Range Arena
實(shí)驗(yàn)裝置。
我們?cè)贚ong-Range Arena(LRA;Tay等人,2021年)中評(píng)估了所提出的方法,該Long-Range Arena是高效Transformer的基準(zhǔn),包括序列分類任務(wù),重點(diǎn)是遠(yuǎn)程依賴性。我們使用此基準(zhǔn)測(cè)試中的以下任務(wù):?ListOps:解析和評(píng)估分層表達(dá)式。一個(gè)較長(zhǎng)的變體(Nangia&Bowman,2018);
?文本:IMDB語(yǔ)料庫(kù)上的電影評(píng)論情緒分析(Maas等人,2011年);
?檢索:關(guān)于NLP(AAN)語(yǔ)料庫(kù)的文章相似性分類(Radev等人,2013年);
?圖像:CIFAR10數(shù)據(jù)集上的對(duì)象識(shí)別(Krizhevsky,2009),表示為像素序列。由于序列長(zhǎng)度較大,因此任務(wù)具有挑戰(zhàn)性,通過(guò)選擇字符/像素級(jí)表示故意增加序列長(zhǎng)度。有關(guān)這些任務(wù)的概述,請(qǐng)參見(jiàn)附錄。我們不包括Pathfinder(合成圖像分類任務(wù)),因?yàn)槲覀儫o(wú)法重現(xiàn)Tay等人在這項(xiàng)任務(wù)中的結(jié)果,即使是通過(guò)與作者的通信。
我們?cè)趦煞N有效的Transformer模型上評(píng)估SPE(選通變體):softmax執(zhí)行器(Choromanski et al.,2020)和線性Transformer(Katharopoulos et al.,2020),使用ReLU特征映射,即在(3)中選擇φ(·)=max(0,·)元素。4應(yīng)該注意的是,ReLU特征映射并不近似于softmax核,SPE的設(shè)計(jì)目標(biāo)(見(jiàn)假設(shè)8)。盡管如此,在實(shí)踐中可以將SPE與任何特征映射一起使用,這使得我們可以將線性TransformerReu作為一個(gè)有趣的測(cè)試來(lái)概括替代核。我們采用Tay等人的配置,僅更改PE和批量大小/學(xué)習(xí)率,以允許在有限的硬件上進(jìn)行具有類似結(jié)果的訓(xùn)練。所有其他超參數(shù)保持與原始LRA相同。值得注意的是,圖像模型與其他模型不同,它們采用單層網(wǎng)絡(luò),僅使用第一個(gè)位置進(jìn)行預(yù)測(cè),極大地限制了它們從相對(duì)位置信息中獲益的能力。
由于我們觀察到不同運(yùn)行之間的一些變化,我們對(duì)每個(gè)模型進(jìn)行了3次訓(xùn)練和評(píng)估(卷積SPE的執(zhí)行者除外,其計(jì)算成本更高),并報(bào)告結(jié)果的平均值和標(biāo)準(zhǔn)偏差。
基準(zhǔn)測(cè)試結(jié)果如表1所示。基線線性Transformer(APE)實(shí)現(xiàn)的精度與Tay等人報(bào)告的精度相似或超過(guò),這是對(duì)我們實(shí)驗(yàn)裝置的明確驗(yàn)證。
討論ListOps的結(jié)果總體較差,準(zhǔn)確率約為17%。這符合Tay等人(2021年)的觀點(diǎn),他認(rèn)為“基于核的模型[例如,執(zhí)行者、線性Transformer]在層次結(jié)構(gòu)數(shù)據(jù)上可能沒(méi)有那么有效”,留下了改進(jìn)的余地。我們還假設(shè)這主要是由于該任務(wù)的訓(xùn)練數(shù)據(jù)存在一些已知問(wèn)題,不幸的是,在撰寫本文時(shí)這些問(wèn)題尚未得到解決。5
關(guān)于SPE的性能,我們首先注意到sineSPE變體在三項(xiàng)任務(wù)上產(chǎn)生了最佳結(jié)果,這是一項(xiàng)巨大的成就,并驗(yàn)證了我們的方法,特別是考慮到該評(píng)估基準(zhǔn)的難度。雖然它在列表操作和文本方面僅略優(yōu)于APE,但值得一提的是,sineSPE與線性TransformerReLU的結(jié)合使精度提高了~與Tay等人(2021年)獲得的最佳結(jié)果相比,檢索率為3%。
關(guān)于convSPE,其在LRA中的表現(xiàn)不如后面第3.2節(jié)中報(bào)告的音樂(lè)生成實(shí)驗(yàn)?zāi)敲达@著。這一減輕的結(jié)果似乎與Wang等人(2021年)的討論相矛盾,后者將注意力的消失視為PE的一個(gè)理想屬性。相反,我們根據(jù)經(jīng)驗(yàn)觀察到,我們的非消失正弦版本sineSPE在這些特定任務(wù)中表現(xiàn)得更好。
最后,考慮到這些模型利用相對(duì)位置的能力有限,APE在圖像上的優(yōu)越結(jié)果并不意外。相反,SPE在這項(xiàng)任務(wù)上相對(duì)良好的性能實(shí)際上是顯著的,特別是考慮到這項(xiàng)任務(wù)的基線系統(tǒng)使用可學(xué)習(xí)的APE。
正如我們將在稍后的音樂(lè)生成實(shí)驗(yàn)中看到的那樣,我們提出的SPE在某些任務(wù)中顯然產(chǎn)生了顯著的改進(jìn)。在LRA中,我們注意到它并沒(méi)有明顯和系統(tǒng)地提高性能。這引起了有趣的考慮:
(i) 蒙特卡羅估計(jì)的方差可能有問(wèn)題。我們對(duì)Performer中的隨機(jī)特征圖的優(yōu)雅公式充滿熱情,這是一個(gè)強(qiáng)烈的靈感。盡管如此,我們必須承認(rèn)他們的計(jì)算依賴于蒙特卡羅估計(jì)(15)。我們懷疑估計(jì)量的方差可能在大維度的最終性能中發(fā)揮作用,這為探索方差縮減估計(jì)方法而不是簡(jiǎn)單的蒙特卡羅方法開辟了方向。
(ii)LRA任務(wù)可能不會(huì)受益于強(qiáng)(R)PE計(jì)劃。LRA旨在比較Transformer架構(gòu),填補(bǔ)該領(lǐng)域的空白,并作為事實(shí)上的標(biāo)準(zhǔn),證明我們的選擇是合理的。然而,盡管PE在許多情況下都很重要,但不知道在LRA任務(wù)中是否如此。我們認(rèn)為有空間進(jìn)行這樣的專門比較,這將安排在我們未來(lái)的工作中,可能導(dǎo)致新的長(zhǎng)期任務(wù),其中PE至關(guān)重要。
3.2.流行鋼琴音樂(lè)一代
在我們的音樂(lè)生成實(shí)驗(yàn)(本小節(jié)和第3.3節(jié))中,音樂(lè)被表示為符號(hào)序列(標(biāo)記),Performer(Choromanski等人,2020)被用作自回歸語(yǔ)言模型,該模型預(yù)測(cè)了給定過(guò)去上下文的下一個(gè)標(biāo)記的概率分布。在測(cè)試時(shí),通過(guò)對(duì)下一個(gè)標(biāo)記進(jìn)行迭代采樣來(lái)生成一個(gè)新的序列,這在文本生成中很常見(jiàn)。
實(shí)驗(yàn)裝置。
我們?cè)谝粋€(gè)由1747首流行鋼琴曲目組成的數(shù)據(jù)集上訓(xùn)練Performer進(jìn)行音樂(lè)生成,每層24層8個(gè)頭,使用最新提出的改進(jìn)MIDI衍生格式進(jìn)行編碼(REMI;Huang&Yang,2020)。這些序列由韻律符號(hào)組成:小節(jié)、次拍和節(jié)奏,它們代表音樂(lè)的計(jì)時(shí);和音符標(biāo)記:和弦、音高、持續(xù)時(shí)間和音量,用于描述音樂(lè)內(nèi)容(更多詳細(xì)信息,請(qǐng)參見(jiàn)附錄)。我們拿出5%的歌曲作為驗(yàn)證集。
我們訓(xùn)練序列長(zhǎng)度N=2048的模型,對(duì)應(yīng)于~一分鐘的音樂(lè)。我們的模型之間唯一的區(qū)別是PE策略。我們考慮基線猿,以及SPE:正弦或卷積,有或沒(méi)有門控,導(dǎo)致5種不同的模型。
結(jié)果和討論。
對(duì)于定性評(píng)估,我們首先在圖1中顯示了每個(gè)PE模型的一種注意模式:APE和(門控)sineSPE/convSPE,作為所選(層、頭部)20多個(gè)從頭開始的epoch的平均值。更多類似圖見(jiàn)附錄。有趣的是,我們注意到,對(duì)于早期層次,猿的注意力并沒(méi)有超出訓(xùn)練序列的長(zhǎng)度。SPE變體中未發(fā)現(xiàn)這種行為,它們始終注意所有位置。建議模型的另一個(gè)顯著特征(僅在附錄中顯示)是,第2.2節(jié)中所述的選通在視覺(jué)上完全禁用某些層/頭的PE,在這種情況下,注意力是全局的。
由于文獻(xiàn)表明RPE提高了泛化性能(Shaw等人,2018年;Zhou等人,2019年;Rosendahl等人,2019年),我們?cè)趫D3中顯示了通過(guò)教師強(qiáng)制(Williams&Zipser,1989年)計(jì)算的驗(yàn)證交叉熵,作為目標(biāo)標(biāo)記位置的函數(shù)。這些值將表明,對(duì)于驗(yàn)證集中的軌跡,模型在給定前面標(biāo)記的特定位置預(yù)測(cè)標(biāo)記的效果如何。我們注意到,所有SPE變體,尤其是convSPE,在超過(guò)2048的令牌位置上的表現(xiàn)都比APE好得多。這表明SPE繼承了RPE的這一著名優(yōu)勢(shì)(Huang et al.,2018),同時(shí)適用于更長(zhǎng)的序列。
最近,Wang等人(2021年)定義了PE評(píng)估指標(biāo),表明平移不變性和單調(diào)性是理想的屬性。前者規(guī)定兩個(gè)任意τ-偏移位置嵌入的距離應(yīng)相同,而后者規(guī)定相鄰位置應(yīng)分配比遠(yuǎn)處更近的位置嵌入。按照他們相同的單詞探測(cè)方法,我們?cè)趫D4中報(bào)告了這些指標(biāo)。正如所料,SPE變體在翻譯不變性方面大大優(yōu)于APE。然而,在我們的音樂(lè)應(yīng)用程序中,單調(diào)性似乎不是一個(gè)非常相關(guān)的標(biāo)準(zhǔn),在比較圖3和圖4中的分?jǐn)?shù)時(shí)可以看出這一點(diǎn)。音樂(lè)建模似乎可以從非消失的注意力模式中獲益。在任何情況下,SPE分?jǐn)?shù)在各個(gè)位置上都非常穩(wěn)定,與APE相反,APE在訓(xùn)練時(shí)間之外會(huì)迅速下降。
3.3.溝槽延伸
在這個(gè)實(shí)驗(yàn)中,我們?cè)u(píng)估了groove延續(xù)任務(wù)的執(zhí)行者。在每個(gè)示例都有統(tǒng)一風(fēng)格(“groove”)的數(shù)據(jù)集上進(jìn)行訓(xùn)練后,我們用一個(gè)短提示(2小節(jié)音樂(lè)片段)初始化模型,并讓它生成一個(gè)延續(xù)。然后,我們觀察生成的延續(xù)是否與提示的樣式匹配。
實(shí)驗(yàn)裝置。
模型(24層Performer,8個(gè)注意頭)在伴奏數(shù)據(jù)集上進(jìn)行訓(xùn)練,該數(shù)據(jù)集包括2761種不同音樂(lè)風(fēng)格的5522個(gè)樣本,采用C?fka等人(2020)采用的基于標(biāo)記的格式進(jìn)行編碼,詳情見(jiàn)附錄。在本實(shí)驗(yàn)中,所有基于SPE的模型都使用選通。不同于以前的實(shí)驗(yàn),它利用長(zhǎng)的訓(xùn)練序列,我們考慮訓(xùn)練序列長(zhǎng)度n=512,對(duì)應(yīng)于2至10巴。在測(cè)試時(shí),用訓(xùn)練期間未出現(xiàn)的樣式的2個(gè)條提示模型,并對(duì)新標(biāo)記進(jìn)行采樣,以完成長(zhǎng)度為1024(即訓(xùn)練長(zhǎng)度的兩倍)的序列。
我們使用兩種音樂(lè)風(fēng)格相似性度量——C?fka等人(2019;2020)提出的時(shí)間音高和開始持續(xù)時(shí)間——來(lái)量化生成的延續(xù)與提示的相似性。當(dāng)聽(tīng)生成的音樂(lè)時(shí),我們會(huì)在感知上注意到質(zhì)量隨時(shí)間的變化。出于這個(gè)原因,我們將每個(gè)生成的樣本分成四個(gè)持續(xù)時(shí)間相同的連續(xù)塊,并對(duì)它們進(jìn)行獨(dú)立評(píng)估。結(jié)果如圖5所示。
討論
我們清楚地看到,SPE在這兩個(gè)指標(biāo)上都大大優(yōu)于APE。雖然在序列開始時(shí),APE顯然能夠生成接近所需風(fēng)格的樣式,但這種相似性隨著時(shí)間的推移會(huì)大大降低。sineSPE和convSPE在這方面都更穩(wěn)定,證實(shí)了第3.2節(jié)的結(jié)果,即SPE在訓(xùn)練序列長(zhǎng)度之外的推斷更好。這與我們的非正式感知評(píng)估相吻合
該實(shí)驗(yàn)表明,利用局部鄰域是處理長(zhǎng)序列的一種穩(wěn)健方法。這可能與遠(yuǎn)程Transformer的使用相矛盾,但我們強(qiáng)調(diào)此處使用了選通,使一些頭部能夠獨(dú)立于位置利用長(zhǎng)期注意力。盡管由于Tay等人(2021年)的原因,此處未將其包括在內(nèi),但與局部注意力計(jì)劃(如Dai等人,2019年;Hofster等人,2020年)的進(jìn)一步比較可能會(huì)很有趣,這表明它們明顯較低,至少在LRA環(huán)境中是如此。
4.相關(guān)工作
本文注意PE(Sukhbatar et al.,2015),將其作為嵌入每個(gè)令牌位置的一種方式,作為其功能的一部分。這一想法是許多后續(xù)突破性研究的核心內(nèi)容(Gehring等人,2017年;Vaswani等人,2017年),也是許多調(diào)查的實(shí)際主題。
基于Vaswani等人(2017年)的正弦信號(hào)的絕對(duì)位置編碼(APE)是Transformer類結(jié)構(gòu)中最廣泛使用的編碼。然而,(5)中的PE q(n)和k(n)也可以像在BERT中一樣進(jìn)行訓(xùn)練(Devlin等人,2019;Liu等人,2019)。雖然原始Transformer僅包括輸入層的PE,但可能包括所有層(Dehghani等人,2019年;Lan等人,2020年)。
相對(duì)位置編碼(RPE;Shaw等人,2018)是利用相對(duì)位置的一種方法。它具有O(N2D)空間復(fù)雜性,在Huang等人(2018年)中將其降低為O(N2);他等人(2020年)。Raffel等人(2020年)建議考慮對(duì)數(shù)距離。介紹了RPE的幾種變體(Huang等人,2020年;Wang等人,2021年)。他們都在注意域中應(yīng)用習(xí)得的RPE。RPE也考慮使用固定嵌入函數(shù)(Pham等人,2020年),Kim等人(2020年)使用掩蔽RPE來(lái)促進(jìn)局部注意。
鍵域與注意域。
在關(guān)鍵領(lǐng)域進(jìn)行PE引入了位置內(nèi)容交叉術(shù)語(yǔ),在Ke等人(2020年)中,這些術(shù)語(yǔ)被認(rèn)為是嘈雜且不有益的,并被無(wú)限制的注意力所取代,即在注意力領(lǐng)域進(jìn)行PE。這在He等人(2020年)中也被稱為分散注意力,在Tsai等人(2019年)中已經(jīng)通過(guò)可分離的內(nèi)容-位置-注意力核提出。所有這些研究都需要A的顯式計(jì)算和存儲(chǔ)。
對(duì)于結(jié)構(gòu)化輸入,考慮了非整數(shù)位置。針對(duì)APE(Shiv&Quirk,2019;Xiao et al.,2019;Ma et al.,2019)和RPE(Omote et al.,2019),提出了基于樹的PE。Bose等人(2019)發(fā)現(xiàn)了任意多邊形內(nèi)機(jī)器人的位置編碼。
PE的動(dòng)力學(xué)模型。
Bahdanaau等人(2016年)引入了對(duì)機(jī)器翻譯的注意,Ke等人(2020年)回顧性地將機(jī)器翻譯理解為使用遞歸神經(jīng)網(wǎng)絡(luò)(RNN)進(jìn)行PE。Chen等人(2018)認(rèn)為編碼器RNN的隱藏狀態(tài)包含足夠的位置信息,可以跳過(guò)顯式PE。Neishi&Yoshinaga(2019)基于這一觀點(diǎn),但首次明確描述了這一想法。他們的貢獻(xiàn)是用RNN代替(5)中的添加劑PE。同樣,Liu等人(2020年)使用(神經(jīng))常微分方程生成PE。
卷積上下文。
我們的convSPE變體涉及卷積隨機(jī)噪聲。首先,這可能與Mohamed等人(2019年)有關(guān),他們使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行查詢和鍵計(jì)算。其次,Xu等人(2020年)最近強(qiáng)調(diào)了卷積和平穩(wěn)過(guò)程之間的聯(lián)系。
乘法PE。
不同層次的內(nèi)容-位置交互在(Tsai等人,2019年)中正式化。針對(duì)RPE(Huang等人,2020年)和APE(Dai等人,2019年)提出了乘法策略。后者在Tsai等人(2019年)中得到推廣。所有這些都需要注意矩陣的顯式計(jì)算。Wang等人(2020a)提出了一個(gè)方案,該方案接近我們的正弦變體,但沒(méi)有隨機(jī)部分,這是從(14)到(15)的關(guān)鍵。
一些作者強(qiáng)調(diào)了APE和RPE的局限性。在Wang&Chen(2020)中,表現(xiàn)最好的模型利用了絕對(duì)位置和相對(duì)位置。在Irie et al.(2019)和Tsai et al.(2019)中,發(fā)現(xiàn)在基于Transformer的架構(gòu)的因果解碼器部分中完全去除APE會(huì)導(dǎo)致可比/更好的性能。在將PE合并到原始輸入信號(hào)中(并因此通過(guò)值項(xiàng)傳播)或僅在查詢和鍵上重新使用PE(如我們所做的)之間,哪一個(gè)最好也不清楚。蔡等人(2019年)支持我們的選擇。
5.結(jié)論
我們提出了一種新的基于隨機(jī)噪聲濾波的隨機(jī)位置編碼(SPE)。正如我們所展示的,該程序概括了相對(duì)PE,是實(shí)施任何規(guī)定的(但經(jīng)過(guò)訓(xùn)練的)互協(xié)方差結(jié)構(gòu)的原則性手段,我們證明了這應(yīng)該是點(diǎn)積注意的中心問(wèn)題。在我們的實(shí)驗(yàn)中,我們表明,與經(jīng)典(正弦)PE相比,SPE在大型Transformer模型(Choromanski et al.,2020;Katharopoulos et al.,2020)的性能方面帶來(lái)了有趣的增益。這是意料之中的,因?yàn)镽PE(Shaw等人,2018年)通常被認(rèn)為是有益的。然而,到目前為止,還沒(méi)有將其用于長(zhǎng)序列的方法,這是本文的核心貢獻(xiàn)。我們研究的自然未來(lái)方向是(i)信號(hào)相關(guān)PE,將輸入序列作為SPE的額外輸入,(ii)利用相對(duì)和絕對(duì)位置的非平穩(wěn)PE,(iii)將我們的方法擴(kuò)展到任意注意核,例如,通過(guò)(4)中的(隨機(jī))映射隱式定義。事實(shí)上,這里介紹的SPE理論上只適用于點(diǎn)積注意核,但我們?cè)诒?中給出的結(jié)果表明,這是一個(gè)概括,提出了一個(gè)有趣的研究問(wèn)題。
介紹
本文件包含由于篇幅限制而無(wú)法納入本文件的其他信息。它的結(jié)構(gòu)如下。在附錄A中,我們提供了一些進(jìn)一步的理論發(fā)展。在附錄B中,我們?cè)敿?xì)介紹了Long-Range Arena上的實(shí)驗(yàn)裝置。在附錄C中,我們?cè)敿?xì)介紹了我們的音樂(lè)生成實(shí)驗(yàn)。最后,我們?cè)诟戒汥中提供了其他結(jié)果。
我們的源代碼位于:
https://github.com/aliutkus/spe/
另見(jiàn)配套網(wǎng)站:
https://cifkao.github.io/spe/
A.理論
A.1。卷積SPE導(dǎo)致注意力消失
在主要文獻(xiàn)中,我們聲稱卷積變體導(dǎo)致注意力消失。我們很快就在這里證明了這一說(shuō)法。為了便于記譜,證明是在1D的情況下給出的,但很容易擴(kuò)展到更高的維度。核心思想如圖6所示。卷積SPE產(chǎn)量:
其中Zd是高斯白噪聲過(guò)程,即e[Zd(m,r)Zd(m0,r)]=δmm0。為了便于記法(所有實(shí)現(xiàn)都是獨(dú)立的),省略對(duì)r的依賴,我們可以計(jì)算位置注意:
其中,只有(p,τ)值使得n?p=m?τ保持不變,所有其他交叉項(xiàng)E[Zd(m)Zd(m0=m)]由于Zd的白度而消失。過(guò)濾器被視為[0:P]之外的0值??梢钥闯?,只要| m? n |>P,我們得到Pd(m,n)=0,因?yàn)棣誎d(P+(m? n) )=0。
A.2。復(fù)雜性
在本節(jié)中,我們將詳細(xì)介紹所提出的SPE方法帶來(lái)的額外復(fù)雜性。
?正弦SPE首先需要計(jì)算調(diào)制矩陣? 對(duì)于每個(gè)特征尺寸d=1。D、 具有O(2NK)復(fù)雜度。然后,該矩陣必須與形狀為2K×R的噪聲矩陣Zd相乘,從而導(dǎo)致總體復(fù)雜度為O(DRNK2)。由于K在我們的實(shí)驗(yàn)中通常非常小,所以SineSPE在時(shí)間和空間復(fù)雜性方面都可以被視為非常輕。
?卷積SPE涉及為每個(gè)d和r繪制長(zhǎng)度為N的新噪聲信號(hào)zd,:,r,并使用長(zhǎng)度為P的濾波器φQd和φKd對(duì)其進(jìn)行卷積。在1D的情況下,這導(dǎo)致總體時(shí)間復(fù)雜度為O(DRNP),可以用O(DRN log N)代替
當(dāng)在頻域中操作卷積時(shí),這對(duì)于長(zhǎng)濾波器是有利的。在更高的維度中,例如2D,這在原始域中變成O(DRN1N2P1P2),在頻域中變成O(DRN1N2 log N1 log N2),其中(N1,N2)和(P1,P2)分別是噪聲和濾波器的形狀。
?選通的瓶頸是隨機(jī)噪聲d的產(chǎn)生,其復(fù)雜性為O(DR)。
請(qǐng)注意,這種復(fù)雜性當(dāng)然必須乘以所考慮的頭部數(shù)量,在我們的實(shí)驗(yàn)中最多為8個(gè)。
可以看出,正弦和卷積變體的復(fù)雜性相似,這取決于濾波器的長(zhǎng)度P和正弦的數(shù)量K。不過(guò),其他方面也在起作用。首先,卷積型需要生成大小為N的噪聲,而正弦型需要更小的2K大噪聲矩陣。第二,在我們的實(shí)驗(yàn)中,只需要極少量的正弦波,而卷積版本需要更長(zhǎng)的上下文,因此我們?cè)趯?shí)踐中通常有2kp。最后,盡管這在不久的將來(lái)可能會(huì)改變,但像PyTorch這樣的深度學(xué)習(xí)框架不容易在頻域中集成卷積。
樣本噪聲共享。
實(shí)際上,不需要為每個(gè)示例重新繪制SPE。減少該方法內(nèi)存和計(jì)算占用的最直接的技巧是在每個(gè)小批量中的所有示例之間共享Q和K,就像我們?cè)谒袑?shí)驗(yàn)中所做的那樣。除了使用大批量訓(xùn)練的網(wǎng)絡(luò)外,當(dāng)SPE用作drop時(shí),這可以顯著節(jié)省內(nèi)存。
B.實(shí)驗(yàn)裝置:Long-Range Arena
表2給出了Long-Range Arena(Tay等人,2021年)任務(wù)的概述。在本文中,我們不包括Pathfinder(合成圖像分類任務(wù))或其更難的變體Pathfinder-X,因?yàn)槲覀儫o(wú)法重現(xiàn)Tay等人在該任務(wù)中的結(jié)果。Tay等人對(duì)所有數(shù)據(jù)集進(jìn)行了詳細(xì)描述,并可從官方LRA存儲(chǔ)庫(kù)獲得。7
在所有LRA實(shí)驗(yàn)中,我們都采用了帶R的選通SPE∈ {32, 64}. 對(duì)于正弦(周期性)SPE,我們始終使用K=10;對(duì)于卷積SPE,我們始終使用長(zhǎng)度為128的濾波器。對(duì)于卷積SPE,我們?cè)谒袑由瞎蚕鞶和K(但在注意頭上不共享);對(duì)于正弦SPE,Q和K對(duì)于每個(gè)層和頭部都是唯一的;在這兩種情況下,都采用了層特定的選通?;€實(shí)驗(yàn)采用了與Tay等人相同的絕對(duì)位置編碼(圖像的可學(xué)習(xí)APE和剩余任務(wù)的正弦APE)。在采用SPE的模型中,APE被刪除。
主要文件中給出的模型參數(shù)數(shù)量如表3所示。我們可以看到,基于SPE的模型的參數(shù)最多比基線多3.1%。在圖像列中,基于SPE的模型的數(shù)量大約減少了50%,這是因?yàn)樵撊蝿?wù)的基線采用了可學(xué)習(xí)的APE。
我們使用來(lái)自官方LRA存儲(chǔ)庫(kù)的代碼,包括作者的Transformer實(shí)現(xiàn),根據(jù)需要進(jìn)行修改以合并SPE。我們保持LRA作者提供的相同訓(xùn)練配置,但減少批量大?。▓D像從256到96,其余從32到8)和學(xué)習(xí)速率,以適應(yīng)16GB的GPU內(nèi)存。我們修改過(guò)的代碼和配置文件可以在源代碼存儲(chǔ)庫(kù)中找到。
B.1。資源利用
LRA模型的典型訓(xùn)練時(shí)間如表4所示。請(qǐng)注意,由于在某些運(yùn)行中比在其他運(yùn)行中更頻繁地進(jìn)行評(píng)估(這可能會(huì)很耗時(shí)),因此不同模型或任務(wù)之間的時(shí)間可能不具有可比性。
總訓(xùn)練時(shí)間為1405小時(shí)(總共189次),其中273小時(shí)(61次)用于嘗試使用Performer softmax、Linear Transformer ReLU和vanilla Transformer再現(xiàn)Tay等人(2021年)的結(jié)果。其中一些初步實(shí)驗(yàn)分布在1–3個(gè)特斯拉V100 GPU上,每個(gè)GPU內(nèi)存為32 GB。最終的模型都是在一個(gè)具有16GB內(nèi)存的特斯拉V100或P100GPU上訓(xùn)練的。
[if !supportLists]C.?[endif]實(shí)驗(yàn)設(shè)置:音樂(lè)生成
我們的音樂(lè)Performer使用pytorch fast transformers包實(shí)現(xiàn),8根據(jù)需要進(jìn)行修改,以納入SPE。我們的代碼庫(kù)中提供了修改后的代碼和配置文件。
所有模型都有24層,模型尺寸為512,8個(gè)注意頭和2048個(gè)前饋單元,相當(dāng)于~8000萬(wàn)個(gè)可訓(xùn)練參數(shù)。在使用SPE的模型中,Q和K在所有層之間共享(但不在注意頭之間);層特定選通用于使用選通SPE訓(xùn)練的模型。
模型使用Adam優(yōu)化器進(jìn)行訓(xùn)練。我們通過(guò)線性預(yù)熱,然后是余弦衰減來(lái)安排學(xué)習(xí)速率??梢栽谔峁┑呐渲梦募姓业絟yperparameters的完整詳細(xì)信息。
C.1。流行鋼琴音樂(lè)一代
訓(xùn)練數(shù)據(jù)。
我們使用的流行鋼琴M(fèi)IDI數(shù)據(jù)源于Xiao et al.(2021)中提供的數(shù)據(jù)集,該數(shù)據(jù)集在GitHub上開源。9該數(shù)據(jù)集包含1747首不同日本、韓國(guó)和西方流行歌曲的純鋼琴表演,總持續(xù)時(shí)間為~100小時(shí)。所有歌曲都是4/4時(shí)間簽名,即每小節(jié)四拍(測(cè)量)。我們留下5%(87首歌曲)作為驗(yàn)證集。
根據(jù)蕭等人(2021年)的說(shuō)法,鋼琴表演最初是以MP3(音頻)格式從互聯(lián)網(wǎng)上收集的。Xiao等人進(jìn)一步采用了Onsets and Frames鋼琴轉(zhuǎn)錄(Hawthorne等人,2018)、madmom節(jié)拍跟蹤工具(B¨ock等人,2016)和基于chorder規(guī)則的和弦檢測(cè)10,將音頻轉(zhuǎn)錄成MIDI格式,并包含節(jié)奏、節(jié)拍和和弦信息。
數(shù)據(jù)表示。
這里采用的表示法與Huang&Yang(2020)改進(jìn)的MIDI派生(REMI)編碼基本相同,只是使用了一組擴(kuò)展的和弦標(biāo)記(如下所述)。REMI將一首鋼琴曲編碼為一個(gè)由兩種類型(韻律和音符)的標(biāo)記組成的序列。韻律符號(hào)為:
?酒吧:標(biāo)志著音樂(lè)酒吧的開始。
?子節(jié)拍:標(biāo)記酒吧內(nèi)的音樂(lè)計(jì)時(shí)。一個(gè)小節(jié)被分成16個(gè)子節(jié)拍,相當(dāng)于4個(gè)節(jié)拍。這種符號(hào)計(jì)時(shí)為序列模型建模音樂(lè)提供了一個(gè)明確的時(shí)間網(wǎng)格。
?節(jié)奏:確定演奏樂(lè)曲的速度(以每分鐘的節(jié)拍或bpm為單位),每小節(jié)不同。節(jié)奏標(biāo)記的范圍為[32224]bpm,量化的步長(zhǎng)為3 bpm。
注釋標(biāo)記為:
?音高:標(biāo)記播放的音符。88個(gè)音高對(duì)應(yīng)鋼琴上的每個(gè)鍵。
?持續(xù)時(shí)間:表示播放的音符的長(zhǎng)度,范圍為1/2到16次拍,以1/2次拍為單位。
?音量(或速度):表示音符的音量。總共考慮了24個(gè)音量級(jí)別。
?和弦:在伴奏和弦上標(biāo)記更改。每個(gè)和弦都由其根音符和音質(zhì)來(lái)描述,例如C-Maj7、e-min。數(shù)據(jù)集中總共有133個(gè)不同的和弦標(biāo)記。
請(qǐng)注意,演奏的單個(gè)音符由一個(gè)連續(xù)的三重音符(音高、持續(xù)時(shí)間、音量)表示。上述標(biāo)記構(gòu)成了一個(gè)大小不同的詞匯表~340用于我們的REMI編碼。平均來(lái)說(shuō),我們需要一個(gè)包含5300個(gè)標(biāo)記的序列來(lái)表示一首歌。
訓(xùn)練和推理。
在每個(gè)訓(xùn)練階段,我們從每個(gè)樣本中隨機(jī)裁剪出長(zhǎng)度為2048的片段,并將整個(gè)片段的音高偏移?隨機(jī)6到6個(gè)半音(音樂(lè)中稱為轉(zhuǎn)置)作為數(shù)據(jù)增強(qiáng)。我們使用批量大小=4,并將APE的學(xué)習(xí)率設(shè)置為0.0001,所有SPE模型的學(xué)習(xí)率設(shè)置為0.0002。對(duì)于sineSPE,我們選擇sines的數(shù)量K=5;對(duì)于convSPE,對(duì)于選通和非選通變體,卷積濾波器大小分別設(shè)置為128和512。
每個(gè)模型的詳細(xì)資源使用情況如表5所示。
在推斷過(guò)程中,我們采用核取樣(Holtzman et al.,2019),p=0.9,softmax溫度t=1.2。沒(méi)有對(duì)生成序列的語(yǔ)法正確性進(jìn)行后處理。
表6列出了在此任務(wù)中訓(xùn)練的模型的驗(yàn)證損失。在這個(gè)指標(biāo)上,我們的convSPE變體在經(jīng)過(guò)訓(xùn)練的位置內(nèi)和外推上都表現(xiàn)最佳。
C.2。溝槽延伸
訓(xùn)練數(shù)據(jù)。
Groove2Groove MIDI數(shù)據(jù)集11由盒帶軟件(BIAB)生成的伴奏組成。12我們僅使用Groove2Groove MIDI數(shù)據(jù)集的訓(xùn)練部分,并執(zhí)行自定義訓(xùn)練/驗(yàn)證/測(cè)試分割,以便每個(gè)部分包含一組獨(dú)特的BIAB樣式(訓(xùn)練為2761,驗(yàn)證和測(cè)試為50). 存儲(chǔ)庫(kù)中包含下載、預(yù)處理和拆分?jǐn)?shù)據(jù)集所需的代碼。
我們將每個(gè)伴奏轉(zhuǎn)換為三重奏,包括貝司、鼓和另一個(gè)隨機(jī)選擇的伴奏曲目(如鋼琴、吉他)。然后,我們通過(guò)在開始時(shí)跳過(guò)測(cè)量值、丟棄一些儀器和轉(zhuǎn)置(音高偏移)來(lái)執(zhí)行隨機(jī)數(shù)據(jù)增強(qiáng)?5到+5個(gè)半音)。所有隨機(jī)化都在每個(gè)時(shí)期重新進(jìn)行。
數(shù)據(jù)表示。
我們使用了類似于C?fka等人(2020)提出的表示法,但適用于多軌道(多儀器)設(shè)置。具體地說(shuō),我們將一段音樂(lè)編碼為以下類型的事件標(biāo)記序列,每個(gè)事件標(biāo)記具有兩個(gè)整數(shù)參數(shù):
?音符(音軌、音高):以給定音高(0–127)開始一個(gè)新音符。
?音符結(jié)束(音軌、音高):在給定音高(0–127)結(jié)束音符。
?時(shí)間偏移(節(jié)拍,偏移):將當(dāng)前時(shí)間提前給定的節(jié)拍數(shù),然后設(shè)置節(jié)拍內(nèi)的偏移量,以從開始(0–11)開始的節(jié)拍數(shù)表示。最大可能換檔為(2,0)。
曲目編號(hào)范圍為1到3,其中1始終為低音,2始終為鼓。然后,該模型的詞匯表由794個(gè)標(biāo)記組成(3×128個(gè)注釋、3×128個(gè)注釋、24個(gè)時(shí)間偏移和2個(gè)序列開始/結(jié)束標(biāo)記)。
與第C.1節(jié)中描述的表示法的主要區(qū)別在于更緊湊的計(jì)時(shí)編碼,沒(méi)有音樂(lè)動(dòng)態(tài)的表示法(為簡(jiǎn)單起見(jiàn)),以及對(duì)多首曲目的支持(最初不是由C?fka等人提出的,2020年,但此處由Donahue等人提出,2019年)。訓(xùn)練和推理。
在訓(xùn)練期間,如上所述對(duì)每個(gè)示例進(jìn)行預(yù)處理和編碼,并將得到的令牌序列截?cái)酁?12的長(zhǎng)度。我們對(duì)每個(gè)模型進(jìn)行總共24個(gè)階段的訓(xùn)練。
在測(cè)試時(shí),我們以0.6的最高軟溫度取樣。為了確保生成的序列能夠正確解碼,我們不允許使用會(huì)導(dǎo)致無(wú)效序列(即虛假注釋、向后時(shí)間偏移)的采樣令牌。
各種訓(xùn)練細(xì)節(jié)。
超參數(shù)調(diào)諧主要在初步實(shí)驗(yàn)中進(jìn)行(~100次);這些主要是在數(shù)據(jù)集的其他變體上進(jìn)行的,并且具有不同的序列長(zhǎng)度(從256到20K);這包括由于在訓(xùn)練期間或訓(xùn)練后發(fā)現(xiàn)錯(cuò)誤而丟棄的實(shí)驗(yàn)。學(xué)習(xí)率介于0.0001和0.0008之間,批量大小介于1和24之間。對(duì)于SPE,我們考慮了門控和非門控變體,它們?cè)趦?nèi)存中的實(shí)現(xiàn)數(shù)量盡可能多(介于16和64之間)。模型選擇基于驗(yàn)證損失和非正式感知評(píng)估。對(duì)于長(zhǎng)度為512的最后一組模型,只進(jìn)行了最小程度的進(jìn)一步學(xué)習(xí)率調(diào)整,這似乎對(duì)它不太敏感,我們選擇將初始學(xué)習(xí)率保持在0.0004,這在所有情況下都表現(xiàn)良好。
主文檔中包括的模型——APE、sineSPE和convSPE——都使用10個(gè)批量,分別在大約3小時(shí)、5小時(shí)和6小時(shí)內(nèi)完成訓(xùn)練,使用9.7 GB、14.4 GB和14.8 GB的GPU內(nèi)存。包括所有初步實(shí)驗(yàn)在內(nèi)的總訓(xùn)練時(shí)間為852小時(shí)。
評(píng)價(jià)指標(biāo)。
我們使用C?fka等人(2019;2020)提出的客觀指標(biāo)來(lái)衡量生成的延續(xù)和從中提取提示的文件之間的風(fēng)格相似性。給定兩段音樂(lè),每個(gè)指標(biāo)以稱為風(fēng)格配置文件的直方圖收集這兩段音樂(lè)的音樂(lè)事件統(tǒng)計(jì)信息,然后計(jì)算它們之間的余弦相似性。
此處使用的兩個(gè)指標(biāo),即開始持續(xù)時(shí)間和時(shí)間間隔,在構(gòu)建樣式配置文件時(shí)使用的事件類型上有所不同:
?開始持續(xù)時(shí)間剖面定義為2D柱狀圖,將音符開始位置與音符持續(xù)時(shí)間關(guān)聯(lián)起來(lái)。更準(zhǔn)確地說(shuō),對(duì)于一段音樂(lè)中的所有音符,它記錄了形式的元組
(開始(a)模塊4,結(jié)束(a)? 開始(a))∈ [0, 4) × [0, 2),
其中start(a)和end(a)是指a的開始時(shí)間和偏移時(shí)間(以拍為單位)。表達(dá)式start(a)mod 4表示音符開始相對(duì)于當(dāng)前條的位置,因?yàn)閿?shù)據(jù)集中的所有示例都在一個(gè)4拍表中。這些元組收集在24×12柱狀圖中(24表示開始時(shí)間,12表示持續(xù)時(shí)間)。
?時(shí)間-音高曲線也以2D柱狀圖的形式獲得,這一次捕獲音符之間的時(shí)間差和音高差(間隔)。它認(rèn)為元組具有以下形式
其中a,b是一對(duì)音符,而音高(·)表示一個(gè)音符的音高作為其MIDI音符編號(hào)(來(lái)自C的半音數(shù)量)?1) 。直方圖有24×41個(gè)單元(24個(gè)用于0到4拍之間的時(shí)間間隔,41個(gè)單元用于0到4拍之間的間隔)?20和20個(gè)半音)。
在這兩種情況下,二維直方圖在計(jì)算余弦相似性之前被展平為向量。
D.其他結(jié)果
D.1。注意力可視化:音樂(lè)生成
在本節(jié)中,我們將展示流行鋼琴音樂(lè)生成模型產(chǎn)生的注意力模式。
學(xué)習(xí)位置模板。
我們?cè)趫?zhí)行者的所有層上共享SPE模塊,但不在注意頭上共享,從而產(chǎn)生512個(gè)已學(xué)習(xí)的位置核Pd(每個(gè)頭的頭數(shù)×關(guān)鍵尺寸)。在圖7中,我們?yōu)閟ineSPE和convSPE顯示了16個(gè)隨機(jī)挑選的結(jié)果模板Pd,并使用選通進(jìn)行了訓(xùn)練。這兩個(gè)變體的詳細(xì)信息如下:
?sineSPE:我們?cè)O(shè)置sines的數(shù)量K=5。
?convSPE:我們使用大小為128的過(guò)濾器。
根據(jù)定義,所有可視化都用方程Pd=QdK>d繪制,我們永遠(yuǎn)不需要對(duì)線性Transformer進(jìn)行顯式計(jì)算。從圖7中,我們可以觀察到sineSPE學(xué)習(xí)利用廣泛的頻率范圍,并且convSPE在與濾波器相對(duì)應(yīng)的小查詢鍵偏移內(nèi)有效大小如預(yù)期。
全神貫注。
雖然在線性Transformer中沒(méi)有計(jì)算完全注意矩陣A,但我們?nèi)匀豢梢酝ㄟ^(guò)將查詢和鍵乘以A=exp(QK>/√D) (對(duì)于APE,其中D是每個(gè)頭部的關(guān)鍵尺寸),或A=exp(bQbK>/√R) (對(duì)于SPE);然后對(duì)as規(guī)范化應(yīng)用行softmax操作。
在這里,我們展示了第1、3、12、20和24(最后一個(gè))中的(softmax ed)注意矩陣圖8-12顯示了所有五個(gè)模型在流行鋼琴音樂(lè)生成方面的層次。這些層次是從每個(gè)模型的一個(gè)隨機(jī)從無(wú)到有的音樂(lè)生成中計(jì)算出來(lái)的。為了檢驗(yàn)?zāi)P偷耐馔颇芰?,我們讓它們生成一個(gè)長(zhǎng)度為3072的序列,而訓(xùn)練序列長(zhǎng)度僅為2048。注意矩陣為l由于因果掩蔽,每個(gè)像素的顏色通過(guò)圖中的min{1,amn 0.4/0.020.4}進(jìn)行調(diào)整,以獲得更好的可視化效果,其中amn∈ [0,1]是軟最大ed注意分?jǐn)?shù)。
圖8揭示了APE的一個(gè)主要缺點(diǎn):標(biāo)記的注意力超出位置2048(訓(xùn)練序列長(zhǎng)度)似乎將注意力集中在早期的2 048左右,而不是注意全局或局部。這種行為在我們的任何SPE模型中都沒(méi)有發(fā)現(xiàn)。這可能解釋了APE對(duì)長(zhǎng)序列的泛化能力差的原因,這是由于位置2 048后驗(yàn)證損失的顯著增加(參見(jiàn)主要論文中的圖3和此處的表6)。
接下來(lái),比較圖9和圖10,很明顯,門控SPE使模型可以自由關(guān)閉某些頭部的PE以獲得全局注意力(見(jiàn)圖9),而非門控sineSPE(圖10)的注意力基本上保持周期性,這可能并不總是可取的。convSPE也可以這樣說(shuō)(圖11和圖12)門控的CurpSe能比中間層更遠(yuǎn)地看中間層。
D.2.注意力可視化:CIFAR10
圖13顯示了從LRA CIFAR10任務(wù)中訓(xùn)練的模型中提取的注意圖。注意,這些是單層網(wǎng)絡(luò),分類是通過(guò)在像素值序列中預(yù)先添加一個(gè)特殊的CLS標(biāo)記,并使用第一個(gè)位置的輸出作為前饋分類器的輸入來(lái)完成的。因此,只有在這個(gè)位置的注意圖單個(gè)位置(我們?cè)谶@里顯示的位置)很重要。(因此,該模型實(shí)際上不使用自注意,而是使用單個(gè)查詢和多個(gè)鍵的注意。這消除了相對(duì)位置和絕對(duì)位置之間的區(qū)別,這可能解釋了為什么可訓(xùn)練APE在這項(xiàng)任務(wù)上比SPE表現(xiàn)更好。)
D.3.所需PE性能的評(píng)估
我們使用相同的單詞探測(cè)和Wang等人(2021年)介紹的相關(guān)度量來(lái)比較APE和SPE的翻譯不變性和單調(diào)性。這項(xiàng)工作中提到的其他屬性,即對(duì)稱性和方向平衡,在這里不進(jìn)行評(píng)估,因?yàn)樵谖覀兊睦又凶⒁饬κ菃蜗虻摹DL貍冞€接受了流行鋼琴音樂(lè)的訓(xùn)練。
根據(jù)第一層中每個(gè)頭部的注意矩陣計(jì)算指標(biāo),在所有可能的相同標(biāo)記序列(即,由重復(fù)的相同標(biāo)記組成的序列;有~其中340個(gè)用于我們的REMI詞匯表)。為了消除應(yīng)用帶因果掩蔽的行softmax對(duì)平移不變性屬性的影響,我們計(jì)算了非規(guī)范化注意矩陣的度量,即A=exp(QK>/√D) 對(duì)于APE,A=exp(bQbK>/√R) 對(duì)于SPE。我們考慮了查詢位置和查詢鍵偏移量的各種組合,以檢查當(dāng)我們外推到更長(zhǎng)的序列時(shí),PE屬性是否保持一致,以及研究它們?cè)诰植亢烷L(zhǎng)期注意廣度中的行為。
我們?cè)诒?中報(bào)告了每個(gè)模型中表現(xiàn)最好(即得分最低)的負(fù)責(zé)人的得分。從表中,我們可以注意到,在外推的情況下,APE的PE特性通常會(huì)急劇惡化。相反,未分級(jí)SPE模型的分?jǐn)?shù),即我們?cè)诿恳粚訌?qiáng)制合并位置信息的模型,在整個(gè)位置上保持顯著一致。這里的評(píng)估為SPE的外推能力提供了額外的證據(jù)。
D.4。實(shí)現(xiàn)數(shù)量R的影響
在主要文檔中,我們討論了當(dāng)R增長(zhǎng)到無(wú)窮大時(shí),SPE如何漸近地導(dǎo)致期望的互協(xié)方差結(jié)構(gòu)。在本節(jié)中,我們實(shí)證研究了該參數(shù)在實(shí)踐中對(duì)績(jī)效的影響。首先要強(qiáng)調(diào)的是,每個(gè)訓(xùn)練批次都會(huì)產(chǎn)生一組新的噪聲Zd實(shí)現(xiàn),這樣網(wǎng)絡(luò)就可以平均看到正確的注意模式。
然而,我們可能想知道實(shí)現(xiàn)的數(shù)量R是如何影響訓(xùn)練和測(cè)試性能的。人們確實(shí)可以注意到,在訓(xùn)練和推理過(guò)程中,R的設(shè)置可能完全不同,因?yàn)樗鼘?duì)模型的實(shí)際參數(shù)/結(jié)構(gòu)的形狀沒(méi)有影響。因此,我們進(jìn)行了一項(xiàng)消融研究,在該研究中,我們?cè)谟?xùn)練時(shí)使用不同的Rtrain值,得到一個(gè)經(jīng)過(guò)訓(xùn)練的模型,然后使用可能不同的Rtest值評(píng)估其性能。結(jié)果如圖14所示。
我們可以注意到,對(duì)于相同的Rtrain,使用Rtest=Rtrain(以粗體突出顯示)獲得的結(jié)果始終接近最佳結(jié)果,相反,選擇Rtest=Rtrain通常會(huì)導(dǎo)致較差的結(jié)果。換句話說(shuō),使用相同的R進(jìn)行訓(xùn)練和測(cè)試似乎有利于始終保持良好的績(jī)效。
另一個(gè)值得注意的事實(shí)是,更高的R似乎并不意味著更好的性能,即使Rtest=Rtrain。相反,convSPE在R=4時(shí)達(dá)到了目前為止的最高精度。這個(gè)意想不到的結(jié)果似乎與它意味著更嘈雜的注意力模式這一事實(shí)相矛盾。需要進(jìn)一步的研究來(lái)解釋這一現(xiàn)象,但我們推測(cè),注意模式中的額外噪聲會(huì)增加訓(xùn)練模型的魯棒性,從而有助于推廣。