ベイズ最適化

Bayesian optimization

1 回の評価に時間や費用がかかる目的関数を、少ない試行回数で最適化する手法である。ガウス過程回帰などで目的関数の代理モデルと不確実性を構築し、そこから定義した獲得関数によって次に評価すべき点を決めることで、探索と活用の均衡を決定理論的にとる。

詳細

概要

ベイズ最適化は、1 回の評価に数分から数時間を要するような目的関数を対象とする最適化の枠組みである。連続空間で次元数がおおむね 20 未満、評価にノイズが含まれる場合にも適用できるとされる。目的関数の解析的な形や勾配を必要としない点が特徴で、実験や数値シミュレーションのように結果を得るまでの費用が高い対象に向く。

技術的な要点

手順は二つの部品からなる。第一に、目的関数の代理モデル(サロゲートモデル)をベイズ的機械学習手法、典型的にはガウス過程回帰で構築し、予測値だけでなく不確実性も定量化する。第二に、この代理モデルから獲得関数を定義し、次にどこを評価するかを決める。獲得関数には期待改善量、エントロピー探索、知識勾配などがある。不確実性の大きい未探索領域を試す探索と、良好と見込まれる領域を掘り下げる活用のバランスを、この獲得関数の最大化として扱う。

産業での位置づけ

機械学習のハイパーパラメータ調整のほか、材料組成、化学プロセス条件、食品配合など、試行 1 回あたりの費用が高い領域で用いられる。実験計画法と組み合わせ、専門家の知見を制約や事前分布として与えたうえで逐次的に探索する運用が広がっている。