Slide 1

Slide 1 text

機械学習における
 ハイパーパラメータ最適化の
 理論と実践
 株式会社サイバーエージェント
 AI Lab
 野村 将寛
 1

Slide 2

Slide 2 text

自己紹介
 ● 野村 将寛
 ● 株式会社サイバーエージェント AI Lab
 ○ ハイパーパラメータ最適化
 ● 産総研 特定集中研究専門員
 ● 東工大小野研究室 博士後期課程1年
 ○ 進化計算
 ● kaggle master
 2

Slide 3

Slide 3 text

ハイパーパラメータ最適化
 3

Slide 4

Slide 4 text

ハイパーパラメータ最適化
 ● 機械学習手法には,チューニングすべきハイパーパラメータが存在
 ○ ロジスティック回帰 : 学習率,正則化係数
 ○ SVM : カーネルの種類,カーネル係数,正則化係数
 ○ DNN : ユニット数,レイヤ数,学習率,...
 4

Slide 5

Slide 5 text

失敗するとどうなるか?
 ● 例) 多項式回帰
 ハイパーパラメータ最適化
 5 手元のデータへの
 当てはまり
 正則化項 :
 複雑さへの罰則


Slide 6

Slide 6 text

ハイパーパラメータ最適化の流れ
 6 LR 学習率ηと正則化係数Cを設定したい


Slide 7

Slide 7 text

ハイパーパラメータ最適化の流れ
 7 η=0.1
 C=100
 LR

Slide 8

Slide 8 text

ハイパーパラメータ最適化の流れ
 8 η=0.1
 trainデータに対して学習 
 C=100
 LR

Slide 9

Slide 9 text

ハイパーパラメータ最適化の流れ
 9 η=0.1
 C=100
 cvにより計算 :
 val err = 0.8
 LR

Slide 10

Slide 10 text

ハイパーパラメータ最適化の流れ
 10 LR

Slide 11

Slide 11 text

ハイパーパラメータ最適化の流れ
 11 η=0.05
 C=10000
 cvにより計算 :
 val err = 0.73
 LR

Slide 12

Slide 12 text

問題を抽象化すると...
 12 f(x)
 中身がブラックボックスな関数の最適化
 = Black-box最適化
 x


Slide 13

Slide 13 text

Black-box最適化
 13

Slide 14

Slide 14 text

Black-box最適化
 14 ● 関数の中身がブラックボックスで勾配情報などが使えない
 ● 1回の評価に時間がかかることを想定
 ● なるべく少ない評価回数で良い解を探索したい
 ● 本発表ではBlack-box最適化において有力な以下の手法を解説
 ○ ベイズ最適化
 ○ CMA-ES


Slide 15

Slide 15 text

ベイズ最適化
 15 ● ハイパーパラメータ最適化において一番人気のある手法
 ● 最もベーシックかつOSSとして利用しやすい2手法(✴)を解説
 ○ GP-EI [Snoek et al., 2012]
 ○ TPE [Bergstra et al., 2011]
 
 
 
 
 (✴) SMAC [Hutter et al., 2011]はOSSとして利用がしづらいため,発表では省略


Slide 16

Slide 16 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 16 ● ガウス過程(GP)によって目的関数をモデル化
 ● 評価値の改善量の期待値(EI)が最大となる点を選択


Slide 17

Slide 17 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 17 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 18

Slide 18 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 18 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 19

Slide 19 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 19 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 20

Slide 20 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 20 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 21

Slide 21 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 21 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 22

Slide 22 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 22 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 23

Slide 23 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 23 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 24

Slide 24 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 24 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 25

Slide 25 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 25 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 26

Slide 26 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 26 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 27

Slide 27 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 27 1. GPにより目的関数を予測
 2. EIを計算して最適化
 3. 2.で得られた点を評価
 4. 1.〜3.を繰り返す


Slide 28

Slide 28 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 評価値の改善量の期待値であるEIの計算式:
 
 
 
 目的関数がGPに従う場合は解析的に計算が可能
 28

Slide 29

Slide 29 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 評価値の改善量の期待値であるEIの計算式:
 
 
 
 目的関数がGPに従う場合は解析的に計算が可能
 29 評価値の改善量


Slide 30

Slide 30 text

評価値の改善量の期待値であるEIの計算式:
 
 
 
 目的関数がGPに従う場合は解析的に計算が可能
 ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 30 ガウス過程によるモデル化


