物理の力学系、特に解析力学を事前知識としたニューラルネットとその応用

こんにちは、プロジェクト推進部の久良です。 2020年3月に東京大学大学院の物理学研究科にて博士号を取得し、同4月に新卒としてALBERTに入社しました。この記事を執筆している現在は、新卒研修を終えて個別のタスクにアサインされているところです。 今回は物理学における力学系を事前知識として組み込んだニューラルネット (NN) をいくつか取り上げ、そのメリットやデメリット、考えられる応用先を紹介していきます。

なお、本記事の内容は新卒研修の「技術調査課題」で調査した結果であり、同課題において提出した報告書をベースとして執筆されたものです。

はじめに

なぜ力学系の知識を使うのか?

力学とは、自然界に存在する「ものの動き方」を研究する学問です。 この「もの」はビリヤード球のような剛体だけでなく、電子や電波、空気のような自然界に存在するさまざまな対象を指します。扱う対象によって力学は「剛体力学」「波動力学」「流体力学」など様々に枝分かれしますが、「もの」の動きを時間 t に関する微分方程式で記述できることは基本的に共通しています。 このような方程式を解いて「ものの動き」を調べることは、理論的にも実用的にも、避けては通れない重要な課題です。

それでは、なぜ方程式を解くためにNNを用いる必要があるのでしょう?

従来、解析的(記号的)に解くことのできない力学の方程式はコンピューターによる数値計算で解いていました。理論的には、方程式のパラメーターと時刻 t=0 における初期状態さえ決まっていれば、数値計算により任意の時刻 t における物体の状態を求めることができます。

しかし、現実の力学系を相手にする場合、数値計算では対応できないケースが存在します。 例えば、方程式のパラメーターが分からない場合です。 そのような場合、力学系を観測して得られたデータに基づいて、方程式のパラメーターを推定する必要があります(逆問題)。 逆問題は簡単に解けるケースもありますが、複雑な方程式に対してはパラメーターをトライ&エラーで変化させて何回も方程式を解いていくしかない場合もあります。 しかし、膨大なパラメーターの組み合わせの一つ一つに対して丁寧に時間変化を追跡していくことは、非常に大きな計算コストがかかります。

機械学習、とりわけ教師あり機械学習の手法は、観測データからシステムの中身を推定するというタスクに優れています。 そこで、観測データに基づいて方程式のパラメーターを推測し、その方程式を解いて「ものの動き」を予測する、といったタスクに対しては、NNをはじめとした機械学習を活用する価値が十分にあります。

一般論として、効率的な学習のためには、目的となる関数がどのような性質を持つのかについての知識が有用となります。 一例として、ピクセル間の相対的な位置が重要となる画像認識の問題においては、相対的な位置の情報を効率的に学習できる畳み込みNN (CNN) が主要なツールとなります。 同じように、学習の対象が何らかの「ものの動き」である場合には、そういった「ものの動き方=力学」の法則を事前知識としてNNに組み込んでおくことで、正しい「ものの動き」を効率的に学習することができます。

この記事について

本記事では、物体の運動を学習する問題において、NNに力学系の情報を組み込んで学習させる試みについていくつか紹介し、その中でもハミルトニアンNNラグランジアンNNを重点的に取り上げます。 これらは解析力学とよばれるフレームワークを用いたNNで、学習対象に関する詳細な知識が不要であるという点で他の力学系を用いるNNとは大きく異なります。とくに、

  • 物理法則に従った物体の運動は必ず表現することができる
  • エネルギー保存則などの基本的な法則に反した運動を学習することはない

という点において、物体の運動を学習するためのツールとして非常に優れているといえます。 これらのNNの応用例として、ハミルトニアンNNを利用した力学系の秩序状態・無秩序状態の予測や、ラグランジアンNNを利用したロボットアームの制御アルゴリズムを紹介します。

NNによる力学系の分類

力学系は偏微分方程式によって記述されます。 電磁気学ならばマクスウェル方程式やポアソン方程式、波動力学ならばKdV方程式やKP方程式といった具合です。 その分野の幅広い状況で使える方程式もあれば、限定された場面でのみ効果を発揮する方程式もあります。 ですから、どのような方程式をNNの事前知識として用いるかによって、そのNNを用いた機械学習の応用可能性も違ってきます。

