技術情報
この章では、Tunny で使用される各サンプラーの技術的な特徴を紹介します。
Tunny のサンプラーは、Optuna が提供する最適化アルゴリズムをもとにしています。 ひとくちにサンプラーといっても、確率モデルを作って次の一点を選ぶものから、集団を世代交代させていくもの、そもそも最適化を行わないものまで幅があります。 同じ問題を解かせても、選んだサンプラーによって得られる結果や必要な試行回数は大きく変わってきます。
本章では、それぞれのサンプラーが「次にどこを試すか」をどのような考え方で決めているのかに絞って紹介します。 まずベイズ最適化に分類される TPE と Gaussian Process を紹介し、次に遺伝的アルゴリズムである NSGA-II、進化戦略である CMA-ES を紹介します。 最後に、最適化ではなく解空間の把握に使う Random と Quasi-Monte Carlo を扱います。 それぞれの考え方を知っておくことで、最適化がうまく進まなかったときに、どこを見直せばよいかの見当をつけられます。
本章は、数式を用いて具体的な処理内容を説明するよりも、どのサンプラーがどのアルゴリズムでサンプリングを行うかを理解し、最適化について学ぶための出発点を提供することを目的としています。 数式まで含めて導出を追うと分量がかなり大きくなるため、数式を用いた実際の計算の詳細は、参考論文にのみ記載しています。 さらに深く知りたい場合は、各ページの末尾にある Reference から原典をたどってください。
なお、実際にどのサンプラーを選ぶかで迷った場合は、はじめにの章にある「サンプラーの選び方」もあわせて参照してください。 本章がアルゴリズムの中身を扱うのに対して、そちらは目的関数の数や試行回数といった問題の条件から選択を絞り込む形になっているので、目的に応じて読み分けられます。