prml 5.3-5.4

50
PRML勉強会 5.3,5.4 坪坂正志(mail: [email protected]) 2009/8/29 1 6PRML読書会

Upload: masashi-tsubosaka

Post on 05-Jul-2015

4.962 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: PRML 5.3-5.4

PRML勉強会5354

坪坂正志(mail mtsubosakagmailcom)

20098291 第6回PRML読書会

発表内容

誤差逆伝播 (53) 誤差関数の勾配を効率よく計算するテクニック

誤差関数だけではなく他の微分の計算にも応用可能

最適化アルゴリズム 最急降下法

逐次的最急降下

慣性項(momentum)の導入

準Newton法 BFGS公式

ヘッセ行列(54)(数式を書く気力がなかったので黒板で) 逆伝播を使って計算

20098292 第6回PRML読書会

参考資料

田村村松「工系数学講座 最適化法」 共立出版(2002)

LeCun Y Bottou L Orr Gand Miiller K

Efficient BackProp Neural Networks Tricks of the trade(LNCS) Springer 1998

20098293 第6回PRML読書会

53 誤差逆伝播

フィードフォワードニューラルネットワークにおいて誤差関数 の勾配を評価

順向き伝播(forward propagation)と逆伝播(backpropagation)を用いた局所的なメッセージパッシングスキームを用いて実現できる

ネットワークの重みに比例した時間で計算可能

20098294 第6回PRML読書会

53 誤差逆伝播

逆伝播によって勾配を求めるステージとネットワークの重みを調整(学習)するステージは別々

1 逆伝播によって勾配を求める

2 勾配降下法などの最適化スキームを用いて重みを調整

たとえばヘッセ行列を計算すればNewton法を用いることができるまた勾配が分かれば準ニュートン法(BFGS法)が適応できる

20098295 第6回PRML読書会

531 誤差関数微分の評価

各データに対応する誤差項の和の形で表される誤差関数を考える

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

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

(544)

20098296 第6回PRML読書会

線形モデルの場合

出力 が入力変数 を線形和

の形で書け誤差関数が

と表されるとする

このとき重み に関する勾配は

となる

(545)

(546)

誤差信号 リンクの入力

20098297 第6回PRML読書会

線形モデルのイメージ

隠れ層がないニューラルネットワークに相当

勾配の計算

① 入力から出力を計算

② 出力と目的値の誤差信号を計算

③ 誤差信号から重みに関する微分を計算

入力 出力

重みに関する微分 = (出力側のユニットの誤差)times(入力側のユニットの値)

20098298 第6回PRML読書会

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 2: PRML 5.3-5.4

発表内容

誤差逆伝播 (53) 誤差関数の勾配を効率よく計算するテクニック

誤差関数だけではなく他の微分の計算にも応用可能

最適化アルゴリズム 最急降下法

逐次的最急降下

慣性項(momentum)の導入

準Newton法 BFGS公式

ヘッセ行列(54)(数式を書く気力がなかったので黒板で) 逆伝播を使って計算

20098292 第6回PRML読書会

参考資料

田村村松「工系数学講座 最適化法」 共立出版(2002)

LeCun Y Bottou L Orr Gand Miiller K

Efficient BackProp Neural Networks Tricks of the trade(LNCS) Springer 1998

20098293 第6回PRML読書会

53 誤差逆伝播

フィードフォワードニューラルネットワークにおいて誤差関数 の勾配を評価

順向き伝播(forward propagation)と逆伝播(backpropagation)を用いた局所的なメッセージパッシングスキームを用いて実現できる

ネットワークの重みに比例した時間で計算可能

20098294 第6回PRML読書会

53 誤差逆伝播

逆伝播によって勾配を求めるステージとネットワークの重みを調整(学習)するステージは別々

1 逆伝播によって勾配を求める

2 勾配降下法などの最適化スキームを用いて重みを調整