そこで、用いる方程式の具体形や汎用性などによって、力学系を用いたNNを3種類に分類します:

  • 具体的な微分方程式を一般的に解く “NN-based PDE solver”
  • 時空間に関する微分方程式を解く “Physics-informed NN”
  • 剛体力学における抽象的な方程式を解く “解析力学的NN”

注意点として、あるNNが他のNNよりも「汎用性が高い」あるいは「制約が強い」といった包含関係が成立するわけではありません。 対処したい問題に応じて適切な NN を選択する必要があります。

1. NN-based PDE solver

第1の分類は、微分方程式に含まれる既知関数を入力とし、対応する微分方程式の解を出力するようなNNです。 一度学習させてしまえば同じ形の方程式すべてに対して解の予測ができるため、方程式の適用範囲が広ければ広いほど汎用性の高いNNとなりえます。 一方で、パラメーターの数が非常に多いことから、理論的提案[1]はありましたが近年まで実装はされていませんでした。

Tompsonらは効率的な流体シミュレーションを行う目的で、ポアソン方程式 \displaystyle \Delta u(x) = f(x) をCNNで解くことを提案しました。 ポアソン方程式は物理学の随所に現れる重要な方程式であり、 f(x) が与えられれば(適切な境界条件の下で)数値計算により u(x) を求めることが出来ます。しかし、既存の数値計算手法は精度が高い反面、時間的・空間的コストが高いことが課題でした。

そこで、既存手法により得られた f(x) と u(x) の組を教師データとしてNNを訓練し、新たな入力 f(x) に対して u(x) が出力できるようにします。 このようにすることで、新たなデータに対する数値計算のコストを抑えつつ、既存手法で導かれるような高い精度の解をNNで再現できることが期待されます。 また、関数 f(x) および u(x) はグリッド状に離散化されたデータとして入出力することになるため、CNNを用いるのが適しています。

CNNがポアソン方程式の解を上手く学習できるためには、微分方程式のもつ局所的な性質と、境界条件のもつ大域的な性質の両者が重要になります。 論文 [2] 中では図1のようなネットワークが構成されました。これは様々なスケールにダウンサンプリングされた関数データをアップサンプリングして結合するCNNであり、Deep-ResNetをはじめCNNで頻繁に用いられるアイデアです。

図1 ポアソン方程式を求解するCNN。入力の “velocity divergence” が f(x) に相当するほか、複雑な境界条件が “geom” により指定されている。[2] より引用。

論文 [2] 中ではこのCNNを用いた場合の解の精度が検証され、同程度の時間的コストを要する数値計算と同等あるいはそれ以上の精度が達成されたことが報告されています。

2. Physics-Informed Neural Network

第2の分類は、以前のブログ記事でも紹介されていた Physics-Informed Neural Network (PINN) というものです。 微分方程式そのものを損失関数としてハードコードし、微分方程式の解 u(t, x) の関数形を学習するのが PINN の特徴です。

波動力学や量子力学などでは、物理量 u(t, x) の満たすべき方程式は u の時間微分 \dot{u} = \partial u/\partial t を含む偏微分方程式として書き表されます。たとえば、 \displaystyle \dot{u} = \frac{\partial^2 u}{\partial x^2} - u\frac{\partial u}{\partial x} のように完全に既知の場合もあれば、 \displaystyle \dot{u} = \lambda_2\frac{\partial^2 u}{\partial x^2} - \lambda_1 u\frac{\partial u}{\partial x} のようにモデル変数 λ を含む場合もあります。 PINNは、このような時空間に関する偏微分方程式の解 を学習するのに有効な手法です。 Raissiら [3,4] はバーガース方程式やKdV方程式など、波動力学における主要な方程式に対してこの手法を用いました。

まず、微分方程式\dot{u} = \mathcal{N}[u]が完全に既知の場合を考えます。このとき、境界上における u(t, x) の値を教師データとして与えれば領域上の関数 u の値は決定されます。 そこで、このNNの出力 u* に対する損失関数を

  • 領域内部における \dot{u}^\ast - \mathcal{N}[u^\ast] のL2ノルム
  • 境界上における u^\ast(t, x) - u(t, x) のL2ノルム

