主要面臨的問題包括梯度彌散化,參數(shù)難調(diào)節(jié)缀辩,過擬合等臭埋。這幾個問題最先解決的應(yīng)該是梯度彌散化,即梯度消失和梯度爆炸臀玄,通過適當?shù)膮?shù)初始化瓢阴,可以緩解這個問題;在能收斂的情況下健无,需要對超參數(shù)進行調(diào)節(jié)荣恐,加快收斂速度;收斂后需要對bias和variance進行調(diào)節(jié)累贤,防止過擬合叠穆。
1 梯度彌散化
使用ReLU代替sigmoid.優(yōu)點在于單側(cè)抑制,較寬闊的興奮邊界臼膏,稀疏激活性硼被。更貼合神經(jīng)元的工作原理。ReLU和變種已經(jīng)成為最主流的激活函數(shù)渗磅。Hinton在論文中證明ReLu相當于一堆的sigmoid層嚷硫。
合理參數(shù)初始化可以一定程度緩解特征消失和特征爆炸。對于tanh激活函數(shù)始鱼,參數(shù)矩陣可以用Xavier初始化仔掸,對于ReLu激活函數(shù),吳恩達的建議如下圖所示医清。
2 參數(shù)難以調(diào)試起暮,特別是對SGD
神經(jīng)網(wǎng)絡(luò)通常不是一個凸優(yōu)化問題,充滿了局部最優(yōu)解状勤。有理論表示鞋怀,局部最優(yōu)解也有可能達到比較好的效果双泪,全局最優(yōu)反而是過擬合的持搜。
在高維空間中密似,很難遇到局部最優(yōu)解,直觀地理解葫盼,對每一維都有可能是凹函數(shù)或者凸函數(shù)残腌,20000維的空間,局部最優(yōu)的概率是2的-20000次方贫导。所以抛猫,在高維空間,遇到比較多的是圖中所示的鞍點孩灯。
對于SGD闺金,剛開始的時候我們希望收斂快,而后面則希望穩(wěn)定地落入局部最優(yōu)解峰档。通過Adagrad,Adam等自適應(yīng)的算法可以減輕調(diào)試參數(shù)的負擔败匹。
3 過擬合
使用正則。通過把每層的正則加到最終的損失函數(shù)里讥巡,簡化模型掀亩。直觀理解,就是使得更多的參數(shù)為零欢顷。
使用Dropout進行采樣槽棍,即在深度學(xué)習(xí)某一層輸出的時候隨機丟棄一些數(shù)據(jù)。增大樣本量的同時抬驴,減少特征數(shù)炼七,防止過擬合。
數(shù)據(jù)增強布持。在圖像識別領(lǐng)域特石,可以通過旋轉(zhuǎn),變換鳖链,擴大標注樣本集姆蘸。模型大,數(shù)據(jù)少芙委,可能導(dǎo)致過擬合逞敷,通過增強數(shù)據(jù),可以解決樣本少的問題灌侣。
提早結(jié)束訓(xùn)練(early stopping)推捐。在梯度下降過程中,有時候會遇到侧啼,訓(xùn)練集的代價函數(shù)或者準確率隨迭代輪次單調(diào)遞減牛柒,到了驗證集代價函數(shù)會先下降后上升堪簿,這時候就需要提早結(jié)束。出現(xiàn)這種情況皮壁,往往是因為越往后椭更,參數(shù)w越來越大,出現(xiàn)過擬合蛾魄。使用正則一般不會出現(xiàn)這種情況虑瀑,但使用正則的話,參數(shù)λ的搜索空間比較大滴须,所以有時候為了時間減少舌狗,可以在不使用正則的情況下,在不同的迭代輪次結(jié)束訓(xùn)練扔水,選擇較小的一組w痛侍。