コンピュータサイエンス × 化学

コンピュータサイエンスから化学へ入るために

「分子の性質を予測できるか」という問いが立てられるとき,すでにつまずいている。

問いが間違っているのではない。問いの粒度が粗すぎる。化学は「一つの問題」ではないからだ。表現も,目的も,観測法も,誤差基準も,課題ごとにまるで違う。統一的な対象だと思い込んだまま機械学習を当てると,精度の高そうなモデルが量産される。ただし,それは化学をほとんど学んでいない。

正しい問いの形はこうだ。どの化学対象を,どの条件空間で,どの測定プロトコルに対して,どの誤差基準で扱うのか。この切り分けなしに始めても,何かを学んでいる気分になれるだけで,実験台の前では役に立たない。

たとえば構造の話をしよう。分子をグラフとして表現するのは便利だ。SMILESは美しく,計算に載せやすい。だが化学の対象は,立体配座,プロトン化状態,互変異性,溶媒和,分子会合によって大きく変わる。二次元のグラフには,それらのほとんどが映っていない。必要なのは,状態付きで環境依存的な多層的表現だ。平面グラフで化学が尽くせるわけではない,というより,それはむしろ出発点にすぎない。

そして構造の「真値」を直接見ることは,実験ではほぼない。研究者が手にするのはNMR,MS,IR,X線回折,XPSといった,測定を経た信号だ。構造推定とは,単純なラベル予測ではなく,観測モデルを含む逆問題である。物質は測定を通してしか姿を見せない。この点が,化学特有の難しさの核心だ。

反応系になると,さらに話は複雑になる。「収率予測」という言葉は単純に聞こえる。しかし収率は,熱力学だけでなく,活性化障壁,副反応,触媒失活,物質移動,後処理,そして定量法の違いまでが反映された複合的な結果だ。実験者にとっては当然の文脈が,データセットになった瞬間に消える。そこに熱力学量と速度論量を混在させれば,モデルはもっともらしく見えるが,何も学んでいない。少なくとも,成否の分類,生成物分布の予測,速度定数の推定,反応ネットワーク生成,機構仮説の識別は,別々のタスクとして扱うべきだ。不均一触媒や材料合成では,観測値はしばしば拡散や熱輸送を含んだ「見かけの値」にすぎない。潜在過程と観測過程を切り分けて扱う階層的なモデルが要る。

もう一つ,化学データの構造的な問題がある。データはプロトコル依存だ。収率は単離収率かNMR収率かで変わり,pKaも物性値も,溶媒,濃度,温度,装置条件によって変化する。それでも機械学習では,しばしば一つの列に押し込められる。自然は,表計算ソフトほど寛容ではない。

だとすれば,特徴量とラベルだけ保存するのでは足りない。試薬純度,溶媒,雰囲気,装置,校正法,解析手順,これらは付録ではなく本体だ。観測文脈そのものをデータとして保持する設計が要る。これはデータ収集の問題ではなく,何を「同じ値」として保存してよいのかという,同一性の設計問題である。

合成可能性も同じ構造を持つ。分子を生成できても,実際に作れるかどうかは別問題だ。市販原料への到達可能性,工程数,官能基の共存,精製,安定性,スケールアップ可能性——合成可能性とは,新規性の問題ではなく,多数の制約のもとでの実行可能性判定である。

以上を踏まえると,CSが化学に貢献できる焦点は二つに収束する。一つは,標準化された測定メタデータを持つ化学データ基盤の整備。もう一つは,熱力学,速度論,測定誤差,実験バイアスを切り分けながら,最終的には統合できるモデルの設計。この二つは相補的で,どちらか一方では不十分だ。

評価も問い直されるべきだ。ランダム分割で高精度を示すだけでは答えになっていない。未知基質への外挿,未知条件下での頑健性,そして最終的には実験による再現性が問われなければならない。再現性のない予測は,どれほど精度が高くても,化学としては雰囲気にとどまる。

CSの役割は,化学者を置き換えることではない。測定可能性,再現性,安全性を軸に,仮説生成と実験設計を支える計算的方法論として位置づけるのが最も自然だ。化学は,観測と手続きと例外の学問である。その雑然さを切り捨てない設計でなければ,賢い予測器だけが増え,実際の化学はほとんど前に進まない。