Neural Ordinary Differential Equations (ODE)

return X, y #upper case: matrix, lower case: vector

Traditional neural network:

xf(x)yx \rightarrow f(x) \rightarrow y
f(x)=ax+bf(x) = ax + b
loss=(f(x)y)2=(ax+by)2loss = (f(x) - y)^2 = (ax + b -y)^2
a=alossa(gradient descent)a = a - \frac{\partial loss}{\partial a} \tag{gradient descent}
a=a2(ax+by)xLRa = a - 2(ax + b - y) \cdot x \cdot LR
b=b2(ax+by)YLRb = b - 2(ax + b - y) \cdot Y \cdot LR

Neural ODE:

θ=[a,b]\theta = [a,b]
zt=f(z,t,θ)\frac{\partial z}{\partial t} = f(z, t, \theta)
xg(x)y=z0g(x)ztx \rightarrow g(x) \rightarrow y = z_0 \rightarrow g(x) \rightarrow z_t
loss=(ztODE(f(z0)))2loss = (z_t - ODE(f(z_0)))^2
losszT=2×(ztODE(f(z0)))\frac{\partial loss}{\partial z_T} = 2 \times (z_t - ODE(f(z_0)))
θ=θ2lossθLR\theta = \theta - 2\frac{\partial loss}{\partial \theta} \cdot LR

ODE solver

Last updated

Was this helpful?