全6383文字
PR
この記事は日経Robotics 有料購読者向けの過去記事ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 シミュレーションまたはコンピュータモデリングはシミュレーション自体の技術の発展と計算性能や性能コスト比の指数的な改善によって広い分野で使われるようになっている。

 シミュレーションは対象問題の原理・原則、公式が分かっているなら、データに基づかなくても正確にシミュレーションできる。化学分野の言葉を借りれば“ab initio”(第一原理のみに従って)としてデータや経験を使わずとも複雑な現象を非常に正確にシミュレーションできる。

 一方でシミュレーションが達成できる精度と必要な計算量は改善の余地が大きい。精度と計算量はトレードオフの関係にあり、高精度のシミュレーションを実現する場合には計算量が問題となる。扱う要素数(物体数、電子数など)が増えるにつれ、計算量は急激に増加する場合がある。また、デジタル計算機では連続量は扱えないため、時間や空間を量子化する必要がある。この場合も精度の高いシミュレーションのためには高い分解能が必要となるが、計算量は増加する。

著者の岡野原大輔氏
著者の岡野原大輔氏

 こうした問題を解決する手法として、AIを使ってシミュレーションを高速化したり高精度化することができるようになっている。

 今回は剛体物理シミュレーション、量子化学シミュレーション、コンピュータレンダリング(光学系のシミュレーション)においてAIがシミュレーションでどのように使われているのかについて紹介していく。

剛体物理シミュレーション

 始めに質量を持った複数の剛体が相互作用しながら将来どのような軌道を描くのかをシミュレーションする問題を考えよう。ここではニュートン力学やそれを一般化したハミルトン力学で記述できる古典力学を扱う。

 外力が加わらないような環境においては、$n$個の物体の座標$\mathbf{q} = (q_1, q_2, \ldots, q_n)$と運動量$\mathbf{p} = (p_1, p_2, \ldots, p_n)$(時間を引数にとるがここでは省略している)のダイナミクスはハミルトニアン$\mathcal{H}(q, p,t)$とよばれる関数の勾配に従い記述できることが分かっている。

\[\frac{\partial \mathbf{q}}{\partial t} = \frac{\partial \mathcal{H}}{\partial \mathbf{p}}, \frac{\partial \mathbf{p}}{\partial t} = -\frac{\partial \mathcal{H}}{\partial \mathbf{q}} \]

このダイナミクスは可逆でありエネルギー保存の法則が成り立つ。また、この式を用いることで現在の状態(位置と運動量)が与えられれば将来や過去の状態は一意に決定される。例えば一定時刻後の位置を求めるには、このダイナミクスに従い、変化量の積分を時間方向に求めれば良い。しかし実際には誤差が生じる。

 このようなシミュレーションで生じる誤差は大別してモデル化誤差(例:系の全ての物体が考慮されていない、推定したハミルトニアンが間違っている)、数値計算誤差などがある。例えば、重力の相互作用が起こる場合の多体問題であったり、複数の物体が複雑な制約条件の下に動くような場合、この誤差を抑えるためには時間ステップ幅を小さくする必要があり、計算量は急激に増大する。

 この一定時間後の状態変化、つまり数値積分操作をニューラルネットワーク(NN)を用いて高速に解くことを考える。これは現在の状態から将来の状態を予測するニューラルネットを教師あり学習で訓練すれば実現できそうである。しかし、現在の状態から将来の状態をニューラルネットワークで直接学習した場合、短期的には正確だが、長期的には誤差が蓄積し、真の値や軌道から離れていってしまう。このような長期予測がずれていく現象は普遍的にみられる問題であり、予測に何らかの修正機構や不変性を導入しなければならない。

 そこで、Hamiltonian Neural Networks(HNN)1)は次の状態を直接予測するのではなく、ハミルトン力学に従って予測する。HNNは状態($\mathbf{q}$、$\mathbf{p}$)、からハミルトニアンのスカラー値を出力するネットワーク$\mathcal{H}_{\theta}$を学習し、それらの勾配を使って次の状態を予測する。学習の際は観測データから得られた状態変化量が勾配と一致することを目的関数として学習する。