Slide 31

Slide 31 text

ベイズ最適化 : GP-EI [Snoek et al., 2012] 
 評価値の改善量の期待値であるEIの計算式:
 
 
 
 目的関数がGPに従う場合は解析的に計算が可能
 ● ただ,多峰性関数のため最適化は容易ではない (ベイズ最適化一般の話)
 ○ カテゴリカル,離散変数にはEDA,連続変数はCMA-ES [Bergstra et al., 2011]
 ○ DIRECT + CMA-ES [Wang et al., 2016]
 ○ DIRECT + L-BFGS [Calandra et al., 2014]
 31 ガウス過程によるモデル化


Slide 32

Slide 32 text

ベイズ最適化 : TPE [Bergstra et al., 2011] 
 32 ● Hyperopt, Optunaがデフォルトで採用しているアルゴリズム
 ● EIを使うところまではGP-EIと同じだが,
 GP-EIとは目的関数に対するモデル化の方法が異なる(✴)
 
 (✴)正確には,目的関数に対するモデル化は行わない 


Slide 33

Slide 33 text

ベイズ最適化 : TPE [Bergstra et al., 2011] 
 33 p(y|x)を直接モデル化する代わりにp(x|y)とp(y)でモデル化する
 p(y|x) = p(x|y)p(y)/p(x)
 ある閾値y✴を用いて,評価値上位と下位からなるp(x|y)を定義
 
 
 
 y✴は分位点γにより決定
 


Slide 34

Slide 34 text

ベイズ最適化 : TPE [Bergstra et al., 2011] 
 34 これらの式を用いると,
 
 
 つまり,l(x)/g(x)を最大とするxを選択すれば良い.
 xに依存する部分


Slide 35

Slide 35 text

ベイズ最適化 : TPE [Bergstra et al., 2011] 
 35 引用: http://neupy.com/2016/12/17/hyperparameter_optimization_for_neural_netw orks.html
 
 
 l(x)
 g(x)
 (✴)こちらもl(x)/g(x)の(厳密な)最適化は困難 
 
 Hyperopt, Optunaでは,
 l(x)からサンプルを一定数生成して 
 もっともl(x)/g(x)を大きくするxを選択 


Slide 36

Slide 36 text

GP-EI vs. TPE : カテゴリカル変数
 36 TPE
 ● カテゴリカル変数を直接扱うことが可能
 GP-EI
 ● ガウス過程を利用するためには工夫が必要
 ● 扱うためには
 ○ one-hot encoding (OSSではこちらが多い)
 ○ カテゴリカル変数用のカーネルを設計
   などを行う必要がある


Slide 37

Slide 37 text

GP-EI vs. TPE : 次元数
 37 [Eggensperger et al., 2013]において,
 LR, SVM, LDAのtuningを含む多数のタスクにてGP-EI, TPEを比較.
 結果として,
 ● 低次元(~6)の場合
 ○ GP-EI > TPE
 ● 高次元(10~)の場合
 ○ GP-EI < TPE


Slide 38

Slide 38 text

GP-EI vs. TPE : 次元数
 38 [Eggensperger et al., 2013]において,
 LR, SVM, LDAのtuningを含む多数のタスクにてGP-EI, TPEを比較.
 結果として,
 ● 低次元(~6)の場合
 ○ GP-EI > TPE
 ● 高次元(10~)の場合
 ○ GP-EI < TPE
 GP-EI :
 探索空間全体に対するモデル化が必要
 次元数の増加で探索空間の体積も指数的に増加 → スケールしづらい
 
 TPE :
 すでに存在する点から評価値上位のpdfを推定
 直感的には有望な点付近の部分空間を探せる


Slide 39

Slide 39 text

CMA-ES
 39 ● 進化計算における最も有力な手法の1つ [Hansen and Ostermeier, 1996]
 ● ハイパーパラメータ最適化への適用例も存在
 ○ CNN [Loshchilov and Hutter, 2016]
 ○ SVM [Friedrichs and Igel, 2005]
 ○ HMM, LDA, DNN [Watanabe and Le Roux, 2014]
 ● 多変量正規分布から解を生成することで最適化を行う
 ○ 更新式の一部は自然勾配法に対応 [Akimoto et al., 2010]


Slide 40

