深層学習を用いた数値シミュレーション

こんにちは。2020年に新卒としてALBERTに入社した、プロジェクト推進部の曾怡庭(チェン イーティン)です。今回で新卒研修の技術調査に関するブログは4件目になります。本稿では、「深層学習を用いた数値シミュレーション」について紹介していきたいと思います。私がこの課題を選んだのは、大学・大学院で環境科学を専攻し数値シミュレーションに触れ合う機会があり、最新の動向を知りたかったためです。

こうした深層学習と数値シミュレーションの融合はまだまだ新しいテーマです。この手法は、数値シミュレーションの解釈可能性と深層学習の汎用性を融合させるため、これから広く応用されることが期待されます。

1. はじめに

1.1 なぜ数値シミュレーションが必要か

現実世界の現象を解析するために、そのパターンとメカニズムを要約し、数理モデル化します[1][2]。物理的もしくは時間的変動を伴うほとんどの現象は変化量で表せるため、微分方程式で記述できます。例えば、流体の運動を示すNavier-Stokes方程式、流体における物質の輸送過程を表す移流拡散方程式、人口成長を表すマルサスモデル、感染者数を表すSIRモデルなどがあります。

微分方程式を解くには、実際の解(厳密解)を解くか、数値シミュレーションを用いて近似解を算出するかの二つの手法があります。数値シミュレーションは、微分方程式で表される数理モデルを、離散化により計算機で取り扱える形式の数値モデルにし、拘束条件のもとで反復計算により近似解を求めるプロセスです。

現実には、多くの事象が複雑で、解析解(厳密解)を求める手段がないため、数値シミュレーションを用いる必要があります。計算性能が飛躍的に伸びた現在は、膨大な計算を行えるため、医療や製造、防災分野にて、数値シミュレーションは幅広く使用されています。

1.2 数値シミュレーションの限界

一般的に、分析対象のシステムをよく理解するため、数理モデルを用いて、以下二つの解析を行います図1

図1 分析対象のシステム、数理モデル、データの相互関係[3]
1)対象となる現象を模倣したモデルを設計し(いくつかのパラメータからなる)、未知のデータに対して予測あるいは推定を行う。 2)観測データから対象となる現象のメカニズムを解明する。

数値シミュレーションを使用すれば、1)の基礎方程式や拘束条件や説明変数などのパラメータによりデータを生成でき、いわゆる「順問題」を低コストで解けることができます。また、既知の物理法則をもとにシミュレーションを行うため、なぜそのような結果になったのかを説明できます。しかし、2)の観測データからパラメータを推定する「逆問題」はまだ効率的に対処されておらず、データから直接的に対象となる現象の生成ルールなどの情報を抽出することは困難です。通常は、パラメータスタディによりパラメータを推定しますが、パラメータスタディの過程にて、あるパラメータが出力に与える影響を比較するためには、段階的にパラメータを変化させて複数回のシミュレーション実験を行わないと、パラメータを推定できません。

逆問題における困難だけでなく、数値シミュレーションを行う際には、形状定義、拘束条件設定などの作業にも手間がかかります。また、計算時間がかかるため、リアルタイム分析は不可能になっています。例えば、CAE解析( Computer Aided Engineering )は、製品の設計段階で行う性能の仮想的な試作・試験です。結局のところ、一連の過程(形状作成→メッシング→境界条件→計算実行→計算結果)を通すには、多くの手間や時間がかかってしまいます(図 2)。

図2 数値シミュレーションの解析過程(CAEの例)

1.3 深層学習を用いた数値シミュレーション

1.2には、数値シミュレーションの限界について述べました。本稿のタイトルにあるもう一つの手法ー深層学習ーのデメリットも簡単に説明していきます。

深層学習は、人間の脳を模倣した機械学習の一種です。中間層(入力と出力の間の隠れ層)を深めれば深めるほど、深層学習モデルによる複雑な現象の表現が可能になります。

