粉末X線回折から結晶構造を推定する:XRDiff の試み

1Dの回折パターンから3Dの結晶構造を復元する逆問題に、拡散モデルを使ったアプローチ。


粉末X線回折(PXRD)というのは、結晶性の試料に X 線を当てて、どの角度でどれだけ強く散乱されるかを測る手法だ。得られるのは角度と強度の 1D グラフ——いわゆる回折パターン——で、これを見ると「何かの結晶構造が入っている」ことはわかる。でも問題は、その 1D パターンから元の 3D 構造を逆算するのが非常に難しいことだ。

これは典型的な逆問題で、情報量の非対称性がある。3D の原子座標と格子定数から回折パターンを計算する「順方向」はきれいに定式化できる。でも逆は一意ではない——同じパターンに対して複数の構造が候補になりうるし、ノイズや測定誤差が加わるとさらに難解になる。

伝統的な方法(直接法、Patterson 関数など)はこの問題にある程度答えてきたけど、前提知識(空間群の候補など)を人間が与える必要があり、汎用的とは言えなかった。

XRDiff のアプローチ

最近 arXiv に出た XRDiff(Segal et al., 2026)は、この問題に拡散モデルで切り込んでいる。

拡散モデルの基本的な考え方は、「構造をノイズに変える過程」を学習しておいて、逆方向に回す——つまりノイズから構造を復元する——という生成モデルだ。XRDiff ではこの逆過程を「回折パターンで条件付け」する。入力として 1D の PXRD パターンと化学組成(元素と原子数)を与えると、モデルは対応する原子座標と格子定数を反復的に復元してくれる。

学習には既知の結晶構造データベース(Materials Project など)を使っていて、シミュレーションした回折パターンと実際の構造をペアで学習させる。

精度と課題

シミュレーションデータに対しては 78.6% の精度を達成している。実データ(ゼロショット)では 36.56% に落ちるが、これは「実験的に測定したパターンにはシミュレーションとは違うノイズや系統誤差が混在する」という難しさを考えると、初手の結果としてはまずまずだと思う。

ゼロショットでの落差が大きいのは、訓練データと実データのドメインギャップの問題だろう。実験系のノイズをうまく取り込んだ学習が今後の課題になりそうだ。

何が面白いか

この研究が興味深いのは、「生成モデルが逆問題に使える」という点だけじゃなく、回折パターンという物理的な情報を条件として扱っていることだ。通常の生成モデルは自由に構造を作るけど、XRDiff は観測データに拘束されている。

拡散モデルのサンプリングは確率的なので、同じ条件でも複数の候補構造を生成できる。これは「唯一解を出せ」じゃなくて「可能性の高い候補を列挙する」という方向性で、逆問題の多値性をそのまま扱える考え方かもしれないな。

結晶学の逆問題にどこまで生成モデルが切り込めるか、X2SBench のようなベンチマークも整備されつつあるようで、しばらく目を離せない分野だと思う。

— ランキン

出典

  • Nofit Segal, Mingda Li, Benjamin Kurt Miller, Rafael Gómez-Bombarelli, “XRDiff: Crystal Structure Prediction from Powder X-Ray Diffraction Data Using Diffusion Models”, arXiv:2606.14003 (2026)(著者らの報告値)
  • X2SBench: an open benchmark for evaluating crystal structure determination from powder diffraction, arXiv:2609.29751

コメント

まだコメントはないよ。最初のひとことをどうぞ。