Slide 40 text

CMA-ES
 40 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す


Slide 41

Slide 41 text

CMA-ES
 41 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す


Slide 42

Slide 42 text

CMA-ES
 42 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す


Slide 43

Slide 43 text

CMA-ES
 43 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す


Slide 44

Slide 44 text

CMA-ES
 44 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す


Slide 45

Slide 45 text

CMA-ES
 45 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す


Slide 46

Slide 46 text

CMA-ES
 46 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す


Slide 47

Slide 47 text

CMA-ES
 47 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す
 正規分布からサンプルされる点の
 期待評価値に対する自然勾配方向
 への更新に対応 (一部)


Slide 48

Slide 48 text

CMA-ES
 48 1. 正規分布から解を生成
 2. 全ての解を評価して重み付けする
 3. 正規分布のパラメータを更新
 4. 1.〜3.を繰り返す


Slide 49

Slide 49 text

GP-EI vs. CMA-ES : 評価回数
 49 [Hutter et al., 2013]において,
 様々なベンチマーク関数を用いてGP-EIとCMA-ESを比較(✴).
 結果として,
 ● 評価回数が少ない(10×次元数)場合 : GP-EI > CMA-ES
 ● 評価回数が多い(100×次元数)場合 : GP-EI < CMA-ES 
 
 (✴) 論文ではSMACを用いたとあるが,ガウス過程を用いたSMACとあるので実質GP-EIと同じ


Slide 50

Slide 50 text

GP-EI vs. CMA-ES : 評価回数
 50 [Hutter et al., 2013]において,
 様々なベンチマーク関数を用いてGP-EIとCMA-ESを比較(✴).
 結果として,
 ● 評価回数が少ない(10×次元数)場合 : GP-EI > CMA-ES
 ● 評価回数が多い(100×次元数)場合 : GP-EI < CMA-ES 
 
 (✴) 論文ではSMACを用いたとあるが,ガウス過程を用いたSMACとあるので実質GP-EIと同じ
 GP-EI :
 探索空間全体に対してモデル化をしている
 評価回数が増えても局所的な収束性はそれほど上 がらない
 
 CMA-ES :
 現在の正規分布をどんどん移動&更新させるだけ
 評価回数が増えると収束性up


Slide 51

Slide 51 text

ベイズ最適化 vs. CMA-ES : 時間計算量
 51 iteration数tに対する時間計算量について,
 ● GP-EI : O(t^3) … ガウス過程による推論にカーネル行列の逆行列が必要 (✴)
 ● TPE : O(t)
 ● CMA-ES : O(1) … iteration数に依存しない
 
 評価回数が膨大にある場合はCMA-ESのほうが良い
 
 (✴) 計算量を抑えたガウス過程の推論も多々研究があるが,今回は省略


Slide 52

Slide 52 text

Black-box最適化チートシート
 52 ● 問題の性質に対する各手法の相性 (主観込み)
 GP-EI TPE CMA-ES 高次元 △ ◯ ◯ カテゴリカル変数 △ ◯ △ 低Budget ◯ ◯ △ 高Budget △ ◯ ◎

Slide 53

Slide 53 text

注意
 53 ノーフリーランチ定理 [Lockett and Miikkulainen, 2016] より,
 全ての関数に対する最適化手法の平均的な性能はランダムサーチと同じ
 
 特にハイパーパラメータ最適化では
 ユーザが設定した探索空間の定義によって関数の構造が変わる
 → 「この手法がいい!」と一概に言うのは難しい


Slide 54

Slide 54 text

Gray-box最適化
 ~Black-boxからの脱却~
 54

Slide 55

Slide 55 text

Black-box最適化では関数の中身はBlack-box
 Gray-box最適化
 55 f(x)
 x


Slide 56

Slide 56 text

f(x)
 Gray-box最適化
 56 Gray-box最適化では関数の中身を覗く
 f(x)
 x
 f(x)=g(x)+...
 Black-box最適化にはなかったヒントを使う!
 → より高速な最適化が可能に


Slide 57

Slide 57 text

Black-box最適化におけるDNNのtuning
 57 DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ


Slide 58

Slide 58 text

Black-box最適化におけるDNNのtuning
 58 DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 num_of_units=100 dropout_rate=0.2 lr = 0.1 momentum = 0.7

Slide 59

Slide 59 text