から構成することで、出力 u* が求める微分方程式の解 u に近くなるように最適化されます。

微分方程式がモデル変数 λ を含む場合、境界条件だけではモデル変数を決定できないため、境界上以外のサンプル点に対しても教師データを与える必要があります。 また、λ は学習のハイパーパラメーターになるため、グリッド探索などの方法でハイパーパラメーターを最適化するか、ガウス過程を用いて損失関数を含めた全体をベイジアンモデルで書き換えるなどの工夫が必要になります。

3. 解析力学的NN (仮称)

最後に紹介するのが、ハミルトン形式やラグランジュ形式などの解析力学を利用することで、一般の剛体力学系における物体の運動を予測することができるNNです。 エネルギー保存則などの基本的な性質さえ満たしていれば、具体的な力学的変数の詳細が分からない場合でも予測が可能であるという点で一般性の高いNNです。 本記事では、この解析力学的NNについて詳しく調査結果を述べていきます。

最後に、本節で取り上げた3種類のNNの対比をまとめておきます:

NN-based PDE solver Physics-Informed NN 解析力学的NN
方程式 既知関数を含む 既知 or 未知変数を含む 未知関数を含む
適用範囲 方程式による 方程式による 可逆な剛体力学
入力 既知関数 時空間座標 力学変数
出力 方程式の解 方程式の解 方程式の未知関数
入力変数は自由に設定できる? いいえ いいえ はい
同じ形の方程式全体に汎化可能? はい いいえ いいえ

解析力学について

解析力学とは、質量や慣性モーメントといった特定の力学変数に頼らない形で物体の運動を記述する力学のことであり、ハミルトン形式とラグランジュ形式の2種類の方法で記述されます。

ハミルトン形式

1次元空間のハミルトン方程式は、正準変数とよばれる変数の組(q, p)を用いて \displaystyle \begin{cases} \dot{q} = \frac{\partial H}{\partial p} \ \dot{p} = -\frac{\partial H}{\partial q} \end{cases} と書き表せます(上付きの点は時間微分を表す)。関数H=H(q,p)はハミルトニアンと呼ばれ、力学系全体のエネルギーを表します。 このとき、ハミルトニアンの時間微分は \displaystyle \dot{H} = \dot{q}\frac{\partial H}{\partial q} + \dot{p}\frac{\partial H}{\partial p} = 0 となるため、 H は時間変化しない定数となることが分かります(エネルギー保存則)。 D次元空間の場合の正準変数(q_j, p_j)はそれぞれがD次元ベクトルとなりますが、 H は空間の次元によらずスカラー関数です。

正準変数(q, p)はそれぞれ位置と運動量として解釈することができます。 例えば、質点系におけるハミルトニアンは質量 m とポテンシャル V(q) を用いて H = \frac{1}{2}m\dot{q}^2 + V(q) と表せるため、これをハミルトン方程式に代入して p を消去すると \displaystyle m\ddot{q} = -V'(q) となり、これは有名なニュートンの運動方程式 F=ma と一致します。

一方で、ハミルトン方程式の正準座標は実際の位置と運動量である必要はありません。例えば、 q と p の代わりに角度 θ と角運動量 L を用いて \displaystyle \begin{cases} \dot{\theta} = \frac{\partial H}{\partial L} \ \dot{L} = -\frac{\partial H}{\partial \theta} \end{cases} とすると、これは物体の回転運動を記述するオイラー方程式に対応します。このように、力学系を記述する正準変数(q, p)を別の正準変数(Q, P)に取り替えても、依然として同じ形の方程式を立てられるのがハミルトン力学の特徴です。なお、詳細は割愛しますが、新しい正準変数(Q, P)に関してはどのような選び方も許容されるわけではないことを付記しておきます。

ハミルトン方程式について短くまとめると以下のようになります。

  • 正準変数(q, p)およびハミルトニアン H で記述される。
  • ハミルトニアン H はエネルギーに対応し、時間変化しない。
  • 正準変数(q, p)の選び方は無数に存在する。

ラグランジュ形式

