神經網絡模型的設計和訓練十分複雜,initialization, activation, normalization,優化器,學習率 等等無不是四兩撥千斤,這篇文章主要是總結一些煉丹技巧,討論下關於如何初始化、選擇激活函數、正則化的方式和優化器的選擇等。
一. 優化器的選擇
知乎上有一個系列文章總結的非常好,我強烈推薦!
一個框架看懂優化算法之異同 SGD/AdaGrad/Adam
Adam那麼棒,爲什麼還對SGD念念不忘 (2)—— Adam的兩宗罪
Adam那麼棒,爲什麼還對SGD念念不忘 (3)—— 優化算法的選擇與使用策略
二. 各種正則化的比較
詳解深度學習中的Normalization,BN/LN/WN
BatchNormalization、LayerNormalization、InstanceNorm、GroupNorm、SwitchableNorm總結(附代碼實現)
三. 分類任務中的免費午餐
Bag of Tricks for Image Classification with Convolutional Neural Networks
深度學習之—batchsize與lr rate之間的關係以及批處理梯度下降法