深度網絡存在問題:
網絡越深,需要的訓練樣本數越多。若用監督則需大量标注樣本,不然小規模樣本容易造成過拟合(深層網絡意味着特征比較多,機器學習裡面臨多特征:1、多樣本 2、規則化 3、特征選擇);
多層神經網絡參數優化是個高階非凸優化問題,常收斂較差的局部解;
梯度擴散問題,BP算法計算出的梯度随着深度向前而顯著下降,導緻前面網絡參數貢獻很小,更新速度慢。
解決方法:
逐層貪婪訓練,無監督預訓練(unsupervised pre-training)即訓練網絡的第一個隐藏層,再訓練第二個…最後用這些訓練好的網絡參數值作為整體網絡參數的初始值。
1、無監督學習——->參數初始值;
2、監督學習——->fine-tuning,即訓練有标注樣本。
經過預訓練最終能得到比較好的局部最優解。
fine-tuning對神經網絡權值改變很小,似乎權值被困在某個局部區域。而且第一層改變最少,第二層次之…最後一層最大。