ラグランジュ形式とハミルトン形式は、同じ力学系を別の表現で記述したものです。ラグランジュ形式では正準変数ではなく、一般化座標とその時間微分 (q, \dot{q}) を用います。

ラグランジュ方程式は \displaystyle \frac{d}{dt}\left(\frac{\partial L}{\partial \dot{q}}\right) = \frac{\partial L}{\partial q} と書き表され、通常これは q に関する 2階の微分方程式になります。 L=L(q, \dot{q})はラグランジアンと呼ばれる関数ですが、 ハミルトニアンと異なりその値はエネルギーなどの物理的な意味を持たず、 時間変化しないといったような便利な性質も持ちません。

上記の理由から、剛体力学ではラグランジアンをより具体的な表現で表すことが多いです。慣性行列 M(q) およびポテンシャル V(q) を用いると、一般的なラグランジュアンは \displaystyle L = \frac{1}{2}\dot{q}^T M(q)\dot{q} - V(q) となります。慣性行列は質量を一般化した概念であり、一般化位置 q に依存する正定値行列になります。 さらに、この表現をラグランジュ方程式に代入することで2階の微分方程式 \displaystyle M(q)\ddot{q} + C(q, \dot{q})\dot{q} + G(q) = 0 が得られます。コリオリ行列 C(q, \dot{q}) および力場 G(q) はそれぞれ M(q) と V(q) から計算することができます。 この方程式は制御工学などでよく用いられます。

ハミルトニアンNN

ハミルトニアンNNはGreydanus, Dzamba & Yosinskiによって2019年に提案された比較的新しい手法です[5]。 力学系を支配するハミルトニアンをNNで推定することで、任意の時刻における物体の運動を間接的に予測します。 そのため、エネルギー保存則の成り立つ系を効率的に学習できることがハミルトニアンNNの特徴です。

図3 時系列予測とハミルトニアンNNの対比

ベースライン

物体の運動を予測する問題として、以下のような仮想課題を考えます:

摩擦や抵抗を受けずに運動する物体の位置 x_t が1秒ごとに記録されている。 記録開始からT秒後までの位置 x_0, x_1, \dots, x_T を入力したとき、 n 秒後の物体の位置 x_{t+n} を予測せよ。

この問題は物理系の知識を用いずとも、時系列データの予測問題として取り扱うことができます。NNを用いる場合、m 秒前までの位置 x_{T-m}, \dots, x_{T}を入力とし、n 秒後の位置の予測値 x_{T+n}^\ast を出力とするようなネットワークを設計し、 損失関数 \mathcal{L} = \left\lVert x_{T+n}^\ast - x_{T+n}\right\rVert _2 を最小化するように学習を行います。

しかし、この学習方法には2つの問題があります。まず、遡る秒数 m は学習のハイパーパラメーターとなり、何らかの方法で適切な値を選択する必要があります。次に、得られた予測モデルはエネルギー保存則を満たしている保証はないため、 一定時間後に物体が静止してしまう、あるいは逆に超高速で飛び出してしまうといった不安定な予測モデルを学習してしまうおそれがあります。

ハミルトニアンNN

物理学の知識を活用すれば、より効率的な学習方法を設計することができます。 剛体力学における運動方程式は2階の微分方程式で表されるため、2点の時刻における位置情報が与えられれば物体の運動を決定することができます。すなわち、入力する位置情報は x_{T-1}, x_T で足りることがわかります。

そこで、時刻 t における力学系の正準変数を \displaystyle \begin{cases} q_t = x_t \ p_t = x_t - x_{t-1} \end{cases} というように定義します。 ここで運動量pを速度(の近似値)で代用していますが、単純な力学系においてはこの差異は問題となりません。 ネットワークはこの正準変数(q, p)を入力とし、ハミルトニアンH^\ast = H^\ast(q, p)を出力とするように設計されます。 このとき、n 秒後の正準変数(q_{T+n}^\ast, p_{T+n}^\ast)は離散化されたハミルトン方程式 \displaystyle \begin{cases} q_{t+1} - q_t = \frac{\partial H^\ast}{\partial p}(q_t, p_t) \ p_{t+1} - p_t = -\frac{\partial H^\ast}{\partial q}(q_t, p_t) \end{cases} に従って予測することができ、NNの損失関数はハミルトンの方程式の誤差、すなわち \displaystyle \mathcal{L} = \left\lVert q_{T+1} - q_T - \frac{\partial H^\ast}{\partial p}\right\rVert_2 + \left\lVert p_{T+1} - p_T + \frac{\partial H^\ast}{\partial q}\right\rVert_2 となります。