しかし、1.2で述べた物理法則に基づいた数値シミュレーションとは対照的に、深層学習はブラックボックスであるため、モデルは全て得られたデータに依存し、解釈可能性は低くなります。

そこで、本稿のテーマの通り、物理問題の数値シミュレーションを深層学習で実行できる研究がなされてきました。 これら二つモデルの相互補完性をいかすため、深層学習を用いた数値シミュレーションはより効率的で汎用性のあるモデルです。また、逆問題をより効率的に解けるため、科学的発見スピードを加速することが期待されています(図 3)。

図3 数値シミュレーションと深層学習を用いた数値シミュレーションの比較

深層学習を用いた数値シミュレーションは大きく二つのカテゴリーで分けられます。物理法則に基づいた深層学習(PINN: Physics-Informed Neural Network)と、物理法則に基づかない代理モデルの二つです。本稿では、これら二つのモデルについて、主にPINNの先行研究と応用例、現在の限界について調査した結果を紹介していきたいと思います。

2. 物理法則に基づいた深層学習
(PINN: Physics-Informed Neural Network)

まず、全体像を頭に入れるために、PINNによって解決できる三つのタイプの問題(2.1順問題の偏微分方程式求解、2.2 逆問題の偏微分方程式パラメータ探索および2.3観測値による潜在物理量の探求)における既知条件、求める対象、損失関数を表1にまとめました。

表1 PINNで解決できる三つのタイプの問題

2.1 偏微分方程式の求解[4]

第一に、PINNでは偏微分方程式問題を最適化問題に変換することで解くことが出来ます。
深層学習で偏微分方程式を解く動機としては、以下の二つがあります。
  • 万能近似原理[5]により、深層学習が任意の関数を近似できること。
  • 自動微分[6]により、出力変数の入力変数に対する全ての微分項が得られること。

以下にBurgers 方程式を例として挙げます。Burgers 方程式は、流れの基礎方程式であるNavier-Stokes方程式から圧力項を省略した一次元偏微分方程式です。

この問題では、数理モデルの構造、パラメータ、初期および境界条件は既知で、モデルの解を求めるものとします。

Burgers 方程式: u_t + uu_x - \left(\frac{0.01}{\pi} \right)u_{xx} = 0

初期条件: u\left(0, x\right) = -\sin(\pi x)

境界条件: u\left(t, -1\right) = u\left(t, 1\right) = 0

ここでは、 uは流体の速度、 t は時間、 x は位置を表します。

M. Raissiらが提案する解決策は以下の通りです(図 4)。

図4 PINNを用いたBurgers 方程式の求解 [4]
  1. 入力値 x t 、出力値 \hat{u} のニューラルネットワークを作成する。
  2. 学習データは、 t=0 の初期データ u\left(0, x\right) x= -1 ,\ 1 の境界データ u\left(t,-1\right) u\left(t,1\right) とし、定義域内の選点 u\left(t, x\right) はオプションのデータとする。
  3. 損失関数は、①微分方程式における平均二乗誤差(各選点f{loss}_fより)と②初期および境界条件における平均二乗誤差(初期および境界条件における各点u{loss}_uより)を加算したものとする。

    {loss}_f = \left[\hat {u}_t+\hat{u}\hat{u}_x-\left(\frac{0.01}{\pi}\right)\hat{u}_{xx}\right]^2

    {loss}_u = \left[\hat{u}-u\right]^2

    この\hat{u}は、ニューラルネットワークで得られた予測値である。
    また、 \hat{u}_t\hat{u}_x \hat {u}_{xx} は出力値 \hat{u} の入力値 x t に対する自動微分により得られた値である。
  4. 構築したモデルにより、\hat{u}(t,\ x) を予測できる。

2.2 偏微分方程式パラメータの探索[7]

第二に、PINNを用いると適切なパラメータを探索することができます。
先の2.1では、既知な基礎方程式に基づき解を求めました。2.2では、観測値に基づき、偏微分方程式において最適なパラメータを探索することを目的とします。

