Save 37% off PRO during our Black Friday Sale! »

転移学習によるハイパーパラメータ最適化の高速化 / warm_starting_cma

転移学習によるハイパーパラメータ最適化の高速化 / warm_starting_cma

F5408fe297d86e965973e5a23e496f9f?s=128

Masahiro Nomura

May 27, 2021
Tweet

Transcript

  1. None
  2. 野村 将寛 2017年度 新卒⼊社 AI Lab HPOチーム リサーチサイエンティスト 興味: ブラックボックス最適化(特に進化計算)

    @nomuramasahir0 @nmasahiro
  3. AAAI 2021で発表したハイパーパラメータ最適化の転移学習⼿法 Warm Starting CMA-ESを解説 M. Nomura*, S. Watanabe*, Y.

    Akimoto, Y. Ozaki, M. Onishi. “Warm Starting CMA-ES for Hyperparameter Optimization”, AAAI. 2021. 1. ハイパーパラメータ最適化 2. CMA-ES 3. Warm Starting CMA-ES 4. Optunaからの利⽤⽅法
  4. ハイパーパラメータ最適化

  5. ϋΠύʔύϥϝʔλ࠷దԽ )10 • MLモデルの性能を引き出すために必須の技術 • 深層学習の例: • ユニット数,レイヤー数,正則化係数,dropout,最適化⼿法の種類,学習率 • 近年研究コミュニティでもハイパーパラメータの重要性が再認識

    • Are GANs Created Equal? A Large-Scale Study (NeurIPS’18) • 多数のGANについての実験 • アルゴリズムの改善よりチューニングによる改善の⽅が⼤きかった • Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches (RecSys’19 Best Paper) • チューニングしたk近傍法の性能が多数の深層学習ベースの推薦⼿法を上回った
  6. ϋΠύʔύϥϝʔλ࠷దԽ )10 • HPOの流れ: ML Model

  7. ϋΠύʔύϥϝʔλ࠷దԽ )10 • HPOの流れ: ML Model ハイパーパラメータ lr = 0.01

  8. ϋΠύʔύϥϝʔλ࠷దԽ )10 • HPOの流れ: ML Model ハイパーパラメータ 訓練データに対して学習 lr =

    0.01
  9. ϋΠύʔύϥϝʔλ࠷దԽ )10 • HPOの流れ: ML Model ハイパーパラメータ 訓練データに対して学習 検証誤差を計算 lr

    = 0.01 val_err = 0.2
  10. ϋΠύʔύϥϝʔλ࠷దԽ )10 • HPOの流れ: • ブラックボックス最適化問題として解釈が可能 ML Model 𝒙 𝒇(𝒙)

  11. CMA-ES

  12. $."&4 • ブラックボックス最適化で有⼒な⼿法の1つ • 多変量正規分布 (MGD) を最適化に使⽤ 1. MGDから解をサンプル 2.

    解を評価し,重み付けを⾏う 3. MGDのパラメータを更新する 4. 1.〜3.を繰り返す Normal Distribution Optimal Solution
  13. !" $."&4 • ブラックボックス最適化で有⼒な⼿法の1つ • 多変量正規分布 (MGD) を最適化に使⽤ 1. MGDから解をサンプル

    2. 解を評価し,重み付けを⾏う 3. MGDのパラメータを更新する 4. 1.〜3.を繰り返す
  14. $."&4 • ブラックボックス最適化で有⼒な⼿法の1つ • 多変量正規分布 (MGD) を最適化に使⽤ 1. MGDから解をサンプル 2.

    解を評価し,重み付けを⾏う 3. MGDのパラメータを更新する 4. 1.〜3.を繰り返す
  15. $."&4 • ブラックボックス最適化で有⼒な⼿法の1つ • 多変量正規分布 (MGD) を最適化に使⽤ 1. MGDから解をサンプル 2.

    解を評価し,重み付けを⾏う 3. MGDのパラメータを更新する 4. 1.〜3.を繰り返す
  16. $."&4 • ブラックボックス最適化で有⼒な⼿法の1つ • 多変量正規分布 (MGD) を最適化に使⽤ 1. MGDから解をサンプル 2.

    解を評価し,重み付けを⾏う 3. MGDのパラメータを更新する 4. 1.〜3.を繰り返す
  17. Warm Starting CMA-ES

  18. HPO × 転移学習 • HPOはブラックボックスか? • 対象のタスク(ターゲットタスク)の関連タスク(ソースタスク)が使えることがある • 例1: 定期実⾏を伴うHPO

    • 新しいデータが貯まる度にモデルの更新とHPOをしている • 前回のHPOの結果はソースタスクの結果とみなせる • 例2: 部分的なデータでのHPO • ⼤規模データのモデル構築前に,部分データで性能や挙動を確認している • 部分データでのHPOの結果はソースタスクの結果とみなせる • 例3: 複数の関連データセットへのHPO • 精度やモデルサイズなどの理由で,データセットごとにモデル構築をしている • 別データセットでのHPOの結果はソースタスクの結果とみなせる
  19. Warm Starting CMA-ES: 概要 • 仮定 • ソースタスクとターゲットタスクが似ている • 基本⽅針

    • ソースタスクから推定された有望領域にCMA-ESのMGDの初期分布を近づける
  20. Warm Starting CMA-ES: 概要 • 仮定 • ソースタスクとターゲットタスクが似ている • 基本⽅針

    • ソースタスクから推定された有望領域にCMA-ESの初期分布を近づける
  21. 有望分布の定義 (1) 𝑿 : 探索空間, 𝚲 : ルベーグ測度 For 𝜸

    ∈ 𝟎, 𝟏 , let 𝑭𝜸 = 𝒙 ∈ 𝑿 𝒇 𝒙 < 𝒇𝜸}, where 𝒇𝜸 is defined such that 𝜸 = 𝜦(𝑭𝜸)/𝜦(𝑿). • 𝜸-有望分布: 𝒑𝜸 𝒙 = 𝟏 𝒁 & 𝒙"∈𝑭𝜸 𝐞𝐱𝐩 − 𝒙 − 𝒙% 𝟐 𝟐𝜶𝟐 𝒅𝒙%, where 𝒁 : 正規化定数 𝜶 : 事前パラメータ • なぜこの定義がHPOで妥当なのか?⼀様分布ではダメなのか?
  22. 有望分布の定義 (2) HPOに対する2つの仮定: 1. ハイパーパラメータと⽬的関数の連続性 • ハイパーパラメータを少しずらしたとき,⽬的関数値も少しずれる • ⼀様分布 𝟏

    𝒙 ∈ 𝑭𝜸 /𝜦(𝑭𝜸) では表現できない 2. 有望領域の局所凸性 • 有望領域内側の⽅が外側よりも有望である確信度が⾼い • 𝜸-有望分布は⼀様分布よりも適切に表現可能
  23. タスク類似度の定義 記号の準備: • 𝒇𝟏 : ソースタスクの⽬的関数, 𝒇𝟐 : ターゲットタスクの⽬的関数 •

    𝜸𝒊 ∈ 𝟎, 𝟏 (𝒊 = 𝟏, 𝟐) • 𝑷𝒊 𝜸𝒊 : 𝜸𝒊 -有望分布 (𝒊 = 𝟏, 𝟐) • 𝜸-類似度: 𝒔 𝜸𝟏 , 𝜸𝟐 = 𝑫𝑲𝑳 (𝑷∗ | 𝑷𝟐 𝜸𝟐 − 𝑫𝑲𝑳 (𝑷𝟏 𝜸𝟏| 𝑷𝟐 𝜸𝟐 , where 𝑫𝑲𝑳 (𝑷||𝑸) : 𝑷と𝑸間のKLダイバージェンス 𝑷∗ : 無情報事前分布
  24. Warm Starting CMA-ES: 設計 仮定: タスクが(𝜸-類似度の意味で)似ている ⇔ 𝒔 𝜸𝟏 ,

    𝜸𝟐 > 𝟎. 𝑫𝑲𝑳 (𝑷𝟏 𝜸𝟏| 𝑷𝟐 𝜸𝟐 < 𝑫𝑲𝑳 (𝑷∗ | 𝑷𝟐 𝜸𝟐 と等価 ⟹ 𝑷𝟏 𝜸𝟏 は 𝑷∗ よりも 𝑷𝟐 𝜸𝟐 に近い 𝑷𝟏 𝜸𝟏 から最適化を開始することでより⾼速に 𝑷𝟐 𝜸𝟐 に接近することが可能 • ⼿順 : 𝑷𝟏 𝜸𝟏 を⼿元のデータから経験的に推定 𝑫𝑲𝑳 (𝑷𝟏 𝜸𝟏| 𝑷𝟐 𝜸𝟐 を最⼩化するようなMGDのパラメータでCMA-ESを初期化
  25. Warm Starting CMA-ES Step 1. 上位 𝜸 × 𝟏𝟎𝟎% 個の解をソースタスクから抽出

    Step 2. ガウス混合モデルを構築 Step 3. KLダイバージェンスを最⼩化するようなMGDのパラメータで初期化
  26. 実験結果: 部分データからの転移HPO ソース: 全体の10%のデータでのHPO ⟹ ターゲット: 全体データでのHPO LightGBM on Classification

    MLP on MNIST MLP on Fashion-MNIST CNN on CIFAR-100
  27. 実験結果: 別データからの転移HPO 再びWarm Staritng CMA-ESが良い性能 ⇔ ベイズ最適化(BO)ベースの転移HPO⼿法はランダムサーチと同程度の性能 なぜか? • BOベースの⼿法は探索空間全体を⾒ているが,提案法は有望領域のみを⾒ている

    MLP on MNIST ⟹ MLP on Fashion-MNIST CNN on SVHN ⟹ CNN on CIFAR-10
  28. Optunaからの利⽤⽅法

  29. OSSから使ってみる • Optuna • PFN社が開発‧公開しているHPOのためのPython OSS • 豊富な機能(容易な探索空間の記述,並列化,可視化など) • HPOをする場合は⼀番最初に検討すべきOSS

    • Warm Starting CMA-ES from Optuna • AI Lab芝⽥将により導⼊済み • ⾮常に簡単に実⾏が可能
  30. Warm Starting CMA-ES from Optuna • 設定 • sphere: ターゲットタスク

    • biased_sphere: ソースタスク • Goal • biased_sphereの結果を使い⾼速化する • 必要な実装 • 以前のtrialsをCMA-ESサンプラーで読み込むだけ https://github.com/optuna/optuna-examples/blob/main/samplers/warm_starting_cma.py
  31. まとめ

  32. まとめ • HPOのための転移学習⼿法 Warm Starting CMA-ESを紹介 • よりHPOについて詳しく知りたい⽅は… • 野村:

    機械学習におけるハイパーパラメータ最適化の理論と実践 PyCon2019 • 尾崎, 野村, ⼤⻄: 機械学習におけるハイパパラメータ最適化⼿法: 概要と特徴 電⼦情報学会論⽂誌 • 研究者‧リサーチエンジニアを⼤募集しています! https://cyberagent.ai/careers/
  33. Optunaからの利⽤⽅法