天天看點

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

本文對NIPS 2019錄用的論文Understanding and Improving Layer Normalization做出詳細的解讀,敬請批評指正。

點選下載下傳論文

點選下載下傳論文解讀電子書

摘要:這項研究針對的是目前非常常用的技術layer normalization (LN)。LN類似于batch normalization,也是一種深度學習的歸一化的技巧。LN主要作用于層的次元,一般對神經網絡中間層的表示的分布進行歸一化。尤其在最近大火的Transformer等模型中,LN起到非常重要的作用。然而,一直以來我們并不知道為什麼LN有效。這篇文章則對LN的作用進行了研究。作者們認為,前向歸一化并非LN起作用的唯一因素,均值和方差也是重要原因。它們改變了後向梯度的中心和範圍。同時,作者還發現,LN的參數,包括bias和gain,并非總是能夠提升模型表現,甚至它們可能會增加過拟合的風險。是以,為了解決這個問題,作者們提出了自适應的LN(簡稱AdaNorm)。AdaNorm将LN中的bias和gain替換成線性映射函數的輸出。這個函數能夠自适應地根據不同的輸入調整權重。作者們在七個資料集上做了實驗都表明AdaNorm能夠取得更好的效果。同時可以看到,AdaNorm緩解了過拟合的問題,并且給訓練帶來更好的收斂效果。

一、引言

繼BN之後,學術界提出了LN,針對的是RNN模型,後來科研人員發現LN對于基于自注意力的模型非常有效。典型的例子就是LN在Transformer中的大量使用。LN幫助更快地訓練Transformer模型。然而,LN的成功一直是個疑問。一種解釋是前向歸一化提升了分布的穩定性,但最新研究則表明BN的效果和輸入分布的穩定性沒有關系,而是讓優化的損失更加平滑。大家依然不清楚為何LN有效。

在這項工作中,作者通過分析提出了幾個重要的觀點,并提出了一種新的歸一化的方法。作者們指出,前向歸一化、以及均值和方差的導數都對LN非常重要。前向歸一化并非成功的唯一因素。作者們通過一種叫DetachNorm的方法,說明了均值和方差的導數的重要性。作者們還指出,因為LN的參數,包括bias和gain,會提升過拟合的風險,它們并非總是對模型起到正向作用。實驗表明,将bias和gain從LN中去掉并步總是會影響模型表現。通過對比分析不同情況下的損失函數曲線,作者們認為bias和gain會增加過拟合的風險。

是以作者們提出了AdaNorm的方法,下文将會對AdaNorm做詳細的介紹。

二、Layer Normalization和相關實驗資料集

LN類似于BN,可以用比較簡單的式子表達:

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

其中的b和g則是文章中提到的bias和gain。

在這裡先簡單介紹一下實驗用的資料集,後面的分析與之相關。本研究在5個任務上的7個資料集做了實驗,其中包括機器翻譯的IWSLT 14 德語英語翻譯和IWSLT 15英語越南語翻譯、語言模型的Enwiki8、文本分類的IMDB、RT和SST2、圖檔分類的MNIST以及句法分析的PTB。

三、如何了解LN

作者們采用ablation study(模型簡化測試)的方式,去分析LN中每個部份的作用。下表列舉了相關的實驗結果:

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

首先從這個表不難看出,LN對于模型的重要性不可言喻,有LN的模型相比baseline有比較大的提高。然而有趣的是,去掉bias和gain并沒有對模型表現造成明顯的損害,甚至有的能夠提升表現。這說明bias和gain并不總是帶來正向的影響。作者觀察模型的訓練過程發現,bias和gain可能會提升過拟合的風險,結果如下圖所示:

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

接下來作者們探讨前向歸一化的作用。為了檢驗前向歸一化,作者提出一種叫DetachNorm的方法,它讓LN的均值和方差的梯度在反向傳播過程中不回傳,結果如下圖所示:

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

從上述結果可以看出,前向歸一化和均值方差的導數都在LN中起到重要的作用。甚至可以發現,後者的重要性更大。于是作者們接着探讨均值方差的導數,通過理論論證結合相關實驗的方式說明,均值的梯度能讓梯度的中心調整到0,方差的梯度則減小方差的大小。總結而言,LN将前向的輸入和後向的梯度做了歸一化。

四、AdaNorm

針對上述的分析,作者們提出一個新的歸一化的方案,即自适應的LN。這個方法能夠自适應地根據不同的輸入控制權重。下面介紹一些這個方法的核心部分的内容:

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

其中z為AdaNorm的輸出,y為歸一化後的向量表示。與LN不同的是,AdaNorm用一個線性映射的函數代替了原來的bias和gain。作者又通過推導的方式指出,函數可以寫為:

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

其中k推薦設為1/10,而C則為超參數,并且C(1-ky)的梯度不會在反向傳播中回傳。

作者們在上述的資料集上做了實驗對比LN和AdaNorm的效果,結果如圖:

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

上述結果表明,AdaNorm相比LN在實驗中能幫助模型取得更好的表現。同時,作者展示了LN和AdaNorm的損失曲線,表明AdaNorm能夠緩解過拟合的問題,如圖所示:

Understanding and Improving Layer Normalization | NIPS 2019 論文解讀

五、總結

本篇文章主要對LN展開研究,探讨了為何LN能夠有效。作者表明,LN的成功源自于前向歸一化的過程以及均值方差的導數,同時表明bias和gain可能會提升過拟合的風險。針對這個問題,作者提出解決方案AdaNorm,将bias和gain修改為自适應于輸入的函數,并通過實驗證明它能比LN取得更好的效果。

繼續閱讀