1 はじめに
近年、Graph Neural Network(GNN)は推薦・化学・知識グラフなど様々な分野で使われていますが、2020年に DeepMind が提案した MeshGraphNets(MGN) は、その中でも特に
物理シミュレーション(流体・構造・布・弾性体)を学習で置き換える
という、やや異色な目的を持つモデルです。
- なぜエッジが 2 種類あるのか?
- なぜ Encode / Process / Decode に分かれているのか?
- なぜ同じ GNN を何回も繰り返すのか?
このあたりの疑問を、MGN が扱いたい問題の観点から理解していきたいと思います。そのため物理シミュレーションのお話から始めます。
2 そもそも従来の物理シミュレーションは何を計算しているのか
単純に言うと、今の状態から、次の瞬間の状態を計算するです。状態とは例えば、次のようなものです。
- 各点の位置
- 各点の速度
- 各点の圧力
本来、これらは連続体として次のような偏微分方程式(PDE)で記述されます。
$$
\rho \frac{d^2 x}{dt^2} = \nabla \cdot \sigma + f
$$
ざっくりした意味は
- 左辺:質点の加速
- 右辺:内部の力(応力)+ 外力
となります。しかし PDE は、連続無限、すなわち「無限に細かい世界」を前提に記述されるもので、そのままでは微分を計算できず、コンピュータで計算することができません。
そのため、連続無限を離散化して近似で物理現象を解析することを考えます。
離散化して解析するアプローチはいくつかありますが、ここでは 有限要素法(FEM) を紹介します。
3 有限要素法(FEM)
FEM では、次のような手順で計算を行います。
- 物体をメッシュに分割
- 各要素で「平均的な挙動」を仮定
- PDE を 行列方程式に変換して解析
最終的に、PDE を近似した有限次元問題を解いていることになります。しかし、多くの物理シミュレーションでは、
- メッシュの細かさ(精度)と計算時間がトレードオフ
- 非線形材料を扱うと反復解法で計算時間が増加
- 接触や衝突の解析は膨大な条件分岐が発生
などの理由により計算に時間が膨大になる課題があります。これを解決するために、従来の物理シミュレーションと遜色のない精度で爆速推論できるAI、すなわちサロゲートモデルの研究開発が行われています。サロゲートは、日本語で「代替」という意味ですね。
4 MeshGraphNets(MGN)
それでは、本題である MGN の大きな特徴を2つ見ていきましょう。
4.1 モデル構成:Encoder → Processor → Decoder
MGN のモデル構成は、以下のように Encoder → Processor → Decoder の 3 段構成を取ります。これは、物理シミュレーションを学習で置き換えるという目的に強く結びついた設計です。

