前言

之前介紹的BN[2]和LN[3]都是在數據的層面上做的歸一化,而這篇文章介紹的Weight Normalization(WN)是在權值的維度上做的歸一化。WN的做法是將權值向量 mathbf{w} 在其歐氏範數和其方向上解耦成了參數向量 mathbf{v} 和參數標量 g 後使用SGD分別優化這兩個參數。

WN也是和樣本量無關的,所以可以應用在batchsize較小以及RNN等動態網路中;另外BN使用的基於mini-batch的歸一化統計量代替全局統計量,相當於在梯度計算中引入了雜訊。而WN則沒有這個問題,所以在生成模型,強化學習等雜訊敏感的環境中WN的效果也要優於BN。

WN沒有一如額外參數,這樣更節約顯存。同時WN的計算效率也要優於要計算歸一化統計量的BN。

1. WN詳解

1.1 WN的計算

神經網路的一個節點計算可以表示為:

y = phi(mathbf{w}cdotmathbf{x}+b) 	ag1

其中 mathbf{w} 是一個 k -維的特徵向量, y 是該神經節點的輸出,所以是一個標量。在得到損失值後,我們會根據損失函數的值使用SGD等優化策略更新 mathbf{w}b 。WN提出的歸一化策略是將 mathbf{w} 分解為一個參數向量 mathbf{v} 和一個參數標量 g ,分解方法為

mathbf{w} = frac{g}{||mathbf{v}||} mathbf{v} 	ag2

上式中 ||mathbf{v}|| 表示 mathbf{v} 的歐氏範數。當 mathbf{v}=mathbf{w}g = ||mathbf{w}| 時,WN還原為普通的計算方法,所以WN的網路容量是要大於普通神經網路的。

圖1:權值向量的分解可視化

當我們將 g 固定為 ||mathbf{w}|| 時,我們只優化 mathbf{v} ,這時候相當於只優化 mathbf{w} 的方向而保留其範數。當 mathbf{v} 固定為 mathbf{w} 時,這時候相當於只優化 mathbf{w} 的範數,而保留其方向,這樣為我們優化權值提供了更多可以選擇的空間,且解耦方向與範數的策略也能加速其收斂。

在優化 g 時,我們一般通過優化 g 的log級參數 s 來完成,即 g = e^s

mathbf{v}g 的更新值可以通過SGD計算得到:


abla_g L = frac{
abla_{mathbf w}L cdot mathbf{v}}{||mathbf{v}||} qquad 
abla_{mathbf{v}} L = frac{g}{||mathbf{v}||} 
abla_{mathbf{w}} L - frac{g
abla_g L}{||mathbf{v}||^2} mathbf{v} 	ag3

其中 L 為損失函數, 
abla_{mathbf{w}}Lmathbf{w}L 下的梯度值。

從上面WN的計算公式中我們可以看出WN並沒有引入新的參數,

1.2 WN的原理

1.1節的梯度更新公式也可以寫作:


abla_{mathbf{v}} L = frac{g}{||mathbf{v}||} M_{mathbf{w}} 
abla_{mathbf w}L quad 	ext{with} quad M_{mathbf{w}} = I - frac{mathbf{w}mathbf{w}}{||mathbf{w}||^2} 	ag4

推導方式如下:


abla_{mathbf{v}} L = frac{g}{||mathbf{v}||} 
abla_{mathbf{w}} L - frac{g
abla_g L}{||mathbf{v}||^2} mathbf{v} \ = frac{g}{||mathbf{v}||} 
abla_{mathbf{w}} L  - frac{g}{||mathbf{v}||^2} frac{
abla_{mathbf w}L cdot mathbf{v}}{||mathbf{v}||} mathbf{v} \ = frac{g}{||mathbf{v}||}(I - frac{mathbf{v}mathbf{v}}{||mathbf{v}||^2}) 
abla_{mathbf w}L \ = frac{g}{||mathbf{v}||}(I - frac{mathbf{w}mathbf{w}}{||mathbf{w}||^2}) 
abla_{mathbf w}L \ = frac{g}{||mathbf{v}||} M_{mathbf{w}} 
abla_{mathbf w}L 	ag5