こちらもBurgers 方程式の例を挙げます。
2.1とは違い、ここでは、数理モデルの構造は既知ですが、パラメータ \lambda_1 \lambda_2は未知です。問題設定は、パラメータ \lambda_1 \lambda_2とモデルの解を求めるものとします。

Burgers 方程式:

u_t + \lambda_1 u u_x - \lambda_2 u_{xx} = 0

M. Raissiらが提案する解決策は以下の通りです(図 5)。

図5 PINNを用いたBurgers 方程式パラメータの探索 [7]
  1. モデル構造は2.1と同じく、入力 x t 、出力値 \hat{u} のニューラルネットワークとする。
  2. 学習データは、定義域内の選点 u\left(t{,} x\right)とする。
  3. 損失関数は、①微分方程式における平均二乗誤差と②予測値の平均二乗誤差の和とする。つまり、下記の式により算出した各点のlossの平均をとる。

    loss =\left[\hat{u}_t + \lambda_1 \hat{u} \hat{u}_x - \lambda_2 \hat{u}_{xx} \right]^2 + \left[ \hat{u}-u\right]^2

  4. 構築したモデルにより、 \hat{u}\left(t{,} x\right)もパラメータの \lambda_1 \lambda_2も推測できる。
また参考までに、このリンクでは2.1、2.2の例を含め、他の偏微分方程式の例も公開されています。

2.3 観測値による潜在物理量の探求[8]

最後に、PINNを用いれば、観測データを支配する物理量を探求できます。
2.1と2.2に続き、2.3では、受動スカラー(煙や染料)濃度分布の経時変化により流体の物理量(速度、圧力)を推測する手法hidden fluid mechanics (HFM)を紹介します (図 6)。

図6 受動スカラー(煙や染料)濃度分布の経時変化による流体物理量(速度、圧力)の推測 [8]
従来の流体解析では、数値計算を用いて、移流拡散、Navier-Stokes方程式、連続方程式などの非線形偏微分基礎方程式に基づき流体の物理量を求めます。

移流拡散: 
c_t + uc_x + vc_y = {Pec}^{-1}\left(c_{xx} + c_{yy} \right)

Navier-Stokes方程式: 
u_t + uu_x + vu_y = -p_x + {Re}^{-1}\left(u_{xx} + u_{yy} \right)
v_t + uv_x + vv_y = -p_y + {Re}^{-1}\left(v_{xx} + v_{yy} \right)

連続方程式: 
u_x + v_y = 0

ここでは、c は濃度、u vx y 方向においての速度、Pec はペクレ数、Re はレイノルズ数、p は圧力を表します。

この問題では、濃度分布の経時変化c\left( t, x, y\right)は既知で、速度uv 、圧力p の経時分布は求めるものとします。
M. Raissiらが提案する解決策は以下の通りです(図 7)。