たとえばヘッセ行列を計算すればNewton法を用いることができるまた勾配が分かれば準ニュートン法(BFGS法)が適応できる

20098295 第6回PRML読書会

531 誤差関数微分の評価

各データに対応する誤差項の和の形で表される誤差関数を考える

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

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

(544)

20098296 第6回PRML読書会

線形モデルの場合

出力 が入力変数 を線形和

の形で書け誤差関数が

と表されるとする

このとき重み に関する勾配は

となる

(545)

(546)

誤差信号 リンクの入力

20098297 第6回PRML読書会

線形モデルのイメージ

隠れ層がないニューラルネットワークに相当

勾配の計算

① 入力から出力を計算

② 出力と目的値の誤差信号を計算

③ 誤差信号から重みに関する微分を計算

入力 出力

重みに関する微分 = (出力側のユニットの誤差)times(入力側のユニットの値)

20098298 第6回PRML読書会

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 3: PRML 5.3-5.4

参考資料

田村村松「工系数学講座 最適化法」 共立出版(2002)

LeCun Y Bottou L Orr Gand Miiller K

Efficient BackProp Neural Networks Tricks of the trade(LNCS) Springer 1998

20098293 第6回PRML読書会

53 誤差逆伝播

フィードフォワードニューラルネットワークにおいて誤差関数 の勾配を評価

順向き伝播(forward propagation)と逆伝播(backpropagation)を用いた局所的なメッセージパッシングスキームを用いて実現できる

ネットワークの重みに比例した時間で計算可能

20098294 第6回PRML読書会

53 誤差逆伝播

逆伝播によって勾配を求めるステージとネットワークの重みを調整(学習)するステージは別々

1 逆伝播によって勾配を求める

2 勾配降下法などの最適化スキームを用いて重みを調整

たとえばヘッセ行列を計算すればNewton法を用いることができるまた勾配が分かれば準ニュートン法(BFGS法)が適応できる

20098295 第6回PRML読書会

531 誤差関数微分の評価

各データに対応する誤差項の和の形で表される誤差関数を考える

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

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

(544)

20098296 第6回PRML読書会

線形モデルの場合

出力 が入力変数 を線形和

の形で書け誤差関数が

と表されるとする

このとき重み に関する勾配は

となる

(545)

(546)

誤差信号 リンクの入力

20098297 第6回PRML読書会

線形モデルのイメージ

隠れ層がないニューラルネットワークに相当

勾配の計算

① 入力から出力を計算

② 出力と目的値の誤差信号を計算

③ 誤差信号から重みに関する微分を計算

入力 出力

重みに関する微分 = (出力側のユニットの誤差)times(入力側のユニットの値)

20098298 第6回PRML読書会

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 4: PRML 5.3-5.4

53 誤差逆伝播

フィードフォワードニューラルネットワークにおいて誤差関数 の勾配を評価

順向き伝播(forward propagation)と逆伝播(backpropagation)を用いた局所的なメッセージパッシングスキームを用いて実現できる

ネットワークの重みに比例した時間で計算可能

20098294 第6回PRML読書会

53 誤差逆伝播

逆伝播によって勾配を求めるステージとネットワークの重みを調整(学習)するステージは別々

1 逆伝播によって勾配を求める

2 勾配降下法などの最適化スキームを用いて重みを調整

たとえばヘッセ行列を計算すればNewton法を用いることができるまた勾配が分かれば準ニュートン法(BFGS法)が適応できる

20098295 第6回PRML読書会

531 誤差関数微分の評価

各データに対応する誤差項の和の形で表される誤差関数を考える

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

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

(544)

20098296 第6回PRML読書会

線形モデルの場合

出力 が入力変数 を線形和

の形で書け誤差関数が

と表されるとする

このとき重み に関する勾配は

となる

(545)

(546)

誤差信号 リンクの入力

20098297 第6回PRML読書会

線形モデルのイメージ

隠れ層がないニューラルネットワークに相当

勾配の計算

① 入力から出力を計算

