Upload
isseisato
View
593
Download
2
Embed Size (px)
Citation preview
東京大学
JSTさきがけ(兼任)
佐藤一誠
ステアラボ2015.10.31
ベイズ的最適化(Bayesian Optimization)
-入門とその応用-
1
• ベイズ的最適化
• 適用例
• 細かい話
目次
2
次はどの点を探す?
0
3
問題
目的: 3つの薬品{A,B,C}の投入の順番による効果を分析したい
一週間後
A B C
• 全ての実験設定を試すには3!=6週必要
• 少ない実験回数で効果を分析するためには、どの順番で実験すればよいか?
4
実験の順番 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
実験の順番 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
✕
✕
✕
✕
0
1
4
3
2
1
4
1
14
3
2
1
4
1
),( 10 yx
),( 21 yx
),( 32 yx
),( 03 yx
Latin Hypercube Sampling[McKay+1979]
-Latin squareに基づく偏りを軽減したサンプリング手法-
7
3
2
1
0
0 1 2 3XY
✕
✕
✕
✕
0
1
4
3
2
1
4
1
14
3
2
1
4
1
4,
4
1~
iiUyi
4,
4
1~
iiUxi
}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
3
2
1
0
0 1 2 3XY
✕
✕
✕
✕
0
1
4
3
2
1
4
1
14
3
2
1
4
1
4,
4
1~
iiUyi
4,
4
1~
iiUxi
}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
問題設定
事前に設定しておくパラメータ(実験設定)
),,,( 21 Dxxxx y
なんらかの評価値を算出
次にどの設定で実験すればよいのか?
この関係を知りたい
11
問題設定
事前に設定しておくパラメータ(実験設定)
なんらかの評価値を算出
12
y=f(x)x y
13
ベイズ的最適化Bayesian Optimization (BO)
Black-box関数の最適化(多峰性・評価が高コスト)→関数がわからないなら
事前分布を仮定して、関数の事後分布を基に最適化しよう
y=f(x)x y
[Kusher 1964, Mockus, 1978]
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
),(),(),(
),(),(),(
),(),(),(
,
)(
)(
)(
~
)(
)(
)(
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
ガウス過程:
17
ガウス過程のベイズ予測分布
生成過程
ベイズ予測分布
18
観測情報なし
x
)(xf
19
観測
Observations
x
)(xf
20
関数の可能性
x
)(xf
Observations
21From [Brochu+,2010]
事後分布
ガウス過程を事前分布に用いると扱いやすい事後分布が求まる
22From [Brochu+,2010]
事後分布
ガウス過程を事前分布に用いると扱いやすい事後分布が求まる事後分布の情報を利用してブラックボックス関数の最適化はできないか?
↓ベイズ的最適化
探索と活用の戦略
-機械学習の重要テーマの1つ-
x
)(xf
Better この辺りに高い値がありそう? (活用)
もしかするとこの辺りに高い値があるかも? (探索)
24
獲得関数の導入
)(max* xfyx
目的
)(.max1 xax tx
t
アルゴリズム
探索と活用のトレードオフ
候補点xを生成
25
Confidence bound [Srinivas+,2010]
)(max* xfyx
目的
)(.max1 xax tx
t
アルゴリズム
From [Brochu+,2010]
)()()( xxxa ttt
探索活用
トレードオフRegretの解析から理論値は求まるが実用的には大きすぎる
26
27
28
29
30
31
32
33
34
35
36
Expected improvement [Mockus,1978]
)(max* xfyx
目的
)(.max1 xaxx
t
アルゴリズム
dfyxfGPyxfxa t
iiibestt )},{|())(,0max()( 1
1
探索と活用のトレードオフ
解析的に求まる
• f(x)が期待的に高いxほどa(x)は大きくなる• f(x)の分散が大きいxほどa(x)は大きくなる• トレードオフパラメータはない
探索
活用
37
Mutual Information [Contal+2014]
)(max* xfyx
目的
)(.max1 xax tx
t
アルゴリズム
1
1
21
1
22 )()()()()(t
i
ii
t
i
iittt xxxxxa
探索と活用のトレードオフ
GP-UCB 最大MIの下限
)(MImax)( TT|:|1
2
TXX
t
i
ii XCxTT
トレードオフ κ
Regretの解析から理論値が求まり実用的にもよい
• ベイズ的最適化
• 適用例
• 細かい話
目次
38
Himmelblau をBOで解くEI: Expected Improvement [Mockus,1978]
UCB: Upper Confidence Bound [Srinivas+,2010]
MI: Mutual Information[Contal+2014]
From [Contal+2014]Better 39
Gaussian mixture をBOで解くEI: Expected Improvement [Mockus,1978]
UCB: Upper Confidence Bound [Srinivas+,2010]
MI: Mutual Information[Contal+2014]
From [Contal+2014]Better 40
Analogical Reasoning Task
Germany : Berlin :: France : X
word2vec(skip-gram model)ハイパーパラメータ:
– ベクトルの次元
– 文脈の幅 (デフォルト:5)
– Negative sampling数
– Negative sampling分布のパラメータ (デフォルト:0.75)
– 学習率 (デフォルト:0.25)
word2vec を BOでチューニング
41
word2vec を BOでチューニング
※学習データはenWik9
Better
42
Online LDAをBOでチューニング
※学習データはPubmed1M
Sato+KDD’15
SCVB0 [Foulds+13]
SVB+BO
SCVB0+BO
BOによるチューニングなくても良い性能
44
学習率、事前分布のパラメータなどなどを最適化
複数行列分解をBOでチューニング
コスト関数付き複数行列分解のハイパーパラメータを最適化
45
リクナビ2015のエントリー予測(with Recruit IEEE BigData2016 (to appear))
複数行列分解をBOでチューニング
リクナビ2015のエントリー予測(with Recruit IEEE BigData2016 (to appear))
[Hu+2008]+BO[Fang+2011]+BO
提案手法46
47
Snoek+, NIPS2012: Practical Bayesian Optimization of Machine Learning Algorithms
Random Grid Search
エポック数, 学習率, 正規化のパラメータなどを最適化
DNNをBOでチューニング
※学習データはCIFER-10
• ベイズ的最適化
• 適用例
• 細かい話
目次
48
• ARD squared exponential (SE) Kernel
• Matern kernel [Matern 1960]
49
よく使われるカーネル
2exp);',( 0
zxxK
zvBessv
zvxxK v
v
2)(
)(2);',(
d d
dd xxz
2)'(
ガンマ関数 修正ベッセル関数
νにより滑らかさをコントロールν=3/2,5/2がよく用いられる
Sample from GP with SE Sample from GP with Matern5/2
よく使われるカーネル
SE kernelはMatern5/2に比べて滑らかBOでは、Black-box関数は滑らかではないという性質を仮定する事が多く、Maternのほうがよく用いられる 50
• 経験ベイズ法
• MCMC [Snoek+ 2012](BOではこちらを使うほうがよい)
51
カーネルパラメータθの扱い
S
s
s
xt xa
Sx
1
)(
1 )|(1
max
獲得関数は、カーネル(θ)に依存
dffGPfypyp nn )|()|()|(max* :1:1
)|(~ :1
)(
n
s yp
)|(max1 xaxXx
t
解析的に求まる
)( ii xfy
by slice sampling
[Murray and Adams 2010]
Latin Hypercube Sampling [McKay+, 1979]が使える
(その他、ソボル列 [Bratley and Fox, 1988]など) 52
獲得関数の最適化
獲得関数は多峰
)|(max1 xax tXx
t
)|(max},...,,{
1 )L()2()1(xax t
xxxxt
(特に、ハイパーパラメータチューニングの場合)
f(x)の評価は高コストだけど、a(x)の評価はそれほどでもない
⇒Grid searchまたは大量にサンプリングして調べれば良い?
53
探索空間の正規化
Hypercube上に限定
• xの次元毎に適切な正規化が必要
• 例えば(ハイパーパラメータの場合)、
• Learning rate = 0.1, 0.01, 0.001….
• Dimension = 100, 200, 300....
)log/(loglog minmax xxx
)/( minmax xxx
)|(max1 xaxXx
t
• マルチタスク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