もう1回だけ実験できるとしたら、どの条件で?

京都大学 教授 加納 学

運転コストを最小化できる運転条件を見付けたい。目標とする特性を持つ製品を作りたい。

製造業であれば、そのような状況は日常茶飯事だろう。
しかし、このような問題を解くのは決して簡単でない。そもそも十分な実験ができないことが多い。

運転コストを最小化できる運転条件を見付けるためには、様々な運転条件での運転コストを知らなければならない。目標とする特性を持つ製品を作るためには、原材料特性や製造条件が製品特性に与える影響を知らなければならない。そのためには実験が必要である。ただ、やみくもに実験をすればいいというわけではない。それではあまりに効率が悪すぎる。

そこで威力を発揮するのが実験計画法である。注目すべき条件(入力変数)を絞り込み、グリッドサーチという名の絨毯爆撃を行うのではなく、できるだけ少数の実験で、入力変数と運転コストや製品特性といった出力変数との関係を明らかにする。入力変数と出力変数の関係は何らかの関数(例えば多項式)で表現される。これを応答曲面と呼び、この応答曲面を用いて最適な入力変数を求める。これが応答曲面法である。

しかし、実験計画法が効率的であるとは言っても、入力変数が増えれば、必要な実験の数も増える。実際の生産設備を用いて実験しなければならない場合に、好きなだけ実験することが許されることはほとんどないだろう。では、一体どうすればいいのか。

次のような問いを考えてみよう。

「できるだけ実験回数を減らして、最適でなくてもよいので、満足のいく解(例えば、運転コストを削減できる運転条件)を求められないか?」

もっと突き詰めよう。次のような問いはどうだろうか。

「あと1回だけ実験できるとしたら、どのような条件で実験すべきか?」

この問いは、多くの製造現場において、多くの開発現場において、決定的に重要なのではないだろうか。既にいくつかの条件で実験を行った状態ではあるが、まだ満足のいく結果は得られていない。速く結果を出せというプレッシャーは凄まじい。時間は限られている。あと1回だけ実験するなら,どのような条件で実験すべきか?

この難問に答えてくれるのが「ベイズ最適化」である。

従来からよく使われている応答曲面法では、出力変数をy、入力変数をxとすると、

y=f(x)

というモデル(応答曲面)を構築して、出力変数yが最大または最小となるxを求める。当然、解の精度はモデルの正確さに依存する。したがって、できるだけ正確なモデルを構築するために、十分な数の実験を行う必要が生じる。

一方、ベイズ最適化の発想は違う。出力変数yが最大または最小となるxを求めたいのは同じであるが、正確なモデルfの存在を前提として最適化を行うのではなく、不正確なモデルfの存在を前提として最適化を行う。

どうやって?

ベイズ最適化では、ガウス過程回帰(Gaussian Process Regression: GPR)を用いて最適化問題を解く、その手順を以下に示す。

1.N回の実験結果を得ているとする。
2.ガウス過程回帰でf(x)の予測分布を求める。
3.予測分布の期待値mと標準偏差sを用いて、獲得関数a(m,s)を計算する。
4.獲得関数a(m,s)が最大となる入力を求める。
5.求めた入力を用いて、N+1回目の実験を行う。
6.満足できる解が得られれば終了する。そうでなければ、2に戻る。

ポイントは、ガウス過程回帰を用いることで、出力変数の期待値だけでなく、その分布(標準偏差)も利用できること、そして、期待値と標準偏差から計算される獲得関数を用いることである。獲得関数を用いることで、期待値が最大または最小となる条件ではなく、標準偏差が大きく、一発逆転満塁ホームランの可能性がある条件がどこであるかを把握できる。

これが、なぜ重要なのか。それは、期待値が最大または最小となる条件が把握できたところで、既にその条件の近くで実験を実施していれば、大きな改善は期待できないからである。むしろ、あと1回だけしか実験できないなら、大きな改善が期待できる条件で実験すべきだろう。この挑戦を可能にしてくれるのが、ベイズ最適化である。

ベイズ最適化は様々な分野で利用されている。例えば、半導体分野では、高誘電率(high-k)フィルムのエッチング速度を最大化する条件探索に利用され、エッチングガスの組合せを最適化することで、従来の15〜20倍のエッチング速度が実現できたとの報告がある。化学分野では、数値流体力学(CFD)を用いて撹拌槽型反応器の最適設計を行う際に、計算負荷の高いCFDの計算回数を減らしつつ、電力使用量の最小化とガスホールドアップの最大化を実現するために、多目的ベイズ最適化を採用した事例が報告されている。また、ベイズ最適化は、統計モデルの構築に際して、そのハイパーパラメータの最適化にもよく利用される。

経験上、ガウス過程回帰とベイズ最適化は道具箱に入れておく価値のある方法だと感じているので、次回以降、このコラムで解説していこう。

  • LINE
  • Mail