Black-box最適化におけるDNNのtuning
 59 DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 num_of_units=100 dropout_rate=0.2 lr = 0.1 momentum = 0.7

Slide 60

Slide 60 text

Black-box最適化におけるDNNのtuning
 60 DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 num_of_units=100 dropout_rate=0.2 lr = 0.1 momentum = 0.7

Slide 61

Slide 61 text

DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 Black-box最適化におけるDNNのtuning
 61 num_of_units=100 dropout_rate=0.2 lr = 0.1 momentum = 0.7

Slide 62

Slide 62 text

DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 Black-box最適化におけるDNNのtuning
 62 num_of_units=100 dropout_rate=0.2 lr = 0.1 momentum = 0.7

Slide 63

Slide 63 text

DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 Black-box最適化におけるDNNのtuning
 63 num_of_units=100 dropout_rate=0.2 lr = 0.1 momentum = 0.7

Slide 64

Slide 64 text

DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 Black-box最適化におけるDNNのtuning
 64 num_of_units=100 dropout_rate=0.2 lr = 0.1 momentum = 0.7

Slide 65

Slide 65 text

DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 Black-box最適化におけるDNNのtuning
 65 num_of_units=100 dropout_rate=0.2 lr = 0.1 momentum = 0.7

Slide 66

Slide 66 text

DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 Black-box最適化におけるDNNのtuning
 66 num_of_units=200 dropout_rate=0.4 lr = 0.2 momentum = 0.8

Slide 67

Slide 67 text

DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 Black-box最適化におけるDNNのtuning
 67 num_of_units=50 dropout_rate=0.8 lr = 0.3 momentum = 0.7

Slide 68

Slide 68 text

DNNの例:
 Black-box最適化で使うのは最終的なepochの評価値のみ
 Black-box最適化におけるDNNのtuning
 68 num_of_units=50 dropout_rate=0.8 lr = 0.3 momentum = 0.7

Slide 69

Slide 69 text

Successive Halving [Jamieson and Talwalkar, 2016]
 69 経験上,中間の評価値は最終評価値と相関がある
 各ポイントでの評価値をもとに解の候補を絞り込む


Slide 70

Slide 70 text

Successive Halving [Jamieson and Talwalkar, 2016] 
 70 経験上,中間の評価値は最終評価値と相関がある
 各ポイントでの評価値をもとに解の候補を絞り込む


Slide 71

Slide 71 text

Successive Halving [Jamieson and Talwalkar, 2016] 
 71 経験上,中間の評価値は最終評価値と相関がある
 各ポイントでの評価値をもとに解の候補を絞り込む


Slide 72

Slide 72 text

Successive Halving [Jamieson and Talwalkar, 2016] 
 72 経験上,中間の評価値は最終評価値と相関がある
 各ポイントでの評価値をもとに解の候補を絞り込む


Slide 73

Slide 73 text

経験上,中間の評価値は最終評価値と相関がある
 各ポイントでの評価値をもとに解の候補を絞り込む(✴)
 Successive Halving [Jamieson and Talwalkar, 2016] 
 73 (✴) 指数的な絞り込み
   が行われる


Slide 74

Slide 74 text

序盤の評価値が良くても最終評価値が悪いハイパーパラメータが存在
 例: 学習率
 Successive Halvingの問題点
 74 lr = 0.01 lr = 0.2

Slide 75

Slide 75 text

Hyperband [Li et al., 2018]
 75 絞り込み方を変えながらSuccessive Halvingを行う
 ● 積極的に絞り込みをするターン
 ● もう少しゆっくり絞り込むターン
 ● 全く絞り込まないターン
 ● ...
 というトレードオフを考慮
 引用: [Li et al., 2018]


Slide 76

Slide 76 text

BOHB [Falkner et al., 2018]
 76 Hyperband(HB)とベイズ最適化(BO)両方のメリットを取り入れた手法
 ● Hyperband
 ○ 絞り込み方を変えながら
 Successive Halvingを実行
 ● ベイズ最適化
 ○ これまでに得られたデータから
 有望な領域へ解を生成
 
 引用: [Falkner et al., 2018]


Slide 77

Slide 77 text

Population Based Training (PBT) [Jaderberg et al., 2017]
 77 Sequential SearchとRandom Searchのいいとこ取り


Slide 78

Slide 78 text

