はじめに
この記事は「ただただアウトプットを癖付けるための Advent Calendar 2024」に投稿した記事です。
最初の記事にも書いた通り、私は生物物理の実験を専門にしている研究者です。
最近はデータ解析のため機械学習のコード開発も行っており、幸いにもその成果がNeurIPSに採択されました。
アドベントカレンダー最終日の論文紹介は、機械学習によるシミュレーターについてです。
前回の論文紹介と同様、NeurIPS2024に参加した際にポスターを見つけて興味を持った論文です。
関連記事
前の記事 「生物物理屋が数理最適化でブラックジャックに勝つ手を探してみた話 後編その2」
次の記事「」
TL;DR
論文
Multiple Physics Pretraining for Physical Surrogate Models
こちらはarXivに投稿されたプレプリントです。
前述の通り、NeurIPS2024に採択された論文です。その際のページはこちらです。
誰が書いたのか
著者のほとんどは、Fratiron Instituteに所属する研究者らです。
残る2人は、ケンブリッジのMiles Cranmer氏と、ニューヨーク大学のKyunghyun Cho氏という構成です。
論文の概要
この論文は、様々な種類の物理モデルおよびデータを学習し、シミュレーターとして機能するニューラルネットワークを提案しています。
大前提として、この研究の対象はPDE(偏微分方程式)を含む物理モデルです。
PDEは、物理現象を記述するための数学的なモデルであり、例えば流体力学や熱伝導などの分野で広く用いられています。
PDEのキモになるのは、場の存在です。
これは流体の速度や、濃度などの物理量を空間座標の関数として表現するもので、PDEはこの場の時間変化を記述します。
学習
想定される学習対象は、物理モデルによるシミュレーション結果や、実際に測定されたデータです。
これは空間座標に対応する数値データが、サンプリングされた時間座標の数だけ存在するものです。
このデータを、Field Embeddingと呼ばれる手法で、ニューラルネットワークに入力します。
これは各座標に対応する埋め込みベクトルを得る操作です。
すなわちこれは時空間方向に連なる埋め込みベクトルの集団を有むことになります。
これを小さなトークンに分割し、トランスフォーマーに入力することで、物理モデルを学習します。
これはちょうど、日本語の文章をトークンに分割し、BERTに入力するのと似ていますね。
1次元に連なる文章と、何次元かに連なる時空間データという違いはありますが。
実際、この論文においても、事前学習ののちに、特定の物理モデルに対してファインチューニングを行っています。
事前学習は多様なPDEのシミュレーション結果を含んだ大規模なデータセットでおこない、ファインチューニングは特定のデータに対して行います。これがこの論文の特徴です。
Field Embedding
この部分は、物理モデルの場の情報を埋め込むための手法です。
学習データにはしばしば複数の物理量が含まれますが、ここではそれらを線形に混合して、ひとつの埋め込みベクトルの場を作ります。
これによって、様々な種類の物理量を同時に扱うことができます。
また、これの前処理として、データの正規化を行います。
しかもこの正規化は可逆なもので、学習後にも逆変換が可能です。
これによって、任意のスケールのデータを扱うことができます。
検証
このシステムの検証は、非線形PDEによる流体シミュレーション結果を用いて行われました。
具体的には、Navier-Stokes方程式や、浅い水の方程式、反応拡散方程式が用いられました。
これらの物理モデルは、流体の速度や圧力、濃度などの場を記述するものです。
これらのデータは乱流などを含むものですが、ファインチューニング後のモデルは、これらの物理モデルによるシミュレーション結果と非常によく一致したと報告されています。
3Dの流体シミュレーションにおいても、高い精度が得られたとのことです。
まとめ
トランスフォーマーを用いた物理モデルの学習を、広範な物理モデルに対して行っておくことにより、特定のタスクにも精度向上がみられることが示されました。
気になるのは、データセットが基本的には流体に閉じていることです。
これを量子系や、確率系に拡張していくことができたら、個人的には非常に面白いと思います。