Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PRML 5.3-5.4

6,911 views

Published on

  • Be the first to comment

PRML 5.3-5.4

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

×