批次正規化(Batch Normalization):將進入層的值,按每批範例調整為平均值0、變異數1,加快學習(2015年)
批次正規化是一種在網路中間層嵌入的方法:把進入該層的值,按學習時一次使用的資料批次(小批次)調整為平均值為0、變異數為1,再用2個需要學習的數γ和β重新加上大小和偏移(scale and shift)。Google的Ioffe和Szegedy認為,前一層的權重每次變化,下一層所接收值的分布就會隨之變化(論文稱之為internal covariate shift),這拖慢了學習。他們寫道,用這種方法可以把學習率調得大得多,對權重的初始值也不必那麼講究,有時甚至不再需要dropout。在影像辨識的網路中,達到同樣準確度所需的訓練次數只有原來的14分之1。在組合起來的網路上,ImageNet按答5次的規則 錯誤率 為4.9%(測試中為4.8%),論文寫道這已經超過了人類評價者的準確度。
原始資料中:2018年MIT的論文在題目中加上了,並報告說,在批次正規化之後故意加入每個時刻都在變化的、平均值不為0、變異數不為1的雜訊,讓分布產生偏移,也幾乎同樣可以學習。論文寫道,起作用的是讓表示與正確答案之間誤差的地形(最佳化的地形)變得平滑。這是一個方法被廣泛使用之後,對其有效原因的解釋被重新質疑的例子。
還不清楚的事:批次正規化為什麼有效,2018年那篇論文之後研究仍在繼續,不能說已經有定論(2018年之後的論文,還沒有打開過)。
原始資料2筆及查證內容
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift (arXiv:1502.03167v1)(Sergey Ioffe, Christian Szegedy・2015・p.1 Abstract(演算法1在pdf_page 3)・原始資料)
- How Does Batch Normalization Help Optimization? (No, It Is Not About Internal Covariate Shift) (arXiv:1805.11604v1)(Shibani Santurkar, Dimitris Tsipras, Andrew Ilyas, Aleksander Mądry・2018・p.1標題與Abstract(加入雜訊的實驗在pdf_pag…・原始資料)