dondakeshimoの丸太

データサイエンス/Webアプリケーション/

機械学習,深層順伝播型ネットワークについてのざっくりしたまとめ

前回からとっても時間が空いてしまいましたが,機械学習の勉強の続きを上げていきたいと思います!

went-went-takkun135.hatenablog.com

深層学習

深層学習

  • 作者: Ian Goodfellow,Yoshua Bengio,Aaron Courville,岩澤有祐,鈴木雅大,中山浩太郎,松尾豊,味曽野雅史,黒滝紘生,保住純,野中尚輝,河野慎,冨山翔司,角田貴大
  • 出版社/メーカー: KADOKAWA
  • 発売日: 2018/03/07
  • メディア: 単行本
  • この商品を含むブログ (1件) を見る

目次

深層順伝播型ネットワーク

多層パーセプトロンとも言う. 順伝播型ネットワークの目的はある関数を近似することである. 線形モデルを拡張して非線形関数を表現する場合, x 自体に線形モデルを適用するのではなく非線型変換  \phi を用いて変換された入力  \phi(x) に対して線形モデルを適用する. 順伝播型ネットワークが非線型な関数を表現する例としてXORの学習がよく挙げられる. サポートベクターマシーンでは  \phi として無限次元の非常に汎用的な関数を用意したが, 深層順伝播型ネットワークではこの  \phi を学習することが関数近似の戦略となる. 順伝播型ネットワークの出力をネットワーク自体に戻すフィードバックのような 接続を含むように拡張されたものは回帰結合型ニューラルネットワークと呼ばれる.

コスト関数

最近のニューラルネットワークはほとんどの場合,最尤法を用いて訓練される. 最尤推定からコスト関数を導出することで,コスト関数の勾配が飽和しづらくなる.

出力ユニット

ほとんどの場合,コスト関数として,単純にデータ分布とモデル分布の間の交差エントロピーが利用されるため,出力の表現方法の選択によって黄砂エントロピーの関数の形が変わる.以下に代表的な出力ユニットを記す

  • ガウス出力分布のための線形ユニット
  • ベルヌーイ出力分布のためのシグモイドユニット
  • マルチヌーイ出力分布のためのソフトマックスユニット

その他の出力の種類として,条件付きガウス分布の分散を学習したい場合の不等分散モデルや,混合ガウス分布のための混合密度ネットワークなどがある.

隠れユニット

隠れ層の中で使用する隠れユニットについて言及する. 現在では,ReLUを使用することが一般的であるが,他にも多くの隠れユニットが利用可能である. 基本的な隠れ層ではベクトル  \mathbf{x} を受け取りアフィン変換  \mathbf{z} = \mathbf{W}^{\mathrm{T}} \mathbf{x} + \mathbf{b} を計算し,要素ごとに非線型変換関数  g(\mathbf{z}) を適用する. よって隠れ層の出力  \mathbf{h}(\mathbf{x})

  \mathbf{h} = g \left(\mathbf{W}^\mathrm{T} \mathbf{x} + \mathbf{b} \right)

となる.

ReLU

 g(z) = \mathrm{max} \{ 0, z \}

上式の活性化関数がReLUである.アフィン変換のパラメータを初期化する場合  \mathbf{b} のすべての要素を0.1などの小さい正の値に設定するとよく機能する.ReLUの問題点としては活性化値が0になるような事例が勾配に基づく学習をできない点である.

ReLUの一般化

ReLUの3つの一般化を以下に記す. 3つの一般化は  z \lt 0 となる場合にゼロでない勾配を得るために工夫されたものとなっている.

  h_i = g(z, \mathbf{\alpha})_i = \mathrm{max}(0, z_i) + \alpha_i\mathrm{min}(0, z_i)

つまり上式の通りとなる. \alpha の値を変えることでその特徴を変える

Absolute value rectification

上式の  \alpha_i = -1 である.よって  g(z) = |z| を得る.これは画像の中の物体認識に使用されている.物体認識では入力の光源の極性反転に対して普遍な特徴量を探すことが道理にかなっているためである.

Leaky ReLU

 \alpha_i = 0.01 として扱う.

Parametric ReLU

  \alpha_i を学習可能なパラメタとして扱う.

マックスアウトユニット

マックスアウトユニットはReLUをさらに一般化したものである.このユニットは活性化関数自を学習するものと考えられる.また,破壊的忘却に対抗する手段としても用いられる.正直よくわからん.

ロジスティックシグモイドとイドとハイパボリックタンジェント

0から離れると勾配に飽和が起きるため,現在の深層学習においてはあまり利用されていない.コスト関数で飽和を打ち消せる場合は使われる場合がある.一般的にハイパボリックタンジェントの方が訓練しやすい.

その他の隠れユニット

他にも多くの隠れユニットが存在するが,頻度は高くない.一般的なものを下記に記す.

  • 恒等関数
  • 同型基底関数
  • ソフトプラス
  • Hard tanh

アーキテクチャ設計

アーキテクチャ設計とはユニットの数やネットワーク全体の構造を意味する.

万能近似性と深さ

万能近似理論はネットワークが十分な数の隠れユニットを持つ場合,線形の出力層と押しつぶすことができる活性化関数を持つ隠れ層が少なくとも1つ含まれる順伝播型ネットワークはどんなバレル可測関数でも任意の制度で近似できると述べている.ただし,表現可能であることが保証されても学習可能であることは保証されていないことには注意が必要である.現在も万能近似理論の証明に関する研究は進んでいるが,ネットワークの深さや効率に関する疑問は解明されていない.

誤差逆伝播

長くなりそうなので,次に回します.できたらリンク貼ります.