1. Andrew Ng 的個人經驗和偏好是:
第一梯隊: learning rate α
第二梯隊: hidden units
mini-batch size
momentum β
第三梯隊: number of layers
learning rate decay
other optimizer hyperparameters
2. 手動優化RNN超參數時需要注意的一些事:
- 小心出現過擬合,這通常是因為神經網絡在“死記”定型數據。過擬合意味着定型數據的表現會很好,但網絡的模型對於樣例以外的預測則完全無用。
- 正則化有好處:正則化的方法包括l1、l2和丟棄法等。
- 保留一個神經網絡不作定型的單獨測試集。
- 網絡越大,功能越強,但也更容易過擬合。不要嘗試用10,000個樣例來學習一百萬個參數 參數 > 樣例數 = 問題。
- 數據基本上總是越多越好,因為有助於防止過擬合。
- 定型應當包括多個epoch(使用整個數據集定型一次)。
- 每個epoch之后,評估測試集表現,判斷何時停止(提前停止)。
- 學習速率是最為重要的超參數。
- 總體而言,堆疊層是有好處的。
- 對於LSTM,可使用softsign(而非softmax)激活函數替代tanh(更快且更不容易出現飽和(約0梯度))。
- 更新器:RMSProp、AdaGrad或momentum(Nesterovs)通常都是較好的選擇。AdaGrad還能衰減學習速率,有時會有幫助。
- 最后,記住數據標准化、MSE損失函數 + 恆等激活函數用於回歸、Xavier權重初始化
參考文獻: