マテリアルズインフォマティクス・材料
能動学習——次に試す実験を最小のコストで選ぶ
目次
天文学的な候補を数個まで削る「ふるい」——計算で一括に絞り込むやり方がある。だがその漏斗には、暗黙の前提がある。候補を、作る前に安く採点できることだ。ルールや機械学習で「良さそう/ダメそう」を一瞬で見積もれるから、大半を落とせた。
ところが現実には、その前提が崩れる場面が多い。本当に知りたい性質が、実際に作って測るまで分からない——合金の疲労寿命、触媒の効き、電池材料の劣化。計算だけでは当てにならず、一個ずつ合成して測るしかない。しかもその実験は、遅くて高い。丸一日、あるいは一週間に数個。使える回数は、数千でも数百でもなく、せいぜい数十だ。
すると問いが変わる。「どれが良いか」を一括で当てるのではなく——
これまで測った結果をもとに、「次のひとつ」を、どこに賭けるか。
闇雲に試すのでも、いま最良に見えるものの隣ばかり掘るのでもない。一手ごとに、一番割の良い場所を選ぶ。これが能動学習(active learning)であり、その代表的な道具がベイズ最適化だ。
「作って測る」しか手がないとき
出発点は、高くつくブラックボックスだ。組成や条件を入れると、性質が返ってくる。ただし一回の評価(=合成して測定)が高価で、数えるほどしか回せない。全部は試せないが、ここでは計算による安いふるいも使えない——安い代理採点が存在しないからこそ、実験するしかないのだった。
ならば、持っているわずかな測定結果を、最大限に使う。やることは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。初期の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。「AIで加速」という宣伝文句は、何と比べたのかを書かないことが多い。この論文は基準(同じ設計空間でのランダム探索)を明示し、その比較がシミュレーション上の見積もりだという但し書きを本文と結論に書き、自分の6倍を「文献では20〜1000倍の加速係数が報告されている」と並べて相対化してもいる——そこは評価できる。ただしその但し書きは抄録には無く、抄録のほうは「同じ自動実験装置が実施したランダム探索」と書いている。加速がこの程度にとどまる理由も原典自身が挙げていて、目的関数が単一の最適点を持ち滑らかに変化する単純な設計空間だからだ、と断っている6。
言い換えれば、能動学習が効くのは「良い予測モデルを作ること」そのものが目的ではないからだ。目的は頂上に速くたどり着くこと。だからモデルの精度そのものは、必ずしも高くなくてよい。ただし「どれだけ賢くするか」と「どこを賢くするか」は別の話だ。Brochu らは、近傍だけを使って局所的に当てるクリギングと対比して、ベイズ最適化は「大域モデルを学ぶために全データを使う」と書いている3。
どこで転ぶか
万能ではない。むしろ、効く前提を外すと静かに滑る。
- 出発点がないと動けない(コールドスタート):ループはわずかでも初期データが要る。完全にゼロからでは、サロゲートは何も言えず、最初の数手はただの当てずっぽうだ。
- 測る「目当て」を間違えると、全力で誤答に走る:獲得関数は、こちらが指定した目的関数を最大化するだけだ。代理指標(測りやすいが本質でない量)を目的に据えると、自信満々に見当違いの頂へ登っていく。Dave らはイオン伝導度という代理指標でループを回し、得られた候補を実機のパウチセルで別途検証している6——代理で回すなら、下流に検証を置く。目的の設計を誤れば、アルゴリズムをどう選んでも取り返せない。もっとも、アルゴリズムの側が効かないわけではない——Xue らは目的(ΔT の最小化)を固定したまま回帰と選択の組み合わせだけを振り、「いくつかのアルゴリズムはランダムより悪い」と報告している2。Dave ら自身も、獲得関数の選択は多くの場合よい性能に決定的だが「この単純な設計空間ではそうではないようだ」と、自分の空間のほうを例外として断っている6。
- 測定が雑だと、ループが騙される:各実験にノイズや再現性の問題があると、偽の「当たり」を追いかけてしまう。打つ手が無いわけではない——Lookman らは観測値を「真の値+正規分布に従うノイズ」と明示的に置いたうえで、ノイズがあるとき効用関数は期待改善量を一般化した knowledge gradient になる、と書いている1。実際 Xue らが採ったのも期待改善量ではなく knowledge gradient である2。それでも、入ってくる数字そのものが系統的に偏っていれば、どの獲得関数もそれを直せない。
- 「作れる」は保証しない:能動学習は「次にどれを試すか」を選ぶ道具であって、選ばれた候補が現実に合成できるかは別問題だ。凸包の上に予測できることと、ビーカーの中で作れることは違う——この隔たりは、計算で材料を探すかぎり何度でも戻ってくる。
これらはどれも、モデルの精度指標には現れない。先ほどのNiTiの研究に加わっていた Lookman らは、後年の総説で「能動学習が入るなら高精度なモデルは必ずしも要らない——能動学習はモデルの質の低さに寛容だ」と経験的に観察している。ただしその観察の実測は、正解が既に分かっている223化合物について第一原理計算で求めた剪断弾性率を対象に、事後的に回した比較である。彼らは同じ段落で、モデルの質が低いときには特徴量の選択も最適材料の発見に重要な役割を果たしうる、との予備的観察を併せて述べ、そのうえで二つの観察の理由はまだ分かっておらず今後の検討課題だ、と留保している1。ならば効き目を左右するのは、むしろループの外側の設計(何を測り、何を目的に据えるか)の側だろう——特徴量についてはこの予備的観察がその向きを示唆しており、何を目的に据えるかまで含めた一般化のほうは我々の推測である。
二つの道具が、そろった
これで、「賢く探す」の二本立てがそろう。
- ふるい:安く採点できる空間を、一括で絞り込む。何百万を、数個へ。
- 能動学習(本稿):安く採点できないとき、一手ずつ測りながら、次を賢く選ぶ。何十万を、数十回の実験へ。
前者は「まとめて落とす」、後者は「逐次で寄せる」。多くの現場は両方を組み合わせる——安く採点できる性質(安定性、生成可能性、組成の妥当性)で計算により大きく絞り、絞った先で、実験でしか測れない性質(疲労寿命、劣化、ヒステリシス)を閉ループで詰める。ふるいと能動学習が見ている性質は別なので、前提は食い違わない。全部は試せない。だからこそ、一括の目と、逐次の一手、その両方が要るのだ。
能動学習・ベイズ最適化(サロゲートモデル+不確かさ+獲得関数で次の測定点を選ぶ逐次最適化)は、材料探索・実験計画で広く使われる標準的な枠組みである。個別の数値は各脚注の原著に基づき、いずれも著者らの報告として記載した。
出典6件
-
T. Lookman, P. V. Balachandran, D. Xue & R. Yuan「Active learning in materials science with emphasis on adaptive sampling using uncertainties for targeted design」, npj Computational Materials 5, 21 (2019)。サロゲートの予測と不確かさを効用(獲得)関数と組み合わせ、探索空間を逐次的にたどって候補を絞る枠組みを材料科学の文脈で概説。「Challenges and future development」節で著者らは、精度の低い機械学習モデルでも能動学習と組めばランダム探索より速いと観察し “the active learning is forgiving of the poor model quality” と述べる一方、“the underlying reasons behind these observations are not clear and worthy of further investigation” と留保している。この2文のあいだには “Our preliminary studies have shown that the choice of features may also have a key role in finding the optimal material when dealing with poor model quality.” が置かれており、留保の “these observations” はこの2つの観察を指す。当該の観察が拠っているのは、正解データの揃った223化合物(“223 compounds for which the ground truth data was available”)を対象に DFT で計算した剪断弾性率の上で、著者ら自身が “albeit post factum” と断って回した事後的な比較である。なお本稿が実例として挙げる Xue らの研究とは著者3名(Turab Lookman・Prasanna V. Balachandran・Dezhen Xue)が重なる同一グループの仕事であり、独立した二つのグループによる検証ではない。 https://doi.org/10.1038/s41524-019-0153-8 ↩ ↩2 ↩3 ↩4
-
D. Xue, P. V. Balachandran, J. Hogden, J. Theiler, D. Xue & T. Lookman「Accelerated search for materials with targeted properties by adaptive design」, Nature Communications 7, 11241 (2016)。約80万通りの NiTi 系組成から、適応設計(予測→合成→測定→更新の反復)で9ループ・計36個(1ループ4個)を追加合成し、同一条件で作った初期22個の最良値 ΔT=3.15 K を下回る合金を14個得たと報告。最小の ΔT≈1.84 K は6ループ目に出ており、当初ベストを42%更新(“surpassing the best value in the training data by 42%”)。サロゲートは SVR で、不確かさは1,000回のブートストラップ標本から推定している。偶然との切り分けも自ら行っており、Mann-Whitney 検定で U値172・z値3.6・P値0.001未満、また最小級の14個が設計ループの側へ偶然落ちる確率を 3.7×10⁻⁴ と見積もっている。著者のうち Turab Lookman・Prasanna V. Balachandran・Dezhen Xue の3名は 1 にも名を連ねる。 https://doi.org/10.1038/ncomms11241 ↩ ↩2 ↩3 ↩4 ↩5
-
E. Brochu, V. M. Cora & N. de Freitas「A Tutorial on Bayesian Optimization of Expensive Cost Functions…」, arXiv:1012.2599 (2010)。次の観測点を効用に基づいて選ぶ際、「不確かさの高い領域からの探索」と「現時点の最良を上回りうる領域の活用」の両方を考慮する、と定式化。 https://arxiv.org/abs/1012.2599 ↩ ↩2 ↩3 ↩4
-
D. R. Jones, M. Schonlau & W. J. Welch「Efficient Global Optimization of Expensive Black-Box Functions」, Journal of Global Optimization 13, 455–492 (1998)。サロゲート(クリギング/ガウス過程)上で期待改善量(Expected Improvement)を最大化して次点を選ぶ EGO 法の代表的論文。 https://doi.org/10.1023/A:1008306431147 http://www.schonlau.net/publication/jogo98.pdf ↩
-
B. Shahriari, K. Swersky, Z. Wang, R. P. Adams & N. de Freitas「Taking the Human Out of the Loop: A Review of Bayesian Optimization」, Proceedings of the IEEE 104(1), 148–175 (2016)。確率的サロゲート+獲得関数で探索と活用を取引する枠組みとして、期待改善量・上側信頼限界・トンプソン抽出などの獲得関数を体系的に概観。 https://doi.org/10.1109/JPROC.2015.2494218 https://www.cs.ox.ac.uk/people/nando.defreitas/publications/BayesOptLoop.pdf ↩
-
A. Dave, J. Mitchell, S. Burke, H. Lin, J. Whitacre & V. Viswanathan「Autonomous optimization of non-aqueous Li-ion battery electrolytes via robotic experimentation and machine learning coupling」, Nature Communications 13, 5454 (2022)。ロボット実験プラットフォーム(Clio)とベイズ最適化(Dragonfly)を組み、2営業日・42回の実験で急速充電向け電解液を特定、ランダム探索に対し約6倍の時間短縮(この6倍は代理モデルをブラックボックスに用いたシミュレーション上の見積もり)と報告。設計空間は各軸を10〜12段に切った1,000点あまりで、ループが最大化したのはイオン伝導度。得られた電解液は 220 mAh の graphite∣∣LiNi0.5Mn0.3Co0.2O2 パウチセルで別途試験し、事前に選んだ基準電解液より急速充電性能が良いことを確かめている。加速係数は目的値の98.5%到達時で平均6倍(個々の試行では4.5〜11.5倍)、真の最適点では平均10倍だが、最大値の95%に届くまでは無視できる大きさだとしており、その理由を「目的関数が単一の最適点を持ち、空間全体に高伝導の帯が広く散らばって滑らかに変化する」単純な設計空間に帰している。文献では20〜1000倍の加速係数が報告されているとも自ら並べている。 https://doi.org/10.1038/s41467-022-32938-1 ↩ ↩2 ↩3 ↩4 ↩5 ↩6
この記事はAIが執筆しています。内容には誤りが含まれる可能性があります。ご注意ください。