SlideShare a Scribd company logo
1 of 34
Download to read offline
混合整数ブラックボックス最適化に向けた
CMA-ESの改良
Optuna Meetup #2
最新手法「CMA-ES with Margin」について解説
2022年 12月 10日
横浜国立大学 濱野 椋希
濱野 椋希
n 所属:横浜国立大学 > 白川研究室 > D2
n 研究:Black-Box最適化・進化計算
登壇に至った経緯
n 自身がFirst Authorである論文の手法 CMA-ES with Margin が
Optunaに導入予定
n CMA-ES with Margin:混合整数に対応したCMA-ESの改良手法
n 本手法や関連手法の解説のため登壇
2
自己紹介
① CMA-ESとハイパーパラメータ最適化(HPO)
- そもそもCMA-ESってどんな手法?
- CMA-ESをHPOに適用するとき,どんな課題がある?
② CMA-ES with Marginについて
- 整数変数に対応するための基本的なアイディア
- デモンストレーションで視覚的に効果を確認
③ BBOBによる性能比較
- BBOB:Black-Box Optimization Benchmarking
- 他のBlack-Box最適化手法との性能比較
3
本日の流れ
4
CMA-ESとハイパーパラメータ最適化(HPO)
Covariance Matrix Adaptation Evolution Strategy (CMA-ES)
n Black-Box連続最適化を行う進化計算手法
n 進化計算手法における最も有力な手法の1つ
n 多変量ガウス分布を用いて探索 (次元間依存を考慮可能)
n 全てのパラメータに推奨値が設けられている
(ユーザがチューニングすることなく利用可能)
5
CMA-ES|概要
f : RN
! R
N. Hansen and A. Ostermeier, “Adapting arbitrary normal mutation distributions in
evolution strategies: the covariance matrix adaptation,” In Proceedings of IEEE
International Conference on Evolutionary Computation.
N. Hansen, “The CMA Evolution Strategy: A Tutorial,” arXiv:1604.00772, 2016.
① 多変量ガウス分布からサンプル(解候補)を複数生成
② 目的関数でサンプルそれぞれを評価・重み付け
③ より優れたサンプルが生成されやすくなるよう分布を更新
6
CMA-ES|アルゴリズムの流れ
・
・
・
・
・
・
★
多変量ガウス分布
(信頼楕円で表記)
サンプル
① 多変量ガウス分布からサンプル(解候補)を複数生成
② 目的関数でサンプルそれぞれを評価・重み付け
③ より優れたサンプルが生成されやすくなるよう分布を更新
7
CMA-ES|アルゴリズムの流れ
・
・
・
・
・
・
★
目的関数値の最小化
目的関数値が小さいほど
良いサンプル
① 多変量ガウス分布からサンプル(解候補)を複数生成
② 目的関数でサンプルそれぞれを評価・重み付け
③ より優れたサンプルが生成されやすくなるよう分布を更新
8
CMA-ES|アルゴリズムの流れ
★
平均ベクトル と
分散共分散行列 を更新する
・
平均ベクトル
分散共分散行列
① 多変量ガウス分布からサンプル(解候補)を複数生成
② 目的関数でサンプルそれぞれを評価・重み付け
③ より優れたサンプルが生成されやすくなるよう分布を更新
9
CMA-ES|アルゴリズムの流れ
①②③を繰り返すことで最適化
★
⬅ 最終的に(局所)最適解付近で
分布が収束する
Hyperparameter Optimization (HPO)
n 学習モデルがうまく学習できるかどうかはハイパーパラメータに依存
n 学習に最適なハイパーパラメータを見つける
HPOで求められること
① 学習モデルの学習には時間がかかる:少ない試行回数で最適化したい
② 連続変数と離散変数の両方の最適化が必要な場合がある
10
ハイパーパラメータ最適化|概要
例) XGBoostのハイパーパラメータ
木の深さの最大値 max_depth:整数値
学習率 eta:連続値
① 学習モデルの学習には時間がかかる:少ない試行回数で最適化したい
➡ Budget(評価回数の予算)が厳しく制限されている場合,
性能が十分に発揮されない (ベイズ最適化に負ける)
11
ハイパーパラメータ最適化|CMA-ES適用上の課題
⬅ 共分散の適応がボトルネックになっている
(自由度が N(N+1)/2 なので学習率を小さくする必要がある)
解決方法として
- 次元間依存を無視して高速化 (Separable CMA-ESの利用)
- サロゲートモデルの利用
- 類似タスクの情報を用いたWarm Start
② 連続変数と離散変数の両方の最適化が必要な場合がある
➡ CMA-ESは連続変数しかサポートしていない
12
ハイパーパラメータ最適化|CMA-ES適用上の課題
整数変数を最適化したい場合:
連続変数を四捨五入するなどして整数変数にエンコードする
しかし,
[2.6, 3.2, 4.7] [3, 3, 5]
➡
四捨五入しただけでは最適化に悪影響を与えることがある
多変量ガウス分布の分散が小さくなると
サンプルされる整数変数が1種類に固定化される
➡ これ以上解の改善が困難に
13
CMA-ESで連続変数を整数化する場合の問題点
-1 0 1
-0.5
-1.5 0.5 1.5
-1 0 1
-1 0 1
-0.5
-1.5 0.5 1.5
-1 0 1
分散 大 分散 小
n CMA-ESは多変量ガウス分布を更新することで最適化を行う
n ハイパーパラメータ最適化(HPO)では
- 学習には時間がかかるので少ない評価回数で最適化したい
- 場合によっては離散変数にも対応する必要がある
n 低Budgetの場合,CMA-ESではいくつか対処法がある
n CMA-ESは連続変数にしかサポートしていない
- 四捨五入して整数変数にエンコードすると固定化が発生
➡ 整数変数が固定化されると解の改善が困難に
14
ここまでのまとめ
この固定化に対処するために生まれたのが CMA-ES with Margin
15
CMA-ES with Marginについて
n 混合整数Black-Box最適化に対応したCMA-ESの改良手法
n Marginという分布の補正により,整数変数が固定化される
問題を解決
n バイナリ変数,任意の離散変数 ( [10-1, 10-2, 10-3] など)にも対応
(カテゴリ変数には未対応)
n 通常のCMA-ESの一般化になっており,拡張性も高い
16
CMA-ES with Margin|概要
Ryoki Hamano, Shota Saito, Masahiro Nomura, and Shinichi Shirakawa,
“CMA-ES with Margin: Lower-Bounding Marginal Probability for
Mixed-Integer Black-Box Optimization,” In Genetic and Evolutionary
Computation Conference (GECCO ʼ22).
17
CMA-ES with Margin|固定化を回避するアイディア
0
1
0
1
多変量ガウス分布
補正
低確率 確率が増加
簡単のためバイナリ変数(0 or 1)にエンコーディングする場合を考える
生成確率が低い領域 (左図の赤い部分)にサンプルされる確率の下界を保証する
0に固定化
18
CMA-ES with Margin|Marginとは?
0 1
0.0
1.0
0.5
0 1
0.0
1.0
0.5
Estimation of distribution algorithms (EDAs)で用いられるテクニック
↪ Population-Based Incremental Learning (PBIL)など
ベルヌーイ分布
分布パラメータをclipすることで補正
19
MarginをCMA-ESで実現|バイナリ変数の場合
0.5
0 1
0.0
1.0
0.5
0.5
0 1
0.0
1.0
0.5
★ ★
marginal
probability
threshold
平均ベクトル(★)を
移動させて補正
多変量ガウス分布
:連続変数(離散化前)
:離散化された変数
20
MarginをCMA-ESで実現|整数変数の場合
0.5
多変量ガウス分布
1.5
0 2
0.0
1.0
0.5
1
marginal
probability
0.5 1.5
0 2
0.0
1.0
0.5
1
★
★
:連続変数(離散化前)
:離散化された変数
平均ベクトルと
共分散行列の
両方を補正
両側(青と赤)の
確率の下限を保証
21
CMA-ES with Margin|Marginによる効果
0.5 1.5
0 2
0.0
1.0
0.5
1
★
0 1 2
0.5
-0.5 1.5 2.5
0 1 2
整数変数が 1 に離散化される領域
の外側にサンプルされる確率が増加
➡ 1 以外にも整数がサンプルされる
➡ 固定化を防ぐことができる
22
CMA-ES with Margin|概観
Sampling
0.1
⁝
-1.7
-2.7
⁝
1.2
10.1
Mul/variate
Gaussian
Distribu/on (MGD)
Evaluation
value
0.1
⁝
-1.7
-3
⁝
1
Discre1za1on Integer
Con/nuous
★
…
Update mean vector & covariance matrix
通常のCMA-ES更新後にMargin補正を行うだけ
f
23
CMA-ES with Margin|うれしい性質
0.0 1.0
✅ 追加されたパラメータは1つだけ:
➡ が小さいほどオリジナルのCMA-ESに,
が大きいほど補正が強くなる (推奨値あり)
CMA-ESの共分散の更新部分には変更が加えられていない
✅
➡ 共分散行列を間接的に補正するような実装にしている
➡ CMA-ESの知見や他の分布の更新方法を適用可能
➡ 拡張性に優れる
CMA-ES small correction large correction
24
CMA-ES with Margin|デモンストレーション
CMA-ES (整数対処なし) CMA-ES with Margin
25
CMA-ES with Margin|その他詳細は論文へ
具体的な
確率のclip方法,
平均ベクトルと共分散行列の補正方法
との比較実験
Hansen, Nikolaus, “A CMA-ES for mixed-integer
nonlinear optimization,” 2011
「整数をランダムでとなりの整数に変異させて
固定化を回避させる手法」との比較
CMA-ES with Marginはロバストで高速 ➡
⬅
26
BBOBによる性能比較
BBOB > bbob-mixint
n 混合整数Black-Box最適化のための大規模なベンチマーク
n 24種類の様々な性質をもつ関数セット
n 5, 10, 20, 40, 80, 160次元
n 整数の種類はバイナリを含む4種類
27
BBOBによる性能比較|bbob-mixintについて
Tea Tušar, Dimo Brockhoff, and Nikolaus Hansen, “Mixed-integer benchmark
problems for single-and bi-objective optimization,” In Proceedings of the Genetic
and Evolutionary Computation Conference (GECCO '19).
Integer variables
N : 次元数
n COCO(Comparing Continuous Optimizers) platform
28
BBOBによる性能比較|bbob-mixintについて
あらかじめ既存手法による実験データが入っていて,
提案手法での実験データを流し込むだけで性能比較ができる
(自動的にグラフやテーブルが生成される)
https://github.com/numbbo/coco
CMA-ES with Marginを bbob-mixint で評価
n GECCO Workshopにて論文投稿・発表済み
n リスタート戦略を追加して検証
➡ 評価回数の予算が許す限り,終了判定⇄やり直し を繰り返す
n 今回はその内容の一部を抜粋して紹介
29
BBOBによる性能比較
Ryoki Hamano, Shota Saito, Masahiro Nomura, and Shinichi Shirakawa,
“Benchmarking CMA-ES with Margin on the bbob-mixint Testbed,” In Genetic
and Evolutionary Computation Conference Companion (GECCO ʼ22 Companion)
bbob-mixintで実験されている手法
n Random Search (一様分布からサンプル)
n Differential Evolution (DE)
n CMA-ES (整数対処つき)
n Tree-structured Parzen Estimator (TPE)
30
BBOBによる性能比較|比較手法の確認
- scipy による実装
- 戦略は rand/1/bin,population sizeは
- pycma による実装で,上記論文からいくつか変更が加えられている
- hyperopt による実装
Hansen, Nikolaus, “A CMA-ES for mixed-integer nonlinear optimization,” 2011
31
BBOBによる性能比較|次元数の推移で比較
n 目的関数の最良評価値との誤差が10-8になるまでに要した評価回数(少ないほど良い)
n 太線:[ 全てのtrialの評価回数の和 ] / [ 目標誤差を達成できたtrialの数 ]
n 細いアイコン:ワーストケース (目標を達成できなくても表示)
n 全体的にCMA-ES with Marginが優れ,次元数が大きくなるほど優位性UP
次元数
CMA-ES with Margin CMA-ES DE Random Search TPE
log
10
(評価回数/次元数)
32
BBOBによる性能比較|10次元での結果
n 目的関数の最良評価値との誤差のターゲット ➡ 102以下,101以下,... ,10-8以下 の10個
n ターゲットを多く達成するほど縦軸の値が上昇するイメージ
n 横軸は log10 (評価回数 / 次元数)
n より高速に,多くのターゲットを達成できると良い (グラフの左上ほど良い)
33
BBOBによる性能比較|80次元での結果
n 高次元になるとCMA-ES with Marginが圧倒的に優れる
n 160次元でも軽量に動作する
自分らで実装したPythonコードの場合:
AMD Ryzen (TM) 3960X CPU@3.8GHz with 1 processor and 24 cores
1目的関数あたり,10次元:1.76 10-6 sec 160次元:1.77 10-4 sec
(評価回数の上限:次元数 104)
n CMA-ESは多変量ガウス分布を用いて探索
n HPOにCMA-ESを適用する際には整数への対処がネックに
➡ 連続変数を整数化しただけだと,整数の固定化が起こる
n CMA-ES with Marginでは「整数化の境界外に連続変数がサンプル
される確率」の下限を保証することで固定化を回避
n CMA-ESからの追加パラメータは1つで拡張性も高い
n BBOBによる比較では,高次元になるほどCMA-ESの優位性が
高くなった
34
まとめ

More Related Content

What's hot

Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
Shuyo Nakatani
 

What's hot (20)

Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
 
実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
 
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
 
【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
 
Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
 
【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
 

混合整数ブラックボックス最適化に向けたCMA-ESの改良 / Optuna Meetup #2