図7 PINNを用いた観測値による潜在物理量の探求[8]
  1. HFMのモデルでは、ニューラルネットワーク項、微分項、物理法則項が縦列に並んでいる。
    ニューラルネットワークの入力値はt x y で、出力値は流体の濃度\hat{c} 、濃度の補助変数\hat{d} = 1 - \hat{c} 、速度\hat {u} \hat {v} および圧力\hat{p} とする。
    それらの出力値を入力値のt x y に対して微分をし、物理法則項における誤差e_i を算出する。
  2. 学習データは訓練ドメイン(図中の桜型)内の点c\left( t, x, y\right)とする。
  3. 損失関数は①濃度の二乗誤差と②微分方程式の二乗誤差の和とする。つまり、下記の式により算出した各点の loss の総和をとる。

    loss = \left[\hat{c}-c\right]^2+\left[\hat{d}-d\right]^2+\sum_{i=1}^{5}e_i

    e_i は予測した値を微分し、移流拡散、Navier-Stokes方程式、連続方程式に代入した値である。

    e_1 = {\hat{c}}_t + \hat{u}{\hat{c}}_x + \hat{v}{\hat{c}}_y - Pec^{-1} \left({\hat{c}}_{xx} + {\hat{c}}_{yy}\right)

    e_2 = {\hat{d}}_t + \hat{u}{\hat{d}}_x + \hat{v}{\hat{d}}_y - Pec^{-1} \left({\hat{d}}_{xx} + {\hat{d}}_{yy}\right)

    e_3 = {\hat{u}}_t + \hat{u}{\hat{u}}_x + \hat{v}{\hat{u}}_y+\hat{p}_x - Re^{-1} \left({\hat{u}}_{xx} + {\hat{u}}_{yy}\right)

    e_4 = {\hat{v}}_t + \hat{u}{\hat{v}}_x + \hat{v}{\hat{v}}_y+\hat{p}_y - Re^{-1} \left({\hat{v}}_{xx} + {\hat{v}}_{yy}\right)

    e_5={\hat{u}}_x+{\hat{v}}_y

    ここでも、ニューラルネットワークで得られた予測値を ” \hat{} ” にし、観測値と区別するようにしています。

  4. 構築したモデルにより、濃度\hat{c} 、速度\hat {u} \hat {v} 、圧力\hat{p} の経時分布を予測できる。
HFMの利点
  • 拘束条件が分からない状況でも、対象流体の速度、圧力を推測できる。
  • 境界壁に囲まれている内部の流れの速度や圧力なども正しく形状を定義せずともに、算出できる。
期待される応用

HFMは非侵襲な手法であるため、医療で広く応用されることが期待できます。
例えば、画像診断技術の進歩により、狭心症や心筋梗塞を診断するために必要な情報は、造影CT検査(コンピューター断層撮影)で得られるようになりましたが、内部の流れの速度や圧力などを推測するためには、正しく形状、拘束条件を定義しないといけません。

このHFMを使うことで、速度、圧力の推測が簡易になります。また、推測した速度、圧力を用いれば、応力と剪断応力が計算できるため、血管内面の壁面応力、剪断応力などを即時に判断できます。
参考までに、著者のスクリプトがこちらで公開されています。

3. 代理モデル

深層学習の一つのメリットは、機械自身が問題の最適な表現方法を探索できること、いわゆる表現学習です。深層学習を数値シミュレーションの代理モデルとすることで、「様々な条件からシミュレーション結果への振る舞い」を学習できるため、数値シミュレーションは単に説明変数から目的変数を予測するモデルになります。

ここでは、深層学習をCAEの代理モデルとして頭部傷害基準(HIC)計算の効率化[9]に用いた事例を紹介していきます。

背景

交通事故死者数のデータによれば、頭部傷害で死亡した歩行者が最も多いため、歩行者への傷害を最小化するための自動車フードを設計する必要性がありました。
現在、傷害を定量化する指標すなわちHIC (Head Injury Criterion頭部傷害基準)はありますが、従来のCAE解析では、一連の解析過程(形状作成、メッシング、境界条件、計算実行)で、多くの手間・時間がかかります(図 8)。

図8 従来のCAE解析でHICを算出する際の手間と時間の多さ[9]
CAE代理モデル
本田技術研究所では、畳み込み深層学習LeNet-5をCAEの代理モデルとして用い、画像情報とHICの関係を学習させています。
その結果、CAE解析を用いなくてもHICの判断ができるようになりました(図 9)。

図9 畳み込み深層学習LeNet-5をCAEの代理モデルとして用いた画像情報からのHICの効率的算出[9]
期待される応用
CAE代理モデルは、特に製造業に広く汎用できると期待されます。

4. 現在の限界と展望

PINNと代理モデルが現在直面している問題はデータセットのラベル付けに関するものです。教師あり学習の領域にあるため、学習データを蓄積することが必要になります。

