JSAI2024 2日目: 機械学習と科学モデル
from JSAI2024 2日目
機械学習と科学モデル(武石先生)
PINNs, DGM, neural operators
機械学習で科学モデルを解く
順問題を解く
逆問題を解く
機械学習と科学モデルのハイブリッドモデリング
科学モデル(科学研究で培われてきたモデル)
数理モデル、数値計算モデル
models of phenomena: : 現象を抽象化・理想化
機械学習モデル
ニューラルネットワーク、グラフィカルモデル、カーネル法
models of data: 関数近似器、データにフィット
順問題
パラメータ、初期条件を決めて方程式を解く問題
微分方程式
数値解法
例: 常微分方程式の: 陽的オイラー法
深層学習による手法
例: 偏微分方程
ニューラルネットで解を表す
uθが学習するべきパラメータ

利点: メッシュフリーな表現
キーワード: PINN、DGM、Neural operators
逆問題
例: 逆運動学
観測と順モデルを決めて、対応するパラメータθを求める
あるを実現するθが無数にある
ベイズ推論: 事前分布を設定して事後分布を推論
ベイズの定理
注: 関数は全部それぞれ別物。引数で判断して。
尤度の値が計算できない場合
例: ゴルトンボード
科学モデルでは中間の潜在変数を観測できないことはよくある
Simulation-based inference(SBI)
尤度関数の値を計算せず、事後分布を推論する
尤度なし推論(likelihood-free inference)ともいう
深層学習ベースの方法ではSBIと呼ぶ傾向
Approximate Bayesian computation (ABC)
ABC rejection
入力: 事前分布、シミュレータ、観測、しきい値、統計量(特徴量抽出器)
出力: 保存したサンプルの集合
深層学習によるSBI
シミュレータからデータを生成して深層生成モデルを学習する
教師あり学習として解けるように問題設定してる
Neural posterior estimation (NPE)
normalizing flows
sbiパッケージがすごくよい
py
from sbi import utils
from sbi.inference import SNPE_C, simulate_for_sbi
from sbi.utils.user_input_checks import check_sbi_inputs, process_prior, process_simulator
Sequential NPE
データの生成とモデルの学習を繰り返す
機械学習と科学モデルのハイブリッドモデリング
グレーボックスモデリング
予測をよりよく、解釈しやすく、両者の良いとこ取りを試みる
例
Hamiltonian neural networks
COVID-19 感染者数予測
渋滞長予測
交通工学の理論に基づく予測
GNNモデルの出力の最後の層にQT-layer(科学モデル)を配置
気象予測
接触などのある剛体シミュレーション
ハイブリッドモデルの作り方
モデルの最終層に科学モデルを配置
→ 機械学習による特徴抽出アプローチ
注: 機械学習g(x)モデルだけでデータにフィットしてしまう可能性あり。g(x)の過剰な表現力を抑えるべき。y = f(x) + g(x) を考えるとき、g(x) が y - f(x) にフィットしてしまうと科学モデル f(x) は性能に寄与しないことになる。
モデルの入力に科学モデルを配置
→ 機械学習による残渣調整アプローチ
ハイブリッドモデルと「科学モデルだけの場合」の差を小さくなるよう正則化
なるほどすごい 
メモ 
作用素、写像
尤度: likelihood
英語のほうがイメージしやすい
事後分布: posterior
読み方 : p of x given theta
Overconfidence
closure
discrepancy modeling