② 出力と目的値の誤差信号を計算

③ 誤差信号から重みに関する微分を計算

入力 出力

重みに関する微分 = (出力側のユニットの誤差)times(入力側のユニットの値)

20098298 第6回PRML読書会

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 5: PRML 5.3-5.4

53 誤差逆伝播

逆伝播によって勾配を求めるステージとネットワークの重みを調整(学習)するステージは別々

1 逆伝播によって勾配を求める

2 勾配降下法などの最適化スキームを用いて重みを調整

たとえばヘッセ行列を計算すればNewton法を用いることができるまた勾配が分かれば準ニュートン法(BFGS法)が適応できる

20098295 第6回PRML読書会

531 誤差関数微分の評価

各データに対応する誤差項の和の形で表される誤差関数を考える

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

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

(544)

20098296 第6回PRML読書会

線形モデルの場合

出力 が入力変数 を線形和

の形で書け誤差関数が

と表されるとする

このとき重み に関する勾配は

となる

(545)

(546)

誤差信号 リンクの入力

20098297 第6回PRML読書会

線形モデルのイメージ

隠れ層がないニューラルネットワークに相当

勾配の計算

① 入力から出力を計算

② 出力と目的値の誤差信号を計算

③ 誤差信号から重みに関する微分を計算

入力 出力

重みに関する微分 = (出力側のユニットの誤差)times(入力側のユニットの値)

20098298 第6回PRML読書会

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 6: PRML 5.3-5.4

531 誤差関数微分の評価

各データに対応する誤差項の和の形で表される誤差関数を考える

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

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

(544)

20098296 第6回PRML読書会

線形モデルの場合

出力 が入力変数 を線形和

の形で書け誤差関数が

と表されるとする

このとき重み に関する勾配は

となる

(545)

(546)

誤差信号 リンクの入力

20098297 第6回PRML読書会

線形モデルのイメージ

隠れ層がないニューラルネットワークに相当

勾配の計算

① 入力から出力を計算

② 出力と目的値の誤差信号を計算

③ 誤差信号から重みに関する微分を計算

入力 出力

重みに関する微分 = (出力側のユニットの誤差)times(入力側のユニットの値)

20098298 第6回PRML読書会

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 7: PRML 5.3-5.4

線形モデルの場合

出力 が入力変数 を線形和

の形で書け誤差関数が

と表されるとする

このとき重み に関する勾配は

となる

(545)

(546)

誤差信号 リンクの入力

20098297 第6回PRML読書会

線形モデルのイメージ

隠れ層がないニューラルネットワークに相当

勾配の計算

① 入力から出力を計算

② 出力と目的値の誤差信号を計算

③ 誤差信号から重みに関する微分を計算

入力 出力

重みに関する微分 = (出力側のユニットの誤差)times(入力側のユニットの値)

20098298 第6回PRML読書会

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 8: PRML 5.3-5.4

線形モデルのイメージ

隠れ層がないニューラルネットワークに相当

勾配の計算

① 入力から出力を計算

② 出力と目的値の誤差信号を計算

③ 誤差信号から重みに関する微分を計算

入力 出力

重みに関する微分 = (出力側のユニットの誤差)times(入力側のユニットの値)

20098298 第6回PRML読書会

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 9: PRML 5.3-5.4

一般のフィードフォワードネットワーク

それぞれのユニットは入力の重み付き和を計算して非線形活性化関数h()によって変換して出力する

与えられた入力ベクトルに対し上の操作を繰り返してすべての隠れユニットと出力ユニットの出力を計算する過程を順向き伝播(forward propagation)と呼ぶ

20098299 第6回PRML読書会

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 10: PRML 5.3-5.4

微分の評価

の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目するとChain ruleにより

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

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

(550)

(553)

誤差(551) (552)

200982910 第6回PRML読書会

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 11: PRML 5.3-5.4

誤差の評価(12)

出力ユニットでは誤差の値は

