1.1 超參數的調試(調參)
超參數有哪些?學習率α、動量梯度下降法參數β、Adam算法參數(β1、β2、ε)、神經網絡的層數、神經網絡各隱層的節點數、學習率衰減係數、mini-batch大小等
隨機選擇超參數一般勝過表格法(按照表格中的調整值一步步調整各參數,效率較低)
使用由粗到細的方法(coarse to fine)
1.2 爲超參數選擇合適的範圍
使用普通刻度(均勻刻度,uniform scale)隨機選擇超參數,如神經網絡的層數、神經網絡各隱層的節點數
選擇合適的超參數刻度(如,學習率可使用對數刻度,而不是均勻分佈的普通刻度)
對於指數加權平均數(如,動量梯度下降參數β),應使用指數刻度而不是均勻刻度。如果使用均勻刻度,會發現當β接近1時,模型受更多數據量的影響,如,β從0.999提高到0.9995時,要考慮的歷史數據量從1000上升到了2000,遠高於β從0.9000提高到0.9005時的情況。
1.3 超參數訓練的實踐:Pandas VS Caviar
可從跨學科領域獲取靈感(cross-fertilization),重新調整超參數
兩種調參方式:熊貓育子方式(Panda)和魚子方式(Caviar)
熊貓方式:針對一個模型精心調節參數,讓其變得更優秀
魚子方式:並行訓練多個模型,選擇最好的模型
1.4 正則化網絡的激活函數
正則化輸入可以加速學習過程
Batch Norm(批次正則化、批次歸一化)的實現
1.5 在神經網絡中應用Batch Norm
在神經網絡中加入Batch Norm處理(介於線性值Z和激活函數a之間)
在mini-batch中使用Batch Norm(由於引入了Batch Norm參數β和γ,Z中的偏移項b可以省略或置零)
引入Batch Norm後梯度下降的實現