前饋網絡訓練的困難

(早期)神經網絡通常使用隨機初始化和標準的梯度下降法來訓練,但是效果不好,這是由於非線性激活層飽和(雖然有時能夠自己走出飽和區域)。

目前已經通過良好的初始化和一些訓練策略取得了較好的訓練效果。

尤其是無監督的預訓練(目前來看已經是標準的初始化操作),可能的原因是由於無監督的預訓練相當於正則化矩陣,將參數設爲更加容易收斂的狀態。

但是目前我們致力於分析是什麼樣的原因使得訓練多層深度網絡變差。

無限數據集訓練,(怎樣製作數據集暫時省略)。

訓練細節,設置網絡層數爲1-5層,代價函數爲似然對數函數,-log(y,x),x是輸入圖片,y是目標類別。通過隨機梯度下降法訓練,mini-batch = 10,設置初始偏執爲0,每一層的權重爲服從如下的分佈:n爲前一層w的列數。

clipboard

設置不同的激活函數:

1、sigmod:最佳深度爲四層,下圖爲激活層輸出。

clipboard

從圖中可以看出最後一層從開始訓練立即進入飽和狀態,雖然在a點會逐漸跳出飽和,但是其他的層開始進入飽和.

但是如果通過無監督的預訓練,不會出現飽和的情況,這是由於隨機初始化對於圖像的分類並沒有任何作用。

而爲何會進入飽和區域呢?對於輸出softmax(b+wh)可能更多依賴於b,因爲b的學習地更快,因此誤差梯度可能會將wh更多地置爲0。

2、tanh

clipboard

從圖中可以看出第一層隱藏層首先進入飽和,然後是第二層。。。

clipboard

3、softsign

clipboard

多層同時進入飽和,第一層進入飽和比較快。

clipboard

代價函數的影響:

對數代價函數+softmax 優於最小二乘+softmax

提出新的初始化方法,詳情可見《權重初始化》

發佈了90 篇原創文章 · 獲贊 31 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章