また、データサイエンスモデルのような損失関数ではなく、物理学ベースの損失関数がまだ不明確で、サンプルの複雑さや収束を考慮しないといけません。
最後に、理論駆動の数値シミュレーションとデータ駆動の深層学習をうまく結合するために、結果の説明方法を検討するべきだと示唆されています。

5. おわりに

図 10に示すように、従来の数値シミュレーションと深層学習は、科学理論かデータのどちらによってモデルが構成されます。そのため、数値シミュレーションは、解釈可能性が高いですが、汎用性が低いです。反対に、深層学習は解釈可能性が低いですが、汎用性が高いです。

今回の記事では、物理法則に基づいた深層学習(PINN)の先行研究とCAE代理モデルの事例を紹介しました。
数値シミュレーションと深層学習を組み合わせることによって、PINNは、高説明性、高汎用性などのメリットを持つことが可能となります。一方で、CAE代理モデルでは、数値シミュレーションは説明変数から目的変数を予測するモデルに置き換えることができるため、手間や時間がかかるといった問題を解消することが可能となります。

上記により、深層学習を用いた数値シミュレーションは効率よく研究対象の動態を計算することができるようになり、科学的発見のスピードを加速させることが期待されます。

図10 数値シミュレーション、物理法則に基づいた深層学習(PINN)、深層学習(代理モデル)の比較[10]
ALBERTではともに最先端の課題に挑戦するメンバーを募集しています。興味をお持ちいただいた方は、こちらまでお問い合わせください。

6. 参考文献など

[1]      久保拓弥, データ解析のための統計モデリング入門: 一般化線形モデル・階層ベイズモデル・MCMC. 岩波書店, 2012.
[2]      川島茂人, 大気生物学入門. 朝倉書店, 2019.
[3]      江崎 貴裕, データ分析のための数理モデル入門 本質をとらえた分析のために . ソシム, 2020.
[4]      M. Raissi, P. Perdikaris, and G. E. Karniadakis, “Physics Informed Deep Learning (Part I): Data-driven Solutions of Nonlinear Partial Differential Equations,” Nov. 2017, Accessed: Jun. 12, 2020. [Online]. Available: http://arxiv.org/abs/1711.10561.
[5]      K. Hornik, M. Stinchcombe, and H. White, “Multilayer feedforward networks are universal approximators,” Neural Networks, vol. 2, no. 5, pp. 359–366, Jan. 1989, doi: 10.1016/0893-6080(89)90020-8.
[6]      A. Güne¸, G. Baydin, B. A. Pearlmutter, and J. M. Siskind, “Automatic Differentiation in Machine Learning: a Survey,” 2018. Accessed: Jul. 03, 2020. [Online]. Available: https://chainer.org/.
[7]      M. Raissi, P. Perdikaris, and G. E. Karniadakis, “Physics Informed Deep Learning (Part II): Data-driven Discovery of Nonlinear Partial Differential Equations,” Nov. 2017, Accessed: Jun. 12, 2020. [Online]. Available: http://arxiv.org/abs/1711.10566.
[8]      M. Raissi, A. Yazdani, and G. E. Karniadakis, “Hidden Fluid Mechanics: A Navier-Stokes Informed Deep Learning Framework for Assimilating Flow Visualization Data,” 2018.
[9]      I. Osamu, S. Jun, and I. Kazuo, “Prediction of pedestrian protection performance using machine learning.” Accessed: Jun. 12, 2020. [Online]. Available: http://www.nasva.go.jp.
[10]    A. Karpatne, W. Watkins, J. Read, and V. Kumar, “Physics-guided Neural Networks (PGNN): An Application in Lake Temperature Modeling,” Oct. 2017, Accessed: Jun. 12, 2020. [Online]. Available: http://arxiv.org/abs/1710.11431.

yi-ting_tseng

プロジェクト推進部の曾です。台湾出身です。 大学院時代では、花粉飛散量の予測を研究していました。