神經網路訓練技巧討論:為什麼需要標準化
阿新 • • 發佈:2019-01-28
本文關注:對於神經網路(主要是全連線網路+SGD)的學習訓練,標準化有什麼好處(加速收斂),以及為什麼有這樣的好處。本文觀點大多總結自lecun98年的論文:Efficient BackProp,詳情請參考原論文。翻譯以及總結過程如有疏漏,歡迎指教。另需說明的是:神經網路模型多變複雜,這裡多是對於一般情況的啟發性討論,實際使用中需要具體情況具體分析(例如影象領域大多僅減均值,不除方差)。
什麼是標準化
在機器學習領域中,標準化(standardization)是預處理(preprocessing)的常見步驟之一。其操作為減均值除方差,生成的分佈均值為0方差為1,其公式為:
其中表示輸入的第維,表示訓練集中第個樣本的第維的值,訓練集中總共有個樣本,為訓練集預估的第維的均值和方差。
為什麼需要標準化
簡要地說,為了保證網路可以良好的收斂,在不清楚各個維度的相對重要程度之前,標準化使得輸入的各個維度分佈相近,從而允許我們在網路訓練過程中,對各個維度“一視同仁”(即設定相同的學習率、正則項係數、權重初始化、以及啟用函式)。反過來,當我們使用全域性相同的學習率、權重初始化、以及啟用函式等網路設定時,方差更大的維度將獲得更多的重視。
網路設定, BP, SGD簡介
具體地,考慮單層全連線網路的情況
,SGD等基於BP一階梯度的優化演算法的常見形式為
其中為引數矩陣的第行元素組成的向量(即第行的轉置),