SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
PRML勉強会
                           5.3,5.4
    坪坂正志(mail: m.tsubosaka@gmail.com)



1              第6回PRML読書会   2009/8/29
発表内容
       誤差逆伝播 (5.3)
           誤差関数の勾配を効率よく計算するテクニック
           誤差関数だけではなく、他の微分の計算にも応用可能
       最適化アルゴリズム
           最急降下法
               逐次的最急降下
               慣性項(momentum)の導入
           準Newton法
               BFGS公式
       ヘッセ行列(5.4)(#数式を書く気力がなかったので黒板
        で)
           逆伝播を使って計算

    2                              第6回PRML読書会   2009/8/29
参考資料
       田村・村松:「工系数学講座 最適化法」, 共立出版
        (2002)
       LeCun Y., Bottou L., Orr G.,and Miiller K. :
        Efficient BackProp, Neural Networks: Tricks of
        the trade(LNCS), Springer, 1998




    3                           第6回PRML読書会   2009/8/29
5.3 誤差逆伝播
       フィードフォワードニューラルネットワークにおいて、誤差
        関数         の勾配を評価
       順向き伝播(forward propagation)と逆伝播
        (backpropagation)を用いた局所的なメッセージパッシ
        ングスキームを用いて実現できる
       ネットワークの重みに比例した時間で計算可能




    4                    第6回PRML読書会   2009/8/29
5.3 誤差逆伝播
       逆伝播によって勾配を求めるステージとネットワークの
        重みを調整(学習)するステージは別々
           1. 逆伝播によって勾配を求める
           2. 勾配降下法などの最適化スキームを用いて重みを調整
       たとえばヘッセ行列を計算すればNewton法を用いること
        ができる。また、勾配が分かれば準ニュートン法(BFGS
        法)が適応できる。




    5                     第6回PRML読書会   2009/8/29
5.3.1 誤差関数微分の評価
       各データに対応する誤差項の和の形で表される誤差関
        数を考える:

                      (5.44)


       1つの項に対応する勾配         を評価すれば



より誤差関数の勾配も計算できる。


    6                 第6回PRML読書会   2009/8/29
線形モデルの場合
       出力   が入力変数    を線形和
                      (5.45)

の形で書け、誤差関数が

                               (5.46)
と表されるとする。
 このとき重み  に関する勾配は


となる。           誤差信号        リンクの入力

    7                      第6回PRML読書会   2009/8/29
線形モデルのイメージ


             入力                        出力



       隠れ層がないニューラルネットワークに相当
       勾配の計算
        ①   入力から出力を計算
        ②   出力と目的値の誤差信号を計算
        ③   誤差信号から重みに関する微分を計算
    重みに関する微分 =
    (出力側のユニットの誤差)×(入力側のユニットの値)
    8                    第6回PRML読書会   2009/8/29
一般のフィードフォワードネットワーク




       それぞれのユニットは入力の重み付き和を計算して、非
        線形活性化関数h(・)によって変換して出力する。
       与えられた入力ベクトルに対し、上の操作を繰り返して
        すべての隠れユニットと出力ユニットの出力を計算する
        過程を順向き伝播(forward propagation)と呼ぶ。
    9                    第6回PRML読書会   2009/8/29
微分の評価
      の     に関する微分の評価は  がユニット へ
     の入力和      を通してのみ に依存することに着目
     するとChain ruleにより
                      (5.50)

のように分解できる。(簡単のため変数からnは省略する)

           誤差(5.51)                     (5.52)

を使うと(5.50)の式は線形モデルと同じ形をとる

                 (5.53)

    10                    第6回PRML読書会   2009/8/29
誤差の評価(1/2)
    出力ユニットでは誤差の値は
                (5.54)
となる。(活性化関数に正準連結関数を用いた場合)
 隠れユニットでの誤差の値はChain ruleより

                              (5.55)

となる。 はユニット から接続されているすべてのユニッ
 トの添え字である




    11               第6回PRML読書会   2009/8/29
誤差の評価(2/2)




    上の式より(5.55)は
                        (5.56)

となる。この式を逆伝播公式という。
 誤差の評価を出力ユニットから再帰的に計算すれば全
  ての隠れユニットの誤差が計算できる。

    12              第6回PRML読書会   2009/8/29
誤差逆伝播アルゴリズム
1. 入力ベクトル をネットワークに入れ、順向き伝播に
   よってすべての隠れユニットと出力ユニットの出力を評
   価する
2. すべての出力ユニットの誤差を評価する
3. 接続先のユニットの誤差の評価が終わっている隠れユ
   ニットに対して逆伝播公式を用いて再帰的に誤差を評
   価する
4. 式     を用いて必要な微分を評価する




13             第6回PRML読書会   2009/8/29
5.3.3 逆伝播の効率
    誤差逆伝播の計算量は全体で
    ここで はネットワークの重みとバイアスの総数
        たとえば2層ネットワークならば M * (D + K)
    順伝播での評価に
    逆伝播での(5.54)と(5.56)の評価も
    微分の評価が       ( : ユニットの数)
     




    14                      第6回PRML読書会   2009/8/29
