RealFormer:把残差转移到Attention矩阵上面去
?PaperWeekly 原創 ·?作者|蘇劍林
單位|追一科技
研究方向|NLP、神經網絡
大家知道 Layer Normalization 是 Transformer 模型的重要組成之一,它的用法有 PostLN 和 PreLN 兩種,論文 On Layer Normalization in the Transformer Architecture?[1] 中有對兩者比較詳細的分析。簡單來說,就是 PreLN 對梯度下降更加友好,收斂更快,對訓練時的超參數如學習率等更加魯棒等,反正一切都好但就有一點硬傷:PreLN 的性能似乎總略差于 PostLN。
最近 Google 的一篇論文提出了 RealFormer 設計,成功地彌補了這個 Gap,使得模型擁有 PreLN 一樣的優化友好性,并且效果比 PostLN 還好,可謂“魚與熊掌兼得”了。
論文標題:
RealFormer: Transformer Likes Residual Attention
論文鏈接:
https://arxiv.org/abs/2012.11747
形式
RealFormer 全稱為“Residual Attention Layer Transformer”,即“殘差式 Attention 層的 Transformer 模型”,顧名思義就是把殘差放到了 Attention 里邊了。
關于這個名字,還有個小插曲。這篇文章發布的時候,RealFormer 其實叫做Informer,全稱為“Residual Attention Transformer”,原論文名為 Informer: Transformer Likes Informed Attention [2]?,顯然從 Informer 這個名字我們很難想象它的全稱,為此筆者還吐槽了 Google 在起名方面的生硬和任性。
隔了一天之后,發現它改名為 RealFormer 了,遂做了同步。不知道是因為作者大佬看到了筆者的吐槽,還是因為 Informer 這個名字跟再早幾天的一篇論文 Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting [3]?重名了,哈哈。
▲ PostLN、PreLN和RealFormer結構示意圖說回模型,如上圖所示,RealFormer 主要是把殘差放到了 Attention 矩陣上面了,而整體依然保持了 PostLN 的結構,因此既保持了 PostLN 的性能,又融合了殘差的友好。具體來說,就是原來第 n 層的 Attention 為:
現在改為了:
而已。全文終。
實驗
當然,那么快就“全文終”是不可能的,好歹也得做做實驗看看效果,但只看改動的話,確實已經終了,就那么簡單。原論文做的實驗很多,基本上所有的實驗結果都顯示在效果上:
看來,這次 PostLN 可能真的需要退場了。部分實驗結果如下:
▲?MLM準確率對比
▲?SQuAD評測對比
▲?GLUE評測對比
▲?不同訓練步數效果對比
值得特別指出的是第一張圖和第四張圖。從第一張圖我們可以看到,對于 RealFormer 結構,加大模型規模(large 到 xlarge)可以帶來性能的明顯提升,而 ALBERT 論文曾經提到加大 BERT 的模型規模并不能帶來明顯受益,結合兩者說明這可能是 PostLN 的毛病而不是 BERT 的固有毛病,換成 RealFormer 可以改善這一點。
從第四張圖我們可以看到,RealFormer 結構訓練 50 萬步,效果就相當于 PostLN 訓練 100 萬步,這表明 RealFormer 有著很高的訓練效率。
除了上述實驗外,論文還對比了不同學習率、不同 Dropout 比例的效果,表明 RealFormer 確實對這些參數是比較魯棒的。原論文還分析了 RealFormer 的 Attention 值分布,表明 RealFormer 的 Attention 結果更加合理。
分析
這一節我們對 RealFormer 做一個簡單的思考分析。
RealFormer 對梯度下降更加友好,這不難理解,因為 的設計確實提供了一條直通路,使得第一層的 Attention 能夠直通最后一層,自然就沒有什么梯度消失的風險了。
相比之下,PostLN 是 的結構,看上去 防止了梯度消失,但是 這一步會重新增加了梯度消失風險,造成的后果是初始階段前面的層梯度很小,后面的層梯度很大,如果用大學習率,后面的層容易崩,如果用小學習率,前面的層學不好,因此 PostLN 更難訓練,需要用小的學習率加 warmup 慢慢訓。
那么 PreLN 改善了梯度狀況,為什么又比不上 PostLN 呢?按照筆者的猜測,PreLN 每一步都是 的形式,到了最后一層就變成了 的形式,一層層累加,可能導致數值和方差都很大,所以最后“迫不得已”會強制加一層 Layer Norm 讓輸出穩定下來。這樣,盡管 PreLN 改善了梯度狀況,但它本身設計上就存在一些不穩定因素,也許這就是它效果略差的原因。
事實上,很早就有人注意到殘差的這個特點會造成不穩定,筆者之前研究 GAN 的時候,就發現 Which Training Methods for GANs do actually Converge?? [4] 一文中的實現就把 換成了 。受到他們實現的啟發,筆者也試過將 換成 ,其中 是初始化為 0 的可訓練標量參數,也取得不錯的效果。
今年年初的論文 ReZero is All You Need: Fast Convergence at Large Depth?[5] 則正式地提出了這個方法,命名為 ReZero,里邊的實驗表明用 ReZero 可以干脆去掉 Layer Norm。遺憾的是,ReZero 的論文沒有對 Transformer 做更多的實驗,而 RealFormer 也沒有比較它與 ReZero 的效果差別。
讀者可能會反駁,既然 PreLN 存在問題,那 RealFormer 的 不也是存在同樣的疊加問題嗎?如果只看 ,那么確實會有這樣的問題,但別忘了 后面還要做個 softmax 歸一化后才參與運算,也就是說,模型對矩陣 是自帶歸一化功能的,所以它不會有數值發散的風險。
而且剛剛相反,隨著層數的增加, 的疊加會使得 的元素絕對值可能越來越大,Attention 逐漸趨于 one hot 形式,造成后面的層梯度消失,但是別忘了,我們剛才說 PostLN 前面的層梯度小后面的層梯度大,而現在也進一步縮小了后面層的梯度,反而使得兩者更同步從而更好優化了;
另一方面,Attention 的概率值可能會有趨同的趨勢,也就是說 Attention 的模式可能越來越穩定,帶來類似 ALBERT 參數共享的正則化效應,這對模型效果來說可能是有利的,直覺上來說,用 RealFormer 結構去做?FastBERT [6] 之類的自適應層數的改進,效果會更好,因為 RealFormer 的 Attention 本身會有趨同趨勢,更加符合 FastBERT 設計的出發點。
此外,我們也可以將 RealFormer 理解為還是使用了常規的殘差結構,但是殘差結構只用在 而沒有用在 上:
這在一定程度上與 是等價的,而 PreLN 相當于 都加了殘差。
為啥 “不值得”一個殘差呢?從近來的一些相對位置編碼的改進中,筆者發現似乎有一個共同的趨勢,那就是去掉了 的偏置,比如像 NEZHA 的相對位置編碼,是同時在 Attention 矩陣(即 ) 和 上施加的,而較新的 XLNET 和 T5 的相對位置編碼則只施加在 Attention 矩陣上,所以,似乎去掉 的不必要的偏置是一個比較好的選擇,而 RealFormer 再次體現了這一點。
總結
實驗結果表明,RealFormer 同時有著 PostLN 和 PreLN 的優點,甚至比兩者更好,是一個值得使用的改進點。
參考文獻
[1] https://arxiv.org/abs/2002.04745
[2] https://arxiv.org/abs/2012.11747v1
[3] https://arxiv.org/abs/2012.07436
[4] https://arxiv.org/abs/1801.04406
[5] https://arxiv.org/abs/2003.04887
[6] https://arxiv.org/abs/2004.02178
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的RealFormer:把残差转移到Attention矩阵上面去的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12期免息是什么意思
- 下一篇: 强化学习中的调参经验与编程技巧(on p