となる(活性化関数に正準連結関数を用いた場合)

隠れユニットでの誤差の値はChain ruleより

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

200982911 第6回PRML読書会

(554)

(555)

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 12: PRML 5.3-5.4

誤差の評価(22)

200982912 第6回PRML読書会

上の式より(555)は

となるこの式を逆伝播公式という

誤差の評価を出力ユニットから再帰的に計算すれば全ての隠れユニットの誤差が計算できる

(556)

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 13: PRML 5.3-5.4

誤差逆伝播アルゴリズム

2009829第6回PRML読書会13

1 入力ベクトル をネットワークに入れ順向き伝播によってすべての隠れユニットと出力ユニットの出力を評価する

2 すべての出力ユニットの誤差を評価する

3 接続先のユニットの誤差の評価が終わっている隠れユニットに対して逆伝播公式を用いて再帰的に誤差を評価する

4 式 を用いて必要な微分を評価する

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 14: PRML 5.3-5.4

533 逆伝播の効率

2009829第6回PRML読書会14

誤差逆伝播の計算量は全体で

ここで はネットワークの重みとバイアスの総数

たとえば2層ネットワークならば M (D + K)

順伝播での評価に

逆伝播での(554)と(556)の評価も

微分の評価が ( ユニットの数)

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 15: PRML 5.3-5.4

数値微分を用いた場合の効率

2009829第6回PRML読書会15

微分を十分小さい を用いて

と近似する

この近似を使って評価する場合 個のすべての重みに対して順向き伝播を適応する必要があり全体の計算量は となる

計算量を考えると数値微分を用いる意味はないが逆伝播アルゴリズムのソフトウェアの実装の正しさをチェックするツールとなる

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 16: PRML 5.3-5.4

中心差分を用いた近似(演習514)

2009829第6回PRML読書会16

より

成立する

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 17: PRML 5.3-5.4

532 単純な例

2009829第6回PRML読書会17

2層ネットワークの例を考える

誤差関数2乗和

隠れユニットシグモイド活性化関数

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

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 18: PRML 5.3-5.4

シグモイド活性化関数

2009829第6回PRML読書会18

隠れユニットの活性化関数には

を用いる

この関数の特性として

となる性質がある

(560)

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 19: PRML 5.3-5.4

順向き伝播

2009829第6回PRML読書会19

以下の式を用いて順向き伝播を実行する

(562)

(564)

(563)

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 20: PRML 5.3-5.4

逆伝播

2009829第6回PRML読書会20

出力ユニットでの の値は

を使って計算できる

隠れユニットでの の値は逆伝播公式より

で計算できる

重みに関する微分

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 21: PRML 5.3-5.4

バイアスについて

2009829第6回PRML読書会21

発表中には混乱したのですがバイアスユニットの は計算する必要はないです

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

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 22: PRML 5.3-5.4

534 ヤコビ行列

2009829第6回PRML読書会22

逆伝播アルゴリズムは重みに関する微分だけではなく他の微分計算にも応用可能

例えばヤコビ行列の評価に用いることができる

ヤコビ行列の各要素は出力の入力に関する微分で与えられる

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

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 23: PRML 5.3-5.4

モジュール型パターン認識システム

2009829第6回PRML読書会23

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

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 24: PRML 5.3-5.4

逆伝播手続きの導出(12)

2009829第6回PRML読書会24

ヤコビ行列の要素 は

となる(ここで和は入力ユニット が結合をもつすべてのユニット に関してとる)

これからヤコビ行列の評価には を評価すればよいことが分かる

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 25: PRML 5.3-5.4

逆伝播手続きの導出(22)

2009829第6回PRML読書会25

の値は

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

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 26: PRML 5.3-5.4

出力ユニットにおける微分

2009829第6回PRML読書会26

出力ユニット における微分の値は活性化関数の関数形式を直接微分することにより求められる

線形活性化関数

シグモイド活性化関数

ソフトマックス関数