数値微分を用いた場合の効率
    微分を十分小さい   を用いて



と近似する。
 この近似を使って評価する場合、 個のすべての重み
  に対して順向き伝播を適応する必要があり全体の計算
  量は     となる。
 計算量を考えると数値微分を用いる意味はないが、逆
  伝播アルゴリズムのソフトウェアの実装の正しさをチェッ
  クするツールとなる。


    15           第6回PRML読書会   2009/8/29
中心差分を用いた近似(演習5.14)




より

成立する。




16           第6回PRML読書会   2009/8/29
5.3.2 単純な例
    2層ネットワークの例を考える




    誤差関数:2乗和
    隠れユニット:シグモイド活性化関数
    出力ユニット:線形活性化関数

    17                第6回PRML読書会   2009/8/29
シグモイド活性化関数
    隠れユニットの活性化関数には

を用いる




    この関数の特性として

                  (5.60)

となる性質がある。

    18            第6回PRML読書会   2009/8/29
順向き伝播
    以下の式を用いて順向き伝播を実行する

                 (5.62)


                 (5.63)


                  (5.64)




    19            第6回PRML読書会   2009/8/29
逆伝播
    出力ユニットでの の値は

を使って計算できる。
 隠れユニットでの の値は逆伝播公式より




で計算できる。
 重みに関する微分:




    20              第6回PRML読書会   2009/8/29
バイアスについて
    発表中には混乱したのですがバイアスユニットの は計
     算する必要はないです




    各リンクの重みに関する勾配は     で入力が入っ
     てくる部分のユニットの しか計算に影響しないので、入
     力に依存しないバイアスユニットの項に関しては計算す
     る必要がない。



    21            第6回PRML読書会   2009/8/29
5.3.4 ヤコビ行列
    逆伝播アルゴリズムは重みに関する微分だけではなく、
     他の微分計算にも応用可能
    例えばヤコビ行列の評価に用いることができる
        ヤコビ行列の各要素は出力の入力に関する微分で与えられ
         る



        入力変数の変化に対する出力の感度の指標となっている




    22                第6回PRML読書会   2009/8/29
モジュール型パターン認識システム




    誤差関数 をパラメータ に対して微分した値は右側中
     央のモジュールのヤコビ行列が分かれば計算できる。




    23            第6回PRML読書会   2009/8/29
逆伝播手続きの導出(1/2)
    ヤコビ行列の要素   は




となる(ここで和は入力ユニット が結合をもつすべてのユ
  ニット に関してとる)
 これからヤコビ行列の評価には   を評価すればよい
  ことが分かる。



    24              第6回PRML読書会   2009/8/29
逆伝播手続きの導出(2/2)
        の値は




     とユニット から接続されているユニット の入力の微分
     を用いて再帰的に記述できる。


    25             第6回PRML読書会   2009/8/29
出力ユニットにおける微分
    出力ユニット における微分の値は活性化関数の関数
     形式を直接微分することにより求められる。
    線形活性化関数

                     はクロネッカーのデルタ

    シグモイド活性化関数



    ソフトマックス関数


    26            第6回PRML読書会   2009/8/29
5.3 まとめ
    誤差逆伝播を用いて勾配情報を効率的に計算する方法
     について述べた。
    逆伝播のテクニックを用いるとヤコビ行列などの評価も
     可能になる。




    27            第6回PRML読書会   2009/8/29
最適化手法について
    誤差逆伝播によって勾配が与えられたときにどうやって
     ネットワークの重みを更新するか?
    最も単純な方法としては

のように更新する方法である
 ここで は学習率パラメータとして知られている
 この方法では性能が悪い
        学習率を大きくすると数値が発散したりする
        小さいと収束が非常に遅くなる



    28                 第6回PRML読書会   2009/8/29
直線探索(line search)
    学習率パラメータ の決め方に関して
    最急降下以外デモに関数   の最小化/最大化を行う
     際に

の形の更新を繰り返す最適化手法が多い。

        このとき を探索方向と呼び、 を決定することを直
         線探索と呼ぶ
          の決定方法としては が適当な基準を満たすまで小
         さくしていくという方法をとることが多い(Backtracking
         line search)


    29                   第6回PRML読書会   2009/8/29
直線探索の基準について
    アルミホの基準(Armijo’s rule)



    ウルフの基準(Wolfe’s rule)
        アルミホの基準 + 下の式が成立




    30                  第6回PRML読書会   2009/8/29
逐次的勾配降下法
    重みの更新を一回ごとに一つのデータ点に基づいて作
     成する。



    このような各点で行う手法をオンライン手法といい、デー
     タをすべて用いる方法をバッチ手法と呼ぶ
    データをmini-batchと呼ばれる小さい部分に分割して学
     習を行う場合もある。




    31               第6回PRML読書会   2009/8/29
オンライン vs バッチ
    オンライン
        バッチ処理に比べて大規模データが扱いやすい
        データが加わった時や変化した際に学習が容易
    バッチ
        収束条件が明確
        共役勾配法などの手法を用いやすい
        理論的解析や収束速度が扱いやすい




    32                第6回PRML読書会   2009/8/29