\[L(\theta) = ||\frac{\partial H_{\theta}}{\partial \mathbf{p}} - \frac{\partial \mathbf{q}}{\partial t}||_2 + ||\frac{\partial H_{\theta}}{\partial \mathbf{q}} + \frac{\partial \mathbf{p}}{\partial t}||_2\]

このようにして学習されたHNNは、ハミルトニアンを介さず直接将来状態をNNで予測した場合に比べて、長期予測の精度が大幅に改善されたと報告されている。このHNNでは状態は既知として扱っていたが、Hamiltonian Generative Network2)は状態は未知である場合でも観測から状態を推定するニューラルネットワークを使うことで正確な長期予測が可能だと報告されている。

 Deep Lagrangian Networks3)は古典力学の別形式であるラグランジュ力学に従って、状態の時間発展をモデル化する。この場合、未知のイナーシャおよび外力をニューラルネットワークでモデル化し、データからこれらを求めた上で、シミュレーションを実行する。実際のロボットを使った実験では、数分のうちにシステム同定することができ、正確に制御できるようになったと報告している。

 このように従来のシミュレーションモデルのうちモデル化が難しい部分をニューラルネットワークで置き換えるというアプローチは他の分野でも成功している。特に多数の要素が影響しており、真面目に計算した場合に大きな計算量を必要とする問題はニューラルネットワークを使うことで精度を落とさず劇的な高速化を達成できる場合がある。流体シミュレーションにおいても計算量が大きい部分をCNNで置き換え劇的な高速化を達成できていると報告されている4)

量子化学シミュレーション

 計算化学分野において、材料の性質を推定する一手法として、電子と陽子の状態から定まるハミルトニアンを求め、それに基づいたシュレディンガー方程式を解くことで分子のポテンシャル関数、電子状態、様々な特性(反応性、伝導性など)を推定することができる。一般に電子数が増えるにつれ計算量は急激に増加するため、現実的な時間で計算するためには何らかの工夫や近似が必要となる。例えば、現在の主要な手法の1つである密度汎関数理論(DFT)では、本来電子の数だけ波動関数を求めなければならなかった問題を解く代わりに、同じ結果が得られる電子数に依存しない電子密度を推定する問題に帰着し、状態を推定する。しかしこのような工夫をしたとしても必要な計算量は依然として大きく、シミュレーションには時間がかかる。

 代わりに分子構造を入力として与えそれからニューラルネットワークを用いてポテンシャル関数を直接推定する手法が登場している。例えばANI-15)は5万8000分子とそれらのとりうる1720万種類の配座(各原子の位置)とそのときのエネルギーを学習データに使い、分子のとりうる配座とその時のエネルギーをニューラルネットワークで学習し、推定する。

 このようにして学習されたモデルはニューラルネットワークを使って与えられた構造に対する配座とエネルギーを高速に推定できるだけでなく、配座がどのように変化するかを高速にシミュレーションできるようになる。実装や精度によるが、従来シミュレーションよりも1万倍近い高速化が達成可能であり、より多くの材料を探索することが可能となる。

 必要な情報をより多く与える方法も登場している。例えばSchNet6)は3次元構造をグリッドを使わず連続フィルタを使ってNNに入力することより自然に3次元構造を考慮することでポテンシャル関数をより正確に推定することができるようになっている。

