SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
第5章 ニューラルネットワーク
            第一回
         2010/06/22~
序章
   3章・4章では、固定された基底関数の線形和で表される
    モデルを考えた。
   しかし、次元の呪いの問題から、実際問題への応用可
    能性は限られる。
   これらのモデルを大規模な問題へ適用するためには、
    基底関数をデータに適応させなければならない。
       SVM(7章)
           訓練データから基底関数群をはじめに定義。その一部を訓練中に
            選ぶ方法。
       多層パーセプトロン(本章)
           基底関数の数ははじめに固定。基底関数をパラメトリック形を用いて、
            訓練中に適応的なものに変化させる方法。
序章
   多層パーセプトロンはSVMに比べると、評価がより迅速
    に得られる。しかし、尤度関数はモデルパラメータの凸
    関数とならないという欠点がある。
   本章は、実用面で最も高く評価されている特別なニュー
    ラルネットワークのクラスである、多層パーセプトロンに
    話を限定する。
       パターン認識の分野では、フィードフォワードニューラルネット
        ワークと呼ばれる。多層パーセプトロンという呼び方は余り適
        切でないと書かれている。
本章の流れ
   はじめに、ネットワークモデルの関数の形、つまり基底関
    数のパラメータ表示の手法の議論。
   次に、最尤推定の枠組みでのパラメータ決定問題につ
    いての議論。この問題は、非線形最適化問題を含む。
    (誤差逆伝播法)
   ニューラルネットワークの正則化への様々なアプローチ
    とそれらの互いの関係の議論。
   その他ニューラルネットワークモデルへの拡張。
    (混合密度ネットワーク)
   ベイズ理論の視点からのニューラルネットワーク。
目次
   パラメータ表示の手法(5.1章)
       基底関数の形
   パラメータ決定の手法(5.2~5.3.3章)
       非線形最適化問題の最尤推定法
       誤差逆伝播法によるパラメータ決定手法
   誤差逆伝播(5.3.4~5.4章)
       ヤコビ行列・ヘッセ行列の評価
 ニューラルネットワークの正則化(5.5章)
 モデルの拡張(混合密度ネットワーク)(5.6章)
 ベイズ理論からのニューラルネットワーク(5.7章)
目次
   パラメータ表示の手法(5.1章)
       基底関数の形
   パラメータ決定の手法(5.2~5.3.3章)
       非線形最適化問題の最尤推定法
       誤差逆伝播法によるパラメータ決定手法
   誤差逆伝播(5.3.4~5.4章)
       ヤコビ行列・ヘッセ行列の評価
 ニューラルネットワークの正則化(5.5章)
 モデルの拡張(混合密度ネットワーク)(5.6章)
 ベイズ理論からのニューラルネットワーク(5.7章)
5.1 フィードフォワードネットワーク関数
                       M         
          y (x, w)  f   wφ (x) 
                             j j 
                        j 1     
   本章の目標は、非線形基底関数をパラメータ依存とし、
    このパラメータを訓練中に係数wとともに調整すること。
   パラメトリックな非線形基底関数の構成法はいろいろあ
    る。ニューラルネットワークでは、上式と同じ形の基底関
    数を用いる。

                          M               
       y (x, w,  i )  f   wφ (x,  i ) 
                                j j       
                           j 1           
5.1 フィードフォワードネットワーク関数
   まず、入力変数の重み付け線形和を作成
                  D

           a  w x w
                           (1)   入力変数   (1)
                                              j  1,2,...,M
             j             ji     i      j0
            活性    i 1   重みパラメータ        バイアスパラメータ



   活性を微分可能な非線形活性化関数h(・)で変換
                  z j  h(a j )
                 隠れユニット


   h(・)は、ロジスティックシグモイド関数
    tanh関数のようなシグモイド関数など
    が選ばれることが多い(3.6式)
5.1 フィードフォワードネットワーク関数
                       M

               a  w z  w
                                ( 2)   隠れユニット   ( 2)
                                                       k  1,2,...,K
                 k              kj      j       k0
            出力ユニット活性   j 1   重みパラメータ           バイアスパラメータ

   次に、隠れユニットの重み付け線形和から出力ユニット
    活性を計算
   最後に、出力ユニット活性は適当な活性化関数を用いて
    変換され、ネットワークの出力 yk となる
   活性化関数の選び方は、データの特性や目標変数の分布に
    依存
       標準的回帰問題: yk  ak
       2クラス分類問題: yk   ak 
       多クラス分類問題: ソフトマックス活性化関数
