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

 多くの科学領域でシミュレーションが使われるようになっている。例えば、素粒子物理、分子動力学、流体力学、疫学、経済学、気象モデル、生態学、機械工学などである。

 これらの分野で使われるシミュレーションは、対象問題を忠実に再現できるようになっているが、推論、つまり観測からその現象を記述するパラメータや、観測できない潜在パラメータを推定する逆問題に適用することが難しい場合がある。

  しかし、近年登場したニューラルネットワークによる代理関数、確率的プログラミングフレームワークと自動微分フレームワークによって状況は大きく変わり、これまで推論が難しかった場合でもできるようになってきている1)。本稿ではそもそも推論とはどのようなタスクか、なぜ難しかったか、どのようにこれらが解決できるかについて解説する。

 本稿ではシミュレータは以下のような単純化された計算モデルとする。はじめに、シミュレータは、その挙動を特徴づける入力ベクトル$\theta$を受け取り、次に直接観測できない内部状態$z_i\sim$$p_i (z_i | \theta, z_{<i})$を順に生成し、最後に観測量をこれらに条件付けして生成する$x \sim p(x | \theta, z)$。例えば、物理系のシミュレーションでは$\theta$(の一部)はハミルトニアンの係数であり、$z$は物体の内部状態や環境との相互作用の状態、観測はある時刻の物体の位置などとなる。シミュレーションの各ステップが確率的な場合、シミュレータは生成までのステップを記述した確率的プログラムといえる。

 推論は、与えられた観測$x$からパラメータ$\theta$や途中の内部状態$z_j$を推定することである。確率モデルでいえば、$p(\theta|x),p(z_j|x)$となり、いわゆる事後確率分布である。例えば気象モデルのシミュレータをもっていて、現在の観測(地表の各点での気温や湿度)を元に気象モデルのシミュレータの未知のパラメータ(各グリッドの湿度や密度、風速、境界条件など)を求める場合はこの推論が必要になる。物理や化学などで実験や観測データから未知のパラメータを推定することはよく行われる。データ同化(この場合、確率モデルを使わない場合も多い)やパラメータ同定とよばれるタスクの一般化である。

 有名なベイズの公式を使えば、これらの推論は

