Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

ベイズ的最適化(Bayesian Optimization)の入門とその応用

8 910 vues

Publié le

ベイズ的最適化(Bayesian Optimization)の入門とその応用

Publié dans : Technologie
  • Soyez le premier à commenter

ベイズ的最適化(Bayesian Optimization)の入門とその応用

  1. 1. 東京大学 JSTさきがけ(兼任) 佐藤一誠 ステアラボ2015.10.31 ベイズ的最適化 (Bayesian Optimization) -入門とその応用- 1
  2. 2. • ベイズ的最適化 • 適用例 • 細かい話 目次 2
  3. 3. 次はどの点を探す? 0 3
  4. 4. 問題 目的: 3つの薬品{A,B,C}の投入の順番 による効果を分析したい 一週間後 A B C • 全ての実験設定を試すには3!=6週必要 • 少ない実験回数で効果を分析するためには、 どの順番で実験すればよいか? 4
  5. 5. 実験の順番 1 2 3 1週目 薬A 薬B 薬C 2週目 薬C 薬A 薬B 3週目 薬B 薬C 薬A Latin square: 各行列に現れるシンボルの種類は1つ A B C C A B B C A Latin squareによる実験計画 3週あれば、各々の順番で各薬品が必ず1度現れる →統計解析との組合せで実験回数が減らせるかも?5
  6. 6. 実験の順番 1 2 3 1週目 薬A 薬B 薬C 2週目 薬C 薬A 薬B 3週目 薬B 薬C 薬A Latin square: 各行列に現れるシンボルの種類は1つ A B C C A B B C A Latin squareによる実験計画 3週あれば、各々の順番で各薬品が必ず1度現れる →統計解析との組合せで実験回数が減らせるかも? 連続値を扱いたい場合は? 6
  7. 7. ✕ ✕ ✕ ✕ 0 1 4 3 2 1 4 1 1 4 3 2 1 4 1 ),( 10 yx ),( 21 yx ),( 32 yx ),( 03 yx Latin Hypercube Sampling [McKay+1979] -Latin squareに基づく偏りを軽減したサンプリング手法- 7
  8. 8. 3 2 1 0 0 1 2 3X Y ✕ ✕ ✕ ✕ 0 1 4 3 2 1 4 1 1 4 3 2 1 4 1      4 , 4 1 ~ ii Uyi      4 , 4 1 ~ ii Uxi }3,2,1,0{i ),( 10 yx ),( 21 yx ),( 32 yx ),( 03 yx Latin Hypercube Sampling [McKay+1979] -Latin squareに基づく偏りを軽減したサンプリング手法- D次元でN点サンプリングしたい ⇒ {0,1,…,N-1}の順列をD個生成する ⇒ ⇒ ⇒ ※N=4,D=2のとき 8
  9. 9. 3 2 1 0 0 1 2 3X Y ✕ ✕ ✕ ✕ 0 1 4 3 2 1 4 1 1 4 3 2 1 4 1      4 , 4 1 ~ ii Uyi      4 , 4 1 ~ ii Uxi }3,2,1,0{i ),( 10 yx ),( 21 yx ),( 32 yx ),( 03 yx Latin Hypercube Sampling [McKay+1979] -Latin squareに基づく偏りを軽減したサンプリング手法- D次元でN点サンプリングしたい ⇒ {0,1,…,N-1}の順列をD個生成する ⇒ ⇒ ⇒ ※N=4,D=2のとき 予め固定された実験計画ではなく これまでに観測してきた実験結果 から次の実験設定を決めたほうが 効率がよいのではないか? ↓ 𝑝 𝑦 𝑥, {𝑥𝑖, 𝑦𝑖} が計算できればよい? 9
  10. 10. • 実験計画 • ベイズ的最適化 • 適用例 • 細かい話 目次 10
  11. 11. 問題設定 事前に設定しておく パラメータ(実験設定) ),,,( 21 Dxxxx  y なんらかの評価値 を算出 次にどの設定で実験すればよいのか? この関係を知りたい 11
  12. 12. 問題設定 事前に設定しておく パラメータ(実験設定) なんらかの評価値 を算出 12 y=f(x)x y
  13. 13. 13 ベイズ的最適化 Bayesian Optimization (BO) Black-box関数の最適化(多峰性・評価が高コスト) →関数がわからないなら 事前分布を仮定して、関数の事後分布を基に最適化しよう y=f(x)x y [Kusher 1964, Mockus, 1978]
  14. 14. 14 y=f(x)x y • Bayesian Nonparametricsに基づく関数f(x)のモデリング e.g., f(x)の事前分布としてGaussian process (GP)を仮定 • 評価点 から事後分布を計算)}(,{ ii xfx ベイズ的最適化 Bayesian Optimization (BO) [Kusher 1964, Mockus, 1978]
  15. 15. 15                                     ),(),(),( ),(),(),( ),(),(),( , )( )( )( ~ )( )( )( 332313 322212 312111 3 2 1 3 2 1 xxKxxKxxK xxKxxKxxK xxKxxKxxK xm xm xm N xf xf xf )( 1xf )( 2xf )( 3xf ガウス過程: ガウス過程に従う関数fのn点はn次元ガウス分布に従う
  16. 16. 16 ガウス過程:
  17. 17. 17 ガウス過程のベイズ予測分布 生成過程 ベイズ予測分布
  18. 18. 18 観測情報なし x )(xf
  19. 19. 19 観測 Observations x )(xf
  20. 20. 20 関数の可能性 x )(xf Observations
  21. 21. 21 From [Brochu+,2010] 事後分布 ガウス過程を事前分布に用いると 扱いやすい事後分布が求まる
  22. 22. 22 From [Brochu+,2010] 事後分布 ガウス過程を事前分布に用いると 扱いやすい事後分布が求まる事後分布の情報を 利用してブラックボックス関数 の最適化はできないか? ↓ ベイズ的最適化
  23. 23. 探索と活用の戦略 - 機械学習の重要テーマの1つ- x )(xf Better この辺りに高い値がありそう? (活用) もしかするとこの辺りに高い値があるかも? (探索)
  24. 24. 24 獲得関数の導入 )(max* xfy x  目的 )(.max1 xax t x t  アルゴリズム 探索と活用のトレードオフ 候補点xを生成
  25. 25. 25 Confidence bound [Srinivas+,2010] )(max* xfy x  目的 )(.max1 xax t x t  アルゴリズム From [Brochu+,2010] )()()( xxxa ttt   探索活用 トレードオフ Regretの解析から理論値 は求まるが実用的には大きすぎる
  26. 26. 26
  27. 27. 27
  28. 28. 28
  29. 29. 29
  30. 30. 30
  31. 31. 31
  32. 32. 32
  33. 33. 33
  34. 34. 34
  35. 35. 35
  36. 36. 36 Expected improvement [Mockus,1978] )(max* xfy x  目的 )(.max1 xax x t  アルゴリズム dfyxfGPyxfxa t iiibestt )},{|())(,0max()( 1 1    探索と活用のトレードオフ 解析的に求まる • f(x)が期待的に高いxほどa(x)は大きくなる • f(x)の分散が大きいxほどa(x)は大きくなる • トレードオフパラメータはない 探索 活用
  37. 37. 37 Mutual Information [Contal+2014] )(max* xfy x  目的 )(.max1 xax t x t  アルゴリズム               1 1 2 1 1 22 )()()()()( t i ii t i iittt xxxxxa  探索と活用のトレードオフ GP-UCB 最大MIの下限 )(MImax)( T T|:|1 2 T XX t i ii XCx TT   トレードオフ κ Regretの解析から理論値 が求まり実用的にもよい
  38. 38. • ベイズ的最適化 • 適用例 • 細かい話 目次 38
  39. 39. Himmelblau をBOで解く EI: Expected Improvement [Mockus,1978] UCB: Upper Confidence Bound [Srinivas+,2010] MI: Mutual Information[Contal+2014] From [Contal+2014]Better 39
  40. 40. Gaussian mixture をBOで解く EI: Expected Improvement [Mockus,1978] UCB: Upper Confidence Bound [Srinivas+,2010] MI: Mutual Information[Contal+2014] From [Contal+2014]Better 40
  41. 41. Analogical Reasoning Task Germany : Berlin :: France : X word2vec(skip-gram model)ハイパーパラメータ: – ベクトルの次元 – 文脈の幅 (デフォルト:5) – Negative sampling数 – Negative sampling分布のパラメータ (デフォルト:0.75) – 学習率 (デフォルト:0.25) word2vec を BOでチューニング 41
  42. 42. word2vec を BOでチューニング ※学習データはenWik9 Better 42
  43. 43. BO結果可視化ツールデモ 43
  44. 44. Online LDAをBOでチューニング ※学習データはPubmed1M Sato+ KDD’15 SCVB0 [Foulds+13] SVB+BO SCVB0+BO BOによるチューニングなくても良い性能 44 学習率、事前分布のパラメータなどなどを最適化
  45. 45. 複数行列分解をBOでチューニング コスト関数付き複数行列分解 のハイパーパラメータを最適化 45 リクナビ2015のエントリー予測 (with Recruit IEEE BigData2016 (to appear))
  46. 46. 複数行列分解をBOでチューニング リクナビ2015のエントリー予測 (with Recruit IEEE BigData2016 (to appear)) [Hu+2008]+BO [Fang+2011]+BO 提案手法 46
  47. 47. 47 Snoek+, NIPS2012: Practical Bayesian Optimization of Machine Learning Algorithms Random Grid Search エポック数, 学習率, 正規化のパラメータなどを最適化 DNNをBOでチューニング ※学習データはCIFER-10
  48. 48. • ベイズ的最適化 • 適用例 • 細かい話 目次 48
  49. 49. • ARD squared exponential (SE) Kernel • Matern kernel [Matern 1960] 49 よく使われるカーネル      2 exp);',( 0 z xxK   zvBess v zv xxK v v 2 )( )(2 );',(      d d dd xx z  2 )'( ガンマ関数 修正ベッセル関数 νにより滑らかさをコントロール ν=3/2,5/2がよく用いられる
  50. 50. Sample from GP with SE Sample from GP with Matern5/2         よく使われるカーネル SE kernelはMatern5/2に比べて滑らか BOでは、Black-box関数は滑らかではないという性質を 仮定する事が多く、Maternのほうがよく用いられる 50
  51. 51. • 経験ベイズ法 • MCMC [Snoek+ 2012](BOではこちらを使うほうがよい) 51 カーネルパラメータθの扱い    S s s x t xa S x 1 )( 1 )|( 1 max  獲得関数は、カーネル(θ)に依存 dffGPfypyp nn  )|()|()|(max* :1:1   )|(~ :1 )( n s yp  )|(max1 xax Xx t    解析的に求まる  )( ii xfy by slice sampling [Murray and Adams 2010]
  52. 52. Latin Hypercube Sampling [McKay+, 1979]が使える (その他、ソボル列 [Bratley and Fox, 1988] など) 52 獲得関数の最適化 獲得関数は多峰 )|(max1 xax t Xx t    )|(max },...,,{ 1 )L()2()1( xax t xxxx t    (特に、ハイパーパラメータチューニングの場合) f(x)の評価は高コストだけど、a(x)の評価はそれほどでもない ⇒Grid searchまたは大量にサンプリングして調べれば良い?
  53. 53. 53 探索空間の正規化 Hypercube上に限定 • xの次元毎に適切な正規化が必要 • 例えば(ハイパーパラメータの場合)、 • Learning rate = 0.1, 0.01, 0.001…. • Dimension = 100, 200, 300.... )log/(loglog minmax xxx  )/( minmax xxx  )|(max1 xax Xx t   
  54. 54. • マルチタスクBO [Snoek+,NIPS2013] – マルチタスクGP[Bonilla+,NIPS2008]を用いて複数のタ スク(データセット)でハイパーパラメータを同時に探索 • 正規化の学習 [Snoek+,ICML2014] – Warped GP[Snelson+,NIPS2004]を用いてハイパー キューブ上への正規化関数を学習 • 制約付きBO [Gardner+ ICML2014, Gelbart+ UAI2014] – xにコスト関数及び制約: • 高次元BO [Wang+ IJCAI2013] – Random projectionによるxの埋め込み 54 BO 最近の話題  )( 1txc

×