5.1 フィードフォワードネットワーク関数
   今までの議論を1つの式で表すと、
                      M ( 2)  D (1)                      
                       wkj h  w ji xi  w(j10)   wk2) 
       yk (x, w)                                     (
                                                          0 
                      j 1    i 1                       
       すなわち、ニューラルネットワークモデルとは、可変パラメータ
        のベクトル w で制御される、入力変数集合{xi}から出力変数
        集合{yk}への非線形関数
       出力変数の評価過程は、ネットワーク上の情報の順向き伝播
        (forward propagation)と解釈出来る
       各ノードの値は確率的でなく決定論的(8章)
         ⇒x,z,yはある1つの定数
5.1 フィードフォワードネットワーク関数
   バイアスパラメータは重みパラメータの集合の中に含めること
    が出来る        M   D          ( 2)           
           yk (x, w)     wkj h  w ji xi  
                         
                                            (1)
                                                 
                          j 0       i 0     
   ニューラルネットワークモデルは2段階の処理となる
   これが、多層パーセプトロン(MLP:multilayer perceptron)と呼
    ばれる所以
   隠れユニットにおいて連続な非線形性関数(シグモイド関数)
    を用いているため、パラメータに関して微分可能である
   この点が、単純なパーセプトロン(4.1.7節)との決定的な違い
5.1 フィードフォワードネットワーク関数
   すべての隠れユニットの活性化関数が線形
    ⇒隠れユニットを持たない等価なネットワークを作成出来る
     [h(x)=ax+bとして代入して考えてみると良い]

   隠れユニットの数<min(入力ユニットの数,出力ユニットの数)
    ⇒次元削減が発生するため、入力から出力への全ての線形
    変換を生成することは不可能

   もう1つのネットワーク構造の一般化:層を飛び越えた結合
    (skip-kayer connection)の導入
5.1 フィードフォワードネットワーク関数
   シグモイド関数が隠れユニットのネットワークでは、(有界な入
    力値を持つ)層を飛び越えた結合はいつでも近似可能

   ネットワークはスパースになりうる。一部の結合のみが存在す
    るネットワークを考えることも出来る
    ⇒5.5.6節 たたみ込みニューラルネットワーク
5.1 フィードフォワードネットワーク関数
   ネットワーク図は数学的な関数と直接対応しているので、より
    複雑なネットワーク図を考える事で、より一般的な写像に発
    展させることが出来る
   しかし、フィードフォワード(feed-forward)構造でなければなら
    ない(つまり、閉じた有向閉路があってはならない)

   NNは万能近似器(universal approximation)であるといわれる
       Ex.線形出力を持つ2層ネットワークは、十分な数の隠れユニットが
        あれば、コンパクトな定義域を持つどんな連続関数も任意の精度で
        一様に近似可能
   重要な問題:適切なパラメータをどのように見つけるか?
       最尤推定アプローチ(5.2節~)
       ベイズ推定アプローチ(5.7節)
図5.3 多層パーセプトロンの関数近似能力



                                                青:データ点
                                                赤:ネットワークの出力
                                                他:隠れユニットの出力

                                                隠れユニット
  y ( x)  x   2
                      y(x)  sin( x)            活性化関数
                                                    ⇒tanh

                                                出力ユニット
                                                活性化関数
                                                    ⇒線形




                                          0 ( x  0)
                                 H ( x)  
                                          1 ( x  0)

  y(x)  x         y (x) : ヘビィサイドステップ関数
図5.4 2クラス分類問題での隠れユニットの役割

               入力変数:2個
               隠れユニット:2個
               (活性化関数:tanh)
               出力変数:1個
               (活性化関数:ロジスティックスシグ
                 モイド関数)


               緑:最適な決定境界
               赤:ネットワーク出力の決定面
               青:隠れユニットのz=0.5の等高線
5.1.1 重み空間対称性
フィードフォーワードネットワークは、同じ入力から出力
への関数を表す重みベクトルwが複数選べる
       Ex.活性化関数tanhは奇関数なので、そのユニットへの入力に
        対する重みとバイアス全ての符号を反転させ、さらに出力の
        符号を反転させれば、元のネットワークと同一となる。
       M個の隠れユニットに対し、「符号反転」対称性はM個あるの
        で、任意の与えられた重みベクトルと等価な重みベクトルは全
        部で 2M 個

       隠れユニット同士の重みとバイアスを入れ替えることも出来る。
        交換対称性により、M !個の等価な重みベクトルが存在する。
       全部で M !2 M個の等価な重みベクトルが存在
目次
   パラメータ表示の手法(5.1章)
       基底関数の形
   パラメータ決定の手法(5.2~5.3.3章)
       非線形最適化問題の最尤推定法
       誤差逆伝播法によるパラメータ決定手法
   誤差逆伝播(5.3.4~5.4章)
       ヤコビ行列・ヘッセ行列の評価
 ニューラルネットワークの正則化(5.5章)
 モデルの拡張(混合密度ネットワーク)(5.6章)
 ベイズ理論からのニューラルネットワーク(5.7章)
5.2 ネットワーク訓練
   ニューラルネットワークのパラメータ決定問題を議論する
       パラメータ決定問題の最も単純なアプローチは、二乗和誤差
        関数の最小化
                     1 N
             E (w )   y (x n , w )  t n
                                           2
                                             入力ベクトル{xn}
                     2 n 1                  目標ベクトル{tn}

       だが、はじめにネットワーク出力を確率的に解釈することで
        ネットワークの訓練について一般的に議論することが出来る
        (1.5.4節:推論と決定)
       また、確率的解釈をする事によって、出力ユニットの非線形活
        性化関数の選択や誤差関数の選択にさらに明確な理由付け
        が可能になる
5.2 ネットワーク訓練
   回帰問題
       目標変数はニューラルネットワークの出力で与えられる平均
        を持つガウス分布に従うと仮定(より一般的な例は、5.6節)
                   p(t | x, w )   (t | y (x, w ),  1 ) 1つの目標変数:t
                                                     ガウスノイズの精度:β

       尤度関数                   N
            p (t | x, w,  )   p (t n | x n , w,  )   入力ベクトル{xn}
                                  n 1                   目標ベクトル{tn}
                                   βN                         N    N
              ln p(t | x, w,  )   { y (x n , w )  t n }  lnβ ln( 2 )
                                                            2
                                                                         π
                                   2 n 1                     2    2
       負の対数尤度を取ると、誤差関数が得られる
5.2 ネットワーク訓練
   ここでは最尤推定アプローチのみを考える
     (ベイズ理論アプローチは、5.7節)
   ニューラルネットワークの文献では、誤差関数の最小化に
    よってパラメータを求めることが多い
   まずは、最尤推定解wMLを求める。wに関する二乗和誤差関
    数の最小化は、定数部分を除けば尤度関数の最大化と等価
                  1 N
          E (w )   y (x n , w )  t n 
                                          2

                  2 n 1

   しかし、ネットワーク関数y (x n , w ) の非線形性のため誤差は非
    凸。現実には極大点が求まる(5.2.1節)
5.2 ネットワーク訓練
       wMLが求まれば、 βは負の対数尤度の最小化により求まる
                              N
                     1
                       
                         1
                              y (xn , w ML )  tn 2
                    βML N    n 1                        w ML
                                                            :wの最尤推定解


   目標変数が複数の場合
       x,wについての条件付き確率が独立で、ノイズ精度βが共通
        であると仮定(wMLの導出は、演習5.2)
               p(t | x, w )   (t | y (x, w ),  1I )
       ノイズ精度は以下の式で与えられる
                  1 N
              1
                       y (xn , w ML )  t n 2
             βML NK n 1
                                                          K:目標変数tの次元
5.2 ネットワーク訓練
   誤差関数と出力ユニットの活性化関数には自然な組み
    合わせがある(4.3.6節:正準連結関数)
       Ex.回帰問題:二乗和誤差
       活性化関数           誤差関数
           恒等写像          出力と正解との「誤差」
                          E
           y k  ak            yk  t k
                          ak
5.2 ネットワーク訓練
   2クラス分類問題
       クラスC1がt=1、クラスC2がt=0となる目標変数
       活性化関数は、0  y(x, w)  1 となるようにする
       4.3.6節より、活性化関数をロジスティックシグモイド関数とする
                                 1
               y   (a) 
                           1  exp( a )
       目標変数の条件付き分布は、以下のベルヌーイ分布で表す
        ことが出来る

              p(t | x, w )  y (x, w )t {1  y (x, w )}1t
5.2 ネットワーク訓練
       訓練集合が独立な観測値である場合、負の対数尤度で与え
        られる誤差関数は以下の式となる
                                   N
                 E (w )   t n ln yn  (1  t n ) ln(1  yn )
                                 n 1
                                                                      yn  y (x n , w )
       上式は、交差エントロピー誤差関数(cross-entropy error
        function)である
       今回のモデルでは、(ラベル付け誤差)=0を仮定(演習5.4)


   K個の異なる2クラス分類問題(演習5.5)
                                 K
              p(t | x, w )   yk (x, w )tk {1  yk (x, w )}1tk
                                 k 1
                        N    K
            E (w )   t nk ln ynk  (1  t nk ) ln(1  ynk )
                       n 1 k 1
                                                                    ynk  yk (x n , w )
5.2 ネットワーク訓練
   4章の線形クラス分類モデルでは、それぞれのクラス分類問
    題は独立に解く
   一方、ニューラルネットワークによる解は、
    ネットワークの第1層の重みパラメータが
    様々な出力で共有される
   第1層で非線形特徴抽出を実行していると
    みなせるため、異なる出力間で特徴を共有
    計算量の節約や汎化性能の向上が望める
5.2 ネットワーク訓練
   標準的な多クラス分類問題
       それぞれの入力がK個の排他的クラスの1つに割り当てられ
        ている。目標変数 t k  {0,1} は1-of-K表記で表す。
       誤差関数
                          N    K
               E (w )   t nk ln yk (x n , w )
                         n 1 k 1

       出力ユニットの活性化関数(4.3.4節に対応)
                            exp(ak (x, w))
               yk (x, w) 
          ソフトマックス関数         exp(a j (x, w))
                               j

                   s.t.0  yk  1, k yk  1
5.2 ネットワーク訓練
   yk ( x, w ) はすべてのak ( x, w ) に定数を加えても不変
   すべての ak ( x, w ) に対して同じ増分となるwの方向に対して、
    誤差関数は定数となる
   この退化を除くには、適当な正則化項を誤差関数に導入する

   誤差関数の特定の出力ユニットの活性に関する微分
             E
                  yk  t k
             ak
5.2 ネットワーク訓練
   まとめ
       出力ユニットの活性化関数と対応する誤差関数は、問題の形
        によって自然に選択される(4.3.6節:正準連結関数)
           Ex.回帰問題:線形出力関数/二乗和誤差
                                                       1 N
                                               E (w )   y (x n , w )  t n 
                                                                               2

                                                       2 n 1

           Ex.2クラス分類問題:ロジスティックシグモイド関数/交差エントロ
            ピー誤差関数                                    N

                 y   (a) 
                                   1       E (w )   t n ln yn  (1  t n ) ln(1  yn )
                             1  exp( a )           n 1



           Ex.他クラス分類問題:ソフトマックス関数/多クラス交差エントロ
            ピー誤差関数
5.2.1 パラメータ最適化
   選ばれた誤差関数 E (w )を最小化するwを見つけたい
         w  w  E  w T E (w )

       ここでE (w ) は誤差関数が最も変化する方向で、E(w)はw
        のなめらかで連続な関数なので、最小値は誤差関数の勾配
        がゼロになる点にある⇒E (w)  0:停留点

       誤差関数の重みパラメータとバイアスパラメータへの依存性
        は高い非線形性があるため、停留点は重み空間内に多数存
        在することが多い。(Ex. 5.1.1節:重み空間対称性)
                                 M !2 M
5.2.1 パラメータ最適化
   大域的最小点(global minimum):任意の重みベクトルに対す
    る誤差関数最小値に相当する極小点
   局所的最小点(local minumum):それ以外の極小点

   E (w)  0 を解析的に解くことは明らかにほぼ不可能
   数値的反復手順を用いる
                                          γ:反復ステップ数
            w ( 1)  w ( )  w ( )
                                                      ( )
   多くのアルゴリズムでは、重みベクトルの更新量w に誤差
    関数の勾配情報E (w )
                 を利用する
5.2.2 局所二次近似
   誤差関数の局所二次近似を考える
                            ~
     重み空間内のある点 w の周りの誤差関数のテイラー展開
                   ~ )  ( w  w )T b  1 ( w  w ) T H ( w  w )
       E (w )  E (w           ~                ~             ~
                                        2
     勾配の局所近似(上式をwで微分)
                                                          b  E |w  w
                                                                      ~


       E (w)  b  H(w  w)   ~
                                                             E
                                                (H ) ij 
      ~に近いwでは、このテイラー展開は                                    wi w j ~
     w                                                            w w

      誤差関数とその勾配をよく近似している
5.2.2 局所二次近似
       誤差関数の極小点         w の周りでの局所二次近似
                              1
           E ( w )  E ( w )  ( w  w  )T H ( w  w  )
                          

                              2
   幾何学的解釈
       ヘッセ行列Hの固有方程式を考える(付録C.33)
              Hu i λi u i s.t. uT u j  ij
                                 i
                    
       このとき、( w  w を固有ベクトルの線形和に展開できる
                      )
                         (w  w  )    i u i
                                       i

       この変換は原点を w  に平行移動し、各軸を固有ベクトルに
        合わせるように回転する座標変換とみなせる(付録C.39)
5.2.2 局所二次近似
       誤差関数は以下の形で書ける
                              1
             E (w )  E (w )  λiαi2
                         

                              2 i

   正定値
                  v    v T Hv  0
                    v   ci u i
                          i

                  v T Hv   ci2u i
                              i
       したがって、ヘッセ行列Hは、全ての固有値が正の時、またそ
        の時に限り正定値となる
5.2.2 局所二次近似
   誤差関数Eの等高線は、先程の座標変換により原点を中心と
    する楕円となる

   v   v T Hv  0 を満たすとき、極小点となる
5.2.3 勾配情報の利用
   誤差逆伝播法を用いれば、効率的に誤差関数の勾配を評価
    出来る(5.3節)
                 ~ )  ( w  w )T b  1 ( w  w ) T H ( w  w )
     E (w )  E (w           ~                ~             ~
                                      2
                                                        b  E |w  w
                                                                    ~
   bとHには、W(W+3)/2個の独立な要素
   W:wの次元                               E
                    O (W 2 ) (H ) ij 
   したがって、解を求めるには                      wi w の独
                                              j w w
                                                   ~
    立な要素の情報が必要
   さらに、関数の評価に O(W ) ステップ必要
   極小値を見つけるために必要な計算量は、このアプローチで
    は、
                    O(W 2 )  O(W )  O(W 3 )
5.2.3 勾配情報の利用
   勾配情報を利用するアルゴリズムと比較
   E (w) の評価ごとにW個の情報が得られ、O(W )
                               回の交配
    の評価で関数の極小点を見つけることが期待できる

   誤差逆伝播を利用すれば、各勾配の評価は O(W ) ステップ、
    極小点はO (W 2 ) ステップで見つけられる
5.2.4 勾配降下最適化
   勾配情報を用いた最も簡単なアプローチ
          w ( 1)  w ( )  E (w ( ) )       0
                                              学習率パラメータ

   ここで誤差関数E(w)は、それぞれの反復ステップにおいて、
    すべての訓練集合で処理して計算している
   すべてのデータ集合を一度に使うテクニック:バッチ訓練法
   各ステップで誤差関数の減尐率が最大となる方向に重みベク
    トルを動かす:勾配降下法/最急降下法
   実際には性能が悪い
   十分に良い極小点を見つけるには、ランダムに初期値を設定
    し、複数回アルゴリズムを実行する必要がある

   バッチ最適化手法:共役勾配法/準ニュートン法
5.2.4 勾配降下最適化
   勾配降下法のオンライン版
       独立に得られた観測値に対する最尤法に基づく誤差関数は、
        各データ点を表す項の和
                               N
                    E ( w )   En ( w )
                              n 1

              w ( 1)  w ( )  En (w ( ) )

       重みベクトルの更新を1回ごとに1つのデータ点に基づいて作
        成する手法:逐次的勾配降下法/確率的勾配降下法
       データの冗長度を効率的に扱うことが可能
       局所的極小値を回避出来る可能性がある
目次
   パラメータ表示の手法(5.1章)
       基底関数の形
   パラメータ決定の手法(5.2~5.3.3章)
       非線形最適化問題の最尤推定法
       誤差逆伝播法によるパラメータ決定手法
   誤差逆伝播(5.3.4~5.4章)
       ヤコビ行列・ヘッセ行列の評価
 ニューラルネットワークの正則化(5.5章)
 モデルの拡張(混合密度ネットワーク)(5.6章)
 ベイズ理論からのニューラルネットワーク(5.7章)
5.3 誤差逆伝播(error backpropagation)
   本節の目標
       フィードフォワードNNについて、誤差関数E(w)の勾配を効率良く評
        価するテクニックを見つける
   誤差逆伝播
       順向きと逆向きの交互に情報がネットワークを流れる局所的なメッ
        セージパッシングスキームを用いてE(w)の勾配評価を実現


   多くの訓練アルゴリズムは2つのステージに分けられる
       微分評価のためのネットワーク上の誤差逆伝播のステージ
       計算された微分を用いた重み調節のステージ
   逆伝播では、微分評価の計算論的に効率的な方法を提供し
    ている点で貢献が大きい(第一ステージ)
5.3.1 誤差関数微分の評価
   多くの誤差関数は、訓練集合の各データに対応する誤差項
    の和で表される     N
             E ( w )   En ( w )
                      n 1

   上の誤差関数の1つの項に対する勾配 En (w )を評価する問
    題を考える
   バッチ手法の場合には、訓練集合全体についての和をとる
5.3.1 誤差関数微分の評価
   単純な線形モデル
                yk   wki xi       {yk}: 出力
                                    {xi}: 入力変数
                       i


   誤差関数が以下の式で与えられる場合を考える
              En    ynk  t nk 
                  1                2      {tnk}:目標変数
                                          ynk  yk ( xn , w)
                  2 k
   この時、誤差関数の重みパラメータwkiに関する勾配は以下の
    式となる。
             En
                               
                    ynj  t nj xni
             w ji
   この式は、出力側の「誤差信号」 y nj  t nj
                              と入力側の「変数」 xni
                                        の
    積という局所的な計算と解釈出来る
5.3.1 誤差関数微分の評価
        ロジスティックシグモイド関数と交差エントロピー誤差関数/
         ソフトマックス活性化関数と交差エントロピー誤差関数の場合
         も類似の式が導出される(4.3.2節)


    より複雑な多層フィードフォワードNNへ拡張
        一般のフィードフォワードNNでは、それぞれのユニットは下の
         形の入力の重み付き和を計算する
i:ユニットjへ入るユニット
             a j   w ji zi   {zi} : ユニットjに結合があるユニットの出力
                    i          {wji}: ユニットiからjへの結合重み
              z j  h(a j )    h(・) : 非線形活性化関数


        バイアスは明示的に扱う必要はない(5.1節)
5.3.1 誤差関数微分の評価
   順向き伝播(forward propagation)
       訓練集合に対し、先程のフィードフォワードNNを適用すること
        でネットワークのすべてのユニットの出力を計算すること

       誤差関数Enの重みwjiに関する微分の評価を考える
           以下、添字nを省略する

                          En En a j
                                          (偏微分の連鎖法則)
                          w ji a j w ji
                 En           a j               En
            j         (誤差)            zi より、           j zi
                 a j          w ji              w ji
5.3.1 誤差関数微分の評価
   右式から、ある重みの出力側のユニットのδと、 En
                                   j zi
    入力側のユニットのzの値を掛け合わせると、  w ji
    必要な微分が得られることが分かる
   これは単純な線形モデルの場合と同様の結論(5.47)

   各隠れユニット及び出力ユニットのδを評価する
   5.2節より、正準連結関数を活性化関数に用いた出力ユニット
    では、δの値は、右の式になる。   En
                            k  yk  t k
                      ak

   隠れユニットのδは、下の式で評価出来る
                       E     E a
                   j  n  n k
                       a j k a k a j

             ユニットj→ユニットkの結合が存在する全てのkについて総和をとる
5.3.1 誤差関数微分の評価
        En ak
  j 
      k a k a j

                        
            wkih(ai ) 
      k  i           
      k        a j
      h(a j ) wkj k   (逆伝播公式)
               k

逆向き伝播では、wkjの最初の添字について和を取ることに注意。

順向き伝播では、2番目の添字について和を取った。

出力ユニットのδの値は(5.54)からすでにわかっているので、再帰的に全てのδ
が評価出来る。
5.3.1 誤差関数微分の評価
    誤差逆伝播アルゴリズムの手順まとめ
1.   入力ベクトルxnをネットワークにいれ,下式を用いてネットワーク上
     を順伝播させ,すべての隠れユニットと出力ユニットの出力を算出
               a j   w ji zi   (5.48)           z j  h(a j )   (5.49)
                      i
2.   (5.54)を用いてすべての出力ユニットのδkを評価
                            k  yk  t k     (5.54)

3.   (5.56)を用いてδを逆伝播させ,ネットワークの全ての隠れユニット
     のδjを得る
                    j  h' (a j ) wkj k (5.56)
                                          k

4.   (5.53)を用いて必要な微分を評価する
                    En
                            j zi            (5.53)
                    w ji
5.3.1 誤差関数微分の評価
   バッチ手法については、全体の誤差Eの微分は誤差逆伝播の
    ステップを訓練集合1つ1つについて繰り返し、総和を取るこ
    とで得られる
              E      En
                   
             w ji  n w ji



   今回の誤差逆伝播の導出では、全てのユニットが同じ活性化
    関数h(・)を持つことを暗に仮定していた。しかし、個々のユ
    ニットが異なる活性化関数を持つ場合に拡張するのは簡単
5.3.2 逆伝播手続きの簡単な例
     2層ネットワーク
     二乗和誤差関数
            1 K
        En    ynk  t nk 
                             2

            2 k 1
yk:特定の入力パターンxnに対する出力ユニットkの出力
tk:xnに対応する目標値

     出力ユニットは線形活性化関数
          y k  ak

     隠れユニットはシグモイド活性化関数
                          ea  ea
         h(a )  tanh(a)  a    a   h(a)  1  h(a) 2
                          e e
5.3.2 逆伝播手続きの簡単な例
   訓練集合のそれぞれのパターンに順向き伝播を実行
                   D
           a j   w(ji1) xi   (隠れユニット活性の算出)
                  i 0


           z j  tanh( a j )   (隠れユニットパラメータの算出)

                  M
           yk   wkj2 ) z j
                   (
                               (出力ユニットの出力の算出)
                  j 0



            k  yk  t k      (誤差δの算出)
5.3.2 逆伝播手続きの簡単な例
   誤差を逆伝播させる

            j  1  z        w 
                               K
                          2
                          j          kj k
                              k 1



   各隠れユニットのδを得たら、重みの微分を評価する
           E n
                   j xi
           w ji
             (1)



            En
                    k z j
           wkj
              ( 2)
5.3.3 逆伝播の効率
   ネットワークの重みとバイアスの総数Wに対する、誤差
    関数の微分評価に必要な計算量を測ってみる
       1入力パターンに対し、誤差関数の評価はO(W)必要
           非常にスパースなネットワークの場合を除き、重み数がユニット数よ
            りも遥かに多いのが一般的なため、順向き伝播の下式(各ユニット
            の活性の評価)の計算がボトルネックとなる。       D
                                     a  w x                 j   
                                                                 i 0
                                                                        ji i



       逆伝播にAlternativeな手法として、有限幅の差分近似の利用
        が考えられる。これはそれぞれの重みに摂動を加えて差を計
        算することで、誤差関数の微分を近似する
                 En En ( w ji   )  En ( w ji )
                                                   O( )     1
                 w ji            
5.3.3 逆伝播の効率
   εの値を小さくすること、中心差分を用いることで劇的に精度を
    向上させることが出来る
         En En ( w ji   )  En ( w ji   )
                                               O( 2 )
         w ji              2

   数値微分手法では、重みがW個ある時にそれぞれ個別に摂
    動を与える必要があるため、O(W)ステップ必要。全体として
    は、O (W 2の計算量となる
            )

   実用上は、逆伝播の頑健性のチェックのために、中心差分の
    手法が使用されることが多い。
目次
   パラメータ表示の手法(5.1章)
       基底関数の形
   パラメータ決定の手法(5.2~5.3.3章)
       非線形最適化問題の最尤推定法
       誤差逆伝播法によるパラメータ決定手法
   誤差逆伝播(5.3.4~5.4章)
       ヤコビ行列・ヘッセ行列の評価
 ニューラルネットワークの正則化(5.5章)
 モデルの拡張(混合密度ネットワーク)(5.6章)
 ベイズ理論からのニューラルネットワーク(5.7章)
5.3.4 ヤコビ行列(Jacobian matrix)
   逆伝播のテクニックは、他の微分の計算にも応用可能
       ヤコビ行列:各要素がネットワーク出力の入力に関する微分で
        与えられる行列
                    y1    y1 
                               
                    x1    xM 
                                   {yk}: ネットワークの出力
                J          {xi}: ネットワークの入力
                    y N   y N 
                    x   
                            xM 
                       1        
       ヤコビ行列は、異なるモジュールで構成されたシステムにお
        いて便利な役割を果たす
       それぞれのモジュールの関数は固定でも適応可能でもよく、
        微分可能であれば線形でも非線形でも良い
5.3.4 ヤコビ行列(Jacobian matrix)
    右図のモジュール型について考える
    パラメータwに関して誤差関数を最小化
     したい
    この時、誤差関数の微分は、
            E       E yk z j
               
            w k , j yk z j w

    真ん中の項に、赤色のモジュールのヤコビ行列が現れる
                 y1      y1    
                                
                 z1      z M   
             J               
                 y N     y N   
                 z             
                           z M
                 1               
5.3.4 ヤコビ行列(Jacobian matrix)
    ヤコビ行列は、入力に任意の既知の誤差xi がある場合、訓
     練済みのネットワーク上にxi を伝播させて、出力誤差への寄
     与 y k を評価出来る
                          yk
                  yk       xi xi が非常に小
                        i xi

    一般に訓練済みのNNで表現されるネットワーク写像は非線
     形になる
    したがって、ヤコビ行列の各成分は入力ベクトルに依存する
    大きく摂動させたい場合は、ヤコビ行列を再計算する必要が
     ある
                                       y1      y1    
                                                      
                                       x1      xM    
                                   J               
                                       y N     y N   
                                       x             
                                                 xM
                                       1               
5.3.4 ヤコビ行列(Jacobian matrix)
    ヤコビ行列は逆伝播の手続きを用いて評価可能
                 yk    yk a j          yk
          J ki                  w ji
                 xi  j a j xi   j      a j
    上式の和は、ユニットi→ユニットjの結合が存在する全てのjに
     ついて取る

    次に、再帰的逆伝播公式を書き下す
          yk     yk al                  yk
                          h(a j ) wlj
          a j  l al a j           l     al
    上式の和は、ユニットj→ユニットlの結合が存在する全てのlに
     ついて取る
5.3.4 ヤコビ行列(Jacobian matrix)
    出力ユニット
        Ex.各出力ユニットの活性化関数がシグモイド関数
               yk
                     kl ( al )
               al
        Ex.各出力ユニットの活性化関数がソフトマックス関数
               yk
                     kl yk  yk yl  kl :クロネッカーのデルタ関数
               al


    ヤコビ行列は、順向き伝播の定式化を用いて評価することも
     可能(演習5.15)
    数値微分を用いてチェック可能だが、入力Dに対して2D回の
     順向き伝播が必要
5.4 ヘッセ行列(Hesse matrix)
    逆伝播は、誤差の2階微分を評価するのに用いることも可能
                2E
              w ji wlk

    ここで、全ての重み/バイアスパラメータを1つのベクトルwの
     要素wiと考えると、2階微分がヘッセ行列Hで表せる
                2E         2E     
                                   
                w1w1    w1wW    
        H ij                    
                2E         2E     
                                   
                wW w1   wW wW   
                                    
5.4 ヘッセ行列(Hesse matrix)
    ヘッセ行列は、NNの様々な側面で重要な役割を果たす

    ヘッセ行列の評価には様々な近似スキームが用いられてきた
    逆伝播を拡張することで直接計算可能

    ネットワーク内にW個のパラメータがあれば、ヘッセ行列の評
                       2
     価に必要な計算量はO (W ) 以上
    計算量が O (W 2 ) となる効率的手法が存在する
5.4.1 対角近似
   ヘッセ行列の応用上、逆行列が必要になることも多い
   逆行列を求めるため、ヘッセ行列を対角近似する
   誤差関数をすべての入力パターンに対する誤差の総和と置く
                            N
                       E   En
                           n 1
   このとき、
            2 En        En   2 En 2
                            zi      z
           w ji w ji
                2         a     a 2 i
                          j         j


  2 En                           2 En                    En
         h(a j )  wkj wk j
                  2
                                           h(a j ) wkj
  a j2
                    k k        ak ak             k     ak
5.4.1 対角近似
       2階微分の非対角項を無視すれば、
          2 En                   2 En                  En
                 h(a j )  wkj
                          2   2
                                         h(a j ) wkj
          a j2
                            k     ak 2
                                                   k     ak
       この近似は対角項のみを評価すればよいので、必要な計算
        量はO(W)


   対角近似の主要な問題点
       実際のヘッセ行列は極端に非対角であることが多い
       したがって、この近似を使うのは注意が必要
5.4.2 外積による近似
   NNの回帰問題への応用
       二乗和誤差関数を用いるのが一般的
                    1 N
                 E   ( yn  t n ) 2
                    2 n 1
       この時、ヘッセ行列は以下の形で書ける
                          N               N
             H   E   yn (yn )   ( yn  t n ) yn
                                     T

                         n 1            n 1

       二乗和誤差を最小化する最適な関数は、目標データの条件
        付き平均(1.5.5節)
       よって、( yn  t n ) という値は平均ゼロの確率変数
        y n と ( y n  t n )が無相関ならば、上式の第二項がゼロに平均
        化されることが期待できる(演習5.17)
5.4.2 外積による近似
            N                 N
        H   yn (yn )   b nbT
                          T          (Levenberg-Marquardt近似)
            n 1
                                 n
                              n 1
                                     (外積による近似)

       ヘッセ行列の外積近似にはO(W)ステップで評価可能
       この近似は適切に訓練されたネットワークに対してだけ成り
        立つことに注意            yn  E[t | xn ]


   ロジスティックシグモイド関数(演習5.19)
                   N
          H   yn (1  yn )b nbT
                                n
                   n 1


   ソフトマックス関数(演習5.20)
5.4.3 ヘッセ行列の逆行列
   外積による近似を用いると、ヘッセ行列の逆行列を近似する
    ための計算上効率的な手続きを導出可能
   ヘッセ行列は以下の式で近似出来る
            N            N
     H N   b nb    w an ( w an )T
                    T
                    n
           n 1          n 1

    w a n :出力ユニットの出力勾配へのデータ点nからの寄与


   逐次的にヘッセ行列の逆行列を構成する
   L個のデータ点を用いて、ヘッセ行列の逆行列がえられている
    と仮定する
      H L 1  H L  b L 1bT 1
                            L
5.4.3 ヘッセ行列の逆行列
   Woodbury恒等式(付録C.7)を利用すると、
            
     H 11  H L  b L1bT 1
       L                L       
                                 1




          H    1
                     
                       H   1
                            L     b
                          b L1 T 1H 1
                                   L    L   
                       1  bT 1H 1b L1
                L
                            L     L


   L+1=Nとなるまで繰り返す
   行列H0の初期値は、αを小さな定数としてαIに選ぶ       N

    その結果、このアルゴリズムは、 I  H N  I   b nb n の逆行
                                        T

                                   n 1
    列を求めることになる

   ヘッセ行列は、準ニュートン非線形最適化アルゴリズムなどで
    間接的に計算できることもある
5.4.4 有限幅の差分による近似
   有限幅の差分近似を用いて、誤差関数の2階微分を求めるこ
    とも出来る
        2E       1
                           
                 2 E ( w ji   , wlk   )  E ( w ji   , wlk   )
      w ji wlk 4
        E ( w ji   , wlk   )  E ( w ji   , wlk   ) O ( 2 )

   ヘッセ行列にはW^2個の要素が存在
   要素評価には、O(W)の計算量が必要な順向き伝播が4回
                                3
   したがって、このアプローチでのヘッセ行列評価は O (W )

   実用上は、逆伝播法のソフトウェア実装のチェックにおいて、
    非常に便利
5.4.4 有限幅の差分による近似
   数値微分をより効率的に行うには、誤差関数の1階微分を逆
    伝播で先に計算し、この結果に中心差分を応用すれば良い
        2E       1  E
                                          E              
                                                           
                          ( wlk   )        ( wlk   )  O( 2 )
      w ji wlk 2  w ji
                                         w ji            
                                                           
   勾配の評価はO(W)ステップ(5.3.3節)
   摂動させる重みもW個
   したがって、ヘッセ行列は O (W 2 ) で評価出来る
5.4.5 ヘッセ行列の厳密な評価
   今までは、ヘッセ行列やその逆行列の様々な近似スキームを
    考えてきた

   一方、逆伝播のテクニックを拡張すれば、任意のフィード
    フォーワード構造NNのヘッセ行列を厳密に評価出来る
   この手法は、どんな微分可能な誤差関数にも、任意の微分可
    能な活性化関数を持つどんなネットワークにも適用出来る
                    2
   計算に必要なステップ数はO (W )
5.4.5 ヘッセ行列の厳密な評価
   2層の重みを持つNNの場合
             E                       2 En             i,i’:入力ユニット
         k  n          M kk                         j,j’:隠れユニット
             ak                    ak ak            k,k’:出力ユニット
       微分のチェーンルールを用いて、このネットワークのヘッセ行
        列は以下のように考えることが出来る(5.3.1-2節の応用)
       両方の重みが第二層
                      2 En          En ak  
                                  ( 2)               
                   wkj wk j wkj  k
                     ( 2)   ( 2)         a  w( 2) 
                                                 k j 

                                     ak   En 
                                   ( 2)            
                                                     a z j 
                                    wkj ak  k            
                                   z j z j M kk 
                                                                  z j  h( a j ) :ユニットjの出力
5.4.5 ヘッセ行列の厳密な評価
   両方の重みが第一層
       以下のチェーンルールから、導くことが出来る
                   a j 
                   (1)
            w ji
              (1)
                   w ji a j
                        z j   ak 
                  xi       
                        a j k z j ak
                                          
                  xi h(a j ) wkj2 )
                                 (

                               k         ak

   重みが1つの層に1つずつある場合も同様
   バイアス項や層を飛び越えた結合を含めた場合も、上式の
    チェーンルールの形を変化させるだけで容易に拡張可能
5.4.6 ヘッセ行列の積の高速な計算
   多くの場合、ヘッセ行列Hそのものではなく、あるベクトルvと
    の積が知りたい
                   2
   ヘッセ行列の評価には O (W )の計算量と記憶容量が必要
          T
   一方、直接v H O(W )
            を    で評価するアプローチが存在する
      v T H  v T(E )  R{E}   v Tを R{}
                                           と置く

E は順向き伝播/逆伝播の方程式から得られる(5.3.1節)
 R{} の定義から、R{w}  v
5.4.6 ヘッセ行列の積の高速な計算
   2層NN(線形出力ユニット/二乗和誤差関数)
       順向き伝播方程式にR{・}を作用させる
            a j   w(ji1) xi                          R{a j }   v ji xi
                     i                                             i

             z j  h( a j )                            R{z j }  h(a j ) R{a j }
             yk   wkj2 ) z j
                     (
                                                       R{ yk }   wkj2 ) R{z j }   v jk z j
                                                                    (

                     j                                             j                 j

       逆伝播の式にもR{・}を作用させる
 k  yk  t k
 j  h' (a j ) wkj k
                 k


                              R{ k }  R{ yk }
                              R{ j }  R{h(a j )} wkj k  h(a j ) R{wkj } k  h(a j ) wkj R{ k }
                                                   k                     k                           k

                                      h(a j ) R{a j } wkj k  h(a j ) vkj k  h(a j ) wkj R{ k }
                                                        k                    k                   k
5.4.6 ヘッセ行列の積の高速な計算
   最後に、誤差の1階微分の方程式にR{・}を作用させる
       E                  E 
                                 
              k z j   R  ( 2)   R{ k }z j  k R{z j }
      wkj
        ( 2)
                           wkj 
                                 
       E                  E 
                                 
              j xi    R  (1)   R{ j }x i
      w ji
        (1)
                           w ji 
                                 

   隠れユニットの活性や出力・誤差、出力ユニットの出力や誤差
                                   T
    にR{・}を作用させた変数を導くことで、 v H         を求めることが出
    来る
   v={0,0,...,1,...,0}のベクトルを用いてこのテクニックを使用すれ
    ば、完全なヘッセ行列を評価することも出来る

Mais conteúdo relacionado

Mais procurados

PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじsleepy_yoshi
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシンYuta Sugii
 
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」Keisuke Sugawara
 
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process ModelsDeep Learning JP
 
PRML輪読#7
PRML輪読#7PRML輪読#7
PRML輪読#7matsuolab
 
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learningベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learningssuserca2822
 
2014.02.20_5章ニューラルネットワーク
2014.02.20_5章ニューラルネットワーク2014.02.20_5章ニューラルネットワーク
2014.02.20_5章ニューラルネットワークTakeshi Sakaki
 
PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6禎晃 山崎
 
Prml3.5 エビデンス近似〜
Prml3.5 エビデンス近似〜Prml3.5 エビデンス近似〜
Prml3.5 エビデンス近似〜Yuki Matsubara
 
PRML輪読#4
PRML輪読#4PRML輪読#4
PRML輪読#4matsuolab
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシンShinya Shimizu
 
PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章Takushi Miki
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半Ohsawa Goodfellow
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11matsuolab
 
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)Ryosuke Sasaki
 
Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会Taikai Takeda
 
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワークPRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワークKokiTakamiya
 