はクロネッカーのデルタ

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 27: PRML 5.3-5.4

53 まとめ

2009829第6回PRML読書会27

誤差逆伝播を用いて勾配情報を効率的に計算する方法について述べた

逆伝播のテクニックを用いるとヤコビ行列などの評価も可能になる

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 28: PRML 5.3-5.4

最適化手法について

2009829第6回PRML読書会28

誤差逆伝播によって勾配が与えられたときにどうやってネットワークの重みを更新するか

最も単純な方法としては

のように更新する方法である

ここで は学習率パラメータとして知られている

この方法では性能が悪い

学習率を大きくすると数値が発散したりする

小さいと収束が非常に遅くなる

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 29: PRML 5.3-5.4

直線探索(line search)

2009829第6回PRML読書会29

学習率パラメータ の決め方に関して

最急降下以外デモに関数 の最小化最大化を行う際に

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

このとき を探索方向と呼び を決定することを直線探索と呼ぶ

の決定方法としては が適当な基準を満たすまで小さくしていくという方法をとることが多い(Backtracking line search)

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 30: PRML 5.3-5.4

直線探索の基準について

2009829第6回PRML読書会30

アルミホの基準(Armijorsquos rule)

ウルフの基準(Wolfersquos rule)

アルミホの基準 + 下の式が成立

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 31: PRML 5.3-5.4

逐次的勾配降下法

2009829第6回PRML読書会31

重みの更新を一回ごとに一つのデータ点に基づいて作成する

このような各点で行う手法をオンライン手法といいデータをすべて用いる方法をバッチ手法と呼ぶ

データをmini-batchと呼ばれる小さい部分に分割して学習を行う場合もある

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 32: PRML 5.3-5.4

オンライン vs バッチ

2009829第6回PRML読書会32

オンライン

バッチ処理に比べて大規模データが扱いやすい

データが加わった時や変化した際に学習が容易

バッチ

収束条件が明確

共役勾配法などの手法を用いやすい

理論的解析や収束速度が扱いやすい

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 33: PRML 5.3-5.4

慣性項(momentum)を用いる方法

2009829第6回PRML読書会33

学習規則を以下のように表す

最急降下では

となる

慣性項 を用いて

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

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 34: PRML 5.3-5.4

準ニュートン法

2009829第6回PRML読書会34

準ニュートン法は関数 を最小化する手法の一つ

制約なし非線形最適化の中で非常にオーソドックスな方法

ベクトル を以下の更新式で更新する

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

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 35: PRML 5.3-5.4

他手法との関係

2009829第6回PRML読書会35

最急降下法

(ヘッセ行列) ニュートン法

準ニュートン法の由来としては がヘッセ行列の近似となっていることから来ている

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 36: PRML 5.3-5.4

BFGS(BroydenndashFletcherndashGoldfarbndashShanno)公式

2009829第6回PRML読書会36

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

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

以下のように変数を定義する

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 37: PRML 5.3-5.4

収束速度について

2009829第6回PRML読書会37

点列 が に収束しているとする

一次収束

超一次(super linear)収束

二次収束

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 38: PRML 5.3-5.4

L-BFGS

2009829第6回PRML読書会38

BFGS法ではパラメータ数がnのときO(n^2)の空間計算量がかかる

行列の値ではなく反復推定時の過去m回のベクトルの更新履歴のみを覚えておくのがL-BFGS法

この場合O(mn)の空間計算量で通常反復は10回程度で終わるので問題ない

Software

libLBGFS (C++) httpwwwchokkanorgsoftwareliblbfgs

L1正則化項(微分不可)を用いた関数の最適化にも対応

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 39: PRML 5.3-5.4

54 ヘッセ行列

2009829第6回PRML読書会39

すべての重みパラメータとバイアスパラメータを1つのベクトル の要素 とする

このとき誤差の二階微分 はヘッセ行列の成分をなす

