Deep Learning(An MIT Press book) 6.2.2.4

Deep Learning(An MIT Press book) の要点メモシリーズ。

今日の範囲は出力ユニットの残りの部分。主に分散を学習する方法について。分散は正定値性が要求されるので一工夫必要だよねという話です。

Chapter 6 Deep Feedforward Networks

6.2 Gradient-Based Learning

6.2.2 Output Units

6.2.2.4 Other Output Types

  • neural network f(x;\theta) はyのパラメータωを表現している
    • 損失関数は -logp(y;\omega(x)) になる
  • 条件付きガウス分布の分散を学習する例
    • 分散が定数の場合
      • (y-x)2 の empirical mean なので閉形式で求められる
      • ωの内部のパラメータに標準偏差、分散、精度(分散の逆数)を含める方法もある
    • 分散がxに依存する場合(heteroscedastic model)
      • ωの出力に精度(分散の逆数)を含める
        • 分散を使うと除算が発生してしまうのでよくない
          • 0に近い値で除算すると大きな値になり勾配が不安定になる
        • 標準偏差を使うとさらに二乗が発生する
          • 0に近い値で勾配が消失する
      • 共分散行列は正定値行列じゃないとだめ
        • 対角行列の場合は正値であればよい
          • softplus 関数で正値化できる
        • 非対角成分にも値がある場合は \Sigma(x)=B(x)B^{\mathrm{T}}(x) を使う
  • Gaussian mixture を出力とする neural network は mixture density networks という
    • Gaussian mixture を勾配法で学習すると除算があるので不安定になる
    • Gaussian mixture は speech や movements of physical objects のモデルに使われる