Mais procurados (20)

PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじ
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン
 
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
 
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
 
PRML輪読#7
PRML輪読#7PRML輪読#7
PRML輪読#7
 
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learningベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
 
2014.02.20_5章ニューラルネットワーク
2014.02.20_5章ニューラルネットワーク2014.02.20_5章ニューラルネットワーク
2014.02.20_5章ニューラルネットワーク
 
PRML 第4章
PRML 第4章PRML 第4章
PRML 第4章
 
Prml 3 3.3
Prml 3 3.3Prml 3 3.3
Prml 3 3.3
 
PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6
 
Prml3.5 エビデンス近似〜
Prml3.5 エビデンス近似〜Prml3.5 エビデンス近似〜
Prml3.5 エビデンス近似〜
 
PRML輪読#4
PRML輪読#4PRML輪読#4
PRML輪読#4
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11
 
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
 
Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会
 
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワークPRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
 
PRML chapter7
PRML chapter7PRML chapter7
PRML chapter7
 

Semelhante a PRML5

パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)Yukara Ikemiya
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理Ryo Nakamura
 
PRML Chapter 5 (5.0-5.4)
PRML Chapter 5 (5.0-5.4)PRML Chapter 5 (5.0-5.4)
PRML Chapter 5 (5.0-5.4)Shogo Nakamura
 