慣性項(momentum)を用いる方法
    学習規則を以下のように表す



    最急降下では

となる。
 慣性項         を用いて

と更新すると収束を加速できる(何で加速になっているか
 はまだよくわかってない)。

    33               第6回PRML読書会   2009/8/29
準ニュートン法
    準ニュートン法は関数  を最小化する手法の一つ
    制約なし非線形最適化の中で非常にオーソドックスな方
     法
    ベクトル を以下の更新式で更新する

    ここでベクトルの更新後に    を更新する




    34              第6回PRML読書会   2009/8/29
他手法との関係



          : 最急降下法
              (ヘッセ行列): ニュートン法
    準ニュートン法の由来としては      がヘッセ行列の近
     似となっていることから来ている




    35              第6回PRML読書会   2009/8/29
BFGS(Broyden–Fletcher–Goldfarb–Shanno)公式
    以下のように変数を定義する



        を以下の公式(BFGS公式)で更新




     を適切に選択したうえで適切な仮定の下で超一次収
     束


    36                第6回PRML読書会   2009/8/29
収束速度について
    点列   が      に収束しているとする
    一次収束



    超一次(super linear)収束



    二次収束




    37                     第6回PRML読書会   2009/8/29
L-BFGS
    BFGS法ではパラメータ数がnのときO(n^2)の空間計算量
     がかかる
    行列の値ではなく反復推定時の過去m回のベクトルの更
     新履歴のみを覚えておくのがL-BFGS法。
    この場合O(mn)の空間計算量で通常反復は10回程度で
     終わるので問題ない
    Software
        libLBGFS (C++):
                http://www.chokkan.org/software/liblbfgs/
            L1正則化項(微分不可)を用いた関数の最適化にも対応



    38                                        第6回PRML読書会     2009/8/29
5.4 ヘッセ行列
    すべての重みパラメータとバイアスパラメータを1つのベ
     クトル の要素 とする。
    このとき、誤差の二階微分                 はヘッセ行列の成分
     をなす。
       個のパラメータがあるときにはヘッセ行列の要素は
     個存在し、計算量としては                  は必ず必要で、また
     実際に           で計算する手法が存在する(PRML
     5.4.5, Bishop 1991; Bishop,1992)




    39                    第6回PRML読書会   2009/8/29
ヘッセ行列を用いるメリット
    ヘッセ行列を計算することにより、以下のような用途に用
     いることができる
     1.   非線形最適化アルゴリズムに利用(cf. Newton法)
     2.   訓練データが尐しだけ変わった場合に高速に再学習を行う
          ために使う(Bishop,1991)
     3.   「刈り込み」アルゴリズムの一部として不要な重みを特定す
          るのに用いられる(Le Cun et al.,1990)
     4.   ベイズニューラルネットワークのラプラス近似の際に中心的
          な役割を果たす




    40                  第6回PRML読書会   2009/8/29
ヘッセ行列の計算手法
    近似計算
        対角近似(5.4.1)
            O(W)で計算可能
        外積による近似(5.4.2)
            O(W^2)で計算可能
            効率的に逆行列が計算できる(5.4.3)
        差分近似(5.4.4)
            ナイーブにやるとO(W^3)がかかるが、逆伝播を用いて1階微分を用
             いるとO(W^2)で計算可能
    厳密評価(5.4.5)



    41                        第6回PRML読書会   2009/8/29
対角近似(5.4.1)
    ヘッセ行列の応用上で逆行列が必要になることが多い
     がヘッセ行列が対角であれば容易に求めることができる
    近似式の評価がO(W)で計算できる。
        Becker and Le Cun 1989; Le Cun et al.,1990
        Ricotti et al.(1998)では対角項に関して正確な値を得て
         いるが代わりにO(W^2)の計算量がかかる
    問題として実際のヘッセ行列が極端な非対角であること
     が多いため注意が必要




    42                         第6回PRML読書会   2009/8/29
式(5.79)導出補足




43            第6回PRML読書会   2009/8/29
外積による近似(5.4.2)
    誤差関数が



の形のときにヘッセ行列は



で出力が目標値に十分近いとき第2項を無視できるため



と近似できる(Levenberg-Marquardt近似)

    44               第6回PRML読書会   2009/8/29
ヘッセ行列の逆行列(5.4.3)
    外積による近似を用いると逆行列の近似するための計
     算上効率的な手続きを導出できる(Hassibi and Stork,
     1993)
    最初のL個のデータ点を用いて作成されたヘッセ行列を
     とすると

の逆行列は     の逆行列から効率的に導出できる。
 初めの行列を    とすると    の逆行列を見つけ
  ることになる(     )



    45                 第6回PRML読書会   2009/8/29
有限幅の差分による近似(5.4.4)
    ヘッセ行列の各項は




を計算すればよく、        が誤差逆伝播で効率的に求まるこ
とから



で計算できる