画像出典:Learning Mesh-Based Simulation with Graph Networks [arxiv]
4.1.1 Encoder:物理量を「計算可能な内部表現」に変換する
まず Encoder では、入力として与えられた物理量を、GNN が扱いやすい 潜在表現(latent feature) に変換します。
入力には例えば次のような情報が含まれます。
- ノード(節点)特徴
- 位置 $x_i$
- 速度 $v_i$
- ヤング率などの材料パラメータ
- 境界条件フラグ
- エッジ特徴
- 隣接ノードとの相対位置
- 隣接ノードとの距離
- エッジの種類(後述)
Encoder はこれらを MLP によって写像します。
\begin{align}
h_{i}^{(0)} = \phi_{v}^{\text{enc}}(v_{i}) \\
e_{ij}^{(0)} = \phi_{e}^{\text{enc}}(e_{ij})
\end{align}
つまり、物理的意味を保持したまま、次元・スケールの違う入力を統一 する役割を担っています。
4.1.2 Processor:物理相互作用を反復的に伝播させる
ここでは Graph Network(GN) ブロック が同じ重みのまま何回も繰り返し適用されます。
1 回の GN ブロックでは、次のような更新が行われます。
-
エッジ更新
$$
e_{ij}^{(k+1)} = \phi_{e}(h_{i}^{(k)}, h_{j}^{(k)}, e_{ij}^{(k)})
$$ -
ノード更新
$$
h_{i}^{(k+1)} = \phi_{v}\Big(h_{i}^{(k)}, \sum_{j \in \mathcal{N}(i)} e_{ij}^{(k+1)}\Big)
$$
これを $K$ 回繰り返します。
$$
(h^{(0)}, e^{(0)}) \to (h^{(1)}, e^{(1)}) \to \dots \to (h^{(K)}, e^{(K)})
$$
連続体力学では、力の影響は局所的な相互作用を通じて徐々に広がる性質があるため、離れた場所の影響を伝播させるため複数回繰り返す必要があります。FEM では、これは剛性行列を通じた力の伝播や、反復解法の内部で暗黙的に起きています。MGN ではそれを 明示的な message passing の反復として表現しているわけです。
DeepMind の原論文・公式実装では $K=15$ 回です。個人的な感覚でしかないですが、$10$ から $15$ 回程度の数値がよく使われている印象です。
4.1.3 Decoder:次の時刻の状態変化を出力する
最後に Decoder で、Processor が作った潜在表現から、次の時刻の物理量を予測します。
例えば、位置更新量 $\Delta x_{i}$ を出力する場合、
$$
\Delta x_{i} = \phi_{v}^{\text{dec}}(h_{i}^{(K)})
$$
ここから実際の更新は数値積分として行われます。
$$
x_{i}^{t+1} = x_{i}^{t} + \Delta x_{i}
$$
ここまでで、MGN は FEM のように PDE を解いているわけではありませんが、「今の状態 → 次の状態」という FEM の 1 ステップ分の更新を学習により近似していると捉えられます。
4.2 エッジ設計:mesh-space / world-space
MGN のもう一つの大きな特徴が、エッジが 2 種類ある点です。これは、物理シミュレーションが本質的に 2 種類の相互作用を同時に扱っていることに対応しています。
4.2.1 mesh-space edge:物体内部の構造を表すエッジ
メッシュ構造そのものに基づくエッジです。
$$
(i, j) \in E_{\text{mesh}} \quad \Leftrightarrow \quad i, j \text{ が同じ要素に属する}
$$
このエッジは、
- 初期メッシュで固定
- 時間が経っても変わらない
という特徴を持ちます。FEM では、応力やひずみは要素内・隣接節点間でのみ伝播します。mesh-space edge は、まさにこの 内部力の伝播経路を表しています。
エッジ特徴量には、以下の数式で示すように、初期配置に基づく情報が使われます。
$$
e_{ij}^{\text{mesh}} = [X_{j} - X_{i}, ||X_{j} - X_{i}||]
$$
4.2.2 world-space edge:接触・衝突を表すエッジ
一方 world-space edge は、現在の空間配置に基づいて動的に生成されます。
$$
(i, j) \in E_{\text{world}}(t) \quad \Leftrightarrow \quad ||x_{i}(t) - x_{j}(t)|| < r
$$
これは、
- 異なる物体同士
- メッシュ的には無関係な点同士
であっても、空間的に近ければ相互作用が生じることを表します。FEM では、これは接触判定・衝突処理として別枠で実装されます。MGN では、それを world-space edge として GNN の中に統合しています。
エッジ特徴量は現在位置に基づきます。
$$
e_{ij}^{\text{world}}(t) = [x_{j}(t) - x_{i}(t), ||x_{j}(t) - x_{i}(t)||]
$$
例えば構造解析における変形を予測したい場合、各ノード(節点)の変位予測では、mesh-space edgeによる物体内部の力学、world-space edgeによる接触相互作用がそれぞれ表現されます。対してひずみや応力など、変位が決まれば局所的に計算できる値は、mesh-space edge が支配的となり、world-space edge は境界条件や応力集中を反映する補助的な役割にとどまります。
5 他の手法との比較
MGNの特徴をさらに理解するために、全く異なるアプローチとも比較しておきましょう。
5.1 Physics-Informed Neural Networks(PINNs)
PINNs は、PDE の残差をニューラルネットワークの損失関数に入れるアプローチです。
直接 PDE を学習するため、物理法則が保証され、外挿にも比較的強い反面、学習が難しく推論もそこまで早くならないという欠点があります。
5.2 Equivariant Graph Neural Networks (EGNN) [arxiv]
EGNNは、物理法則が持つ対称性(回転・並進など)を必ず満たすように設計された GNN です。メッシュ構造は使わないものの、空間対称性を厳密に守るように学習します。
アプローチは異なるものの、物理法則を直接モデルに組み込む考え方は PINNs に似ていますが、推論は高速です。反面、学習データ数は PINNs よりは必要になる傾向です。
5.3 Reduced Order Model(ROM)
ROM は、FEM 解を低次元空間に射影し、低次元ODEを解くというアプローチです。
物理的な解釈が可能で精度が高い反面、実装には専門知識が前提となり、接触・トポロジ変化には弱いという欠点があります。
5.4 MeshGraphNets の立ち位置
MGN は、
- PDEを直接使わない
- 低次元化もしない
- しかし物理構造は強く利用する
という中間的な立ち位置です。
| 手法 | 物理拘束 | 高速推論 | 柔軟性 | 学習データ数 |
|---|---|---|---|---|
| FEM | ◎ | × | △ | 不要 |
| ROM | ◎ | ○ | × | 中 |
| PINNs | ○ | △ | △ | 少 |
| EGNN | ○ | ◎ | ○ | 中 |
| MGN | △ | ◎ | ◎ | 多 |
MGNは、「物理を解く」のではなく、「物理的な更新規則を学習する」モデルであり、特に、
- 多数ケースを高速に評価したい
- 接触・大変形を含む問題
- GPU 上で並列推論したい
という場面で強みを発揮します。ただし必要な学習データ数が多い点には注意が必要です。
6 MGN を発展させたモデル
ここまで解説してきた MGN は、2020年に提案された手法ですが、これを発展させる研究は現在も盛んに行われています。この記事では網羅性は度外視して、直近で個人的に気になった論文のみ、簡単に紹介します。
6.1 M4GN(2025): 階層型・マルチスケール [arxiv]
MGN の課題として、情報の伝播距離が、Processor の更新回数 $K$ に依存することがあります。上では15回くらいが目安と述べましたが、大規模なメッシュ構造を扱う場合ではさらに膨大な層が必要となります。しかし、層の増大は多くの NN と同じく勾配消失や情報の平滑化を招きます。これを解決するために、メッシュの解像度を複数の段階で管理するマルチスケールアプローチが登場しました。
その中でも、紹介する M4GN という手法では、3層のセグメント中心階層ネットワークからなり、マイクロレベルの GNN とマクロレベルの Transformer を架け橋とし、精度と効率のバランスを最適化するアプローチをとっています。これにより、局所的なダイナミクスを GNN が担当し、大域的な推論を Transformer が担当するという役割分担が可能となり、従来のサロゲートモデルを最大56%上回る予測精度を達成しています。
6.2 X-MeshGraphNet(2024): スケーラビリティの限界突破 [arxiv]
産業界における実用化においては、数十万から数百万の節点を持つ大規模なメッシュを扱う必要がありますが、単一の GPU やメモリ制限内での計算は困難を極めます。多くの論文は多くても十万点前後のメッシュ数での実験に終始している印象でした。
そんな中、2024年末に提案された X-MeshGraphNet では、次のアプローチで数百万のエッジを持つグラフを扱っています。
- グラフ分割と勾配集約 (Graph Partitioning with Gradient Aggregation): 巨大なメッシュを複数のサブグラフに分割しつつ、ハロー領域(Halo Regions)を設定することでパーティションを跨いだメッセージパッシングを実現する。この手法は、全グラフを一括して処理する場合と数学的に等価な学習を保証し、計算効率を大幅に向上させます。
- カスタムグラフ構築 (Custom Graph Construction): 推論時に既存の数値シミュレーション用メッシュに依存せず、STL 形式などの CAD データから直接点群を生成し、k近傍法を用いてグラフを構築します。これにより、時間のかかるメッシュ生成工程をバイパスすることを可能にします。
- マルチスケール・グラフ生成: 粗い点群から細かい点群へと段階的に洗練させる反復プロセスを導入し、効率的な長距離相互作用のモデリングをサポートします。
これにより、自動車の空気力学シミュレーションにおいて、高い予測精度を維持することに成功しています。
6.3 HydroGraphNet (2025) [arxiv]
MGN と PINNs はそれぞれ説明しましたが、これらのハイブリッドで両手法の良いとこどりを目指す研究も盛んです。
HydroGraphNet では、コルモゴロフ・アーノルド・ネットワーク (KAN) を統合し、解釈性を向上させています。また、質量保存則を損失関数に組み込むことで、主要な洪水イベントにおいて予測エラーを67%削減しています。MGN など純粋なデータ駆動型モデルが陥りやすい「物理的な不整合」を、ドメイン特化型のアーキテクチャによって解決した好例と言えます。
6.4 DGN / LDGN (ICLR 2025) : 拡散モデルへの転換 [arxiv]
従来の MGN は、特定の入力に対して単一の決定論的な出力を提供するものです。しかし、乱流のような複雑で不安定な現象においては、単一の平均的な解だけでは不十分であり、起こり得る状態の「分布」を捉えることが重要となります。
DGN (Diffusion Graph Networks) および LDGN (Latent DGN) は、MGN の構造を拡散モデル(DDPM)の枠組みに組み込んだものです。
- 均衡分布からの直接サンプリング: メッシュの離散化情報と物理パラメータを与えられると、平衡状態にある流体の流れの状態を直接サンプリングできます。
- 潜在空間での拡散 (Latent Diffusion): 変分グラフオートエンコーダ (VGAE) を用いて低次元の潜在空間を学習し、そこで拡散プロセスを行うことで、高周波ノイズを抑制しつつ計算効率を向上させます。
- 不完全データからの学習: 非常に短いシミュレーション軌跡からでも、システム全体の統計的分布(RMSや二点相関など)を正確に推論できる能力が示されています。
この進展は、シミュレーションを「状態の遷移を追うプロセス」から「物理的に妥当な状態の集合を生成するプロセス」へと転換させるものであり、実用的な統計解析における計算時間を劇的に短縮する可能性を示唆しています。
7 まとめ
MeshGraphNets はじめ、物理シミュレーションにおけるサロゲートモデルの発展は目覚ましいですが、特に大規模メッシュの構造解析はまだまだ課題が多く、2026年も引き続き研究開発が盛んな分野だと思われます。いつの日か、構造解析の汎用的なサロゲートモデルが作られる未来も来るのでしょうか。研究から目が離せませんね!
8 参考
- 原論文: Learning Mesh-Based Simulation with Graph Networks [arxiv]
- NVIDIA PhysicsNeMo のチュートリアル: MeshGraphNet: A Practical User Tutorial