今日は6章を読んだ.
6章 学習に関するテクニック
- パラメータの更新方法
- SGD: 勾配方向に動くので傾きがゼロになると終わる. ジグザグ降りていくことがあり無駄
- Momentum: ボールを転がす. ジグザグが緩和
- AdaGrid: 大きく更新されたものは学習率を小さくする
- Adam: Momentum + AdaGrid
- どれを使えばいいか?: SGDは悪い. Adamが流行ってる
- 重みの初期値: アクティベーション(活性化関数の出力)において偏りがないことが良い条件. 偏りがある = いっぱいノード持ってる意味ないじゃん. 特に0,1に偏った場合, sigmoid的に傾き0になるため, 学習が出来なくなる(勾配消失)
- 重みゼロは明らかにまずい. みんな同じになってしまう
- Xavier: sigmoid, tanh向き
- Han: ReLU向き
- Batch Normalization
- アクティベーションの分布を適度な広がりを持つように調整するレイヤ. 有能
- 学習の高速化
- 過学習の防止(Dropoutを使う必要が減る)
- 重みの初期値に対してロバストになる
- DLと相性が良い
- 過学習 (overfitting)
- Weight Decay: 正則項 = 大きなパラメータに対するペナルティ
- Dropout: 過学習の要因の一つである「パラメータが多くて表現力がありすぎる」に対する解. ランダムにノードを落としていく
- ハイパーパラメータの検証にはテストデータとは別のものを使う必要がある. (検証データという)