物理学シミュレーションと機械学習の融合最前線

Source: Deep Learning on Medium

Hamiltonian Graph Networks with ODE Integrators

Alvaro Sanchez-Gonzalezらによって、2019/9/27に投稿されました。この論文をざっくりまとめると下記のようになります。

直接物体の運動量・移動量変化をニューラルネットで予測するのではなく、ハミルトニアンを介して計算させるHOGN( Hamiltonian ODE graph networ)を提案。HOGNはハミルトニアンという制約を介して物理モデルを学習していると解釈でき、軌道予測の精度が改善する。

問題設定

この研究では前述の研究同様、複数の質点の軌道をシミュレートする問題を解いています。しかし、ここでは時刻tの位置を直接予測するのではなく、次の時刻(ステップ)の運動量と位置を逐一予測して、それを足し合わせて数十〜数百ステップ後の運動量と位置を予測するODE(ordinary differential equation)を使った数値シミュレーションの形式です。

方針の直感的解釈とアプローチ

ステップnにおいて位置q,運動量pをもつ質点の系(q,p)_nが物理法則に基づいてステップn+1で(q,p)_(n+1)になる現象を予測する問題を設定し、(Figure1.a)、これをDeltaGN, OGN, HOGN3つのアプローチで解くことを考えます。

DeltaGNは(q,p)_nとステップ間の時間Δtから、直接ステップ間の位置と運動量の差分Δq,Δpを予測し、それを足し合わせて次のステップの位置と運動量とします。

OGN(ODE graph network)とHOGN(Hamiltonian ODE graph network )ではRunge-Kutta法を用いた積分を介して次のステップを予測させます。

OGNでは、q,pの微分値をgraph networkで予測し、Runge-Kutta法を用いた積分を使って予測します。積分による処理を陽に入れることによって、モデルにODEを使った数値シミュレーションの制約をモデルに課すことができます。

HOGNでは、微分値を予測するのではなく、ハミルトニアンを予測させて、それを介して位置と運動量の微分値を計算します。そしてRunge-Kutta方による積分処理によって次のステップの位置と運動量を予測します。こうすることで、数値シミュレーションの制約だけでなく、物理学に従った制約をモデルに課すことができます。

結果と考察

Figure2 a, c-gの予測精度を見てみると、DeltaGN, OGNは予測値とずれが生じているのに対して、Hamiltonianを用いた数値シミュレーションとHOGNはほとんどずれが生じていないことがわかります。(元データのシミュレーションとHamiltonianを用いた数値シミュレーション水準の値がずれいてるのは、おそらく使ったソルバーが異なるためだと思われます)

エネルギーが系で保存されているかどうかを確認してみると(物理学的には保存されているはず)、HOGNはOGNより少し悪いですが、Hamiltonianを用いた数値シミュレーションと同等の精度を出しています。

次に、物理現象予測としてモデルが構築されているのかを確認します。まず学習と異なるΔtで予測した場合をみてみます。灰色でハイライトされている部分が学習で用いたΔtです。DeltaGNは学習に用いてないΔtだと誤差が大きくなっているのに対し、OGN, HOGNはΔt少々異なっていてもハミルトニアンを用いた物理シミュレーションと同様の動き方をしていることがわかります(Figure3 a-b)。

次のRunge-Kutta法の次数を変えた場合にどのような挙動になるか見てみます。一般に次数を大きくすると積分の精度が上がるため、数値シミュレーションの精度も上がります。もちろんHamiltonianを使ったシミュレーションはそのような挙動をしているのですが、HOGNのも同様の挙動をしています。一方、次数を変えてもOGNの精度はそこまで大きく向上しません(Figure3 c-d)。

最後に学習時とテスト時でRunge-Kutta法の次数を変えた場合を、OGNとHOGNでみてみます。ODEでは次数を大きくすると精度は上がりますが、HOGNにもだいたいそのような傾向がみられます。一方、OGNは学習時の次数以外では次数の大小関係なく精度が悪化します。

これらのことを考えると、OGNは物理モデルではなく、別の関数を近似していると考えられます。(Figure3 e-f)