確率的勾配降下法(SGD)

  • 最適化>SGDも参照のこと

  • 誤算関数$E(\bold{w})$を最小化するパラメータ$\bold{w}$を求める

  • バッチ学習よりオンライン学習のSGD
    • 更新のたびに目的関数が変わるので,局所解に陥いって抜け出せないということを防げる
    • 途中経過を監視できる
    • データを途中で増やせる
  • ミニバッチ
    • 重みの更新をサンプル数1ではなく,複数サンプル(ミニバッチ)で行う
    • 更新の重みを平準化するため,多クラス分類だと各クラスから1つ以上サンプルを入れるのが理想
    • 大きすぎるバッチサイズはSGDのよさを損なう

過学習の緩和(正則化)

  • 重み減衰
    • 誤差関数に重みの2乗話を加え,それを最小化する
    • 通常ネットワークの重みのみに適用し,バイアスには適用しない
  • 重み上限
    • 重みの大きさの上限を制約する
  • ドロップアウト
    • 学習に使うユニットを確率$p$で選び,一部のユニットを使わない(強制的に自由度を下げる)
    • $p$は層で異なっていても良い
    • ユニットの選出は重み更新ごとに行う
    • 学習終了後に推論に使うときは,無効化の対象とした層の出力を一律$p$倍し,全てのユニットを使う

学習のトリック

  • データの正規化
  • データ拡張
  • 複数ネットの平均
  • 学習係数
    • 最初は大きい係数で,小さくしていく
    • 層ごとに異なる値を使う
  • モメンタム
  • 重みの初期値の事前学習
  • サンプルの順序の調整