マテリアルズインフォマティクス・材料
能動学習・ベイズ最適化とは?次の実験の選び方と限界
- 能動学習
- ベイズ最適化
- 材料探索
- 獲得関数
- 期待改善量
- ガウス過程
- knowledge gradient
- サロゲート
- 形状記憶合金
- 電解液
- 不確かさ
- 上側信頼限界
- トンプソン抽出
- ブートストラップ
- ランダム探索
- 閉ループ
- 代理指標
- 熱ヒステリシス
- NiTi
- イオン伝導度
- パウチセル
- クリギング
- コールドスタート
- SVR
目次
材料探索には、天文学的な数の候補を計算で一括に絞り込む「スクリーニング」というやり方がある。スクリーニングが大半の候補を落とせるのは、作る前に安く採点できるからだ。ところが、合金の疲労寿命、触媒の効き、電池材料の劣化のように、実際に作って測るまで分からない性質も多い。その場合、候補は一個ずつ合成して測るしかなく、一回の実験は遅くて高い。使える回数は数千でも数百でもなく、せいぜい数十回だ。全部は試せず、安いスクリーニングも使えないので、限られた回数の実験をどの候補に使うかが問題になる。本稿は、NiTi系の形状記憶合金の探索と、電池の電解液の探索を例に取る。
これまで測った結果をもとに、「次のひとつ」として、どの候補を作って測ればよいか。
能動学習は、測った結果からサロゲート(代理モデル)と不確かさを作り、獲得関数で「良さそう」と「わからない」を一つのスコアにまとめて次の一手を選び、測った結果を足してまた選ぶ閉ループである。その代表的な手法がベイズ最適化だ。Xue らは約80万通りの組成について、初期の22個に加えてこのループが提案した36個を合成し、当初の最良を下回る合金を14個得た。ただし、目的に据える量を誤ったり測定が雑だったりすると、ループは目に見える兆候を出さずに失敗する。
予測が良い候補より、予測は劣るが不確かさの大きい候補が選ばれる
※ この節の数値は説明のための仮定で、測定値ではありません。
いま測った中での最良値が 10 で、値は大きいほど良いとする。次に作る候補を、二つから一つ選ぶ。
- 候補 A:予測 10.5、不確かさ(標準偏差)0.2
- 候補 B:予測 9.5、不確かさ 3.0
予測だけを見れば A を選ぶ。期待改善量は、値が正規分布に従うとみなして、最良値 10 を上回る分の期待値を計算する。A は 10 を上回る確率が 99% を超えるが、上回る幅はほぼ 0.5 にとどまり、期待改善量は 0.50 になる。B は 10 を上回る確率が 43% だが、上回るときの幅が大きく、期待改善量は 0.96 になる。期待改善量で選ぶと、予測の劣る B が次の一手になる。
B を測れば、外れても不確かさの大きかった場所の様子が分かり、当たれば最良値が大きく更新される。A を測っても、すでに自信のある予測が確かめられるだけで、得るものは小さい。
「作って測る」しか手がないとき
出発点は、高くつくブラックボックスだ。組成や条件を入れると、性質が返ってくる。ただし一回の評価(=合成して測定)が高価で、数えるほどしか回せない。全部は試せないが、ここでは計算による安いスクリーニングも使えない。作る前に当てにできる安い採点が無いことが、実験するしかない理由である。
ならば、持っているわずかな測定結果を、最大限に使う。やることは2つ。
- サロゲート(代理モデル)を建てる:測った点から、「まだ測っていない組成はこのくらいの性質だろう」を予測するモデルを作る。ここまでは普通の回帰だ。
- 不確かさも一緒に出す:ただの予測値ではなく、「この予測はどのくらい自信があるか」まで出す。データの薄い場所ほど、自信は下がる。ガウス過程などがよく使われるのは、この不確かさが自然に出るからだ1。ただしガウス過程でなくてもよい。後述の Xue らは、不確かさを出さない回帰モデル(SVR)に1,000回のブートストラップ標本を被せて不確かさを作っている2。
この「予測」と「不確かさ」の二枚を持って、次の一手を選ぶ。
賢い一手=「良さそう」と「わからない」の両にらみ
どこを次に試すか。素朴な作戦は2つあり、どちらも単独では負ける。
- 活用(exploitation)だけ:いま最良に見える点の、すぐ隣を攻める。手堅いが、最初の当たりの周りを掘り続け、遠くのもっと良い鉱脈を見逃す3。
- 探索(exploration)だけ:一番わからない場所を攻める。未測定の領域は減るが、良い結果が見込めない候補にも実験を費やす。一方、Brochu らの図では、予測と不確かさの両方を見る獲得関数のループが、左端の領域を「不確かさは高いが、いまの最良を上回る見込みは無い」と正しく判断し、最後まで選ばない3。
ベイズ最適化の要は、この2つを一つのスコアにまとめることにある。それが獲得関数(acquisition function)だ。予測値(活用)と不確かさ(探索)から計算したスコアが最大の点を「次の一手」に選ぶ3。代表的な「期待改善量(Expected Improvement)」は、いまの最良をどれだけ上回れそうかを、不確かさまで込みで見積もる。そのため期待改善量は、自信を持って良い点も、確信はないが予測を大きく上回りうる点も、同じ土俵で拾える4。獲得関数には期待改善量のほかにも上側信頼限界やトンプソン抽出など複数あり、探索と活用の傾け方が違う5。測定にノイズがあるときは、期待改善量を一般化した knowledge gradient が使われる1。実際 Dave らは、ガウス過程回帰の代理モデルの上で期待改善量・top-two 期待改善量・上側信頼限界の3種を走らせている6。
そして測ったら、結果をデータに足してモデルを建て直し、また次の一手を選ぶ。この閉ループが、能動学習の正体だ。回すほどモデルは目当ての近くが賢くなり、少ない実験で頂上へ寄っていく。
80万通りの組成から数十回の実験で合金を探した例
教科書的な一例を挙げる。Xue らは2016年、熱ヒステリシス(温度を上げ下げしたときの応答のずれ)の小さいNiTi系形状記憶合金を探した。候補となる組成は約80万通り。全部を作って測るなど、当然できない。
彼らは上の閉ループを回した。出発点は、同じ研究室で条件をそろえて合成した22個の初期データだ。そこからサロゲートと不確かさを建て、獲得関数で「次に作る合金」を提案し、1ループにつき4個を実際に合成・測定して、結果を戻す。彼らはこの手順を繰り返した。結果として、9回のループ・合計36個の追加合成で、当初のデータで最良だったΔT=3.15 Kを下回る合金が14個見つかった、と報告している(最小はΔT≈1.84 K で、当初ベストを42%更新した。この一つは6ループ目で出ている)2。その後の3ループでは設計が見かけの最小値から離れ、7ループ目以降は実測値のばらつきも広がる。著者らはこれを過学習ではなく、探索と活用を天秤にかける大域最適化の帰結と解釈している2。
初期の22個を足しても、作ったのは80万分の58。桁で言えば、彼らが実際に作ったのは探索空間のごく一部である。
原典は自分の結果が偶然の産物ではないかと自ら問うている。当初の22個と新規の36個のΔTをMann-Whitney検定で比べて有意差を示し(U値172、z値3.6、P値0.001未満)、さらに、当初と同じ分布からランダムに選んだ場合に最小級の14個が設計ループの側へ落ちる確率を3.7×10⁻⁴と見積もっている2。比べる相手は「全部試す」ではなく、ランダム探索である。
同じ手法は合金以外でも使われている。ただし探索の規模は大きく違う。たとえば電池の電解液探しでも、Dave らはロボット実験とベイズ最適化を組んだ装置で、1,000点あまりの設計空間を42回の実験・2営業日で探り、急速充電向けの電解液を6種類絞り込んだ。ただしループが登った頂はイオン伝導度であって、急速充電性能そのものではない。著者らは得られた電解液を220 mAhのパウチセルに別途組み、事前に選んでおいた基準の電解液より急速充電性能が良いことを確かめている6。
しかも同じ設計空間でのランダム探索を基準に、約6倍速いと報告している(この6倍は、著者らが代理モデルをブラックボックスに見立ててシミュレーション上で見積もった比較で、目的値の98.5%に到達するまでの加速係数の平均である。個々の試行では4.5〜11.5倍にばらけ、真の最適点まで求めれば平均10倍になる。逆に、最大値の95%に届くまでは加速はほぼ無い)6。加速がこの程度にとどまる理由も原典自身が挙げていて、目的関数が単一の最適点を持ち滑らかに変化する単純な設計空間だからだ、と断っている6。
「AIで加速」という宣伝文句は、何と比べたのかを書かないことが多い。この論文は基準(同じ設計空間でのランダム探索)を明示し、その比較がシミュレーション上の見積もりだという但し書きを本文と結論に書き、自分の6倍を「文献では20〜1000倍の加速係数が報告されている」と並べて相対化してもいる。これらの点は評価できる。ただしその但し書きは抄録には無く、抄録のほうは「同じ自動実験装置が実施したランダム探索」と書いている。
能動学習の目的は「良い予測モデルを作ること」そのものではなく、頂上に速くたどり着くことだ。モデルの精度がどこまで要るかは未解決の問いで、精度の低いモデルでも探索が速まったという観察は後で取り上げる。ただし「どれだけ賢くするか」と「どこを賢くするか」は別の話だ。Brochu らは、ベイズ最適化と近い関係にあるクリギングが予測にしばしば近傍の少数の点しか使わないのと対比して、ベイズ最適化は「大域モデルを学ぶために全データを使う」と書いている3。
どこで転ぶか
能動学習は万能ではない。効く前提が外れるとループは失敗し、なかでも目的と測定を誤ったときは、目に見える兆候が出ない。
- 出発点がないと動けない(コールドスタート):ループはわずかでも初期データが要る。完全にゼロからでは、サロゲートは何も言えず、最初の数手はただの当てずっぽうだ。
- 測る「目当て」を間違えると、全力で誤答に走る:獲得関数は、こちらが指定した目的関数を最大化するだけだ。代理指標(測りやすいが本質でない量)を目的に据えると、高い確信を保ったまま見当違いの頂へ登っていく。Dave らはイオン伝導度という代理指標でループを回し、得られた候補を実機のパウチセルで別途検証している6。代理指標でループを回すなら、下流に検証を置く必要がある。目的の設計を誤れば、アルゴリズムをどう選んでも取り返せない。もっとも、アルゴリズムの選択が結果を左右しないわけではない。Xue らは目的(ΔT の最小化)を固定したまま回帰と選択の組み合わせだけを振り、「いくつかのアルゴリズムはランダムより悪い」と報告している2。Dave ら自身も、獲得関数の選択は多くの場合よい性能に決定的だが「この単純な設計空間ではそうではないようだ」と、自分の空間のほうを例外として断っている6。
- 測定が雑だと、ループが騙される:各実験にノイズや再現性の問題があると、偽の「当たり」を追いかけてしまう。打つ手が無いわけではない。Lookman らは観測値を「真の値+正規分布に従うノイズ」と明示的に置いたうえで、ノイズがあるとき効用関数は期待改善量を一般化した knowledge gradient になる、と書いている1。Xue らも採ったのは期待改善量ではなく knowledge gradient だが、その選択は測定ノイズではなく交差検証の成績によるもので、期待改善量とはほぼ同じ性能だったと書いている2。それでも、入ってくる数字そのものが系統的に偏っていれば、どの獲得関数もそれを直せない。
- 「作れる」は保証しない:能動学習は「次にどれを試すか」を選ぶ手法であって、選ばれた候補が現実に合成できるかは別問題だ。計算で安定と予測できることと、ビーカーの中で作れることは違う。計算で材料を探すかぎり、この隔たりは何度でも問題になる。
目的の取り違えと測定の偏りは、モデルの精度指標には現れない。先ほどのNiTiの研究に加わっていた Lookman らは、後年の総説で「能動学習が入るなら高精度なモデルは必ずしも要らない」と経験的に観察し、その結果が「能動学習はモデルの質の低さに寛容だ」ということを示すと書いている。ただしその観察の実測は、正解が既に分かっている223化合物について第一原理計算で求めた剪断弾性率を対象に、事後的に回した比較である。彼らは同じ段落で、モデルの質が低いときには特徴量の選択も最適材料の発見に重要な役割を果たしうる、との予備的観察を併せて述べ、そのうえで二つの観察の理由はまだ分かっておらず今後の検討課題だ、と留保している1。ならば効き目を左右するのはモデルの精度だけでなく、ループの外側の設計(何を測り、何を目的に据えるか)でもあるだろう。これは我々の推測であり、上の予備的観察が扱っているのは特徴量の選択までである。
能動学習・ベイズ最適化(サロゲートモデル+不確かさ+獲得関数で次の測定点を選ぶ逐次最適化)は、材料探索・実験計画で広く使われる標準的な枠組みである。個別の数値は各脚注の原著に基づき、いずれも著者らの報告として記載した。
出典6件
-
Lookman ほか「Active learning in materials science…」npj Computational Materials 5, 21, 2019. https://doi.org/10.1038/s41524-019-0153-8 — 材料の能動学習の総説。低精度のモデルでもランダムより速いという観察を正解既知の223化合物での事後的な比較で示し、理由は未解明と留保する。 ↩ ↩2 ↩3 ↩4
-
Xue ほか「Accelerated search for materials with targeted properties by adaptive design」Nature Communications 7, 11241, 2016. https://doi.org/10.1038/ncomms11241 — 初期22個+9ループ36個の合成で、当初最良を下回る合金14個を得た。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Brochu ほか「A Tutorial on Bayesian Optimization of Expensive Cost Functions…」arXiv:1012.2599, 2010. https://arxiv.org/abs/1012.2599 — 不確かさの高い領域の探索と、最良を上回りうる領域の活用を、獲得関数で同時に扱うと定式化する。 ↩ ↩2 ↩3 ↩4
-
Jones ほか「Efficient Global Optimization of Expensive Black-Box Functions」Journal of Global Optimization 13, 1998. https://doi.org/10.1023/A:1008306431147 http://www.schonlau.net/publication/jogo98.pdf — サロゲート上で期待改善量を最大化して次点を選ぶ EGO 法。 ↩
-
Shahriari ほか「Taking the Human Out of the Loop…」Proceedings of the IEEE 104(1), 2016. https://doi.org/10.1109/JPROC.2015.2494218 https://www.cs.ox.ac.uk/people/nando.defreitas/publications/BayesOptLoop.pdf — 期待改善量・上側信頼限界・トンプソン抽出などの獲得関数を概観する総説。 ↩
-
Dave ほか「Autonomous optimization of non-aqueous Li-ion battery electrolytes…」Nature Communications 13, 2022. https://doi.org/10.1038/s41467-022-32938-1 — 伝導度を42回の実験で最適化。ランダム探索比約6倍はシミュレーション上の見積もり。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6
この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。