倒數第二步的推導是因為 mathbf{v}mathbf{w} 的方向向量。上面公式反應了WN兩個重要特徵:

  1. frac{g}{||mathbf{v}||} 表明WN會對權值梯度進行 frac{g}{||mathbf{v}||} 的縮放;
  2. M_{mathbf{w}} 
abla_{mathbf w}L 表明WN會將梯度投影到一個遠離於 
abla_{mathbf w}L 的方向。

這兩個特徵都會加速模型的收斂。

具體原因論文的說法比較複雜,其核心思想有兩點:1.由於 mathbf{w} 垂直於 M_{mathbf{w}},所以 
abla_{mathbf{v}}L 非常接近於垂直參數方向 mathbf{w} ,這樣對於矯正梯度更新方向是非常有效的;2. mathbf{v} 和梯度更新值中的雜訊量成正比,而 mathbf{v} 是和更新量成反比,所以當更新值中噪音較多時,更新值會變小,這說明WN有自穩定(self-stablize)的作用。這個特點使得我們可以在WN中使用比較大的學習率。(這是我對於論文的2.1節的比較主觀的個人理解,當初看的時候就非常頭疼,理解可能有偏差,希望各位讀者給出正確的批評指正。)

另一個角度從新權值的協方差矩陣出發的,假設 mathbf{w} 的協方差矩陣是 mathbf{C} ,那麼 mathbf{v} 的協方差矩陣 mathbf{D} = (g^2/||mathbf{v}||^2)M_{mathbf{w}}mathbf{C}M_{mathbf{w}} ,當去掉 mathbf{D} 中的特徵值後我們發現新的 mathbf{D} 非常趨近於一個單位矩陣,這說明瞭 mathbf{w}mathbf{C} 的主特徵向量(dominant eigenvector),說明WN有助於提升收斂速度。

1.3 BN和WN的關係

假設 t = mathbf{v} mathbf{x}mu[t]sigma[t] 分別為 t 的均值和方差,BN可以表示為:

t = frac{t-mu[t]}{sigma[t]} = frac{mathbf{v}}{sigma[t]}mathbf{x} - frac{mu[t]}{sigma[t]}  	ag6

當網路只有一層且輸入樣本服從均值為0,方差為1的獨立分佈時,我們有 mu[t]=0sigma[t] = ||mathbf{v}|| ,此時WN和BN等價。

1.4 WN的參數初始化

由於WN不像BN有規範化特徵尺度的作用,所以WN的初始化需要慎重。作者建議的初始化策略是:

  • mathbf{v} 使用均值為0,標準差為0.05的正態分佈進行初始化;
  • g 和偏置 b 使用第一批訓練樣本的統計量進行初始化:

g leftarrow frac{1}{sigma[t]} qquad b leftarrow frac{-mu[t]}{sigma[t]} 	ag7

由於使用了樣本進行初始化,所以這種初始化方法不適用於RNN等動態網路。

1.5 Mean-Only BN

基於WN的動機,文章提出了Mean-Only BN。這種方法是一個只進行減均值而不進行除方差的BN,動機是考慮到BN的除方差操作會引入額外的雜訊,實驗結果表明WN+Mean-Only BN雖然比標準BN收斂得慢,但它們在測試集的精度要高於BN。

2. 總結

和目前主流歸一化方法不同的是,WN的歸一化操作作用在了權值矩陣之上。從其計算方法上來看,WN完全不像是一個歸一化方法,更像是基於矩陣分解的一種優化策略,它帶來了四點好處:

  1. 更快的收斂速度;
  2. 更強的學習率魯棒性;
  3. 可以應用在RNN等動態網路中;
  4. 對雜訊更不敏感,更適用在GAN,RL等場景中。

說WN不像歸一化的原因是它並沒有對得到的特徵範圍進行約束的功能,所以WN依舊對參數的初始值非常敏感,這也是WN一個比較嚴重的問題。

Reference

[1] Salimans T, Kingma D P. Weight normalization: A simple reparameterization to accelerate training of deep neural networks[C]//Advances in Neural Information Processing Systems. 2016: 901-909.

[2] Ba J L, Kiros J R, Hinton G E. Layer normalization[J]. arXiv preprint arXiv:1607.06450, 2016.

[3] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint arXiv:1502.03167, 2015.


推薦閱讀:
相關文章