ハミルトニアンNNでは推定されたハミルトニアンH*に基づいて運動を予測するため、ハミルトニアンの推定誤差の範囲内でエネルギー保存則が成立することが保証されます(ただし、リープフロッグ法などの数値積分法を用いて数値誤差の蓄積を防ぐ必要がある)。 このため、運動の停止や異常な加速などといった物理的に望ましくない予測を防ぐことができます。

逆伝播法の利用

物理学の観点から見ると、通常の数値計算手法には「ハミルトン方程式に登場する偏微分\frac{\partial H}{\partial q}, \frac{\partial H}{\partial p}を精度よく計算できない」という課題がありました。 ハミルトニアンNNにおいては、逆伝播法を用いて偏微分を容易に計算できるというメリットがあります。 通常のNNではネットワークの更新に際して逆伝播法を用いることが多いですが、ハミルトニアンNNではハミルトニアンから運動を予測するときに必要になります。その意味では、ハミルトニアンNNにおいては逆伝播法はより重要な役割を果たしていると言えます。

なお、ハミルトニアンNNの損失関数の勾配を計算する場合は、元のハミルトニアンのヘッセ行列を計算する必要があります。ノードの数が多い複雑なネットワークを用いる場合は、計算量を抑えるために実装を工夫する必要があります[6]

自己符号化器の利用

ここまでで取り扱ったハミルトニアンNNは、位置や角度といった力学的変数を入力として与える必要がありました。 しかし、物体を撮影した画像や動画などの観測データから位置や角度を手作業で特定することはコストがかかります。 そこで、NNの一種である自己符号化器 (AE) の特性を活用することで、直接観測データから運動の結果を予測することが考えられます。

画像などの観測データは変数が多く、そのまま力学的なパラメーターとして扱うことは困難です。 しかし、物体の観測データは少数のパラメーターで特徴づけられていることが多いため、それらの変数を力学的なパラメーターとして扱えることが期待できます。 そこで図4のように、連続する2枚の画像データ (X_{t-1}, X_t) をAEで圧縮して正準変数(Q_t, P_t)を抽出することを考えます。 AEで抽出した特徴量は必ずしも正準変数に対応しているとは限りませんが、例えばハミルトニアンNNの損失関数をAEにも還元することで、力学系の正準変数を抽出するようにAEが最適化されることが期待できます[7]

こうして得られた正準変数は位置や運動量のような明確な意味をもつ力学的変数となるとは限りませんが、そのような抽象的な変数であっても運動を記述できることがハミルトン方程式の利点です。 あとは前述したハミルトニアンNNによって n 秒後の正準変数 (Q_{T+n}^\ast, P_{T+n}^\ast)を予測した後、AEのデコーダー部分を用いて観測データの予測 X_{T+n}^\ast を得ることができます。

図4 自己符号化器を用いたハミルトニアンNN

ラグランジアンNN

ハミルトン形式の代わりにラグランジアン形式を利用したNNも提案されています [8–10]。 ハミルトニアンNNがエネルギー保存則の成立する「閉じた力学系」において有用であるのに対し、ラグランジアンNNは外力による制御が可能な「開いた力学系」に対してより高い効果を示します。

パラメーター u で制御された外力の項を加えると、ラグランジュ形式から導かれる運動方程式は \displaystyle M(q)\ddot{q} + C(q, \dot{q})\dot{q} + G(q) - \tau(q, \dot{q}, u) = 0 となります。ラグランジアンNNでは一般化座標 q を入力とし、 慣性行列 M と力場 G を出力とするようなネットワークを設計します (コリオリ行列 C は M の偏微分から計算できます)。 実際には M を直接出力するのではなく、コレスキー分解 M(q) = L(q)L(q)^T の下三角行列 L(q) を出力します。 こうすることで「慣性行列が正定値である」という力学系の性質を事前知識として取り入れ、現実と整合しない解を排除することができます。

