たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

Neural ODE

Neural ODE: 入力が、連続な隠れ層を滑らかに変化しながら出力になると考え、各点の勾配を(微分値)をニューラルネットワークでモデル化し、ODE solverによる積分で入力を出力へ変換するモデル
すなわち、dx/dt = NeuralNetwork(x, t; θ)、x(tstart) = inputという常微分方程式の初期値問題をsolverによる数値計算で解くのがNeural ODE

ある時刻(深さ)での隠れ層のダイナミクスを出力する f(h(t), t, θ) を、ニューラルネットワークでモデル化し、これをODENetと呼ぶ
ref

  1. supervised learning

we evaluated the hidden state dynamics and their derivatives on the GPU using Tensorflow, which were then called from the Fortran ODE solvers, which were called from Python autograd code.

Python autograd:  
    Fortran ODE solvers:
        ODENet on GPU using TensorFlow  

ResBlock: BN + ReLU + weight + BN + ReLU + weight

1-Layer MLP (300 hidden units)
ResNet: downsampling 2 + Res 6
RK-Net: BP on Runge-Kutta integartor
ODE-Net