Google新作Synthesizer:我们还不够了解自注意力
?PaperWeekly 原創 ·?作者|蘇劍林
單位|追一科技
研究方向|NLP、神經網絡
寫在開頭
深度學習這個箱子,遠比我們想象的要黑。
據說物理學家費曼說過一句話[來源] [1]:“誰要是說他懂得量子力學,那他就是真的不懂量子力學。”我現在越來越覺得,這句話中的“量子力學”也可以替換為“深度學習”。盡管深度學習已經在越來越多的領域證明了其有效性,但我們對它的解釋性依然相當無力。
當然,這幾年來已經有不少工作致力于打開深度學習這個黑箱,但是很無奈,這些工作基本都是“馬后炮”式的,也就是在已有的實驗結果基礎上提出一些勉強能說服自己的解釋,無法做到自上而下的構建和理解模型的原理,更不用說提出一些前瞻性的預測。
本文關注的是自注意力機制。直觀上來看,自注意力機制算是解釋性比較強的模型之一了,它通過自己與自己的 Attention 來自動捕捉了 token 與 token 之間的關聯,事實上在 Attention is All You Need [2] 那篇論文中,就給出了如下的看上去挺合理的可視化效果:
▲《Attention is All You Need》一文中對 Attention 的可視化例子
但自注意力機制真的是這樣生效的嗎?這種“token對token”的注意力是必須的嗎?前不久 Google 的新論文 Synthesizer: Rethinking Self-Attention in Transformer Models 對自注意力機制做了一些“異想天開”的探索,里邊的結果也許會顛覆我們對自注意力的認知。
論文標題:Synthesizer: Rethinking Self-Attention in Transformer Models
論文鏈接:https://arxiv.org/abs/2005.00743
自注意力
自注意力模型的流行,始于 2017 年 Google 發表的 Attention is All You Need? [2] 一文,關于它的科普讀者還可以參考筆者舊作《Attention is All You Need》淺讀(簡介+代碼)。它的基礎是 Scaled-Dot Attention,定義如下:
其中 ,softmax 則是在 m 的那一維進行歸一化。而自注意力,則是對于同一個 ,通過不同的投影矩陣
得到?
然后再做 Attention,即:
至于 Multi-Head Attention,則不過是 Attention 運算在不同的參數下重復多次然后將多個輸出拼接起來,屬于比較樸素的增強。而關于它的進一步推廣,則可以參考《突破瓶頸,打造更強大的 Transformer》[3]。
天馬行空
本質上來看,自注意力就是通過一個 的矩陣 和 的矩陣 ,將原本是 的矩陣 ,變成了 的矩陣 。其中矩陣 是動態生成的,即:
對于矩陣 ,本質上來說它就是 里邊兩兩向量的內積組合,所以我們稱它為“token對token”的 Attention。
▲ Synthesizer自注意力與標準自注意力的對比
那么,就到了前面提出的問題:“token 對 token”是必須的嗎?能不能通過其他方式來生成這個矩陣 ?Google 的這篇論文正是“天馬行空”了幾種新的形式并做了實驗,這些形式統稱為 Synthesizer。
3.1 Dense形式
第一種形式在原論文中稱為 Dense: 需要是 大小的,而 是 的,所以只需要一個 的變換矩陣 就可以將它變成 了,即:
這其實就相當于把 固定為常數矩陣 了。當然,原論文還做得更復雜一些,用到了兩層 Dense 層:
但思想上并沒有什么變化。
3.2 Random形式
剛才說Dense形式相當于把 固定為常數矩陣,我們還能不能更“異想天開”一些:把 固定為常數矩陣?這時候整個 相當于是一個常數矩陣,即:
原論文中還真是實驗了這種形式,稱之為 Random,顧名思義,就是 是隨機初始化的,然后可以選擇隨訓練更新或不更新。
據原論文描述,固定形式的 Attention 首次出現在論文 Fixed Encoder Self-Attention Patterns in Transformer-Based Machine Translation [4],不同點是那里的 Attention 矩陣是由一個函數算出來的,而 Google 這篇論文則是完全隨機初始化的。
從形式上看,Random 實際上就相當于可分離卷積(Depthwise Separable Convolution)運算。
3.3 低秩分解
上面兩種新形式,往往會面對著參數過多的問題,所以很自然地就想到通過低秩分解來降低參數量。對于 Dense 和 Random,原論文也提出并驗證了對應的低秩分解形式,分別稱為 Factorized Dense 和 Factorized Random。
Factorized Dense 通過 Dense 的方式,生成兩個 的矩陣 ,其中 ab=n;然后將 重復 b 次、然后將 重復 a 次,得到對應的 矩陣 ,最后將他們逐位相乘(個人感覺相乘之前 應該要轉置一下比較合理,但原論文并沒有提及),合成一個 的矩陣:
至于 Factorized Random 就很好理解了,本來是一整個 的矩陣 ,現在變成兩個 的矩陣 ,然后:
3.4 混合模式
到目前為止,連同標準的自注意力,我們有5種不同的生成矩陣 的方案,它們也可以混合起來,即:
其中 是不同形式的自注意力矩陣,而 是可學習參數。
結果分析
前面介紹了統稱為 Synthesizer 的幾種新型自注意力形式,它們的共同特點是沒有保持“token 對 token”形式,尤其是 Random,則完全拋棄了原有注意力的動態特點,變成了靜態的矩陣。
那么,這些新型自注意力的效果如何呢?它們又怎樣沖擊我們對自注意力機制的認識呢?
4.1 機器翻譯
第一個評測任務是機器翻譯,詳細地比較了各種自注意力形式的效果:
▲ Synthesizer在機器翻譯任務上的表現對比
不知道讀者怎么想,反正 Synthesizer 的這些結果是沖擊了筆者對自注意力的認知的。表格顯示,除了固定的 Random 外,所有的自注意力形式表現基本上都差不多,而且就算是固定的 Random 也有看得過去的效果,這表明我們以往對自注意力的認知和解釋都太過片面了,并沒有揭示自注意力生效的真正原因。
4.2 摘要對話
接下來在摘要和對話生成任務上的結果:
▲?Synthesizer在摘要和對話任務上的表現對比
在自動摘要這個任務上,標準注意力效果比較好,但是對話生成這個任務上,結果則反過來:標準的自注意力是最差的,Dense(D)和 Random(R)是最好的,而當 Dense 和 Random 混合了標準的自注意力后(即 D+V 和 R+V),效果也變差了。
這說明標準注意力并沒有什么“獨占鰲頭”的優勢,而幾個 Synthesizer 看起來是標準注意力的“退化”,但事實上它們互不從屬,各有優勢。
4.3 預訓練+微調
最后,對于我們這些普通讀者來說,可能比較關心是“預訓練+微調”的效果怎樣,也就是說,將 BERT 之類的模型的自注意力替換之后表現如何?原論文確實也做了這個實驗,不過 Baseline 不是 BERT 而是 T5,結果如下:
▲ Synthesizer在“預訓練+微調”的表現對比
在這個結果中,相比標準自注意力,Dense 和 Random 就顯得遜色了,這表明 Dense 和 Random 也許會在單一任務上表現得比較好,而遷移能力則比較弱。
但是不能否定的是,像 Random 這樣的自注意力,由于直接省去了 這個矩陣運算,因此計算效率會有明顯提升,因此如果能想法子解決這個遷移性問題,說不準 Transformer 模型家族將會迎來大換血。
文末小結
本文介紹了 Google 的新工作 Synthesizer,它是對目前流行的自注意力機制的反思和探索。論文中提出了幾種新型的自注意力機制,并做了相當充分的實驗,而實驗結果很可能會沖擊我們對自注意力機制的已有認知,值得大家讀讀。
參考鏈接
[1]https://en.wikiquote.org/wiki/Talk:Richard_Feynman#%22If_you_think_you_understand_quantum_mechanics,_you_don't_understand_quantum_mechanics.%22
[2] https://arxiv.org/abs/1706.03762
[3] https://kexue.fm/archives/7325
[4] https://arxiv.org/abs/2002.10260
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的Google新作Synthesizer:我们还不够了解自注意力的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运营 64 航次,首艘国产大型邮轮“爱达
- 下一篇: 大病互助医疗报销范围