Sequential Search (ベイズ最適化など)
 
 
 78 ● メリット : 効率的
 ● デメリット : 並列化が難しく時間がかかる
 [Jaderberg et al., 2017]

Slide 79

Slide 79 text

Random Search
 
 79 ● メリット : 並列化が容易
 ● デメリット : 非効率的
 [Jaderberg et al., 2017]

Slide 80

Slide 80 text

Population Based Training (PBT) [Jaderberg et al., 2017] 
 80 各ポイントで最良のNNモデルを複製 + ハイパラをちょっと変えて実行


Slide 81

Slide 81 text

Population Based Training (PBT) [Jaderberg et al., 2017] 
 81 各ポイントで最良のNNモデルを複製 + ハイパラをちょっと変えて実行


Slide 82

Slide 82 text

Population Based Training (PBT) [Jaderberg et al., 2017] 
 82 各ポイントで最良のNNモデルを複製 + ハイパラをちょっと変えて実行


Slide 83

Slide 83 text

マルチタスク設定
 83 似た問題に対するデータが存在するときに効率的な最適化をしたい
 
 例 )
 ● 1週間に1回チューニングする機械学習サービスが存在
 ● おそらく良好なハイパーパラメータは先週とそこまで変わらないはず
 ● 先週のデータを使って高速化できないか?


Slide 84

Slide 84 text

マルチタスクベイズ最適化(MTBO) [Swersky et al., 2013]
 84 タスク間の関係をガウス過程によりモデリング


Slide 85

Slide 85 text

マルチタスクベイズ最適化(MTBO) [Swersky et al., 2013]
 85 タスク間の関係をガウス過程によりモデリング


Slide 86

Slide 86 text

マルチタスクベイズ最適化(MTBO) [Swersky et al., 2013]
 86 タスク間の関係をガウス過程によりモデリング


Slide 87

Slide 87 text

おすすめソフトウェア
 87

Slide 88

Slide 88 text

今日紹介した手法すべてにPython OSSが存在
 88 ● GP-EI : GpyOpt
 ● TPE : Optuna
 ● CMA-ES : pycma
 ● Successive Halving : Optuna
 ● Hyperband : Ray
 ● BOHB : HpBandSter
 ● PBT : Ray
 ● MTBO : Ax (BoTorch)


Slide 89

Slide 89 text

今日紹介した手法すべてにPython OSSが存在
 89 ● GP-EI : GpyOpt
 ● TPE : Optuna
 ● CMA-ES : pycma
 ● Successive Halving : Optuna
 ● Hyperband : Ray
 ● BOHB : HpBandSter
 ● PBT : Ray
 ● MTBO : Ax (BoTorch)
 ● Define-by-Runスタイル


Slide 90

Slide 90 text

今日紹介した手法すべてにPython OSSが存在
 90 ● GP-EI : GpyOpt
 ● TPE : Optuna
 ● CMA-ES : pycma
 ● Successive Halving : Optuna
 ● Hyperband : Ray
 ● BOHB : HpBandSter
 ● PBT : Ray
 ● MTBO : Ax (BoTorch)
 ● Facebookが5月にF8で発表


Slide 91

Slide 91 text

今日紹介した手法すべてにPython OSSが存在
 91 ● GP-EI : GpyOpt
 ● TPE : Optuna
 ● CMA-ES : pycma
 ● Successive Halving : Optuna
 ● Hyperband : Ray
 ● BOHB : HpBandSter
 ● PBT : Ray
 ● MTBO : Ax (BoTorch)
 ● 強化学習のRLlibとの相性が良い


Slide 92

Slide 92 text

まとめ
 92

Slide 93

Slide 93 text

まとめ
 93 問題の構造について
 ● 利用できない場合(Black-box最適化)
 ● 利用できる場合(Gray-box最適化)
 の枠組みと代表的な手法を紹介
 
 手法に対する妥当な評価を行うための研究が急速に進んでいる(✴)
 ● ベンチマーク問題が急速に準備されつつある[Klein and Hutter, 2019],[Ying et al., 2019]
 → 解きたい問題に応じた適切な手法選択が可能になることを期待
 
 (✴) ランダムサーチがSOTAと変わらないというのがNASであったりする [Li and Talwalkar, 2019],[Sciuto et al., 2019]


Slide 94

Slide 94 text