46                  第6回PRML読書会   2009/8/29
ヘッセ行列の厳密な評価(5.4.5)
    O(W^2)で効率的に評価する方法が存在する(Bishop
     1991; Bishop 1992)
    Buntine and Weigend(1993)でも類似の方法が考察さ
     れている
    2層ネットワークの場合は必要な式は容易?に導かれる
        それぞれの重みが第何層にあるかで場合分けを行う
         (5.93),(5.94),(5.95)




    47                  第6回PRML読書会   2009/8/29
ヘッセ行列の積の高速な計算(5.4.6)
    ヘッセ行列 自体ではなく、あるベクトル との積が必
     要であることが多い。
    このときヘッセ行列を評価して、積を求めるとO(W^2)の
     時間/空間計算量が必要である
    しかし、誤差逆伝播の手順を利用することによってO(W)
     で効率的に計算するアルゴリズムが存在する。
     (Pearmutter 1994)




    48              第6回PRML読書会   2009/8/29
計算方法のアウトライン
    計算したい値:
   は誤差逆伝播で求まる
 誤差逆伝播を求めるすべての方程式に微分演算子
を作用させる




    49         第6回PRML読書会   2009/8/29
ちなみに5章とは関係ないですが
    今日ここまでの話+いままでのPRMLを聞いておくと、以下
     の論文は読めると思います
        R. Salakhutdinov and A. Mnih: Probabilistic Matrix
         Factorization , NIPS 20, 2008
    最近の協調フィルタリングで用いられている基本的手法
     の一つ
    単純な類似度ベースの方法より速度、精度ともに上
    必要知識
        最急降下法(慣性項含む)
        ロジスティック関数の微分
        ガウス分布
        (グラフィカルモデル PRML 8章)

    50                             第6回PRML読書会   2009/8/29

Más contenido relacionado

La actualidad más candente

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
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
Kohta Ishikawa
 
PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1
PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1
PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1
Len Matsuyama
 

La actualidad más candente (20)

PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
 
PRML 第4章
PRML 第4章PRML 第4章
PRML 第4章
 
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)・ソフト重み共有・混合密度ネットワーク
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン
 
PRML輪読#4
PRML輪読#4PRML輪読#4
PRML輪読#4
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
 
ガウス過程回帰の導出 ( GPR : Gaussian Process Regression )
ガウス過程回帰の導出 ( GPR : Gaussian Process Regression )ガウス過程回帰の導出 ( GPR : Gaussian Process Regression )
ガウス過程回帰の導出 ( GPR : Gaussian Process Regression )
 
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
 
制限ボルツマンマシン入門
制限ボルツマンマシン入門制限ボルツマンマシン入門
制限ボルツマンマシン入門
 
PRML chapter5
PRML chapter5PRML chapter5
PRML chapter5
 
PRML輪読#3
PRML輪読#3PRML輪読#3
PRML輪読#3
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論
 
PRML輪読#2
PRML輪読#2PRML輪読#2
PRML輪読#2
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
 
PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1
PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1
PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1
 
PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 

Destacado

高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
Takao Yamanaka
 
いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標
圭輔 大曽根
 

Destacado (6)

顕著性マップの推定手法
顕著性マップの推定手法顕著性マップの推定手法
顕著性マップの推定手法
 
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
 
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
 
機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法
機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法
機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法
 
いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標
 
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
 

Similar a PRML 5.3-5.4

2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
智啓 出川
 
D論公聴会資料
D論公聴会資料D論公聴会資料
D論公聴会資料
fenrir-naru
 
Tokyo r12 - R言語による回帰分析入門
Tokyo r12 - R言語による回帰分析入門Tokyo r12 - R言語による回帰分析入門
Tokyo r12 - R言語による回帰分析入門
Yohei Sato
 

Similar a PRML 5.3-5.4 (20)

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)
 
ディープボルツマンマシン入門
ディープボルツマンマシン入門ディープボルツマンマシン入門
ディープボルツマンマシン入門
 
Data assim r
Data assim rData assim r
Data assim r
 
Implement for Deep Learning of RBM Network in C.
Implement for Deep Learning of  RBM Network in C.Implement for Deep Learning of  RBM Network in C.
Implement for Deep Learning of RBM Network in C.
 
PRML 5.3-5.3.4 誤差逆伝播
PRML 5.3-5.3.4 誤差逆伝播PRML 5.3-5.3.4 誤差逆伝播
PRML 5.3-5.3.4 誤差逆伝播
 
PRML4.3
PRML4.3PRML4.3
PRML4.3
 
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
 
D論公聴会資料
D論公聴会資料D論公聴会資料
D論公聴会資料
 
PRML 6.4-6.5
PRML 6.4-6.5PRML 6.4-6.5
PRML 6.4-6.5
 
深層学習(講談社)のまとめ 第8章
深層学習(講談社)のまとめ 第8章深層学習(講談社)のまとめ 第8章
深層学習(講談社)のまとめ 第8章
 
Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710
 
El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613
 
PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講
 
SMCTC ライブラリの使用方法
SMCTC ライブラリの使用方法SMCTC ライブラリの使用方法
SMCTC ライブラリの使用方法
 
El text.tokuron a(2019).ishimura190725
El text.tokuron a(2019).ishimura190725El text.tokuron a(2019).ishimura190725
El text.tokuron a(2019).ishimura190725
 