\[ p(\theta | x) = \frac{p(x|\theta) p(\theta) } {\int p(x|\theta')p(\theta') d \theta'} \]

として求められる($p(z_j|x)$も同様)。このように尤度$p(x|\theta)$が求められ、また、パラメータについて積分をとることができれば推論はできる。しかし、ほとんどのシミュレータではそもそも尤度計算が難しい。

 シミュレータの尤度計算が難しい理由は途中の潜在変数を周辺化しなければいけないためである。

\[ p(x | \theta) = \int p(x, z| \theta) dz \]

尤度が求められないシミュレーションを使って、観測から観測できないパラメータを推論することをlikelihood-free inferenceと呼ぶ。このような問題の場合に最も広く使われている手法は近似ベイズ計算(ABC: approximate Bayesian computation)である。最も単純な形では、ABCは最初に初期値$\theta'$を事前分布からサンプリングし、次にシミュレーションを実行し、擬似的な観測$x'$(以下サンプル)を得る。そしてこのサンプルが観測$x$と設定した距離関数$D$において近ければ($D(x, x') < \epsilon$)この$\theta'$を事後確率分布からのサンプルとみなす。この許容条件$\epsilon$が$0$に近づけば近づくほど、このABCによるサンプリングは真の事後確率分布からのサンプルに近づく。しかし、ランダムに試した結果がたまたま観測に一致するというのは非常に確率が小さく、観測が高次元であれば、必要なサンプル数は実現不可能なぐらいに大きくなってしまう。

 近年この問題がシミュレーションベースの推論として大きく改善されてきた。サンプル効率、推論の品質、償却化(推論間で同じモデルを共有し、推論1回あたりのコストが小さくなる)が達成できる。

ニューラルネットワークによる代理関数

 ニューラルネットを使った強力な生成モデルを使って、シミュレータの生成分布$p(x|\theta)$や事後確率分布$p(\theta|x)$を直接モデル化することができる。特に正規化フローは、効率的にサンプリングでき、かつ尤度を正確に評価できる。元の関数と同じような挙動をとりながら扱いやすい特徴をもった関数は代理関数(Surrogate function)と呼ばれる。この代理関数は、潜在モデルにとって興味の無い潜在変数の周辺化を暗黙的に実現する。

 さらに、微分可能な代理関数を使った場合、尤度だけでなく潜在変数やパラメータについての勾配を効率的に求めることができる。これらの勾配情報は指数型分布が対象の場合は十分統計量であり、また勾配情報を使って、最も情報が得られるような位置をシミュレータでサンプリングする、いわゆる能動学習を実現することができる。

 異なるパラメータ$\theta, \theta'$を使った場合の尤度比 $p(x, z|\theta) / p(x, z|\theta')$のSurrogate関数はこれらのパラメータを使って生成したサンプルを分類するような学習となる。これらのサンプルを最適に分類するモデルは尤度比と一致するためである。これは敵対的生成モデルの識別器と一緒である。

 代理モデルを利用することで推論を償却化することができる。つまり新しい観測データが得られた時でも、また再度モデルを学習する必要はなく既に他の観測データを使って学習してあるモデルを再利用して推論することができ、効率的に推論することができる。

 代理関数の適用先として尤度、事後確率分布、尤度比の3つがある。推論が目的であれば事後確率分布を学習すれば良いように思えるが、(事後確率分布の中に含まれる)事前確率分布が固定になってしまう問題がある。後で事前確率を変えたい場合は尤度をモデル化しておき、後で事前確率分布を変えられるようにしておくほうがよい。また尤度比の学習は分類と同じようにでき、分布自体を学習する生成問題に比べて安定的に学習できるメリットがある。尤度比だけが必要ならば尤度比を直接モデル化するのが良い。

確率的/自動微分プログラミングフレームワークの利用

 ここまではシミュレータ自体は変更せず、そのサンプルを利用して効率的に推論を行う手法であった。もし、シミュレータ自身も変えることができればより効率的にすることができる。1つは確率的プログラミングフレームワークの利用である。確率的プログラミングでは、従来のシミュレーションのコードの一部をフレームワークを使って書き直すと、特定の変数を周辺化したり、事後確率分布に従ってサンプリングする操作を自動的に実行してくれる。確率的プログラミングを利用することでシミュレータ毎に煩雑な周辺化や推論、効率的なサンプリングのコードを書く必要がなくなる。例えば、ABCにおいても、確率的プログラミングフレームワークを使うことで内部でMCMCなどを使って観測データと一致しそうなサンプルをサンプリングするようにでき、サンプリング効率を劇的に改善できる。

 もう1つが自動微分を備えたフレームワークを利用することで、パラメータや途中変数など任意の変数についての勾配を効率的に求めることができる。微分可能でない操作がある場合(離散化、微分不可能な関数など)も、それらを緩和して微分可能にする手法を使える。これらができれば勾配を計算する効率的な推論を実現できる。

シミュレータ適用範囲は拡大する

 ニューラルネットを使って高次元データを直接扱えるようになり、また正規化フローなど直接尤度を評価でき、かつサンプリングもできるモデルを代理関数として使うことで、計算量的に困難だった周辺化を行った結果を直接推定できるようになった。これらのモデルは任意の変数についての勾配情報を効率的にモデル化できる。そして何よりディープラーニングフレームワークや、確率的プログラミングフレームワークなど、プログラミング環境が整い、モデルを記述することが容易になった。こうしたフレームワークを使うことでGPUや大規模並列化環境などを利用することも容易となった。多くの科学領域で既にこれらの利用が進んでいる。

 シミュレーションのパラメータを、観測データから帰納的に推定することが容易となり、シミュレータの適用が広がると考えられる。

1)K. Crammer et al.,“The frontier of simulation-based inference,” PNAS 2020. https://www.pnas.org/content/pnas/early/2020/
05/28/1912789117.full.pdf
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 代表取締役副社長
岡野原 大輔(おかのはら・だいすけ) 2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。