NIPS 2018 | MIT新研究參透批歸一化原理
選自arXiv,機器之心編譯,作者:Shibani Santurkar 等,參與:李詩萌、路。
批歸一化(BatchNorm)是一種廣泛採用的技術,用於更快速、更穩定地訓練深度神經網路(DNN)。儘管應用廣泛,但我們並不瞭解 BatchNorm 有效的確切原因。很多人認為 BatchNorm 的成功與內部協方差偏移有關,但 MIT 的這項研究發現二者並無關係。研究者證明 BatchNorm 以一種基礎的方式影響著網路的訓練:它使相關優化問題的解空間更平滑了。這確保梯度更具預測性,從而允許使用更大範圍的學習率,實現更快的網路收斂。該研究提供這些發現的經驗性證明和理論依據。該論文已被 NIPS 2018 接收。
引言
在過去十年間,深度學習在計算機視覺、語音識別、機器翻譯以及遊戲等諸多困難任務中取得了令人矚目的進展。這些進展依賴於硬體、數據集以及演算法和架構技術等方面的重大突破。這些突破中最突出的例子是批歸一化(BatchNorm)[10]。
BatchNorm 是一種通過穩定層輸入的分佈來改善神經網路訓練的方法。它是通過引入額外的網路層來實現的,引入的層控制這些分佈的前兩個 moment(平均值和方差)。
BatchNorm 在實際應用中取得的成功無可爭議。目前無論是研究領域(超過 6000 次引用)還是在現實世界的設置中,大多數深度學習模型都默認使用 BatchNorm。令人震驚的是,儘管它很突出,但我們對 BatchNorm 的原理仍然知之甚少。事實上,現在有一些工作提供了 BatchNorm 的替代方案 [1, 3, 13, 31],但它們都沒能讓我們更多地理解這個問題。(最近 [22] 也提出了類似觀點。)
目前,對 BatchNorm 的成功和原始動機最為人所接受的解釋與內部協方差偏移(ICS)相關。通俗而言,ICS 指之前層的更新對層輸入分佈造成的改變。據推測,這樣的連續變化會對訓練產生消極影響。BatchNorm 的目標是減少 ICS,從而彌補該負面影響。
雖然這種解釋被廣泛接受,但似乎也沒什麼具體的證據可以支持這一論斷。尤其是,我們尚不瞭解 ICS 和訓練性能之間的聯繫。本文的主要目標是解決所有這些不足之處,該研究也帶來了一些驚人的發現。
本文的貢獻。該研究的出發點是證明 BatchNorm 的性能增益和內部協方差偏移的減少之間沒有任何聯繫,或者說這種聯繫非常脆弱。事實上,研究發現在某種意義上,BatchNorm 甚至可能不會減少內部協方差偏移。
之後研究者將注意力轉向確定 BatchNorm 成功的原因上。具體而言,研究者證明 BatchNorm 以一種基礎的方式影響著網路的訓練:它使相關優化問題的解空間更平滑了。這確保梯度更具預測性,從而允許使用更大範圍的學習率,實現更快的網路收斂。該研究提供這些發現的經驗性證明和理論依據。該研究證明瞭,在自然條件下,有 BatchNorm 的模型改善了損失和梯度的 Lipschitzness(也稱為 β 平滑)。
最後我們發現,這種平滑效果並不與 BatchNorm 唯一相關。其他一些自然歸一化技術都有相似的效果(有時甚至更強)。即這些方法都提供了類似的訓練性能提升。
我們認為,理解 BatchNorm 這樣的基本技術的原理可以使我們更好地理解神經網路訓練的潛在複雜性,並進一步促進演算法的進步。
批歸一化和內部協方差偏移
儘管 BatchNorm 在深度學習中具有基礎性和廣泛性,但我們對 BatchNorm 成功的原因還知之甚少 [22]。本研究的目的是解決這一問題。為此,我們先研究了 ICS 和 BatchNorm 之間的聯繫。具體而言,我們先在 CIFAR-10 [15] 上分別訓練了帶 BatchNorm 和不帶 BatchNorm 的標準 VGG 架構。如我們所料,圖 1(a)和(b)表明用 BatchNorm 訓練的網路在優化和泛化性能上都取得了顯著的改善。但圖 1(c)則呈現出了令人驚訝的發現。在這張圖中,我們通過繪製訓練中隨機輸入的分佈(按批次)可視化了 BatchNorm 可以在多大程度上穩定層輸入的分佈。令人驚訝的是,有和沒有 BatchNorm 的網路的分佈穩定性之間的差異(均值和方差的變化)微乎其微。這就提出了以下問題:
(1)BatchNorm 的效果是否和內部協方差偏移相關?
(2)BatchNorm 的層輸入分佈的穩定性是否可以有效減少 ICS?