図5 Deep Lagrangian Network (DeLaN) の単純化された計算グラフ。 図中の H は記事中の慣性行列 M に対応し、コレスキー分解の下三角行列 L は対角成分と非対角成分に分けて計算されている。 [9] より引用。

制御問題においては、力学系を予測するNNのパラメーターだけでなく、 一般化座標 q を望ましい状態に保つための制御パラメーター u をも学習する必要があります。 学習の際の損失関数は次の2つから構成されます:

  • 予測に関する誤差。図5 のような計算グラフで計算された運動方程式の左辺値が 0 からどれだけ離れているかで表せる。
  • 制御に関する誤差。微分方程式に基づく一般化座標の予測値 q^\ast が望ましい状態からどれだけ離れているかで表せる。

ラグランジアンNNを用いて制御問題を学習する場合(図6)、まず観測された一般化座標から運動方程式の左辺値を計算し、その値が 0 に近づくようにNNのパラメーターを更新します。次に方程式から一般化座標の予測値を計算し、その値がより望ましくなるように制御パラメーターを更新します。

図6 ラグランジアンNNによる制御問題の学習の流れ。

応用例

執筆現在、解析力学を組み込んだNNは比較的新しいアイデアです。 そのため、二重振り子系やCartPole課題のような典型的な力学系に対する 予測および制御の数値的シミュレーションが多く行われている段階です。

本記事では、その中でも興味深い研究を2つ紹介します。 1つは理論物理学的な側面が強い研究で、力学系が長時間の運動でカオスに移行するかを予測するのにハミルトンNNを用いています。 もう1つの研究はより実用に近く、ラグランジアンNNによるロボットアームの制御性能をシミュレーションと実機により検証しています。

力学系のカオス性予測

物体の運動は微分方程式により決定されますから、初期状態を入力すれば理論的にはその後の軌道は完全に予測することができます。 しかし、力学系によっては初期状態のわずかな誤差が予測不能なほど大きなエラーを生み出してしまうことがあり(バタフライ効果)、そのような力学系をカオスと呼びます。 カオスの有無は予測や制御の難しさに直結する重要な問題ですが、バタフライ効果の観察には長時間の運動が必要となるため、力学系がカオスか否かを短時間の観測から判定することは困難です。

そこで、Choudharyら [11] は力学系のカオス性の予測をハミルトニアンNNによる分類問題として取り扱うことを提案しました。 エネルギー保存則などのハミルトン力学の諸性質はカオスの有無とも密接に関わる重要な性質のため、ハミルトニアンNNを利用することでカオスの予測精度が向上すると期待されました。

論文中では、対象となる力学系として、天体運動や分子運動のシミュレーションに用いられるエノン=ヘイルズ系 \displaystyle H(q, p) = \frac{(p_1^2 + p_2^2) + (q_1^2+q_2^2)}{2} + q_1^2q_2-\frac{q_2^3}{3} が選ばれました。この力学系はエネルギーによりカオス性が変化するため、 NNの目標はその変化を正しく検出することに設定されました。 ハミルトニアンNN(HNN)のほかに、正準変数から時間変化を直接予測するNNが設計され、同じ学習データの下での予測性能が比較されました。

図7 エネルギー E に対する、カオス性を示す軌道の割合 fc[11] より引用 (横軸の値は原文ママ)。

比較の結果を図7に示します。どちらのNNでも予測された軌道に基づき、共通の手法でカオス性を判定しています。 しかし、ベースラインのNN(緑)がカオス性をほとんど検出できていないのに対し、 ハミルトニアンNN(桃)は高い精度で真値(青)を予測できており、非カオスとカオスの境目となる E=0.10 付近の部分も正しく再現していることが分かります。

この論文で取り扱われたエノン=ヘイルズ系は2次元空間の力学系であるため数値計算も容易ですが、より高次元の力学系に対するカオス予測に対する数値計算は急激に困難になります。 そのような複雑な力学系に対するカオス予測が確立されれば「設計したシステムの制御可能性を少ないデータから正確に判定する」といった実用性の高いタスクに応用されることが期待されています。