個のパラメータがあるときにはヘッセ行列の要素は個存在し計算量としては は必ず必要でまた実際に で計算する手法が存在する(PRML 545 Bishop 1991 Bishop1992)

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 40: PRML 5.3-5.4

ヘッセ行列を用いるメリット

2009829第6回PRML読書会40

ヘッセ行列を計算することにより以下のような用途に用いることができる

1 非線形最適化アルゴリズムに利用(cf Newton法)

2 訓練データが尐しだけ変わった場合に高速に再学習を行うために使う(Bishop1991)

3 「刈り込み」アルゴリズムの一部として不要な重みを特定するのに用いられる(Le Cun et al1990)

4 ベイズニューラルネットワークのラプラス近似の際に中心的な役割を果たす

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 41: PRML 5.3-5.4

ヘッセ行列の計算手法

2009829第6回PRML読書会41

近似計算

対角近似(541)

O(W)で計算可能

外積による近似(542)

O(W^2)で計算可能

効率的に逆行列が計算できる(543)

差分近似(544)

ナイーブにやるとO(W^3)がかかるが逆伝播を用いて1階微分を用いるとO(W^2)で計算可能

厳密評価(545)

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 42: PRML 5.3-5.4

対角近似(541)

2009829第6回PRML読書会42

ヘッセ行列の応用上で逆行列が必要になることが多いがヘッセ行列が対角であれば容易に求めることができる

近似式の評価がO(W)で計算できる

Becker and Le Cun 1989 Le Cun et al1990

Ricotti et al(1998)では対角項に関して正確な値を得ているが代わりにO(W^2)の計算量がかかる

問題として実際のヘッセ行列が極端な非対角であることが多いため注意が必要

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 43: PRML 5.3-5.4

式(579)導出補足

2009829第6回PRML読書会43

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 44: PRML 5.3-5.4

外積による近似(542)

2009829第6回PRML読書会44

誤差関数が

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

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

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

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 45: PRML 5.3-5.4

ヘッセ行列の逆行列(543)

2009829第6回PRML読書会45

外積による近似を用いると逆行列の近似するための計算上効率的な手続きを導出できる(Hassibi and Stork 1993)

最初のL個のデータ点を用いて作成されたヘッセ行列をとすると

の逆行列は の逆行列から効率的に導出できる

初めの行列を とすると の逆行列を見つけることになる( )

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 46: PRML 5.3-5.4

有限幅の差分による近似(544)

2009829第6回PRML読書会46

ヘッセ行列の各項は

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

で計算できる

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 47: PRML 5.3-5.4

ヘッセ行列の厳密な評価(545)

2009829第6回PRML読書会47

O(W^2)で効率的に評価する方法が存在する(Bishop 1991 Bishop 1992)

Buntine and Weigend(1993)でも類似の方法が考察されている

2層ネットワークの場合は必要な式は容易に導かれる

それぞれの重みが第何層にあるかで場合分けを行う(593)(594)(595)

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 48: PRML 5.3-5.4

ヘッセ行列の積の高速な計算(546)

2009829第6回PRML読書会48

ヘッセ行列 自体ではなくあるベクトル との積が必要であることが多い

このときヘッセ行列を評価して積を求めるとO(W^2)の時間空間計算量が必要である

しかし誤差逆伝播の手順を利用することによってO(W)で効率的に計算するアルゴリズムが存在する(Pearmutter 1994)

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 49: PRML 5.3-5.4

計算方法のアウトライン

2009829第6回PRML読書会49

計算したい値

は誤差逆伝播で求まる

誤差逆伝播を求めるすべての方程式に微分演算子

を作用させる

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)

Page 50: PRML 5.3-5.4

ちなみに5章とは関係ないですが

2009829第6回PRML読書会50

今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008

最近の協調フィルタリングで用いられている基本的手法の一つ

単純な類似度ベースの方法より速度精度ともに上

必要知識 最急降下法(慣性項含む)

ロジスティック関数の微分

ガウス分布

(グラフィカルモデル PRML 8章)