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章)
発表内容
誤差逆伝播 (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章)
参考資料
田村村松「工系数学講座 最適化法」 共立出版(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章)
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章)
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章)
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章)
線形モデルの場合
出力 が入力変数 を線形和
の形で書け誤差関数が
と表されるとする
このとき重み に関する勾配は
となる
(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章)
線形モデルのイメージ
隠れ層がないニューラルネットワークに相当
勾配の計算
① 入力から出力を計算
② 出力と目的値の誤差信号を計算
③ 誤差信号から重みに関する微分を計算
入力 出力
重みに関する微分 = (出力側のユニットの誤差)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章)
一般のフィードフォワードネットワーク
それぞれのユニットは入力の重み付き和を計算して非線形活性化関数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章)
微分の評価
の に関する微分の評価は がユニット への入力和 を通してのみ に依存することに着目すると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章)
誤差の評価(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章)
誤差の評価(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章)
誤差逆伝播アルゴリズム
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章)
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章)
数値微分を用いた場合の効率
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章)
中心差分を用いた近似(演習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章)
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章)
シグモイド活性化関数
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章)
順向き伝播
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章)
逆伝播
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章)
バイアスについて
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章)
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章)
モジュール型パターン認識システム
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章)
逆伝播手続きの導出(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章)
逆伝播手続きの導出(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章)
出力ユニットにおける微分
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章)
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章)
最適化手法について
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章)
直線探索(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章)
直線探索の基準について
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章)
逐次的勾配降下法
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章)
オンライン 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章)
慣性項(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章)
準ニュートン法
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章)
他手法との関係
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章)
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章)
収束速度について
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章)
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章)
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章)
ヘッセ行列を用いるメリット
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章)
ヘッセ行列の計算手法
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章)
対角近似(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章)
式(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章)
外積による近似(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章)
ヘッセ行列の逆行列(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章)
有限幅の差分による近似(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章)
ヘッセ行列の厳密な評価(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章)
ヘッセ行列の積の高速な計算(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章)
計算方法のアウトライン
2009829第6回PRML読書会49
計算したい値
は誤差逆伝播で求まる
誤差逆伝播を求めるすべての方程式に微分演算子
を作用させる
ちなみに5章とは関係ないですが
2009829第6回PRML読書会50
今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008
最近の協調フィルタリングで用いられている基本的手法の一つ
単純な類似度ベースの方法より速度精度ともに上
必要知識 最急降下法(慣性項含む)
ロジスティック関数の微分
ガウス分布
(グラフィカルモデル PRML 8章)
ちなみに5章とは関係ないですが
2009829第6回PRML読書会50
今日ここまでの話+いままでのPRMLを聞いておくと以下の論文は読めると思います R Salakhutdinov and A Mnih Probabilistic Matrix Factorization NIPS 20 2008
最近の協調フィルタリングで用いられている基本的手法の一つ
単純な類似度ベースの方法より速度精度ともに上
必要知識 最急降下法(慣性項含む)
ロジスティック関数の微分
ガウス分布
(グラフィカルモデル PRML 8章)