Prml5 6
Prml5 6Prml5 6
Prml5 6K5_sem
 
Building High-level Features Using Large Scale Unsupervised Learning
Building High-level Features Using Large Scale Unsupervised LearningBuilding High-level Features Using Large Scale Unsupervised Learning
Building High-level Features Using Large Scale Unsupervised LearningTakuya Minagawa
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装するShuhei Iitsuka
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 
深層学習 Day1レポート
深層学習 Day1レポート深層学習 Day1レポート
深層学習 Day1レポートtaishimotoda
 
深層学習入門 スライド
深層学習入門 スライド  深層学習入門 スライド
深層学習入門 スライド swamp Sawa
 
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)Itaru Otomaru
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングMaruyama Tetsutaro
 
Nmp for quantum_chemistry
Nmp for  quantum_chemistryNmp for  quantum_chemistry
Nmp for quantum_chemistryshima o
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1hirokazutanaka
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4Takeshi Sakaki
 
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会Shotaro Sano
 
TokyoWebmining統計学部 第1回
TokyoWebmining統計学部 第1回TokyoWebmining統計学部 第1回
TokyoWebmining統計学部 第1回Issei Kurahashi
 

Semelhante a PRML5 (20)

パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
PRML chapter5
PRML chapter5PRML chapter5
PRML chapter5
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 
PRML Chapter 5 (5.0-5.4)
PRML Chapter 5 (5.0-5.4)PRML Chapter 5 (5.0-5.4)
PRML Chapter 5 (5.0-5.4)
 