ロボットアームの制御

Lutter, Ritter & Peters の論文 [9] では、ラグランジアンNNを用いたロボットアームの制御問題を検証しています。

従来のロボットアーム制御は、ニュートン方程式やオイラー方程式などを組み合わせた運動方程式を用いた数値計算で行っていました。 このためには、ロボットアームのパラメーターを関節の位置や質量、慣性モーメントなどの具体的な力学変数に変換し、それを用いてロボットアーム固有の運動方程式をハードコードする必要がありました。 しかし、ラグランジアンNNはパラメーターを一般化座標として扱い、具体的な力学変数に変換することなく運動方程式を学習します。そのため、どのようなロボットアームに対してもハードコードをやり直さずに対応できるというメリットがあります。

Lutterらは7自由度のロボットアーム WAM を用いて、数値シミュレーションおよび実機による実験を行いました。 このとき、テストデータのアーム速度を学習時のものより速くすることで汎化性能を調べています。 ラグランジアンNNの制御精度を、力学系の知識を用いない一般的な制御問題のNNと比較した結果が図8です。

図8 ラグランジアンNNによる制御精度の比較。 (a)(b) は2自由度のロボットアームの数値シミュレーション、 (c)(d) はWAMの数値シミュレーション、(e)(f) は実機実験の結果である。 (a)と(b)、(c)と(d)、(e)と(f)はそれぞれ制御の目標となる軌道が異なる。 [9] より引用。

WAM の数値シミュレーション(c)(d)においては、ラグランジアンNN(赤)が従来の数値計算(紫)およびベースラインNN(青)よりも精度が高いことが分かりますが、実機実験(e)(f)においてはラグランジアンNNの精度が低いことが分かります。 これに関して、Lutterらはロボットアームがケーブルに引っ張られる効果が剛体力学で記述できないことが原因であると推測しています。 一方、ベースラインNNでは速度を上げたテストデータに対する制御精度が急激に落ちている一方、ラグランジアンNNでは制御精度の低下が比較的緩やかであることが見て取れます。これは、ラグランジアンNNの方が力学系の記述に特化しているため、力学系の範囲内における汎化性能がベースラインより高いことを示唆しています。

おわりに

解析力学的NNの課題

ここまで、解析力学的NNが理論物理学やロボット工学に応用可能であることを見てきました。 逆に、現時点では解析力学的NNには適していない力学の問題も確かに存在します。

時間の巻き戻しが可能な「可逆系」しか取り扱えない

ハミルトン形式やラグランジュ形式で書き表せる系は「可逆系」といって、時間を反転させても同じ方程式で記述することができるという特徴があります。 そのため、摩擦や抵抗といった散逸力が存在する場合や、確率的に運動が変化する場合などの「不可逆系」を解析力学的NNで取り扱うことができません。 ただし、より広範囲をカバーする力学系を用いれば学習できる可能性はあります [12]

力学系モデルが既知の場合に比べて学習のコストは高くなる

解析力学では、質量や慣性モーメントのような具体的な物理変数を推定する代わりにハミルトニアンのような関数を推定します。 これにより非常に広い状況で学習が可能ですが、一般論として、変数にくらべて関数は推定のコストが大きいです。 したがって、解析力学的NNはワンオフの力学系を学習する場合には効果的ですが、類似した力学系のデータが多数あるような状況では、先に具体的な物理変数を用いて力学系のモデルを構成したほうが効率的だと考えられます。

まとめ

本記事においては、力学系を用いて「ものの動き」を予測するさまざまな問題に対して、力学系の知識を用いた NN が用いられる例を調査しました。 その中でも、とりわけ可逆な剛体力学に対して高い効果を発揮する解析力学的NN(ハミルトニアンNN、ラグランジアンNN)を詳細に取り上げ、逆伝播法や自己符号化器といったNNのツールと組み合わせて活用されていること、またカオス理論やロボットアーム制御への応用が行われていることを報告しました。

解析力学を利用したNNの設計はまだ比較的新しい研究であり、今後ロボット工学を中心とした実用面において従来的なNNを上回る精度と汎用性を達成できるのかが焦点となりそうです。

