神經(jīng)網(wǎng)絡 debug 太難了,這里有六個實用技巧
點擊上方“視學算法”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達
神經(jīng)網(wǎng)絡的 debug 過程著實不容易,這里是一些有所幫助的 tips。

數(shù)值計算每個權重的梯度。這通常被稱為「梯度檢查」,有助于確保正確計算梯度,其中一種方法是使用有限差分。
比較每個權重的大小和梯度的大小。要確保大小的比率是合理的。如果梯度大小遠小于權重大小,網(wǎng)絡將花費很長時間進行訓練。如果梯度大小與權重大小大致相同或更大,網(wǎng)絡將非常不穩(wěn)定,可能根本不會訓練。
檢查梯度爆炸或消失。如果梯度變?yōu)?0 或 nan/infinity,則可以確定網(wǎng)絡沒有被正確訓練。需要首先弄清楚為什么會發(fā)生爆炸 / 消失梯度,是否步數(shù)太大。一旦弄清楚梯度爆炸 / 消失的原因,就有各種解決方案來解決這個問題,例如添加殘差連接以更好地傳播梯度或簡單地使用較小的網(wǎng)絡。
激活函數(shù)也會導致梯度爆炸 / 消失。如果 sigmoid 激活函數(shù)的輸入太大,梯度將非常接近 0。隨著時間的推移檢查激活函數(shù)的輸入,然后確保這些輸入不會導致梯度始終為 0 或很大。

點個在看 paper不斷!
評論
圖片
表情