PRML_from5.1to5.3.1
PRML_from5.1to5.3.1PRML_from5.1to5.3.1
PRML_from5.1to5.3.1
 
Prml5 6
Prml5 6Prml5 6
Prml5 6
 
Building High-level Features Using Large Scale Unsupervised Learning
Building High-level Features Using Large Scale Unsupervised LearningBuilding High-level Features Using Large Scale Unsupervised Learning
Building High-level Features Using Large Scale Unsupervised Learning
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装する
 
PRML Chapter5.2
PRML Chapter5.2PRML Chapter5.2
PRML Chapter5.2
 
Re revenge chap03-1
Re revenge chap03-1Re revenge chap03-1
Re revenge chap03-1
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
深層学習 Day1レポート
深層学習 Day1レポート深層学習 Day1レポート
深層学習 Day1レポート
 
深層学習入門 スライド
深層学習入門 スライド  深層学習入門 スライド
深層学習入門 スライド
 
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリング
 
Nmp for quantum_chemistry
Nmp for  quantum_chemistryNmp for  quantum_chemistry
Nmp for quantum_chemistry
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
 
TokyoWebmining統計学部 第1回
TokyoWebmining統計学部 第1回TokyoWebmining統計学部 第1回
TokyoWebmining統計学部 第1回
 

Mais de Hidekazu Oiwa

NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告Hidekazu Oiwa
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来Hidekazu Oiwa
 
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationHidekazu Oiwa
 
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
Incentive Compatible Regression Learning (Mathematical Informatics Reading)Incentive Compatible Regression Learning (Mathematical Informatics Reading)
Incentive Compatible Regression Learning (Mathematical Informatics Reading)Hidekazu Oiwa
 
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)Hidekazu Oiwa
 

Mais de Hidekazu Oiwa (12)

NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
 
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
 
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
Incentive Compatible Regression Learning (Mathematical Informatics Reading)Incentive Compatible Regression Learning (Mathematical Informatics Reading)
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
 
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)
 
FOBOS
FOBOSFOBOS
FOBOS
 
OnlineClassifiers
OnlineClassifiersOnlineClassifiers
OnlineClassifiers
 
Prml9
Prml9Prml9
Prml9
 
IBMModel2
IBMModel2IBMModel2
IBMModel2
 
Pfi last seminar
Pfi last seminarPfi last seminar
Pfi last seminar
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
Arow
ArowArow
Arow
 

Último

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Último (10)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

