第3話

ベイズ最適化

総当たりをやめる数学

ベイズ最適化の動画のサムネイル

少ない実験回数で当たりを引く「賢い手抜き」。代理モデルと獲得関数を、カレー作りでたとえて解説。

この動画で話すこと

味見に1回3時間かかるカレー。1万通りの配合から、いちばんおいしい1つを探すには? 少ない回数で当たりを引く「ベイズ最適化」を、代理モデル・活用と探索・獲得関数の順に、実際に計算した地形で見せます。

章

  1. 味見は1回3時間
  2. 今日の現在地
  3. 代理モデル:地形を想像で描く
  4. 活用と探索、獲得関数
  5. 21回で頂上へ
  6. 実績:AlphaGo の調整
  7. 弱点と、人間の仕事
  8. 次に見るなら
  9. 応援のお願い

ナレーション全文

究極のカレーを作りたい。スパイスは2種類、配合は自由。ただし、味見は1回3時間かかります。

全部の組み合わせを試す? 100通りずつで、1万回。3万時間。3年半、寝ずにカレーを煮込むことになります。

研究や開発の現場は、だいたいこの状態です。そこで登場するのが、ベイズ最適化。少ない回数で当たりを引く、賢い手抜きの技術です。

相手は、中身の見えないブラックボックス。配合を入れると、おいしさの点数だけが返ってきます。式も、ヒントも、ありません。

そこでまず、数回だけ試します。そしてその結果から、全体の地形を、想像で描く。これが代理モデルです。

ポイントは、自信のなさも一緒に描くこと。試した場所の近くは、くっきり。遠い場所は、霧の中。

「分かりません」と、正直に言えるモデルなんです。会議で知ったかぶりをする誰かとは、違います。

では次に、どこを試すか。今いちばん良さそうな場所を攻める「活用」。まだ誰も知らない霧の中に踏み込む「探索」。

いつもの店に行くか、新しい店を開拓するか。人生でおなじみの、あの悩みです。

ベイズ最適化は、これを獲得関数という1つの点数にまとめます。伸びしろの期待が、いちばん大きい場所。そこが、次の一手です。

試す。地形を描き直す。次を選ぶ。これを繰り返すと…

霧が晴れるのは、頂上のまわりだけ。どうでもいい場所は、霧のまま放っておく。この割り切りが、速さの正体です。

1万通りのうち、試したのは、たった21回。3年半のカレー修行が、3日足らずで終わりました。

実績もあります。囲碁AIのAlphaGo。その調整にベイズ最適化を使ったところ、自己対戦の勝率が、50%から66.5%に上がりました。

いまでは、機械学習の設定さがしから、電池や薬の材料開発まで。高くつく実験がある場所なら、どこでも出番があります。

ただし、弱点もあります。調整するつまみが何十個にも増えると、霧が深すぎて、苦しくなります。

そして、何を「おいしい」とするか。それを決めるのは、あいかわらず、人間の仕事です。

出典・参考

  • Jones, Schonlau, Welch, "Efficient Global Optimization of Expensive Black-Box Functions", J. Global Optim. 13, 455 (1998)
  • Snoek, Larochelle, Adams, "Practical Bayesian Optimization of Machine Learning Algorithms", NeurIPS (2012)
  • Chen et al., "Bayesian Optimization in AlphaGo", arXiv:1812.06855 (2018) https://arxiv.org/abs/1812.06855
  • 動画の中の地形・霧・次の一手は、ガウス過程と期待改善量を実際に計算した結果です(100×100 の格子、21回で頂上に到達)

つながっている動画