Upgrade to Pro — share decks privately, control downloads, hide ads and more …

機械学習における
ハイパーパラメータ最適化の理論と実践
 / hpo_theory_practice

Masahiro Nomura
September 16, 2019

機械学習における
ハイパーパラメータ最適化の理論と実践
 / hpo_theory_practice

Masahiro Nomura

September 16, 2019
Tweet

More Decks by Masahiro Nomura

Other Decks in Research

Transcript

  1. 機械学習における

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

    理論と実践

    株式会社サイバーエージェント

    AI Lab

    野村 将寛

    1

    View Slide

  2. 自己紹介

    ● 野村 将寛

    ● 株式会社サイバーエージェント AI Lab

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

    ● 産総研 特定集中研究専門員

    ● 東工大小野研究室 博士後期課程1年

    ○ 進化計算

    ● kaggle master

    2

    View Slide

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

    3

    View Slide

  4. ハイパーパラメータ最適化

    ● 機械学習手法には,チューニングすべきハイパーパラメータが存在

    ○ ロジスティック回帰 : 学習率,正則化係数

    ○ SVM : カーネルの種類,カーネル係数,正則化係数

    ○ DNN : ユニット数,レイヤ数,学習率,...

    4

    View Slide

  5. 失敗するとどうなるか?

    ● 例) 多項式回帰

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

    5
    手元のデータへの

    当てはまり

    正則化項 :

    複雑さへの罰則


    View Slide

  6. ハイパーパラメータ最適化の流れ

    6
    LR
    学習率ηと正則化係数Cを設定したい


    View Slide

  7. ハイパーパラメータ最適化の流れ

    7
    η=0.1

    C=100

    LR

    View Slide

  8. ハイパーパラメータ最適化の流れ

    8
    η=0.1
 trainデータに対して学習 

    C=100

    LR

    View Slide

  9. ハイパーパラメータ最適化の流れ

    9
    η=0.1

    C=100

    cvにより計算 :

    val err = 0.8

    LR

    View Slide

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

    10
    LR

    View Slide

  11. ハイパーパラメータ最適化の流れ

    11
    η=0.05

    C=10000

    cvにより計算 :

    val err = 0.73

    LR

    View Slide

  12. 問題を抽象化すると...

    12
    f(x)

    中身がブラックボックスな関数の最適化

    = Black-box最適化

    x


    View Slide

  13. Black-box最適化

    13

    View Slide

  14. Black-box最適化

    14
    ● 関数の中身がブラックボックスで勾配情報などが使えない

    ● 1回の評価に時間がかかることを想定

    ● なるべく少ない評価回数で良い解を探索したい

    ● 本発表ではBlack-box最適化において有力な以下の手法を解説

    ○ ベイズ最適化

    ○ CMA-ES


    View Slide

  15. ベイズ最適化

    15
    ● ハイパーパラメータ最適化において一番人気のある手法

    ● 最もベーシックかつOSSとして利用しやすい2手法(✴)を解説

    ○ GP-EI [Snoek et al., 2012]

    ○ TPE [Bergstra et al., 2011]





    (✴) SMAC [Hutter et al., 2011]はOSSとして利用がしづらいため,発表では省略


    View Slide

  16. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    16
    ● ガウス過程(GP)によって目的関数をモデル化

    ● 評価値の改善量の期待値(EI)が最大となる点を選択


    View Slide

  17. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    17
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  18. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    18
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  19. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    19
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  20. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    20
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  21. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    21
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  22. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    22
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  23. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    23
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  24. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    24
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  25. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    25
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  26. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    26
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  27. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    27
    1. GPにより目的関数を予測

    2. EIを計算して最適化

    3. 2.で得られた点を評価

    4. 1.〜3.を繰り返す


    View Slide

  28. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    評価値の改善量の期待値であるEIの計算式:




    目的関数がGPに従う場合は解析的に計算が可能

    28

    View Slide

  29. ベイズ最適化 : GP-EI [Snoek et al., 2012]

    評価値の改善量の期待値であるEIの計算式:




    目的関数がGPに従う場合は解析的に計算が可能

    29
    評価値の改善量


    View Slide

  30. 評価値の改善量の期待値であるEIの計算式:




    目的関数がGPに従う場合は解析的に計算が可能

    ベイズ最適化 : GP-EI [Snoek et al., 2012]

    30
    ガウス過程によるモデル化


    View Slide

  31. ベイズ最適化 : 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
    ガウス過程によるモデル化


    View Slide

  32. ベイズ最適化 : TPE [Bergstra et al., 2011]

    32
    ● Hyperopt, Optunaがデフォルトで採用しているアルゴリズム

    ● EIを使うところまではGP-EIと同じだが,

    GP-EIとは目的関数に対するモデル化の方法が異なる(✴)


    (✴)正確には,目的関数に対するモデル化は行わない

    View Slide

  33. ベイズ最適化 : 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✴は分位点γにより決定


    View Slide

  34. ベイズ最適化 : TPE [Bergstra et al., 2011]

    34
    これらの式を用いると,



    つまり,l(x)/g(x)を最大とするxを選択すれば良い.

    xに依存する部分


    View Slide

  35. ベイズ最適化 : 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を選択

    View Slide

  36. GP-EI vs. TPE : カテゴリカル変数

    36
    TPE

    ● カテゴリカル変数を直接扱うことが可能

    GP-EI

    ● ガウス過程を利用するためには工夫が必要

    ● 扱うためには

    ○ one-hot encoding (OSSではこちらが多い)

    ○ カテゴリカル変数用のカーネルを設計

      などを行う必要がある


    View Slide

  37. GP-EI vs. TPE : 次元数

    37
    [Eggensperger et al., 2013]において,

    LR, SVM, LDAのtuningを含む多数のタスクにてGP-EI, TPEを比較.

    結果として,

    ● 低次元(~6)の場合

    ○ GP-EI > TPE

    ● 高次元(10~)の場合

    ○ GP-EI < TPE


    View Slide

  38. 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を推定

    直感的には有望な点付近の部分空間を探せる


    View Slide

  39. 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]


    View Slide

  40. CMA-ES

    40
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す


    View Slide

  41. CMA-ES

    41
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す


    View Slide

  42. CMA-ES

    42
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す


    View Slide

  43. CMA-ES

    43
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す


    View Slide

  44. CMA-ES

    44
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す


    View Slide

  45. CMA-ES

    45
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す


    View Slide

  46. CMA-ES

    46
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す


    View Slide

  47. CMA-ES

    47
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す

    正規分布からサンプルされる点の

    期待評価値に対する自然勾配方向

    への更新に対応 (一部)


    View Slide

  48. CMA-ES

    48
    1. 正規分布から解を生成

    2. 全ての解を評価して重み付けする

    3. 正規分布のパラメータを更新

    4. 1.〜3.を繰り返す


    View Slide

  49. 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と同じ


    View Slide

  50. 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


    View Slide

  51. ベイズ最適化 vs. CMA-ES : 時間計算量

    51
    iteration数tに対する時間計算量について,

    ● GP-EI : O(t^3) … ガウス過程による推論にカーネル行列の逆行列が必要
    (✴)

    ● TPE : O(t)

    ● CMA-ES : O(1) … iteration数に依存しない


    評価回数が膨大にある場合はCMA-ESのほうが良い


    (✴) 計算量を抑えたガウス過程の推論も多々研究があるが,今回は省略


    View Slide

  52. Black-box最適化チートシート

    52
    ● 問題の性質に対する各手法の相性 (主観込み)

    GP-EI TPE CMA-ES
    高次元 △ ◯ ◯
    カテゴリカル変数 △ ◯ △
    低Budget ◯ ◯ △
    高Budget △ ◯ ◎

    View Slide

  53. 注意

    53
    ノーフリーランチ定理 [Lockett and Miikkulainen, 2016] より,

    全ての関数に対する最適化手法の平均的な性能はランダムサーチと同じ


    特にハイパーパラメータ最適化では

    ユーザが設定した探索空間の定義によって関数の構造が変わる

    → 「この手法がいい!」と一概に言うのは難しい


    View Slide

  54. Gray-box最適化

    ~Black-boxからの脱却~

    54

    View Slide

  55. Black-box最適化では関数の中身はBlack-box

    Gray-box最適化

    55
    f(x)

    x


    View Slide

  56. f(x)

    Gray-box最適化

    56
    Gray-box最適化では関数の中身を覗く

    f(x)

    x

    f(x)=g(x)+...

    Black-box最適化にはなかったヒントを使う!

    → より高速な最適化が可能に


    View Slide

  57. Black-box最適化におけるDNNのtuning

    57
    DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ


    View Slide

  58. Black-box最適化におけるDNNのtuning

    58
    DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    num_of_units=100
    dropout_rate=0.2
    lr = 0.1
    momentum = 0.7

    View Slide

  59. Black-box最適化におけるDNNのtuning

    59
    DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    num_of_units=100
    dropout_rate=0.2
    lr = 0.1
    momentum = 0.7

    View Slide

  60. Black-box最適化におけるDNNのtuning

    60
    DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    num_of_units=100
    dropout_rate=0.2
    lr = 0.1
    momentum = 0.7

    View Slide

  61. DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    Black-box最適化におけるDNNのtuning

    61
    num_of_units=100
    dropout_rate=0.2
    lr = 0.1
    momentum = 0.7

    View Slide

  62. DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    Black-box最適化におけるDNNのtuning

    62
    num_of_units=100
    dropout_rate=0.2
    lr = 0.1
    momentum = 0.7

    View Slide

  63. DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    Black-box最適化におけるDNNのtuning

    63
    num_of_units=100
    dropout_rate=0.2
    lr = 0.1
    momentum = 0.7

    View Slide

  64. DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    Black-box最適化におけるDNNのtuning

    64
    num_of_units=100
    dropout_rate=0.2
    lr = 0.1
    momentum = 0.7

    View Slide

  65. DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    Black-box最適化におけるDNNのtuning

    65
    num_of_units=100
    dropout_rate=0.2
    lr = 0.1
    momentum = 0.7

    View Slide

  66. DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    Black-box最適化におけるDNNのtuning

    66
    num_of_units=200
    dropout_rate=0.4
    lr = 0.2
    momentum = 0.8

    View Slide

  67. DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    Black-box最適化におけるDNNのtuning

    67
    num_of_units=50
    dropout_rate=0.8
    lr = 0.3
    momentum = 0.7

    View Slide

  68. DNNの例:

    Black-box最適化で使うのは最終的なepochの評価値のみ

    Black-box最適化におけるDNNのtuning

    68
    num_of_units=50
    dropout_rate=0.8
    lr = 0.3
    momentum = 0.7

    View Slide

  69. Successive Halving [Jamieson and Talwalkar, 2016]

    69
    経験上,中間の評価値は最終評価値と相関がある

    各ポイントでの評価値をもとに解の候補を絞り込む


    View Slide

  70. Successive Halving [Jamieson and Talwalkar, 2016]

    70
    経験上,中間の評価値は最終評価値と相関がある

    各ポイントでの評価値をもとに解の候補を絞り込む


    View Slide

  71. Successive Halving [Jamieson and Talwalkar, 2016]

    71
    経験上,中間の評価値は最終評価値と相関がある

    各ポイントでの評価値をもとに解の候補を絞り込む


    View Slide

  72. Successive Halving [Jamieson and Talwalkar, 2016]

    72
    経験上,中間の評価値は最終評価値と相関がある

    各ポイントでの評価値をもとに解の候補を絞り込む


    View Slide

  73. 経験上,中間の評価値は最終評価値と相関がある

    各ポイントでの評価値をもとに解の候補を絞り込む(✴)

    Successive Halving [Jamieson and Talwalkar, 2016]

    73
    (✴) 指数的な絞り込み

      が行われる


    View Slide

  74. 序盤の評価値が良くても最終評価値が悪いハイパーパラメータが存在

    例: 学習率

    Successive Halvingの問題点

    74
    lr = 0.01 lr = 0.2

    View Slide

  75. Hyperband [Li et al., 2018]

    75
    絞り込み方を変えながらSuccessive Halvingを行う

    ● 積極的に絞り込みをするターン

    ● もう少しゆっくり絞り込むターン

    ● 全く絞り込まないターン

    ● ...

    というトレードオフを考慮

    引用: [Li et al., 2018]


    View Slide

  76. BOHB [Falkner et al., 2018]

    76
    Hyperband(HB)とベイズ最適化(BO)両方のメリットを取り入れた手法

    ● Hyperband

    ○ 絞り込み方を変えながら

    Successive Halvingを実行

    ● ベイズ最適化

    ○ これまでに得られたデータから

    有望な領域へ解を生成


    引用: [Falkner et al., 2018]


    View Slide

  77. Population Based Training (PBT) [Jaderberg et al., 2017]

    77
    Sequential SearchとRandom Searchのいいとこ取り


    View Slide

  78. Sequential Search (ベイズ最適化など)



    78
    ● メリット : 効率的

    ● デメリット : 並列化が難しく時間がかかる

    [Jaderberg et al., 2017]

    View Slide

  79. Random Search


    79
    ● メリット : 並列化が容易

    ● デメリット : 非効率的

    [Jaderberg et al., 2017]

    View Slide

  80. Population Based Training (PBT) [Jaderberg et al., 2017]

    80
    各ポイントで最良のNNモデルを複製 + ハイパラをちょっと変えて実行


    View Slide

  81. Population Based Training (PBT) [Jaderberg et al., 2017]

    81
    各ポイントで最良のNNモデルを複製 + ハイパラをちょっと変えて実行


    View Slide

  82. Population Based Training (PBT) [Jaderberg et al., 2017]

    82
    各ポイントで最良のNNモデルを複製 + ハイパラをちょっと変えて実行


    View Slide

  83. マルチタスク設定

    83
    似た問題に対するデータが存在するときに効率的な最適化をしたい


    例 )

    ● 1週間に1回チューニングする機械学習サービスが存在

    ● おそらく良好なハイパーパラメータは先週とそこまで変わらないはず

    ● 先週のデータを使って高速化できないか?


    View Slide

  84. マルチタスクベイズ最適化(MTBO) [Swersky et al., 2013]

    84
    タスク間の関係をガウス過程によりモデリング


    View Slide

  85. マルチタスクベイズ最適化(MTBO) [Swersky et al., 2013]

    85
    タスク間の関係をガウス過程によりモデリング


    View Slide

  86. マルチタスクベイズ最適化(MTBO) [Swersky et al., 2013]

    86
    タスク間の関係をガウス過程によりモデリング


    View Slide

  87. おすすめソフトウェア

    87

    View Slide

  88. 今日紹介した手法すべてにPython OSSが存在

    88
    ● GP-EI : GpyOpt

    ● TPE : Optuna

    ● CMA-ES : pycma

    ● Successive Halving : Optuna

    ● Hyperband : Ray

    ● BOHB : HpBandSter

    ● PBT : Ray

    ● MTBO : Ax (BoTorch)


    View Slide

  89. 今日紹介した手法すべてに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スタイル


    View Slide

  90. 今日紹介した手法すべてに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で発表


    View Slide

  91. 今日紹介した手法すべてにPython OSSが存在

    91
    ● GP-EI : GpyOpt

    ● TPE : Optuna

    ● CMA-ES : pycma

    ● Successive Halving : Optuna

    ● Hyperband : Ray

    ● BOHB : HpBandSter

    ● PBT : Ray

    ● MTBO : Ax (BoTorch)

    ● 強化学習のRLlibとの相性が良い


    View Slide

  92. まとめ

    92

    View Slide

  93. まとめ

    93
    問題の構造について

    ● 利用できない場合(Black-box最適化)

    ● 利用できる場合(Gray-box最適化)

    の枠組みと代表的な手法を紹介


    手法に対する妥当な評価を行うための研究が急速に進んでいる(✴)

    ● ベンチマーク問題が急速に準備されつつある[Klein and Hutter, 2019],[Ying et al., 2019]

    → 解きたい問題に応じた適切な手法選択が可能になることを期待


    (✴) ランダムサーチがSOTAと変わらないというのがNASであったりする [Li and Talwalkar, 2019],[Sciuto et al., 2019]


    View Slide

  94. 参考文献 (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.

    View Slide

  95. 参考文献 (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.

    View Slide

  96. 参考文献 (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.

    View Slide

  97. 参考文献 (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.

    View Slide

  98. Appendix

    98

    View Slide

  99. Learning Curve Prediction [Domhan et al., 2015]

    99
    最終評価値を予測した上で絞り込みを行う

    11のparametric modelの線形加重によりvalidation errorをモデル化


    View Slide

  100. Ax

    100

    View Slide

  101. facebook/Ax

    101
    ● 2019年5月にF8で発表されたOSS

    ○ Adaptive Experimentation Platform

    ○ ハイパーパラメータ最適化を含む広い問題を対象


    View Slide

  102. 102

    View Slide

  103. facebook/Ax

    103
    ● BoTorchの機能が利用可能

    ○ マルチタスクベイズ最適化も利用可能

    ● オフライン,オンライン環境をマルチタスク設定として捉えて最適化

    ○ https://ax.dev/tutorials/multi_task.html


    View Slide

  104. facebook/Ax

    104
    ● 縮小推定 + Thompson Sampling (https://ax.dev/tutorials/factorial.html)

    ● 良い選択肢に対し多数のトラフィックを流せる → A/Bテストの効率化

    ● 今後FBの他ツールとの連携が予定 (https://github.com/facebook/Ax/issues/77)


    View Slide

  105. Optuna

    105

    View Slide

  106. pfnet/optuna

    106
    ● Define-by-Runスタイルのハイパーパラメータ最適化ライブラリ

    [Akiba et al., 2019]から引用


    View Slide

  107. 注意点 : pfnet/optuna

    107
    1. 低Budget時にSuccssive Halvingの絞り込みが積極的すぎるかも

    ● https://github.com/pfnet/optuna/pull/404

    ● スナップショットを使わないので計算リソースとしてはメリットがある


    2. 数万回評価する場合などにCMA-ESを使うと計算コストが大きい

    ● 現状の実装は毎iterationで正規分布を1から更新する

    ○ 本来のCMA-ESは評価回数に計算量は依存しない

    ● 高Budget時にはpycmaの利用がおすすめ


    View Slide