【Neural Networks and Deep Learning】3.改進神經網路的學習方法(過擬合)

  • 增加訓練樣本的數量
  • 規範化

一種最為常用的規範化手段 —— 有時候被稱為權重衰減(weight decay)或者 L2 規範化。L2 規範化的想法是增加一個額外的項到代價函數上,這個項叫做規範化項。下面是規範化的交叉熵:

其中第一個項就是常規的交叉熵的表達式。第二個現在加入的就是所有權重的平方的和。然後使用一個因子 λ/2n 進行量化調整,其中 λ > 0 可以稱為規範化參數,而 n 就是訓練集合的大小。在後面討論 λ 的選擇策略。需要注意的是,規範化項裡面並不包含偏置。

當然,對其他的代價函數也可以進行規範化,例如二次代價函數。類似的規範化的形式如下:

兩者都可以寫成這樣:

直覺地看,規範化的效果是讓網路傾向於學習小一點的權重,其他的東西都一樣的。大的權重只有能夠給出代價函數第一項足夠的提升時才被允許。換言之,規範化可以當做一種尋找小的權重和最小化原始的代價函數之間的折中。

現在來看一個規範化的確減輕過度擬合的例子。首先需要弄清楚如何將隨機梯度下降演算法應用在一個規範化的神經網路上。特別地,我們需要知道如何計算對網路中所有權重和偏置的偏導數 ?C/?w 和 ?C/?b。對方程 (87) 進行求偏導數得:

所以看到其實計算規範化的代價函數的梯度是很簡單的:僅僅需要反向傳播,然後加上 n λ w 得到所有權重的偏導數。

權重的學習規則就變成:

這正和通常的梯度下降學習規則相同,除了通過一個因子  1 ?frac{ηλ}{n} 重新調整了權重 w。這種調整有時被稱為權重衰減,因為它使得權重變小。

因此,為了隨機梯度下降的規範化學習規則就變成:

下面看一下在(少樣本)手寫數字識別上沒有正則化和正則化之後的對比:

沒有正則化:網路在 280 迭代期後就不在能夠推廣到測試數據上,網路在 280迭代期後就過度擬合(overfitting)或者過度訓練(overtraining)了。

正則化:這次測試集上的準確率在整個 400 迭代期內持續增加。


推薦閱讀:

Inception-v2/v3結構解析(原創)
【Neural Networks and Deep Learning】4.神經網路可以計算任何函數的可視化證明(1)

TAG:深度學習DeepLearning | 神經網路 |