物理学と機械学習理論の相互理解が双方の分野の発展に繋がっていくことは確実だと考えています。今まで物理学を研究してきた過程で、統計力学をはじめとした物理学の理論がNNの構造と密接に関わっていることは知っていました。今回の調査では、より直接的に物理学の知識をNNに適用することによって、力学系の予測や制御に関する問題を汎用的かつ効率的に解く技術について学びました。とくに、解析力学の手法やアイデアが逆伝播法や自己符号化器といったNNのツールと非常に相性がよいことに感銘を受けました。今後、力学系を事前知識として用いたNNがいかに発展していくかは、NNのツールのもつ強みと力学系の特長をいかに上手に組み合わせることが出来るかに掛かっているでしょう。

ALBERTでは最先端の技術を扱うメンバーを募集しています。 興味をお持ちいただいた方は、こちらまでお問い合わせください。

参考文献

1. Kumar, M. and Yadav, N. (2011) Multilayer perceptrons and radial basis function neural network methods for the solution of differential equations: A survey. Computers & Mathematics with Applications 62, 3796–3811. http://www.sciencedirect.com/science/article/pii/S0898122111007966.

2. Tompson, J., Schlachter, K., Sprechmann, P. and Perlin, K. (2017) Accelerating eulerian fluid simulation with convolutional networks. In: Proceedings of the 34th international conference on machine learning – volume 70, JMLR.org. pp 3424–3433. https://dl.acm.org/doi/10.5555/3305890.3306035.

3. Raissi, M. and Karniadakis, G.E. (2018) Hidden physics models: Machine learning of nonlinear partial differential equations. Journal of Computational Physics 357, 125–141. http://www.sciencedirect.com/science/article/pii/S0021999117309014.

4. Raissi, M., Perdikaris, P. and Karniadakis, G. (2019) Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. Journal of Computational Physics 378, 686–707. http://www.sciencedirect.com/science/article/pii/S0021999118307125.

5. Greydanus, S., Dzamba, M. and Yosinski, J. (2019) Hamiltonian neural networks. In: Advances in neural information processing systems 32, Eds: H. Wallach, H. Larochelle, A. Beygelzimer, F. dAlché-Buc, E. Fox and R. Garnett, Curran Associates, Inc. pp 15379–15389. http://papers.nips.cc/paper/9672-hamiltonian-neural-networks.pdf.

6. Martens, J., Sutskever, I. and Swersky, K. (2012) Estimating the hessian by back-propagating curvature. arXiv preprint arXiv:1206.6464. https://arxiv.org/abs/1206.6464.

7. Toth, P., Rezende, D.J., Jaegle, A., Racanière, S., Botev, A. and Higgins, I. (2019) Hamiltonian generative networks. arXiv preprint arXiv:1909.13789. https://arxiv.org/abs/1909.13789.

8. Gupta, J.K., Menda, K., Manchester, Z. and Kochenderfer, M.J. (2019) A general framework for structured learning of mechanical systems. arXiv preprint arXiv:1902.08705. https://arxiv.org/abs/1902.08705.

9. Lutter, M., Ritter, C. and Peters, J. (2019) Deep lagrangian networks: Using physics as model prior for deep learning. arXiv preprint arXiv:1907.04490. https://arxiv.org/abs/1907.04490.

10. Roehrl, M.A., Runkler, T.A., Brandtstetter, V., Tokic, M. and Obermayer, S. (2020) Modeling system dynamics with physics-informed neural networks based on lagrangian mechanics. arXiv preprint arXiv:2005.14617. https://arxiv.org/abs/2005.14617.

11. Choudhary, A., Lindner, J.F., Holliday, E.G., Miller, S.T., Sinha, S. and Ditto, W.L. (2020) Physics-enhanced neural networks learn order and chaos. Phys. Rev. E 101, 062207. https://link.aps.org/doi/10.1103/PhysRevE.101.062207.

12. Zhong, Y.D., Dey, B. and Chakraborty, A. (2020) Dissipative symoden: Encoding hamiltonian dynamics with dissipation and control into deep learning. arXiv preprint arXiv:2002.08860. https://arxiv.org/abs/2002.08860.