Why does Batch Norm work?
前言
為什麼Batch Norm的確可以加速學習 ?
內容
Learning on shifting input distribution
- Covariance shift
- 什麼原因會讓模型產生巨大變化 ?
- 數據分佈變化了
- 目標值變化了
- ex. 同樣都是預測貓的模型,左邊數據都是黑貓的圖片,也就是數據分布不同,拿左邊訓練出來的模型去預測右邊的彩色貓的圖片效果一定不好。
Why this is a problem with neural networks?
- batch norm是如何克服covariance shift
- 神經網路的輸入層跟最後的輸出層是不會變化,但每一層隱藏層的輸入卻是會根據每次mini-batch而產生變化,這也是Covariance shift造成神經網路的學習的不穩定的主要原因。
- batch norm是對每一層隱藏層的輸入也都進行標準化的處理,讓每一層的輸入相對於最後的輸出層都是相對穩定。
Batch Norm as regularization
- batch-norm有一定的降high variance的能力。
該學到的
- Covariance shift
- batch norm是如何克服covariance shift
- 有限的regularization