E資格に向けての勉強2
- Deep Learningにおける過学習を抑える手法
early stopping
テスト精度が頭打ちになったら学習をやめる。
data augmentation
既存データにノイズを加えてサンプル数を水増しする。
Dropout
ネットワーク内の一部のノードを無効化する。
バッチ正規化
特定の中間層の出力に正規化を施す。
・学習時間短縮
・初期値の影響抑制
- 活性化関数
線形入力に対して非線形変換を施す。
ロジスティックシグモイド
2値分類に使用。[0, 1]の範囲を取る。勾配消失問題が発生する。
ハイパボリックタンジェント
[-1, 1]の範囲を取る。
ソフトマックス
他クラス分類に使用。
ReLU
g(z) = max(0, z)
・短時間で最適化可能
・z>0の部分は常に微分値が1になるため、勾配消失しない
・微分値が負になることがないので、活性化部分では常に微分値が大きくなる
・dying ReLUという問題が存在する→Leaky ReLUで解決
Leaky ReLU
g(z) = max(αz, z) ※αは一般に0.01が使用される
Absolute value rectification
g(z) = max(0, z) - min (0, z)
主に物体認識で使用。
マックスアウト
ReLUのさらなる一般化。
- 最適化
モメンタム法
AdaGrad
単純な2次元問題では性能が高い。
DNNでは更新がすぐ止まりやすいので使わないほうが良い。
RMSProp
AdaGradの更新が止まる問題を改善した。
Adadelta
Adam
モメンタム+RMSProp。
ハイパーパラメータの調整がほとんど必要でない(だいたい学習率η=0.001)
Nadam
Adamより若干性能が高いが、RMSPropに負けることもある。