参考文献 (1)
 94 ● [Eggensperger et al., 2013] K. Eggensperger, M. Feurer, F. Hutter, J. Bergstra, J. Snoek, H. Hoos, and K. Leyton-Brown, “Towards an Empirical Foundation for Assessing Bayesian Optimization of Hyperparameters,” NIPS workshop on Bayesian Optimization in Theory and Practice, vol.10, p.3, 2013. 
 ● [Hutter et al., 2013] F. Hutter, H. Hoos, and K. Leyton-Brown, “An Evaluation of Sequential Model-based Optimization for Expensive Blackbox Functions,” Proceedings of the 15th annual conference companion on Genetic and evolutionary computation, ACM, pp.1209–1216 2013. 
 ● [Snoek et al., 2012] J. Snoek, H. Larochelle, and R.P. Adams, “Practical Bayesian Optimization of Machine Learning Algorithms,” Advances in neural information processing systems, pp.2951–2959, 2012. 
 ● [Bergstra et al., 2011] J.S. Bergstra, R. Bardenet, Y. Bengio, and B. Kégl, “Algorithms for Hyper-Parameter Optimization,” Advances in neural information processing systems, pp.2546–2554, 2011. 
 ● [Hutter et al., 2011] F. Hutter, H.H. Hoos, and K. Leyton-Brown, “Sequential Model-Based Optimization for General Algorithm Configuration,” International Conference on Learning and Intelligent Optimization, Springer, pp.507–523 2011. 
 ● [Wang et al., 2016] Z. Wang, F. Hutter, M. Zoghi, D. Matheson, and N. de Feitas, “Bayesian optimization in a billion dimensions via random embeddings,” Journal of Artificial Intelligence Research, vol.55, pp.361–387, 2016. 


Slide 95

Slide 95 text

参考文献 (2)
 95 ● [Calandra et al., 2014] R. Calandra, A. Seyfarth, J. Peters, and M.P. Deisenroth, “An experimental comparison of bayesian optimization for bipedal locomotion,” 2014 IEEE International Conference on Robotics and Automation (ICRA)IEEE, pp.1951–1958 2014. 
 ● [Hansen and Ostermeier, 1996] N. Hansen and A. Ostermeier, “Adapting Arbitrary Normal Mutation Distributions in Evolution Strategies: The Covariance Matrix Adaptation,” Proceedings of IEEE international conference on evolutionary computation, IEEE, pp.312–317 1996. 
 ● [Loshchilov and Hutter, 2016] I. Loshchilov and F. Hutter, “CMA-ES for Hyper- parameter Optimization of Deep Neural Networks,” ICLR Workshop, 2016. 
 ● [Friedrichs and Igel, 2005] F. Friedrichs and C. Igel, “Evolutionary Tuning of Multiple SVM Parameters,” Neurocomputing, vol.64, pp.107–117, 2005. 
 ● [Watanabe and Le Roux, 2014] S. Watanabe and J. Le Roux, “Black box optimization for automatic speech recognition,” 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)IEEE, pp.3256–3260 2014. 
 ● [Akimoto et al., 2010] Y. Akimoto, Y. Nagata, I. Ono, and S. Kobayashi. Bidirectional relation between CMA evolution strategies and natural evolution strategies. In Parallel Problem Solving from Nature (PPSN), 2010. 


Slide 96

Slide 96 text

参考文献 (3)
 96 ● [Jamieson and Talwalkar, 2016] K. Jamieson and A. Talwalkar, “Non-stochastic best arm identification and hyperparameter optimiza- tion,” AISTATS, pp.240–248, 2016.
 ● [Li et al., 2018] L. Li, K. Jamieson, G. DeSalvo, A. Rostamizadeh, and A. Talwalkar, “Hyperband: A Novel Bandit- Based Approach to Hyperparameter Optimization,” Journal of Machine Learning Research, vol.18, no.185, pp.1–52, 2018. 
 ● [Falkner et al., 2018] S. Falkner, A. Klein, and F. Hutter, “BOHB: Robust and efficient hyperparameter optimization at scale,” ICML, pp.1437–1446, 2018. 
 ● [Domhan et al., 2015] T. Domhan, J.T. Springenberg, and F. Hutter, “Speeding up automatic hyperparameter optimization of deep neural networks by extrapolation of learning curves,” Twenty-Fourth International Joint Conference on Artificial Intelligence, 2015. 
 ● [Klein et al., 2017] A. Klein, S. Falkner, J.T. Springenberg, and F. Hutter, “Learning Curve Prediction with Bayesian Neural Networks,” International Conference on Learning Representations (ICLR) 2017 Conference Track, April 2017. 
 ● [Lockett and Miikkulainen, 2016] A. Lockett and R. Miikkulainen, “A probabilistic re-formulation of no free lunch: Continuous lunches are not free”, Evolutionary Computation, 2016. 