レンダリング

 コンピュータグラフィックスで使われるレンダリングは光学系のシミュレーションであり、光源から発生した無数の光線が様々な物質で反射しながらカメラにどのように入射するのかという、いわゆる光輸送を求める問題である。近年の高品質なレンダリングで使われる手法ではレイトレーシングやフォトンマッピングとよばれる、より光学系のシミュレーションを正確に行った手法が使われるようになっている。

 このような光輸送は計算量が大きな問題となる。例えば雲のシミュレーションを考えてみよう7)。この場合、雲に入射した光線は雲の中で無数の反射を繰り返して最終的に雲の外側に光線が出る。この反射は数回や数十回で打ち切ると現実的にみられるような雲の見た目は生成できず、数百回や数千回で雲らしいパターンが生成される。そのため、1つのリアリスティックな雲を生成するために数日のシミュレーションが必要である。この無数の反射は積分計算とみなすことができ、その近似にニューラルネットワークの利用が有効である。Deep Scatteringはこの無数回反射し、各位置にどれだけ光エネルギーが溜められているのかを雲の状態から直接推定する。この学習には長い時間シミュレーションした高精度な結果を使う。

 光輸送のもう1つの大きな問題は、光源から放たれる光線のうち視点に入ってくるのは全ての光線の中のほんのわずかであり、ほとんどの光輸送シミュレーションが無駄になってしま点である(レイトレーシングではこの問題に対処するため、視点から光源に向かって逆方向に追跡するが、光源が小さい場合、同じ問題が起こる)。このようないわゆる“Zero Contribution”の光輸送を抑えるには、乱反射の際、貢献しそうな光線を求め、それを優先的にシミュレーションすることが必要となる(不偏推定とするためには重点サンプリングで補正する)。あたかも光源から逐次的に行動(反射方向)を選択し、視点というゴールに向かって経路を選ぶ問題とみなせる。実際、光輸送の計算式は強化学習における価値関数の更新式と共通点があり、強化学習で使われているテクニックを使って光輸送計算の高速化をすることができる8)。このような技術は現在の映画作品やゲームなどの高品質なレンダリングで使われている。

なぜニューラルネットワークで高速化できるのか

 シミュレーションの求解にニューラルネットワークを使うことでなぜ高速化できるのか。

 1つ目はシミュレーションが扱う問題セットは実際起き得る現象のほんの一部であり、そのような限られた領域に対する関数近似はニューラルネットワークが最も得意とする分野であるためだ。このような領域の一部では解は入力変化に対し一種の滑らかさをもっており、少数の訓練サンプルで汎化することが期待できる。空間、時間、処理方向に積分操作がある場合でもその結果が一種の滑らかさを持っているのであれば、積分を直接扱わず関数近似で高い精度で近似することができる。シミュレーションでも、計算量が大きい一部分だけ抜き出しそこだけニューラルネットワークで高速に近似すれば、シミュレーションが持つより強力な汎化性能も期待できる。ニューラルネットワークはいまだに外挿問題に弱いが、常に成り立つ不変性や制約(例えばハミルトニアン力学)を組み込めば外挿できるほどの汎化性能を発揮できる。

本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 2つ目はニューラルネットワークの計算は計算の粒度が大きく(大きな行列、テンソルの積や畳み込み操作を繰り返す)、計算パス毎の計算コストの偏りもほとんどない。そのため、現在のGPUやTPUなどの並列計算機の実行効率を上げやすい。また、今後もニューラルネットワーク計算に最適化されたアクセラレーターが登場することが期待できる。

 今後のニューラルネットワークのシミュレーターの問題は、より複雑な問題を扱えるようモデリングをどのように自動化するか(例えば物理シミュレーションの環境設定)、事前知識や法則をいかにニューラルネットワークに埋め込んでいけるかが重要となるだろう。

1)S. Greydanus et al.,“Hamiltonian Neural Networks,” NeurIPS 2019. https://arxiv.org/abs/1906.01563
2)P. Toth and et al.,“Hamiltonian Generative Networks,” ICLR2020 accepted, https://arxiv.org/abs/1909.13789
3)M. Lutter et al.,“Deep Lagrangian Networks: Using Physics as Model Prior for Deep Learning,” ICLR 2019, https://openreview.net/forum?id=BklHpjCqKm
4)B. Kim et al.,“Deep Fluids: A Generative Network for Parameterized Fluid Simulations,” Eurographics 2019, https://arxiv.org/abs/1806.02071
5)J. S. Smith et al.,“ANI-1: an extensible neural network potential with DFT accuracy at force field computational cost,” Chemical Science, 2017, vol.8., pp.3192-3203, https://pubs.rsc.org/en/content/articlepdf/2017/sc/c6sc05720a
6)K. T. Schütt et al.,“SchNet: A continuous-filter convolutional neural network for modeling quantum interactions,” NeurIPS 2017, https://arxiv.org/abs/1706.08566
7)S. Kallweit et al.,“Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks,” SIGGRAPH Asia 2017, https://arxiv.org/abs/1709.05418
8)K. Dahm et al.,“Learning Light Transport the Reinforced Way,” https://arxiv.org/pdf/1701.07403.pdf
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 代表取締役副社長
岡野原 大輔(おかのはら・だいすけ) 2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。