LSTM之父重提30年前的「快速權(quán)重存儲系統(tǒng)」:線性Transformer只是它的一種變體
Transformer 在深度學(xué)習(xí)中占據(jù)主導(dǎo)地位,但二次存儲和計(jì)算需求使得 Transformer 的訓(xùn)練成本很高,而且很難使用。許多研究都嘗試線性化核心模塊:以 Performer 為例,使用帶核的注意力機(jī)制。然而,這種方法還存在很多缺點(diǎn),例如它們依賴于隨機(jī)特征。
本文中,來自瑞士人工智能實(shí)驗(yàn)室(IDSIA)、亞琛工業(yè)大學(xué)的研究者建立起了線性(核)注意力與 90 年代深度學(xué)習(xí)之父 Jürgen Schmidhuber 推廣的更古老的快速權(quán)重存儲系統(tǒng)之間的內(nèi)在聯(lián)系,不僅指出了這些算法的基本局限性,還提出了新的更新規(guī)則和新的核來解決這些問題。在關(guān)鍵的綜合實(shí)驗(yàn)和實(shí)際任務(wù)中,所得到的模型優(yōu)于 Performers。
- 論文鏈接:https://arxiv.org/abs/2102.11174
- 代碼地址:https://github.com/ischlag/fast-weight-transformers
具體而言,該研究推測線性化的 softmax 注意力變量存在存儲容量限制。在有限存儲的情況下,快速權(quán)重存儲模型的一個理想行為是操縱存儲的內(nèi)容并與之動態(tài)交互。
受過去對快速權(quán)重研究的啟發(fā),研究者建議用產(chǎn)生這種行為的替代規(guī)則替換更新規(guī)則。此外,該研究還提出了一個新的核函數(shù)來線性化注意力,平衡簡單性和有效性。他們進(jìn)行了大量的實(shí)驗(yàn),實(shí)驗(yàn)內(nèi)容包括合成檢索問題、標(biāo)準(zhǔn)機(jī)器翻譯以及語言建模。實(shí)驗(yàn)結(jié)果證明了該研究方法的益處。
將線性 Transformer 作為快速權(quán)重系統(tǒng)進(jìn)行分析和改進(jìn)
將線性 Transformer 變量視為快速權(quán)重系統(tǒng),研究者給出了兩個見解:作為關(guān)聯(lián)存儲容量的限制;無法編輯以前存儲的關(guān)聯(lián)內(nèi)容。
容量限制
不斷地將新的關(guān)聯(lián)添加到有限大小的存儲中,如下公式 17 所示,這樣不可避免地會達(dá)到極限。在線性注意力中,信息存儲在矩陣中,并使用矩陣乘法進(jìn)行檢索(如下公式 19)。因此,為了防止關(guān)聯(lián)在檢索時相互干擾,各個鍵(keys)需要正交。否則,點(diǎn)積將處理多個鍵并返回值的線性組合。對于嵌入在 d_dot 空間中的鍵,則不能有多余 d_dot 正交向量。
也就是說,存儲多個 d_dot 關(guān)聯(lián)將導(dǎo)致檢索誤差。在線性 Transformer 中,當(dāng)序列長度大于 d_dot 時,模型可能處于這樣一種容量過剩狀態(tài)。
改進(jìn)與更新
受快速權(quán)重存儲研究(Schlag 等人,2021 年)的啟發(fā),研究者提出了以下存儲更新規(guī)則。
給定新的輸入鍵 - 值對 (k^ (i) , v ^(i) ),模型首先訪問存儲的當(dāng)前狀態(tài) W^(i−1),并檢索當(dāng)前與鍵 k^(i) 配對的值圖片。然后,該模型存儲檢索值圖片和輸入 v^(i) 的凸組合圖片,使用插值權(quán)重 0≤β^(i)≤1 的輸入 v ^(i) 也由該模型生成。因此,該模型按順序?qū)⑤斎胄蛄袌D片轉(zhuǎn)化為輸出序列圖片,如下所示:
歸一化:在以上等式中,檢索的值沒有應(yīng)用歸一化。通過推導(dǎo)可以得到一個簡單的歸一化,即通過引入累加器(accumulator):
將公式 20、25 分別替換為:
然而,這種方法也有缺陷。首先,公式 26 中正值的累積總是隨著步數(shù)的增加而增加,并且可能導(dǎo)致不穩(wěn)定;其次,特別是對于該研究提出的更新規(guī)則,這種歸一化不足以平衡公式 23 中寫入和刪除運(yùn)算之間的權(quán)重(參見附錄 A.2 中的推導(dǎo))。
在這里,研究者提出了一種基于簡單歸一化的更好方法,將有效值和查詢向量φ(k^(i))、φ(q^(i)) 除以其分量之和。例如,對于查詢:
線性注意力函數(shù)
Katharopoulos 線性注意力
Katharopoulos 等人提出使用簡單的逐元素 ELU + 1 函數(shù)(Clevert 等人, 2016):
選擇 ELU 而不是 ReLU 的動機(jī)是因?yàn)樨?fù)數(shù)部分的非零梯度。重要的是,作為一個簡單的函數(shù),這個Φ函數(shù)保留了輸入鍵向量(d_key=d_dot)的維數(shù),而不需要修改第 4.1 節(jié)中討論的存儲容量。
DPFP
前面兩小節(jié)強(qiáng)調(diào)了現(xiàn)有Φ函數(shù)的次優(yōu)性。采樣會給 FAVOR + 增加額外的復(fù)雜度,而線性 Transformer 缺乏投影點(diǎn)積維數(shù)的能力。因此,研究者提出了一種稱為確定性無參數(shù)投影(deterministic parameter-free projection, DPFP) 的替代方法。它是確定性的,并像線性 Transformer 一樣易于計(jì)算,同時增加點(diǎn)積維數(shù),而不需要 FAVOR + 的隨機(jī)特性。
下圖中四維空間的元素被顯示為四個彩色表面的 z 分量,以及 2d 平面中的每個向量如何在 4d 空間中具有單個非零分量,并將輸入空間平均分割為在投影空間中正交的四個區(qū)域。
實(shí)驗(yàn)
該研究從三個方面進(jìn)行了實(shí)驗(yàn):合成檢索問題、機(jī)器翻譯和語言模型。
合成檢索問題
所有模型都以最小批次 32 進(jìn)行訓(xùn)練,直到評估損失降到 0.001 以下,或者進(jìn)行了 1000 訓(xùn)練步。下圖 2 展示了模型的最佳驗(yàn)證集性能以及對不同 S 的顯示。唯一鍵的數(shù)量初始值 S=20,然后每次遞增 20,直到 S=600 為止。實(shí)驗(yàn)對以下模型進(jìn)行對比:Softmax、線性注意力、具有 64、128 和 512 個隨機(jī)特征的 FAVOR + 以及ν∈{1、2、3} 的 DPFP-ν。
下圖 3 展示了學(xué)習(xí)曲線。實(shí)驗(yàn)結(jié)果表明,該研究提出的更新規(guī)則優(yōu)于其他變體。正如預(yù)期的那樣,基線總和更新規(guī)則失敗。
機(jī)器翻譯
下表 1 顯示了 BLEU 得分結(jié)果。當(dāng)樣本數(shù) m 足夠大時(當(dāng) d_dot=512,m=256),Performer 與基礎(chǔ) Transformer 性能相當(dāng)。實(shí)際上,當(dāng) d_key=64 時,m 的推薦值是 d_dot log(d_dot)=266。當(dāng) d_dot 相對較小時,該研究的 DPFP 模型優(yōu)于線性 Transformer 和 Performer;在簡單性和性能之間提供了一個很好的折衷。
語言模型
該研究使用標(biāo)準(zhǔn) WikiText-103(Merity 等,2017)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。WikiText-103 數(shù)據(jù)集由維基百科的長文組成;訓(xùn)練集包含大約 28K 篇文章、總共 103M 個單詞。這將產(chǎn)生約 3600 個單詞的上下文文本塊。驗(yàn)證集和測試集也包含類似的長依賴關(guān)系,分別有 218K 和 246K 個運(yùn)行單詞,對應(yīng) 60 篇文章,詞匯量約為 268K 個單詞。下表 2 展示了在該研究更新規(guī)則下,WikiText-103 語言模型的困惑度結(jié)果。
在下表 3 中,使用該研究更新規(guī)則下的 Transformer(medium 配置),在 WikiText-103 語言模型的困惑度結(jié)果。
在下表 4 中,WikiText-103 語言模型在沒有截?cái)嗌舷挛牡那闆r下訓(xùn)練和評估模型的困惑度,這與上表 2 中上下文窗口受到限制的情況相反。medium 配置既不用于位置編碼,也不用于注意力標(biāo)準(zhǔn)化。