Slide 97

Slide 97 text

参考文献 (4)
 97 ● [Jaderberg et al., 2017] M. Jaderberg, V. Dalibard, S. Osindero, W. M Czarnecki, J. Donahue, A. Razavi, O. Vinyals, T. Green, I. Dunning, K. Simonyan, et al, “Population based training of neural networks,” arXiv preprint arXiv:1711.09846, 2017. 
 ● [Swersky et al., 2013] K. Swersky, J. Snoek, R. Adams, “Multi-Task Bayesian Optimization,” In Advances in neural information processing systems, pages 2004–2012, 2013.
 ● [Akiba et al., 2019] T. Akiba, S. Sano, T. Yanase, T. Ohta, and M. Koyama. Optuna: “A next generation hyperparameter optimization framework,” in Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2019. 
 ● [Li and Talwalkar, 2019] L. Li and A. Talwalkar, “Random Search and Reproducibility for Neural Architecture Search,” arXiv:1902.07638, 2019. 
 ● [Sciuto et al., 2019] C. Sciuto, K. Yu, M. Jaggi, C. Musat, M. Salzmann, “Evaluating the search phase of neural architecture search,” arXiv:1902.08142, 2019. 
 ● [Klein and Hutter, 2019] A. Klein and F. Hutter, “Tabular benchmarks for joint architecture and hyperparameter optimization”, arXiv:1905.04970, 2019. 
 ● [Ying et al., 2019] C. Ying, A. Klein, E. Christiansen, E. Real, K. Murphy, and F. Hutter. NAS-Bench-101: Towards reproducible neural architecture search. ICML, volume 97 of Proceedings of Machine Learning Research, pp. 7105–7114, 2019. 


Slide 98

Slide 98 text

Appendix
 98

Slide 99

Slide 99 text

Learning Curve Prediction [Domhan et al., 2015]
 99 最終評価値を予測した上で絞り込みを行う
 11のparametric modelの線形加重によりvalidation errorをモデル化


Slide 100

Slide 100 text

Ax
 100

Slide 101

Slide 101 text

facebook/Ax
 101 ● 2019年5月にF8で発表されたOSS
 ○ Adaptive Experimentation Platform
 ○ ハイパーパラメータ最適化を含む広い問題を対象


Slide 102

Slide 102 text

102

Slide 103

Slide 103 text

facebook/Ax
 103 ● BoTorchの機能が利用可能
 ○ マルチタスクベイズ最適化も利用可能
 ● オフライン,オンライン環境をマルチタスク設定として捉えて最適化
 ○ https://ax.dev/tutorials/multi_task.html


Slide 104

Slide 104 text

facebook/Ax
 104 ● 縮小推定 + Thompson Sampling (https://ax.dev/tutorials/factorial.html)
 ● 良い選択肢に対し多数のトラフィックを流せる → A/Bテストの効率化
 ● 今後FBの他ツールとの連携が予定 (https://github.com/facebook/Ax/issues/77)


Slide 105

Slide 105 text

Optuna
 105

Slide 106

Slide 106 text

pfnet/optuna
 106 ● Define-by-Runスタイルのハイパーパラメータ最適化ライブラリ
 [Akiba et al., 2019]から引用


Slide 107

Slide 107 text

注意点 : pfnet/optuna
 107 1. 低Budget時にSuccssive Halvingの絞り込みが積極的すぎるかも
 ● https://github.com/pfnet/optuna/pull/404
 ● スナップショットを使わないので計算リソースとしてはメリットがある
 
 2. 数万回評価する場合などにCMA-ESを使うと計算コストが大きい
 ● 現状の実装は毎iterationで正規分布を1から更新する
 ○ 本来のCMA-ESは評価回数に計算量は依存しない
 ● 高Budget時にはpycmaの利用がおすすめ