初めに
こんにちは。将棋と筋トレが好きな、情報系大学生のゆうき(@engieerblog_Yu)です。
今回は私の研究内容である、サロゲートモデルについて簡単にまとめていきたいと思います。
サロゲートモデルとは?
サロゲートモデルとは、シミュレーション代理モデルのことで、物理モデルの代わりに深層学習を用いて物理プロセスを計算します。
物理モデルは、支配方程式(複雑な偏微分方程式)で構成されます。

inputを入れると、それに応じてシミュレーションを行なってoutputを出力します。
しかし物理モデルを使ったシミュレーションには問題点があります。
物理モデルを使うと計算結果が正確である反面、計算コストがかかります。
大規模なシミュレーションになってくると、シミュレーションを一回行うごとに、2,3日の時間がかかることもあります。
そこで考案されたのが、シミュレーションの代理モデル(サロゲートモデル)です。

サロゲートモデルは物理モデルの代わりに、深層学習で物理プロセスを計算します。
inputとoutput(訓練データ)の組み合わせからサロゲートモデルを構築し、新しいinputに対してoutputを出力することができます。
サロゲートモデルを構築することで、これまで2,3日かかっていたシミュレーションが数秒で完了することができる可能性があります。
サロゲートモデルを用いることでシミュレーション時間を大幅に短縮することができる
サロゲートモデルの欠点
サロゲートモデルは、シミュレーションを数秒で終わらせることができるという利点がありますが、反対に欠点も多くあります。
深層学習モデルを用いているので、モデルの中身が分かりにくく、出力結果の判断根拠が分かりにくい
モデルの学習に時間がかかる
大規模なデータからモデルの学習を行うので、メモリの消費が激しい
出力結果の判断根拠が分かりにくい
深層学習モデルには共通する欠点ですが、「なぜこのような出力になったのかということが分かりにくい」という欠点があります。
ユーザー的な観点からみると、出力だけ正しい結果を返してくれればそれでいいと思えるかもしれませんが、研究的にはモデルを改善していく上で、良い結果になった原因が知りたくなるものです。
説明可能なAIのように、モデルのブラックボックス化を防ぐことが大切です。
モデルの学習に時間がかかる

サロゲートモデルは一度学習してしまえば、シミュレーションを素早く実行してくれる優秀なモデルなのですが、学習するのが大変です。
学習時間が何百年、何千年になってしまい、現実的な時間で学習することができなくなることもあります。
また訓練データを作成するために、シミュレーションを何回か実行しなければならない場合もあります。
現実的な時間で学習を終わらせるために、データをどのように削減するのかということが大切になります。
以下参考文献です。
VDL-Surrogate: A View-Dependent Latent-based Model for Parameter Space Exploration of Ensemble Simulations
https://arxiv.org/abs/2207.13091v1
GNN-Surrogate: A Hierarchical and Adaptive Graph Neural Network for Parameter Space Exploration of Unstructured-Mesh Ocean Simulations
https://arxiv.org/abs/2202.08956
メモリの消費が激しい
サロゲートモデルは、膨大な入力データと出力データを用いてモデルの学習を行うのでPCメモリを激しく消費します。
また大規模なデータから構成されるモデルも大規模であり、大きなメモリを用意する必要があります。
サロゲートモデルの可能性
計算のために軽量化された簡易物理モデルよりも、計算が速く、精度が高いサロゲートモデルを作ることができるかもしれません。
また物理モデルよりも計算が早いので、計算回数、解像度の面などでサポートするという可能性を秘めています。
最新のサロゲートモデルについても記事にまとめてあるので、そちらも併せてどうぞ。
まとめ
サロゲートモデルは物理モデルの代わりに、深層学習で物理プロセスを計算し、精度はやや劣るが圧倒的な計算速度を誇る
サロゲートモデルには、判断根拠、学習時間、メモリの三つの欠点が挙げられる
サロゲートモデルは多くの可能性が秘められていて、今もなお研究中である

最後まで読んでいただきありがとうございました。

他にもいろんな投稿があるにゃ。
コメント