Batch-Normalization

為什麼批量規範具有可學習的規模和轉變?

  • October 27, 2017

據我了解,批量範數將所有輸入特徵歸一化到一個層到一個單位正態分佈,. 均值和方差通過測量當前小批量的值來估計。

歸一化後,輸入按標量值縮放和移位:

(如果我在這裡錯了,請糾正我 - 這是我開始有點不確定的地方。)

和是標量值,每個批次標準化層都有一對。它們與使用反向傳播和 SGD 的權重一起學習。

我的問題是,這些參數不是多餘的,因為輸入可以通過層本身的權重以任何方式縮放和移動。換句話說,如果

然後

在哪裡和.

那麼添加它們的網絡已經能夠學習規模和轉變有什麼意義呢?還是我完全誤解了事情?

深度學習書籍第 8.7.1 節中有一個完美的答案:

對一個單元的均值和標準差進行歸一化可以降低包含該單元的神經網絡的表達能力。為了保持網絡的表達能力,通常用 γH+β 而不是簡單的歸一化 H 替換一批隱藏單元激活 H。變量 γ 和 β 是學習參數,允許新變量具有任何均值和標準差。乍一看,這似乎沒什麼用——為什麼我們將均值設置為 0,然後引入一個允許將其設置回任意值 β 的參數?

答案是新參數化可以表示與舊參數化相同的輸入函數族,但新參數化具有不同的學習動態。在舊的參數化中,H 的平均值是由 H 下層參數之間的複雜相互作用決定的。在新的參數化中,γH+β 的平均值僅由 β 決定。新的參數化使用梯度下降更容易學習。

引用自:https://stats.stackexchange.com/questions/310326

comments powered by Disqus

相關問答