Prml 3 3.3
Prml 3 3.3Prml 3 3.3
Prml 3 3.3
 
Tokyo r12 - R言語による回帰分析入門
Tokyo r12 - R言語による回帰分析入門Tokyo r12 - R言語による回帰分析入門
Tokyo r12 - R言語による回帰分析入門
 
PRML Chapter 14
PRML Chapter 14PRML Chapter 14
PRML Chapter 14
 
Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会
 
PRML_from5.1to5.3.1
PRML_from5.1to5.3.1PRML_from5.1to5.3.1
PRML_from5.1to5.3.1
 

Más de 正志 坪坂

Riak Search 2.0を使ったデータ集計
Riak Search 2.0を使ったデータ集計Riak Search 2.0を使ったデータ集計
Riak Search 2.0を使ったデータ集計
正志 坪坂
 
Contexual bandit @TokyoWebMining
Contexual bandit @TokyoWebMiningContexual bandit @TokyoWebMining
Contexual bandit @TokyoWebMining
正志 坪坂
 
Introduction to contexual bandit
Introduction to contexual banditIntroduction to contexual bandit
Introduction to contexual bandit
正志 坪坂
 
確率モデルを使ったグラフクラスタリング
確率モデルを使ったグラフクラスタリング確率モデルを使ったグラフクラスタリング
確率モデルを使ったグラフクラスタリング
正志 坪坂
 
Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)
正志 坪坂
 

Más de 正志 坪坂 (20)

Recsys2018 unbiased
Recsys2018 unbiasedRecsys2018 unbiased
Recsys2018 unbiased
 
WSDM2018Study
WSDM2018StudyWSDM2018Study
WSDM2018Study
 
Recsys2016勉強会
Recsys2016勉強会Recsys2016勉強会
Recsys2016勉強会
 
KDD 2016勉強会 Deep crossing
KDD 2016勉強会 Deep crossingKDD 2016勉強会 Deep crossing
KDD 2016勉強会 Deep crossing
 
Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会
 
WSDM 2016勉強会 Geographic Segmentation via latent factor model
WSDM 2016勉強会 Geographic Segmentation via latent factor modelWSDM 2016勉強会 Geographic Segmentation via latent factor model
WSDM 2016勉強会 Geographic Segmentation via latent factor model
 
Deeplearning勉強会20160220
Deeplearning勉強会20160220Deeplearning勉強会20160220
Deeplearning勉強会20160220
 
OnlineMatching勉強会第一回
OnlineMatching勉強会第一回OnlineMatching勉強会第一回
OnlineMatching勉強会第一回
 
Recsys2015
Recsys2015Recsys2015
Recsys2015
 
KDD 2015読み会
KDD 2015読み会KDD 2015読み会
KDD 2015読み会
 
Recsys2014 recruit
Recsys2014 recruitRecsys2014 recruit
Recsys2014 recruit
 
EMNLP2014_reading
EMNLP2014_readingEMNLP2014_reading
EMNLP2014_reading
 
Tokyowebmining ctr-predict
Tokyowebmining ctr-predictTokyowebmining ctr-predict
Tokyowebmining ctr-predict
 
KDD2014_study
KDD2014_study KDD2014_study
KDD2014_study
 
Riak Search 2.0を使ったデータ集計
Riak Search 2.0を使ったデータ集計Riak Search 2.0を使ったデータ集計
Riak Search 2.0を使ったデータ集計
 
Contexual bandit @TokyoWebMining
Contexual bandit @TokyoWebMiningContexual bandit @TokyoWebMining
Contexual bandit @TokyoWebMining
 
Introduction to contexual bandit
Introduction to contexual banditIntroduction to contexual bandit
Introduction to contexual bandit
 
確率モデルを使ったグラフクラスタリング
確率モデルを使ったグラフクラスタリング確率モデルを使ったグラフクラスタリング
確率モデルを使ったグラフクラスタリング
 
Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)
 
Tokyowebmining2012
Tokyowebmining2012Tokyowebmining2012
Tokyowebmining2012
 