PRML5

  • 2. 序章  3章・4章では、固定された基底関数の線形和で表される モデルを考えた。  しかし、次元の呪いの問題から、実際問題への応用可 能性は限られる。  これらのモデルを大規模な問題へ適用するためには、 基底関数をデータに適応させなければならない。  SVM(7章)  訓練データから基底関数群をはじめに定義。その一部を訓練中に 選ぶ方法。  多層パーセプトロン(本章)  基底関数の数ははじめに固定。基底関数をパラメトリック形を用いて、 訓練中に適応的なものに変化させる方法。
  • 3. 序章  多層パーセプトロンはSVMに比べると、評価がより迅速 に得られる。しかし、尤度関数はモデルパラメータの凸 関数とならないという欠点がある。  本章は、実用面で最も高く評価されている特別なニュー ラルネットワークのクラスである、多層パーセプトロンに 話を限定する。  パターン認識の分野では、フィードフォワードニューラルネット ワークと呼ばれる。多層パーセプトロンという呼び方は余り適 切でないと書かれている。
  • 4. 本章の流れ  はじめに、ネットワークモデルの関数の形、つまり基底関 数のパラメータ表示の手法の議論。  次に、最尤推定の枠組みでのパラメータ決定問題につ いての議論。この問題は、非線形最適化問題を含む。 (誤差逆伝播法)  ニューラルネットワークの正則化への様々なアプローチ とそれらの互いの関係の議論。  その他ニューラルネットワークモデルへの拡張。 (混合密度ネットワーク)  ベイズ理論の視点からのニューラルネットワーク。
  • 5. 目次  パラメータ表示の手法(5.1章)  基底関数の形  パラメータ決定の手法(5.2~5.3.3章)  非線形最適化問題の最尤推定法  誤差逆伝播法によるパラメータ決定手法  誤差逆伝播(5.3.4~5.4章)  ヤコビ行列・ヘッセ行列の評価  ニューラルネットワークの正則化(5.5章)  モデルの拡張(混合密度ネットワーク)(5.6章)  ベイズ理論からのニューラルネットワーク(5.7章)
  • 6. 目次  パラメータ表示の手法(5.1章)  基底関数の形  パラメータ決定の手法(5.2~5.3.3章)  非線形最適化問題の最尤推定法  誤差逆伝播法によるパラメータ決定手法  誤差逆伝播(5.3.4~5.4章)  ヤコビ行列・ヘッセ行列の評価  ニューラルネットワークの正則化(5.5章)  モデルの拡張(混合密度ネットワーク)(5.6章)  ベイズ理論からのニューラルネットワーク(5.7章)
  • 7. 5.1 フィードフォワードネットワーク関数 M  y (x, w)  f   wφ (x)   j j   j 1   本章の目標は、非線形基底関数をパラメータ依存とし、 このパラメータを訓練中に係数wとともに調整すること。  パラメトリックな非線形基底関数の構成法はいろいろあ る。ニューラルネットワークでは、上式と同じ形の基底関 数を用いる。 M  y (x, w,  i )  f   wφ (x,  i )   j j   j 1 
  • 8. 5.1 フィードフォワードネットワーク関数  まず、入力変数の重み付け線形和を作成 D a  w x w (1) 入力変数 (1) j  1,2,...,M j ji i j0 活性 i 1 重みパラメータ バイアスパラメータ  活性を微分可能な非線形活性化関数h(・)で変換 z j  h(a j ) 隠れユニット  h(・)は、ロジスティックシグモイド関数 tanh関数のようなシグモイド関数など が選ばれることが多い(3.6式)
  • 9. 5.1 フィードフォワードネットワーク関数 M a  w z  w ( 2) 隠れユニット ( 2) k  1,2,...,K k kj j k0 出力ユニット活性 j 1 重みパラメータ バイアスパラメータ  次に、隠れユニットの重み付け線形和から出力ユニット 活性を計算  最後に、出力ユニット活性は適当な活性化関数を用いて 変換され、ネットワークの出力 yk となる  活性化関数の選び方は、データの特性や目標変数の分布に 依存  標準的回帰問題: yk  ak  2クラス分類問題: yk   ak   多クラス分類問題: ソフトマックス活性化関数
  • 10. 5.1 フィードフォワードネットワーク関数  今までの議論を1つの式で表すと、  M ( 2)  D (1)     wkj h  w ji xi  w(j10)   wk2)  yk (x, w)    ( 0   j 1  i 1    すなわち、ニューラルネットワークモデルとは、可変パラメータ のベクトル w で制御される、入力変数集合{xi}から出力変数 集合{yk}への非線形関数  出力変数の評価過程は、ネットワーク上の情報の順向き伝播 (forward propagation)と解釈出来る  各ノードの値は確率的でなく決定論的(8章) ⇒x,z,yはある1つの定数
  • 11. 5.1 フィードフォワードネットワーク関数  バイアスパラメータは重みパラメータの集合の中に含めること が出来る M D  ( 2)   yk (x, w)     wkj h  w ji xi    (1)   j 0  i 0   ニューラルネットワークモデルは2段階の処理となる  これが、多層パーセプトロン(MLP:multilayer perceptron)と呼 ばれる所以  隠れユニットにおいて連続な非線形性関数(シグモイド関数) を用いているため、パラメータに関して微分可能である  この点が、単純なパーセプトロン(4.1.7節)との決定的な違い
  • 12. 5.1 フィードフォワードネットワーク関数  すべての隠れユニットの活性化関数が線形 ⇒隠れユニットを持たない等価なネットワークを作成出来る [h(x)=ax+bとして代入して考えてみると良い]  隠れユニットの数<min(入力ユニットの数,出力ユニットの数) ⇒次元削減が発生するため、入力から出力への全ての線形 変換を生成することは不可能  もう1つのネットワーク構造の一般化:層を飛び越えた結合 (skip-kayer connection)の導入
  • 13. 5.1 フィードフォワードネットワーク関数  シグモイド関数が隠れユニットのネットワークでは、(有界な入 力値を持つ)層を飛び越えた結合はいつでも近似可能  ネットワークはスパースになりうる。一部の結合のみが存在す るネットワークを考えることも出来る ⇒5.5.6節 たたみ込みニューラルネットワーク
  • 14. 5.1 フィードフォワードネットワーク関数  ネットワーク図は数学的な関数と直接対応しているので、より 複雑なネットワーク図を考える事で、より一般的な写像に発 展させることが出来る  しかし、フィードフォワード(feed-forward)構造でなければなら ない(つまり、閉じた有向閉路があってはならない)  NNは万能近似器(universal approximation)であるといわれる  Ex.線形出力を持つ2層ネットワークは、十分な数の隠れユニットが あれば、コンパクトな定義域を持つどんな連続関数も任意の精度で 一様に近似可能  重要な問題:適切なパラメータをどのように見つけるか?  最尤推定アプローチ(5.2節~)  ベイズ推定アプローチ(5.7節)
  • 15. 図5.3 多層パーセプトロンの関数近似能力 青:データ点 赤:ネットワークの出力 他:隠れユニットの出力 隠れユニット y ( x)  x 2 y(x)  sin( x) 活性化関数 ⇒tanh 出力ユニット 活性化関数 ⇒線形 0 ( x  0) H ( x)   1 ( x  0) y(x)  x y (x) : ヘビィサイドステップ関数
  • 16. 図5.4 2クラス分類問題での隠れユニットの役割 入力変数:2個 隠れユニット:2個 (活性化関数:tanh) 出力変数:1個 (活性化関数:ロジスティックスシグ モイド関数) 緑:最適な決定境界 赤:ネットワーク出力の決定面 青:隠れユニットのz=0.5の等高線
  • 17. 5.1.1 重み空間対称性 フィードフォーワードネットワークは、同じ入力から出力 への関数を表す重みベクトルwが複数選べる  Ex.活性化関数tanhは奇関数なので、そのユニットへの入力に 対する重みとバイアス全ての符号を反転させ、さらに出力の 符号を反転させれば、元のネットワークと同一となる。  M個の隠れユニットに対し、「符号反転」対称性はM個あるの で、任意の与えられた重みベクトルと等価な重みベクトルは全 部で 2M 個  隠れユニット同士の重みとバイアスを入れ替えることも出来る。 交換対称性により、M !個の等価な重みベクトルが存在する。  全部で M !2 M個の等価な重みベクトルが存在
  • 18. 目次  パラメータ表示の手法(5.1章)  基底関数の形  パラメータ決定の手法(5.2~5.3.3章)  非線形最適化問題の最尤推定法  誤差逆伝播法によるパラメータ決定手法  誤差逆伝播(5.3.4~5.4章)  ヤコビ行列・ヘッセ行列の評価  ニューラルネットワークの正則化(5.5章)  モデルの拡張(混合密度ネットワーク)(5.6章)  ベイズ理論からのニューラルネットワーク(5.7章)
  • 19. 5.2 ネットワーク訓練  ニューラルネットワークのパラメータ決定問題を議論する  パラメータ決定問題の最も単純なアプローチは、二乗和誤差 関数の最小化 1 N E (w )   y (x n , w )  t n 2 入力ベクトル{xn} 2 n 1 目標ベクトル{tn}  だが、はじめにネットワーク出力を確率的に解釈することで ネットワークの訓練について一般的に議論することが出来る (1.5.4節:推論と決定)  また、確率的解釈をする事によって、出力ユニットの非線形活 性化関数の選択や誤差関数の選択にさらに明確な理由付け が可能になる
  • 20. 5.2 ネットワーク訓練  回帰問題  目標変数はニューラルネットワークの出力で与えられる平均 を持つガウス分布に従うと仮定(より一般的な例は、5.6節) p(t | x, w )   (t | y (x, w ),  1 ) 1つの目標変数:t ガウスノイズの精度:β  尤度関数 N p (t | x, w,  )   p (t n | x n , w,  ) 入力ベクトル{xn} n 1 目標ベクトル{tn} βN N N  ln p(t | x, w,  )   { y (x n , w )  t n }  lnβ ln( 2 ) 2 π 2 n 1 2 2  負の対数尤度を取ると、誤差関数が得られる
  • 21. 5.2 ネットワーク訓練  ここでは最尤推定アプローチのみを考える (ベイズ理論アプローチは、5.7節)  ニューラルネットワークの文献では、誤差関数の最小化に よってパラメータを求めることが多い  まずは、最尤推定解wMLを求める。wに関する二乗和誤差関 数の最小化は、定数部分を除けば尤度関数の最大化と等価 1 N E (w )   y (x n , w )  t n  2 2 n 1  しかし、ネットワーク関数y (x n , w ) の非線形性のため誤差は非 凸。現実には極大点が求まる(5.2.1節)
  • 22. 5.2 ネットワーク訓練  wMLが求まれば、 βは負の対数尤度の最小化により求まる N 1  1  y (xn , w ML )  tn 2 βML N n 1 w ML :wの最尤推定解  目標変数が複数の場合  x,wについての条件付き確率が独立で、ノイズ精度βが共通 であると仮定(wMLの導出は、演習5.2) p(t | x, w )   (t | y (x, w ),  1I )  ノイズ精度は以下の式で与えられる 1 N 1   y (xn , w ML )  t n 2 βML NK n 1 K:目標変数tの次元
  • 23. 5.2 ネットワーク訓練  誤差関数と出力ユニットの活性化関数には自然な組み 合わせがある(4.3.6節:正準連結関数)  Ex.回帰問題:二乗和誤差  活性化関数 誤差関数 恒等写像 出力と正解との「誤差」 E y k  ak  yk  t k ak
  • 24. 5.2 ネットワーク訓練  2クラス分類問題  クラスC1がt=1、クラスC2がt=0となる目標変数  活性化関数は、0  y(x, w)  1 となるようにする  4.3.6節より、活性化関数をロジスティックシグモイド関数とする 1 y   (a)  1  exp( a )  目標変数の条件付き分布は、以下のベルヌーイ分布で表す ことが出来る p(t | x, w )  y (x, w )t {1  y (x, w )}1t
  • 25. 5.2 ネットワーク訓練  訓練集合が独立な観測値である場合、負の対数尤度で与え られる誤差関数は以下の式となる N E (w )   t n ln yn  (1  t n ) ln(1  yn ) n 1 yn  y (x n , w )  上式は、交差エントロピー誤差関数(cross-entropy error function)である  今回のモデルでは、(ラベル付け誤差)=0を仮定(演習5.4)  K個の異なる2クラス分類問題(演習5.5) K p(t | x, w )   yk (x, w )tk {1  yk (x, w )}1tk k 1 N K E (w )   t nk ln ynk  (1  t nk ) ln(1  ynk ) n 1 k 1 ynk  yk (x n , w )
  • 26. 5.2 ネットワーク訓練  4章の線形クラス分類モデルでは、それぞれのクラス分類問 題は独立に解く  一方、ニューラルネットワークによる解は、 ネットワークの第1層の重みパラメータが 様々な出力で共有される  第1層で非線形特徴抽出を実行していると みなせるため、異なる出力間で特徴を共有 計算量の節約や汎化性能の向上が望める
  • 27. 5.2 ネットワーク訓練  標準的な多クラス分類問題  それぞれの入力がK個の排他的クラスの1つに割り当てられ ている。目標変数 t k  {0,1} は1-of-K表記で表す。  誤差関数 N K E (w )   t nk ln yk (x n , w ) n 1 k 1  出力ユニットの活性化関数(4.3.4節に対応) exp(ak (x, w)) yk (x, w)  ソフトマックス関数  exp(a j (x, w)) j s.t.0  yk  1, k yk  1
  • 28. 5.2 ネットワーク訓練  yk ( x, w ) はすべてのak ( x, w ) に定数を加えても不変  すべての ak ( x, w ) に対して同じ増分となるwの方向に対して、 誤差関数は定数となる  この退化を除くには、適当な正則化項を誤差関数に導入する  誤差関数の特定の出力ユニットの活性に関する微分 E  yk  t k ak
  • 29. 5.2 ネットワーク訓練  まとめ  出力ユニットの活性化関数と対応する誤差関数は、問題の形 によって自然に選択される(4.3.6節:正準連結関数)  Ex.回帰問題:線形出力関数/二乗和誤差 1 N E (w )   y (x n , w )  t n  2 2 n 1  Ex.2クラス分類問題:ロジスティックシグモイド関数/交差エントロ ピー誤差関数 N y   (a)  1 E (w )   t n ln yn  (1  t n ) ln(1  yn ) 1  exp( a ) n 1  Ex.他クラス分類問題:ソフトマックス関数/多クラス交差エントロ ピー誤差関数
  • 30. 5.2.1 パラメータ最適化  選ばれた誤差関数 E (w )を最小化するwを見つけたい w  w  E  w T E (w )  ここでE (w ) は誤差関数が最も変化する方向で、E(w)はw のなめらかで連続な関数なので、最小値は誤差関数の勾配 がゼロになる点にある⇒E (w)  0:停留点  誤差関数の重みパラメータとバイアスパラメータへの依存性 は高い非線形性があるため、停留点は重み空間内に多数存 在することが多い。(Ex. 5.1.1節:重み空間対称性) M !2 M
  • 31. 5.2.1 パラメータ最適化  大域的最小点(global minimum):任意の重みベクトルに対す る誤差関数最小値に相当する極小点  局所的最小点(local minumum):それ以外の極小点  E (w)  0 を解析的に解くことは明らかにほぼ不可能  数値的反復手順を用いる γ:反復ステップ数 w ( 1)  w ( )  w ( ) ( )  多くのアルゴリズムでは、重みベクトルの更新量w に誤差 関数の勾配情報E (w ) を利用する
  • 32. 5.2.2 局所二次近似  誤差関数の局所二次近似を考える ~  重み空間内のある点 w の周りの誤差関数のテイラー展開 ~ )  ( w  w )T b  1 ( w  w ) T H ( w  w ) E (w )  E (w ~ ~ ~ 2  勾配の局所近似(上式をwで微分) b  E |w  w ~ E (w)  b  H(w  w) ~ E (H ) ij  ~に近いwでは、このテイラー展開は wi w j ~  w w w 誤差関数とその勾配をよく近似している
  • 33. 5.2.2 局所二次近似  誤差関数の極小点 w の周りでの局所二次近似 1 E ( w )  E ( w )  ( w  w  )T H ( w  w  )  2  幾何学的解釈  ヘッセ行列Hの固有方程式を考える(付録C.33) Hu i λi u i s.t. uT u j  ij i   このとき、( w  w を固有ベクトルの線形和に展開できる ) (w  w  )    i u i i  この変換は原点を w  に平行移動し、各軸を固有ベクトルに 合わせるように回転する座標変換とみなせる(付録C.39)
  • 34. 5.2.2 局所二次近似  誤差関数は以下の形で書ける 1 E (w )  E (w )  λiαi2  2 i  正定値 v v T Hv  0 v   ci u i i v T Hv   ci2u i i  したがって、ヘッセ行列Hは、全ての固有値が正の時、またそ の時に限り正定値となる
  • 35. 5.2.2 局所二次近似  誤差関数Eの等高線は、先程の座標変換により原点を中心と する楕円となる  v v T Hv  0 を満たすとき、極小点となる
  • 36. 5.2.3 勾配情報の利用  誤差逆伝播法を用いれば、効率的に誤差関数の勾配を評価 出来る(5.3節) ~ )  ( w  w )T b  1 ( w  w ) T H ( w  w ) E (w )  E (w ~ ~ ~ 2 b  E |w  w ~  bとHには、W(W+3)/2個の独立な要素  W:wの次元 E O (W 2 ) (H ) ij   したがって、解を求めるには wi w の独 j w w ~ 立な要素の情報が必要  さらに、関数の評価に O(W ) ステップ必要  極小値を見つけるために必要な計算量は、このアプローチで は、 O(W 2 )  O(W )  O(W 3 )
  • 37. 5.2.3 勾配情報の利用  勾配情報を利用するアルゴリズムと比較  E (w) の評価ごとにW個の情報が得られ、O(W ) 回の交配 の評価で関数の極小点を見つけることが期待できる  誤差逆伝播を利用すれば、各勾配の評価は O(W ) ステップ、 極小点はO (W 2 ) ステップで見つけられる
  • 38. 5.2.4 勾配降下最適化  勾配情報を用いた最も簡単なアプローチ w ( 1)  w ( )  E (w ( ) )  0 学習率パラメータ  ここで誤差関数E(w)は、それぞれの反復ステップにおいて、 すべての訓練集合で処理して計算している  すべてのデータ集合を一度に使うテクニック:バッチ訓練法  各ステップで誤差関数の減尐率が最大となる方向に重みベク トルを動かす:勾配降下法/最急降下法  実際には性能が悪い  十分に良い極小点を見つけるには、ランダムに初期値を設定 し、複数回アルゴリズムを実行する必要がある  バッチ最適化手法:共役勾配法/準ニュートン法
  • 39. 5.2.4 勾配降下最適化  勾配降下法のオンライン版  独立に得られた観測値に対する最尤法に基づく誤差関数は、 各データ点を表す項の和 N E ( w )   En ( w ) n 1 w ( 1)  w ( )  En (w ( ) )  重みベクトルの更新を1回ごとに1つのデータ点に基づいて作 成する手法:逐次的勾配降下法/確率的勾配降下法  データの冗長度を効率的に扱うことが可能  局所的極小値を回避出来る可能性がある
  • 40. 目次  パラメータ表示の手法(5.1章)  基底関数の形  パラメータ決定の手法(5.2~5.3.3章)  非線形最適化問題の最尤推定法  誤差逆伝播法によるパラメータ決定手法  誤差逆伝播(5.3.4~5.4章)  ヤコビ行列・ヘッセ行列の評価  ニューラルネットワークの正則化(5.5章)  モデルの拡張(混合密度ネットワーク)(5.6章)  ベイズ理論からのニューラルネットワーク(5.7章)
  • 41. 5.3 誤差逆伝播(error backpropagation)  本節の目標  フィードフォワードNNについて、誤差関数E(w)の勾配を効率良く評 価するテクニックを見つける  誤差逆伝播  順向きと逆向きの交互に情報がネットワークを流れる局所的なメッ セージパッシングスキームを用いてE(w)の勾配評価を実現  多くの訓練アルゴリズムは2つのステージに分けられる  微分評価のためのネットワーク上の誤差逆伝播のステージ  計算された微分を用いた重み調節のステージ  逆伝播では、微分評価の計算論的に効率的な方法を提供し ている点で貢献が大きい(第一ステージ)
  • 42. 5.3.1 誤差関数微分の評価  多くの誤差関数は、訓練集合の各データに対応する誤差項 の和で表される N E ( w )   En ( w ) n 1  上の誤差関数の1つの項に対する勾配 En (w )を評価する問 題を考える  バッチ手法の場合には、訓練集合全体についての和をとる
  • 43. 5.3.1 誤差関数微分の評価  単純な線形モデル yk   wki xi {yk}: 出力 {xi}: 入力変数 i  誤差関数が以下の式で与えられる場合を考える En    ynk  t nk  1 2 {tnk}:目標変数 ynk  yk ( xn , w) 2 k  この時、誤差関数の重みパラメータwkiに関する勾配は以下の 式となる。 En    ynj  t nj xni w ji  この式は、出力側の「誤差信号」 y nj  t nj と入力側の「変数」 xni の 積という局所的な計算と解釈出来る
  • 44. 5.3.1 誤差関数微分の評価  ロジスティックシグモイド関数と交差エントロピー誤差関数/ ソフトマックス活性化関数と交差エントロピー誤差関数の場合 も類似の式が導出される(4.3.2節)  より複雑な多層フィードフォワードNNへ拡張  一般のフィードフォワードNNでは、それぞれのユニットは下の 形の入力の重み付き和を計算する i:ユニットjへ入るユニット a j   w ji zi {zi} : ユニットjに結合があるユニットの出力 i {wji}: ユニットiからjへの結合重み z j  h(a j ) h(・) : 非線形活性化関数  バイアスは明示的に扱う必要はない(5.1節)
  • 45. 5.3.1 誤差関数微分の評価  順向き伝播(forward propagation)  訓練集合に対し、先程のフィードフォワードNNを適用すること でネットワークのすべてのユニットの出力を計算すること  誤差関数Enの重みwjiに関する微分の評価を考える  以下、添字nを省略する En En a j  (偏微分の連鎖法則) w ji a j w ji En a j En j  (誤差)  zi より、   j zi a j w ji w ji
  • 46. 5.3.1 誤差関数微分の評価  右式から、ある重みの出力側のユニットのδと、 En   j zi 入力側のユニットのzの値を掛け合わせると、 w ji 必要な微分が得られることが分かる  これは単純な線形モデルの場合と同様の結論(5.47)  各隠れユニット及び出力ユニットのδを評価する  5.2節より、正準連結関数を活性化関数に用いた出力ユニット では、δの値は、右の式になる。 En   k  yk  t k ak  隠れユニットのδは、下の式で評価出来る E E a j  n  n k a j k a k a j ユニットj→ユニットkの結合が存在する全てのkについて総和をとる
  • 47. 5.3.1 誤差関数微分の評価 En ak j  k a k a j     wkih(ai )    k  i  k a j  h(a j ) wkj k (逆伝播公式) k 逆向き伝播では、wkjの最初の添字について和を取ることに注意。 順向き伝播では、2番目の添字について和を取った。 出力ユニットのδの値は(5.54)からすでにわかっているので、再帰的に全てのδ が評価出来る。
  • 48. 5.3.1 誤差関数微分の評価  誤差逆伝播アルゴリズムの手順まとめ 1. 入力ベクトルxnをネットワークにいれ,下式を用いてネットワーク上 を順伝播させ,すべての隠れユニットと出力ユニットの出力を算出 a j   w ji zi (5.48) z j  h(a j ) (5.49) i 2. (5.54)を用いてすべての出力ユニットのδkを評価  k  yk  t k (5.54) 3. (5.56)を用いてδを逆伝播させ,ネットワークの全ての隠れユニット のδjを得る  j  h' (a j ) wkj k (5.56) k 4. (5.53)を用いて必要な微分を評価する En   j zi (5.53) w ji
  • 49. 5.3.1 誤差関数微分の評価  バッチ手法については、全体の誤差Eの微分は誤差逆伝播の ステップを訓練集合1つ1つについて繰り返し、総和を取るこ とで得られる E En  w ji n w ji  今回の誤差逆伝播の導出では、全てのユニットが同じ活性化 関数h(・)を持つことを暗に仮定していた。しかし、個々のユ ニットが異なる活性化関数を持つ場合に拡張するのは簡単
  • 50. 5.3.2 逆伝播手続きの簡単な例  2層ネットワーク  二乗和誤差関数 1 K En    ynk  t nk  2 2 k 1 yk:特定の入力パターンxnに対する出力ユニットkの出力 tk:xnに対応する目標値  出力ユニットは線形活性化関数 y k  ak  隠れユニットはシグモイド活性化関数 ea  ea h(a )  tanh(a)  a a h(a)  1  h(a) 2 e e
  • 51. 5.3.2 逆伝播手続きの簡単な例  訓練集合のそれぞれのパターンに順向き伝播を実行 D a j   w(ji1) xi (隠れユニット活性の算出) i 0 z j  tanh( a j ) (隠れユニットパラメータの算出) M yk   wkj2 ) z j ( (出力ユニットの出力の算出) j 0  k  yk  t k (誤差δの算出)
  • 52. 5.3.2 逆伝播手続きの簡単な例  誤差を逆伝播させる  j  1  z  w  K 2 j kj k k 1  各隠れユニットのδを得たら、重みの微分を評価する E n   j xi w ji (1) En  k z j wkj ( 2)
  • 53. 5.3.3 逆伝播の効率  ネットワークの重みとバイアスの総数Wに対する、誤差 関数の微分評価に必要な計算量を測ってみる  1入力パターンに対し、誤差関数の評価はO(W)必要  非常にスパースなネットワークの場合を除き、重み数がユニット数よ りも遥かに多いのが一般的なため、順向き伝播の下式(各ユニット の活性の評価)の計算がボトルネックとなる。 D a  w x j  i 0 ji i  逆伝播にAlternativeな手法として、有限幅の差分近似の利用 が考えられる。これはそれぞれの重みに摂動を加えて差を計 算することで、誤差関数の微分を近似する En En ( w ji   )  En ( w ji )   O( )   1 w ji 
  • 54. 5.3.3 逆伝播の効率  εの値を小さくすること、中心差分を用いることで劇的に精度を 向上させることが出来る En En ( w ji   )  En ( w ji   )   O( 2 ) w ji 2  数値微分手法では、重みがW個ある時にそれぞれ個別に摂 動を与える必要があるため、O(W)ステップ必要。全体として は、O (W 2の計算量となる )  実用上は、逆伝播の頑健性のチェックのために、中心差分の 手法が使用されることが多い。
  • 55. 目次  パラメータ表示の手法(5.1章)  基底関数の形  パラメータ決定の手法(5.2~5.3.3章)  非線形最適化問題の最尤推定法  誤差逆伝播法によるパラメータ決定手法  誤差逆伝播(5.3.4~5.4章)  ヤコビ行列・ヘッセ行列の評価  ニューラルネットワークの正則化(5.5章)  モデルの拡張(混合密度ネットワーク)(5.6章)  ベイズ理論からのニューラルネットワーク(5.7章)
  • 56. 5.3.4 ヤコビ行列(Jacobian matrix)  逆伝播のテクニックは、他の微分の計算にも応用可能  ヤコビ行列:各要素がネットワーク出力の入力に関する微分で 与えられる行列  y1 y1      x1 xM  {yk}: ネットワークの出力 J      {xi}: ネットワークの入力  y N y N   x  xM   1   ヤコビ行列は、異なるモジュールで構成されたシステムにお いて便利な役割を果たす  それぞれのモジュールの関数は固定でも適応可能でもよく、 微分可能であれば線形でも非線形でも良い
  • 57. 5.3.4 ヤコビ行列(Jacobian matrix)  右図のモジュール型について考える  パラメータwに関して誤差関数を最小化 したい  この時、誤差関数の微分は、 E E yk z j  w k , j yk z j w  真ん中の項に、赤色のモジュールのヤコビ行列が現れる  y1 y1      z1 z M  J       y N y N   z   z M  1 
  • 58. 5.3.4 ヤコビ行列(Jacobian matrix)  ヤコビ行列は、入力に任意の既知の誤差xi がある場合、訓 練済みのネットワーク上にxi を伝播させて、出力誤差への寄 与 y k を評価出来る yk yk   xi xi が非常に小 i xi  一般に訓練済みのNNで表現されるネットワーク写像は非線 形になる  したがって、ヤコビ行列の各成分は入力ベクトルに依存する  大きく摂動させたい場合は、ヤコビ行列を再計算する必要が ある  y1 y1      x1 xM  J       y N y N   x   xM  1 
  • 59. 5.3.4 ヤコビ行列(Jacobian matrix)  ヤコビ行列は逆伝播の手続きを用いて評価可能 yk yk a j yk J ki     w ji xi j a j xi j a j  上式の和は、ユニットi→ユニットjの結合が存在する全てのjに ついて取る  次に、再帰的逆伝播公式を書き下す yk yk al yk   h(a j ) wlj a j l al a j l al  上式の和は、ユニットj→ユニットlの結合が存在する全てのlに ついて取る
  • 60. 5.3.4 ヤコビ行列(Jacobian matrix)  出力ユニット  Ex.各出力ユニットの活性化関数がシグモイド関数 yk   kl ( al ) al  Ex.各出力ユニットの活性化関数がソフトマックス関数 yk   kl yk  yk yl  kl :クロネッカーのデルタ関数 al  ヤコビ行列は、順向き伝播の定式化を用いて評価することも 可能(演習5.15)  数値微分を用いてチェック可能だが、入力Dに対して2D回の 順向き伝播が必要
  • 61. 5.4 ヘッセ行列(Hesse matrix)  逆伝播は、誤差の2階微分を評価するのに用いることも可能 2E w ji wlk  ここで、全ての重み/バイアスパラメータを1つのベクトルwの 要素wiと考えると、2階微分がヘッセ行列Hで表せる  2E 2E      w1w1 w1wW  H ij        2E 2E      wW w1 wW wW   
  • 62. 5.4 ヘッセ行列(Hesse matrix)  ヘッセ行列は、NNの様々な側面で重要な役割を果たす  ヘッセ行列の評価には様々な近似スキームが用いられてきた  逆伝播を拡張することで直接計算可能  ネットワーク内にW個のパラメータがあれば、ヘッセ行列の評 2 価に必要な計算量はO (W ) 以上  計算量が O (W 2 ) となる効率的手法が存在する
  • 63. 5.4.1 対角近似  ヘッセ行列の応用上、逆行列が必要になることも多い  逆行列を求めるため、ヘッセ行列を対角近似する  誤差関数をすべての入力パターンに対する誤差の総和と置く N E   En n 1  このとき、  2 En   En   2 En 2   zi   z w ji w ji 2  a  a 2 i  j  j  2 En  2 En En  h(a j )  wkj wk j 2  h(a j ) wkj a j2 k k ak ak  k ak
  • 64. 5.4.1 対角近似  2階微分の非対角項を無視すれば、  2 En  2 En En  h(a j )  wkj 2 2  h(a j ) wkj a j2 k ak 2 k ak  この近似は対角項のみを評価すればよいので、必要な計算 量はO(W)  対角近似の主要な問題点  実際のヘッセ行列は極端に非対角であることが多い  したがって、この近似を使うのは注意が必要
  • 65. 5.4.2 外積による近似  NNの回帰問題への応用  二乗和誤差関数を用いるのが一般的 1 N E   ( yn  t n ) 2 2 n 1  この時、ヘッセ行列は以下の形で書ける N N H   E   yn (yn )   ( yn  t n ) yn T n 1 n 1  二乗和誤差を最小化する最適な関数は、目標データの条件 付き平均(1.5.5節)  よって、( yn  t n ) という値は平均ゼロの確率変数   y n と ( y n  t n )が無相関ならば、上式の第二項がゼロに平均 化されることが期待できる(演習5.17)
  • 66. 5.4.2 外積による近似 N N H   yn (yn )   b nbT T (Levenberg-Marquardt近似) n 1 n n 1 (外積による近似)  ヘッセ行列の外積近似にはO(W)ステップで評価可能  この近似は適切に訓練されたネットワークに対してだけ成り 立つことに注意 yn  E[t | xn ]  ロジスティックシグモイド関数(演習5.19) N H   yn (1  yn )b nbT n n 1  ソフトマックス関数(演習5.20)
  • 67. 5.4.3 ヘッセ行列の逆行列  外積による近似を用いると、ヘッセ行列の逆行列を近似する ための計算上効率的な手続きを導出可能  ヘッセ行列は以下の式で近似出来る N N H N   b nb    w an ( w an )T T n n 1 n 1   w a n :出力ユニットの出力勾配へのデータ点nからの寄与  逐次的にヘッセ行列の逆行列を構成する  L個のデータ点を用いて、ヘッセ行列の逆行列がえられている と仮定する H L 1  H L  b L 1bT 1 L
  • 68. 5.4.3 ヘッセ行列の逆行列  Woodbury恒等式(付録C.7)を利用すると、  H 11  H L  b L1bT 1 L L  1 H 1  H 1 L b b L1 T 1H 1 L L  1  bT 1H 1b L1 L L L  L+1=Nとなるまで繰り返す  行列H0の初期値は、αを小さな定数としてαIに選ぶ N その結果、このアルゴリズムは、 I  H N  I   b nb n の逆行  T  n 1 列を求めることになる  ヘッセ行列は、準ニュートン非線形最適化アルゴリズムなどで 間接的に計算できることもある
  • 69. 5.4.4 有限幅の差分による近似  有限幅の差分近似を用いて、誤差関数の2階微分を求めるこ とも出来る 2E 1   2 E ( w ji   , wlk   )  E ( w ji   , wlk   ) w ji wlk 4  E ( w ji   , wlk   )  E ( w ji   , wlk   ) O ( 2 )  ヘッセ行列にはW^2個の要素が存在  要素評価には、O(W)の計算量が必要な順向き伝播が4回 3  したがって、このアプローチでのヘッセ行列評価は O (W )  実用上は、逆伝播法のソフトウェア実装のチェックにおいて、 非常に便利
  • 70. 5.4.4 有限幅の差分による近似  数値微分をより効率的に行うには、誤差関数の1階微分を逆 伝播で先に計算し、この結果に中心差分を応用すれば良い 2E 1  E  E     ( wlk   )  ( wlk   )  O( 2 ) w ji wlk 2  w ji  w ji    勾配の評価はO(W)ステップ(5.3.3節)  摂動させる重みもW個  したがって、ヘッセ行列は O (W 2 ) で評価出来る
  • 71. 5.4.5 ヘッセ行列の厳密な評価  今までは、ヘッセ行列やその逆行列の様々な近似スキームを 考えてきた  一方、逆伝播のテクニックを拡張すれば、任意のフィード フォーワード構造NNのヘッセ行列を厳密に評価出来る  この手法は、どんな微分可能な誤差関数にも、任意の微分可 能な活性化関数を持つどんなネットワークにも適用出来る 2  計算に必要なステップ数はO (W )
  • 72. 5.4.5 ヘッセ行列の厳密な評価  2層の重みを持つNNの場合 E  2 En i,i’:入力ユニット k  n M kk   j,j’:隠れユニット ak ak ak  k,k’:出力ユニット  微分のチェーンルールを用いて、このネットワークのヘッセ行 列は以下のように考えることが出来る(5.3.1-2節の応用)  両方の重みが第二層  2 En   En ak    ( 2)   wkj wk j wkj  k ( 2) ( 2)  a  w( 2)  k j  ak   En   ( 2)   a z j  wkj ak  k     z j z j M kk  z j  h( a j ) :ユニットjの出力
  • 73. 5.4.5 ヘッセ行列の厳密な評価  両方の重みが第一層  以下のチェーンルールから、導くことが出来る  a j   (1) w ji (1) w ji a j z j ak   xi  a j k z j ak   xi h(a j ) wkj2 ) ( k ak  重みが1つの層に1つずつある場合も同様  バイアス項や層を飛び越えた結合を含めた場合も、上式の チェーンルールの形を変化させるだけで容易に拡張可能
  • 74. 5.4.6 ヘッセ行列の積の高速な計算  多くの場合、ヘッセ行列Hそのものではなく、あるベクトルvと の積が知りたい 2  ヘッセ行列の評価には O (W )の計算量と記憶容量が必要 T  一方、直接v H O(W ) を で評価するアプローチが存在する v T H  v T(E )  R{E} v Tを R{} と置く E は順向き伝播/逆伝播の方程式から得られる(5.3.1節)  R{} の定義から、R{w}  v
  • 75. 5.4.6 ヘッセ行列の積の高速な計算  2層NN(線形出力ユニット/二乗和誤差関数)  順向き伝播方程式にR{・}を作用させる a j   w(ji1) xi R{a j }   v ji xi i i z j  h( a j ) R{z j }  h(a j ) R{a j } yk   wkj2 ) z j ( R{ yk }   wkj2 ) R{z j }   v jk z j ( j j j  逆伝播の式にもR{・}を作用させる  k  yk  t k  j  h' (a j ) wkj k k R{ k }  R{ yk } R{ j }  R{h(a j )} wkj k  h(a j ) R{wkj } k  h(a j ) wkj R{ k } k k k  h(a j ) R{a j } wkj k  h(a j ) vkj k  h(a j ) wkj R{ k } k k k
  • 76. 5.4.6 ヘッセ行列の積の高速な計算  最後に、誤差の1階微分の方程式にR{・}を作用させる E  E     k z j R  ( 2)   R{ k }z j  k R{z j } wkj ( 2)  wkj    E  E      j xi R  (1)   R{ j }x i w ji (1)  w ji     隠れユニットの活性や出力・誤差、出力ユニットの出力や誤差 T にR{・}を作用させた変数を導くことで、 v H を求めることが出 来る  v={0,0,...,1,...,0}のベクトルを用いてこのテクニックを使用すれ ば、完全なヘッセ行列を評価することも出来る