PRML 5.3-5.4

  • 1. PRML勉強会 5.3,5.4 坪坂正志(mail: m.tsubosaka@gmail.com) 1 第6回PRML読書会 2009/8/29
  • 2. 発表内容  誤差逆伝播 (5.3)  誤差関数の勾配を効率よく計算するテクニック  誤差関数だけではなく、他の微分の計算にも応用可能  最適化アルゴリズム  最急降下法  逐次的最急降下  慣性項(momentum)の導入  準Newton法  BFGS公式  ヘッセ行列(5.4)(#数式を書く気力がなかったので黒板 で)  逆伝播を使って計算 2 第6回PRML読書会 2009/8/29
  • 3. 参考資料  田村・村松:「工系数学講座 最適化法」, 共立出版 (2002)  LeCun Y., Bottou L., Orr G.,and Miiller K. : Efficient BackProp, Neural Networks: Tricks of the trade(LNCS), Springer, 1998 3 第6回PRML読書会 2009/8/29
  • 4. 5.3 誤差逆伝播  フィードフォワードニューラルネットワークにおいて、誤差 関数 の勾配を評価  順向き伝播(forward propagation)と逆伝播 (backpropagation)を用いた局所的なメッセージパッシ ングスキームを用いて実現できる  ネットワークの重みに比例した時間で計算可能 4 第6回PRML読書会 2009/8/29
  • 5. 5.3 誤差逆伝播  逆伝播によって勾配を求めるステージとネットワークの 重みを調整(学習)するステージは別々  1. 逆伝播によって勾配を求める  2. 勾配降下法などの最適化スキームを用いて重みを調整  たとえばヘッセ行列を計算すればNewton法を用いること ができる。また、勾配が分かれば準ニュートン法(BFGS 法)が適応できる。 5 第6回PRML読書会 2009/8/29
  • 6. 5.3.1 誤差関数微分の評価  各データに対応する誤差項の和の形で表される誤差関 数を考える: (5.44)  1つの項に対応する勾配 を評価すれば より誤差関数の勾配も計算できる。 6 第6回PRML読書会 2009/8/29
  • 7. 線形モデルの場合  出力 が入力変数 を線形和 (5.45) の形で書け、誤差関数が (5.46) と表されるとする。  このとき重み に関する勾配は となる。 誤差信号 リンクの入力 7 第6回PRML読書会 2009/8/29
  • 8. 線形モデルのイメージ 入力 出力  隠れ層がないニューラルネットワークに相当  勾配の計算 ① 入力から出力を計算 ② 出力と目的値の誤差信号を計算 ③ 誤差信号から重みに関する微分を計算 重みに関する微分 = (出力側のユニットの誤差)×(入力側のユニットの値) 8 第6回PRML読書会 2009/8/29
  • 9. 一般のフィードフォワードネットワーク  それぞれのユニットは入力の重み付き和を計算して、非 線形活性化関数h(・)によって変換して出力する。  与えられた入力ベクトルに対し、上の操作を繰り返して すべての隠れユニットと出力ユニットの出力を計算する 過程を順向き伝播(forward propagation)と呼ぶ。 9 第6回PRML読書会 2009/8/29
  • 10. 微分の評価  の に関する微分の評価は がユニット へ の入力和 を通してのみ に依存することに着目 するとChain ruleにより (5.50) のように分解できる。(簡単のため変数からnは省略する) 誤差(5.51) (5.52) を使うと(5.50)の式は線形モデルと同じ形をとる (5.53) 10 第6回PRML読書会 2009/8/29
  • 11. 誤差の評価(1/2)  出力ユニットでは誤差の値は (5.54) となる。(活性化関数に正準連結関数を用いた場合)  隠れユニットでの誤差の値はChain ruleより (5.55) となる。 はユニット から接続されているすべてのユニッ トの添え字である 11 第6回PRML読書会 2009/8/29
  • 12. 誤差の評価(2/2)  上の式より(5.55)は (5.56) となる。この式を逆伝播公式という。  誤差の評価を出力ユニットから再帰的に計算すれば全 ての隠れユニットの誤差が計算できる。 12 第6回PRML読書会 2009/8/29
  • 13. 誤差逆伝播アルゴリズム 1. 入力ベクトル をネットワークに入れ、順向き伝播に よってすべての隠れユニットと出力ユニットの出力を評 価する 2. すべての出力ユニットの誤差を評価する 3. 接続先のユニットの誤差の評価が終わっている隠れユ ニットに対して逆伝播公式を用いて再帰的に誤差を評 価する 4. 式 を用いて必要な微分を評価する 13 第6回PRML読書会 2009/8/29
  • 14. 5.3.3 逆伝播の効率  誤差逆伝播の計算量は全体で  ここで はネットワークの重みとバイアスの総数  たとえば2層ネットワークならば M * (D + K)  順伝播での評価に  逆伝播での(5.54)と(5.56)の評価も  微分の評価が ( : ユニットの数)  14 第6回PRML読書会 2009/8/29
  • 15. 数値微分を用いた場合の効率  微分を十分小さい を用いて と近似する。  この近似を使って評価する場合、 個のすべての重み に対して順向き伝播を適応する必要があり全体の計算 量は となる。  計算量を考えると数値微分を用いる意味はないが、逆 伝播アルゴリズムのソフトウェアの実装の正しさをチェッ クするツールとなる。 15 第6回PRML読書会 2009/8/29
  • 17. 5.3.2 単純な例  2層ネットワークの例を考える  誤差関数:2乗和  隠れユニット:シグモイド活性化関数  出力ユニット:線形活性化関数 17 第6回PRML読書会 2009/8/29
  • 18. シグモイド活性化関数  隠れユニットの活性化関数には を用いる  この関数の特性として (5.60) となる性質がある。 18 第6回PRML読書会 2009/8/29
  • 19. 順向き伝播  以下の式を用いて順向き伝播を実行する (5.62) (5.63) (5.64) 19 第6回PRML読書会 2009/8/29
  • 20. 逆伝播  出力ユニットでの の値は を使って計算できる。  隠れユニットでの の値は逆伝播公式より で計算できる。  重みに関する微分: 20 第6回PRML読書会 2009/8/29
  • 21. バイアスについて  発表中には混乱したのですがバイアスユニットの は計 算する必要はないです  各リンクの重みに関する勾配は で入力が入っ てくる部分のユニットの しか計算に影響しないので、入 力に依存しないバイアスユニットの項に関しては計算す る必要がない。 21 第6回PRML読書会 2009/8/29
  • 22. 5.3.4 ヤコビ行列  逆伝播アルゴリズムは重みに関する微分だけではなく、 他の微分計算にも応用可能  例えばヤコビ行列の評価に用いることができる  ヤコビ行列の各要素は出力の入力に関する微分で与えられ る  入力変数の変化に対する出力の感度の指標となっている 22 第6回PRML読書会 2009/8/29
  • 23. モジュール型パターン認識システム  誤差関数 をパラメータ に対して微分した値は右側中 央のモジュールのヤコビ行列が分かれば計算できる。 23 第6回PRML読書会 2009/8/29
  • 24. 逆伝播手続きの導出(1/2)  ヤコビ行列の要素 は となる(ここで和は入力ユニット が結合をもつすべてのユ ニット に関してとる)  これからヤコビ行列の評価には を評価すればよい ことが分かる。 24 第6回PRML読書会 2009/8/29
  • 25. 逆伝播手続きの導出(2/2)  の値は とユニット から接続されているユニット の入力の微分 を用いて再帰的に記述できる。 25 第6回PRML読書会 2009/8/29
  • 26. 出力ユニットにおける微分  出力ユニット における微分の値は活性化関数の関数 形式を直接微分することにより求められる。  線形活性化関数 はクロネッカーのデルタ  シグモイド活性化関数  ソフトマックス関数 26 第6回PRML読書会 2009/8/29
  • 27. 5.3 まとめ  誤差逆伝播を用いて勾配情報を効率的に計算する方法 について述べた。  逆伝播のテクニックを用いるとヤコビ行列などの評価も 可能になる。 27 第6回PRML読書会 2009/8/29
  • 28. 最適化手法について  誤差逆伝播によって勾配が与えられたときにどうやって ネットワークの重みを更新するか?  最も単純な方法としては のように更新する方法である  ここで は学習率パラメータとして知られている  この方法では性能が悪い  学習率を大きくすると数値が発散したりする  小さいと収束が非常に遅くなる 28 第6回PRML読書会 2009/8/29
  • 29. 直線探索(line search)  学習率パラメータ の決め方に関して  最急降下以外デモに関数 の最小化/最大化を行う 際に の形の更新を繰り返す最適化手法が多い。  このとき を探索方向と呼び、 を決定することを直 線探索と呼ぶ  の決定方法としては が適当な基準を満たすまで小 さくしていくという方法をとることが多い(Backtracking line search) 29 第6回PRML読書会 2009/8/29
  • 30. 直線探索の基準について  アルミホの基準(Armijo’s rule)  ウルフの基準(Wolfe’s rule)  アルミホの基準 + 下の式が成立 30 第6回PRML読書会 2009/8/29
  • 31. 逐次的勾配降下法  重みの更新を一回ごとに一つのデータ点に基づいて作 成する。  このような各点で行う手法をオンライン手法といい、デー タをすべて用いる方法をバッチ手法と呼ぶ  データをmini-batchと呼ばれる小さい部分に分割して学 習を行う場合もある。 31 第6回PRML読書会 2009/8/29
  • 32. オンライン vs バッチ  オンライン  バッチ処理に比べて大規模データが扱いやすい  データが加わった時や変化した際に学習が容易  バッチ  収束条件が明確  共役勾配法などの手法を用いやすい  理論的解析や収束速度が扱いやすい 32 第6回PRML読書会 2009/8/29
  • 33. 慣性項(momentum)を用いる方法  学習規則を以下のように表す  最急降下では となる。  慣性項 を用いて と更新すると収束を加速できる(何で加速になっているか はまだよくわかってない)。 33 第6回PRML読書会 2009/8/29
  • 34. 準ニュートン法  準ニュートン法は関数 を最小化する手法の一つ  制約なし非線形最適化の中で非常にオーソドックスな方 法  ベクトル を以下の更新式で更新する  ここでベクトルの更新後に を更新する 34 第6回PRML読書会 2009/8/29
  • 35. 他手法との関係  : 最急降下法  (ヘッセ行列): ニュートン法  準ニュートン法の由来としては がヘッセ行列の近 似となっていることから来ている 35 第6回PRML読書会 2009/8/29
  • 36. BFGS(Broyden–Fletcher–Goldfarb–Shanno)公式  以下のように変数を定義する  を以下の公式(BFGS公式)で更新  を適切に選択したうえで適切な仮定の下で超一次収 束 36 第6回PRML読書会 2009/8/29
  • 37. 収束速度について  点列 が に収束しているとする  一次収束  超一次(super linear)収束  二次収束 37 第6回PRML読書会 2009/8/29
  • 38. L-BFGS  BFGS法ではパラメータ数がnのときO(n^2)の空間計算量 がかかる  行列の値ではなく反復推定時の過去m回のベクトルの更 新履歴のみを覚えておくのがL-BFGS法。  この場合O(mn)の空間計算量で通常反復は10回程度で 終わるので問題ない  Software  libLBGFS (C++):  http://www.chokkan.org/software/liblbfgs/  L1正則化項(微分不可)を用いた関数の最適化にも対応 38 第6回PRML読書会 2009/8/29
  • 39. 5.4 ヘッセ行列  すべての重みパラメータとバイアスパラメータを1つのベ クトル の要素 とする。  このとき、誤差の二階微分 はヘッセ行列の成分 をなす。  個のパラメータがあるときにはヘッセ行列の要素は 個存在し、計算量としては は必ず必要で、また 実際に で計算する手法が存在する(PRML 5.4.5, Bishop 1991; Bishop,1992) 39 第6回PRML読書会 2009/8/29
  • 40. ヘッセ行列を用いるメリット  ヘッセ行列を計算することにより、以下のような用途に用 いることができる 1. 非線形最適化アルゴリズムに利用(cf. Newton法) 2. 訓練データが尐しだけ変わった場合に高速に再学習を行う ために使う(Bishop,1991) 3. 「刈り込み」アルゴリズムの一部として不要な重みを特定す るのに用いられる(Le Cun et al.,1990) 4. ベイズニューラルネットワークのラプラス近似の際に中心的 な役割を果たす 40 第6回PRML読書会 2009/8/29
  • 41. ヘッセ行列の計算手法  近似計算  対角近似(5.4.1)  O(W)で計算可能  外積による近似(5.4.2)  O(W^2)で計算可能  効率的に逆行列が計算できる(5.4.3)  差分近似(5.4.4)  ナイーブにやるとO(W^3)がかかるが、逆伝播を用いて1階微分を用 いるとO(W^2)で計算可能  厳密評価(5.4.5) 41 第6回PRML読書会 2009/8/29
  • 42. 対角近似(5.4.1)  ヘッセ行列の応用上で逆行列が必要になることが多い がヘッセ行列が対角であれば容易に求めることができる  近似式の評価がO(W)で計算できる。  Becker and Le Cun 1989; Le Cun et al.,1990  Ricotti et al.(1998)では対角項に関して正確な値を得て いるが代わりにO(W^2)の計算量がかかる  問題として実際のヘッセ行列が極端な非対角であること が多いため注意が必要 42 第6回PRML読書会 2009/8/29
  • 43. 式(5.79)導出補足 43 第6回PRML読書会 2009/8/29
  • 44. 外積による近似(5.4.2)  誤差関数が の形のときにヘッセ行列は で出力が目標値に十分近いとき第2項を無視できるため と近似できる(Levenberg-Marquardt近似) 44 第6回PRML読書会 2009/8/29
  • 45. ヘッセ行列の逆行列(5.4.3)  外積による近似を用いると逆行列の近似するための計 算上効率的な手続きを導出できる(Hassibi and Stork, 1993)  最初のL個のデータ点を用いて作成されたヘッセ行列を とすると の逆行列は の逆行列から効率的に導出できる。  初めの行列を とすると の逆行列を見つけ ることになる( ) 45 第6回PRML読書会 2009/8/29
  • 46. 有限幅の差分による近似(5.4.4)  ヘッセ行列の各項は を計算すればよく、 が誤差逆伝播で効率的に求まるこ とから で計算できる 46 第6回PRML読書会 2009/8/29
  • 47. ヘッセ行列の厳密な評価(5.4.5)  O(W^2)で効率的に評価する方法が存在する(Bishop 1991; Bishop 1992)  Buntine and Weigend(1993)でも類似の方法が考察さ れている  2層ネットワークの場合は必要な式は容易?に導かれる  それぞれの重みが第何層にあるかで場合分けを行う (5.93),(5.94),(5.95) 47 第6回PRML読書会 2009/8/29
  • 48. ヘッセ行列の積の高速な計算(5.4.6)  ヘッセ行列 自体ではなく、あるベクトル との積が必 要であることが多い。  このときヘッセ行列を評価して、積を求めるとO(W^2)の 時間/空間計算量が必要である  しかし、誤差逆伝播の手順を利用することによってO(W) で効率的に計算するアルゴリズムが存在する。 (Pearmutter 1994) 48 第6回PRML読書会 2009/8/29
  • 49. 計算方法のアウトライン  計算したい値:  は誤差逆伝播で求まる  誤差逆伝播を求めるすべての方程式に微分演算子 を作用させる 49 第6回PRML読書会 2009/8/29
  • 50. ちなみに5章とは関係ないですが  今日ここまでの話+いままでのPRMLを聞いておくと、以下 の論文は読めると思います  R. Salakhutdinov and A. Mnih: Probabilistic Matrix Factorization , NIPS 20, 2008  最近の協調フィルタリングで用いられている基本的手法 の一つ  単純な類似度ベースの方法より速度、精度ともに上  必要知識  最急降下法(慣性項含む)  ロジスティック関数の微分  ガウス分布  (グラフィカルモデル PRML 8章) 50 第6回PRML読書会 2009/8/29