Preliminaries

All machine learning problems, that I can think of, can be formulated as learning a mapping

$$ \begin{equation} f_\theta: \Omega \rightarrow \Lambda \end{equation} $$

from the sample space $\Omega$ to the label space $\Lambda$. An example is supervised learning, where a problem could be learning $f_\theta(x)\approx p(c|x)$ – the probability of sample $x$ belonging to class $c$. When we do this with neural networks, we usually use several layers, e.g. $N$, $p(c|x)\approx f_{\theta_N}\circ\dots\circ f_{\theta_1}(x)$, which we can see this as discretizing the problem, i.e. solving it in $N$ steps instead of a single one.

Residual Neural Networks as Euler Solvers

Similarly, Residual neural networks 1 model a discrecte sequence of transformations, but now we add the skip connection. The output of every layer can therefore be formalized as

$$ \begin{equation} \mathbf{h}_{t+1} = \mathbf{h}_t + f(\mathbf{h}_t, \theta_t)\quad \text{starting with some} \quad \mathbf{h}_0 \end{equation} $$

and we can equally assume a shared set of parameters over the multiple layers, accompanied by a conditioning on $t$:

$$ \begin{equation} \mathbf{h}_{t+1} = \mathbf{h}_t + f(\mathbf{h}_t, \theta, t) = \mathbf{h}_t + f_{\theta}(\mathbf{h}_t, t) \end{equation} $$

For those familiar with numerical methods, it is immediately clear that above equation is equal to Euler’s method 2 for solving ODEs (ordinary differential equations) with a step size $d=1$

$$ \begin{equation} \mathbf{h}_{t+1} = \mathbf{h}_{t} + d\cdot f(\mathbf{h}_t, t)\quad \text{with initial condition}\quad \mathbf{h}_0 \end{equation} $$

which discretizes and approximately solves the following ODE (ordinary differential equation) with some initial condition

$$ \begin{equation} \frac{d}{dt}\mathbf{h}(t) = f\left(\mathbf{h}(t), t\right)\quad \text{with}\quad \mathbf{h}(0) = \mathbf{h}_0 \end{equation} $$

since

$$ \begin{align} \mathbf{h}_{t+1} &= \mathbf{h}_{t} + d\cdot f(\mathbf{h}_t, t)\\ \frac{\mathbf{h}_{t+1} - \mathbf{h}_{t}}{d} &= f(\mathbf{h}_t, t)\\ \frac{\mathbf{h}(t+d) - \mathbf{h}(t)}{d} &= f(\mathbf{h}(t), t)\\ \xrightarrow{d\rightarrow 0}\frac{d}{dt}\mathbf{h}(t) &= f(\mathbf{h}(t), t). \end{align} $$

This means that a residual neural network $f_\theta$ with shared parameters in each layer

$$\mathbf{h}_{t+1} = \mathbf{h}_t + f_\theta(\mathbf{h}_t, t)$$

actually can be viewed as learning finite difference approximations of the derivative $\frac{d}{dt}\mathbf{h}(t)$ and therefore the RHS (right hand side) of the ODE. Further, after summing the output of the network with the skip term, the output at each layer approximates $\mathbf{h}(t)$, the solution of our ODE by an Euler numerical solver.

Neural ODEs

Residual neural networks in practice do not share parameters across layers and have a finite number of layers (i.e. depth of the network). For an $L$ layer network that we use for solving an ODE on the time domain $t\in [0,1]$ that means we get a fixed discretization with timestep $d=\frac{1}{L}$. Neural ODEs 3 get rid of this weakness by introducing the parameters sharing from above, allowing them to be trained on arbitrary discretizations of the time domain $t$. We also don’t need to fix the discretization during training, but we can train with several different discretizations and then even use again a different one for inference!

Runge-Kutta ODE Solvers

So far we have seen that residual neural networks solve ODEs using Euler’s method 2 on a fixed discretized grid and Neural ODEs 3 generalize them to allow for arbitrary discretization. But this ignores the fact that Euler’s method is only one member of many in the Runge Kutta (RK) family of ODE solvers – and actually the most primitive one. Higher-order RK methods accumulate significantly less error at the same discretization than Euler’s method, the most famous example is RK4 4:

$$ \begin{align} \mathbf{h}_{t+1} &= \mathbf{h}_{t} + \frac{d}{6}\left(k_1 + 2 k_2 + 2 k_3 + k_4\right)\\ k_1 &= f\left(\mathbf{h}_t, t\right)\\ k_2 &= f\left(\mathbf{h}_t + d\frac{k_1}{2}, t + \frac{d}{2}\right)\\ k_3 &= f\left(\mathbf{h}_t + d\frac{k_2}{2}, t + \frac{d}{2}\right)\\ k_4 &= f\left(\mathbf{h}_t + dk_3, t + d\right)\\ \end{align} $$

As you can see, RK4 is just a composition of several $f$, so if we have a trained $f_\theta\approx f$ – a neural ODE – we can use any of the RK solvers with it and boost the accuracy of our solution!

Training Neural ODEs

We have seen that neural ODEs approximate the time derivative of the ODE (the RHS), making it possible to use Runge-Kutta solvers for approximating the ODE’s solution. But how do we actually train a neural ODE?

We start by assuming that the initial conditions to our ODE are drawn from the distribution $\mathbf{h}_0\sim p(\mathbf{h}_0)$ over all possible intial conditions - which may be a probability mass over a set of initial conditions or a continuous probability density. We further define that we want to solve the ODE on the domain $t\in\Tau$. We then sample arbitrary timesteps $t_i\in\Tau$ (e.g. uniformly $t_i \sim \mathcal{U}(\Tau)$) and train the model to recreate a sample $t_2$ from an earlier sample $t_1$, i.e. $t_1<t_2$, with the use of an RK solver like Euler or RK4. For a discretization $d$, this would mean looping over the solver $\frac{t_2-t_1}{d}$ many times and then formulate a loss between the the predicted $\hat{\mathbf{h}}(t_2)$ and the sampled $\mathbf{h}(t_2)$. In Python-inspired pseudocode for a single sample with the Euler method this would look something like this.

d # discretization
h_t1 # start sample
h_t2 # target sample
for t in np.linspace(t_1, t_2, (t_2-t_1)/d):
    h_t1 = h_t1 + f(h_t1, t)
loss = mse_loss(h_t1, h_t2)

Since we want to train on batches it is easier to sample $t_1$ and $t_2$ such that they are $d$ apart in which case we don’t actually have to sample over the RK solver.

Let's now consider the 
using Plots, Flux, LinearAlgebra, LaTeXStrings
using Statistics: mean
using Flux: @functor, params, gradient


h(x) = 1/2 * sin(4 * pi * x) * log(x)

T = [0.0, 1.0]

t = collect(T[1]:0.01:T[2])
h_t = h.(t)
plt = plot(t, h, xlabel=L"$t$", ylabel=L"$h(t)$", label=L"$\frac{1}{2}\sin(4\pi t)\log(t)$", fmt=:png)

Output:

<img src="data:image/png;base64,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7t376quvRkVFeXh4yLY0T+hlGOYf//jH9evXVVBaLWBra8uybFFRkezHNt/w5veW47hZs2bduHGDEGJvb19WVtZcL+Agl5+cBzkhZMuWLfPmzWtecZRl2eZ6ec6cOenp6ZWVlcourY5wcHB49Fsg/yfVJi0JQkdHRy8vr2PHjhFCBEE4fvx4aGgoIUQqlZaUlMj2CQkJOXr0qOzxsWPHZDsMGjSoqqoqMTGREFJTUxMbGyvbDp0KCQk5f/687OQjKSmprKxMdtOD2tra5jOSqKioF1544dChQ21eXEEIuXbtWvOYCnRMIpGMHDlSdpATQo4ePRoSEkIIEQRBNoOj1f5xcXGy1bc9PT1lM8IIIVKp9OTJkzjI5RQUFJSamirrZCsqKoqPjw8ODiaE1NfXtwy20tLS/fv3z58/v80nuXbtmoWFhampqWrKrJWamprKyspkj0NDQ5u/BceOHZN9C4KCgu7cuXPv3j1CSElJyfXr12WflJy0pGuUYZh33313+fLlGRkZly5dYhhGNjUgLi5u+PDhgiAwDLN8+fJBgwa9/vrrJiYm33333enTpwkhZmZmL7/88uzZs5csWbJ///6QkBDcp0lOAQEBoaGhkydPfvrppzdt2vTyyy/LLuhZvXp1enr6nj17srOzn3766UGDBv3444+yP3nhhRf69+///vvvFxUVubu7371795dfftm6dauo/w9N8u9//3vOnDlVVVXp6el37tyZN28eISQnJ8fFxSU3N9fR0fGFF14wMDBwcnJKSEjYs2fPkSNHCCESieTtt99evHjxihUrZHMKwsLCxP6vaAZHR8cFCxY89dRT8+bN27lz5zPPPCM7t/j222937dp14cIF2W6//vprQEBAYGBg8x9u2LAhPj6+b9++BQUFW7ZsWbt2La7dlNPPP/8cGxubkJBQWlqalpa2cOHCYcOGnThxYvbs2RUVFYSQV199dcSIESYmJjzPR0ZGXr58mRBiZ2e3aNGiqVOnzp8/PzIycvbs2V26cFOr7j5x6tSp48eP29raLliwwNzcnBBSVFS0b9++JUuWyHbIzMzcsWOHVCqdNWuWj4+PbCOldO/evVeuXHF3d583b96jFylDexobG3/++ef09PQhQ4ZMmzZN9lW/fPlyZWXluHHjSktL//zzz5b7P/nkk66urqmpqUePHs3Ly7OxsZk0aZK3t7dIxddIV65cOXDggJmZ2fz5821tbQkhNTU1O3funDt3rpGR0fXr10+cOFFcXOzo6Dh9+vSW0weOHj0aExPj6Oj43HPPGRsbi/c/0DCCIERGRsouqJ8zZ46s8zkxMfHu3btPPfWUbJ+jR49aWVm1vNw+Kyvrr7/+unfvnqWlZVhY2IABA8QpvQaKiYmRzSGQCQ0N9fT0zMnJOXHiRHObOy0tLTIykmGYZ555pvkWS4Ig/P777zdv3uzXr9/cuXO7dPc3rQpCAACArtKSMUIAAIDHgyAEAACdhiAEAACdhiAEAACdhiAEAACdhiAEAACdhiAE0CpHjhxpvssHAMgD1xECaI/i4mJnZ+fi4mITExOxywKgMdAiBNAeZ86cGTBgAFIQoEsQhADaIDs7Oy4ubv/+/W5ubnFxcc0rFANApxCEANqgoKDg7t270dHRffv2zcjIaL49PQB0CmOEAFqitLRUdqs22W1AAEBOaBECaImYmJgBAwYgBQG6CkEIoCX+v707tsEQBAIw2toxjaWTEIfVjgWYhQQS/8IF/Csj994E133FQe44jvtIKfAXIYRJnOd5h7CU4ishPCeEMIPrumqt67r23ksp7kvDcx7LwCRyztu2jTH2fU8pvT0OfIYQwjxaa8uyvD0FfIwQAhCaHSEAoQkhAKEJIQChCSEAoQkhAKEJIQChCSEAoQkhAKH9AJRgvSYmQhtWAAAAAElFTkSuQmCC" />
function rk4(ht, t, d, f)
    k1 = f(ht, t)
    k2 = f(ht+d*k1/2, t+d/2)
    k3 = f(ht+d*k2/2, t+d/2)
    k4 = f(ht+d*k3, t+d)
    return ht + d/6*(k1 + 2*k2 + 2*k3 + k4)
end

function euler(ht, t, d, f)
    return ht + d*f(ht, t)
end

function sample(lower, upper, d)
    t1 = rand() * (upper - lower) + lower
    t2 = t1 + d
    ht1, ht2 = h(t1), h(t2)
    return ht1, t1, ht2, t2
end

function sample_batch(lower, upper, d, num_samples)
    lower, upper, d = map(x -> repeat([x], num_samples), (lower, upper, d))

    sample_broadcast(l, u, disc) = vcat(sample(l, u, disc)...)

    out = sample_broadcast.(lower, upper, d)
    out = transpose(hcat(out...))
    return out[:,1], out[:,2], out[:,3], out[:,4]
end

struct CustomModel
    neuralnet
end

CustomModel() = CustomModel(
    Chain(
        Dense(2 => 32, tanh),
        [Dense(32 => 32, tanh) for _ in 1:5]...,
        Dense(32 => 1)
    )
)

function (m::CustomModel)(args::Float64...)
    out = m.neuralnet(vcat(args...))
    return out[1]
end
@functor CustomModel

f_hat = CustomModel()

Output:

CustomModel(Chain(Dense(2 => 32, tanh), Dense(32 => 32, tanh), Dense(32 => 32, tanh), Dense(32 => 32, tanh), Dense(32 => 32, tanh), Dense(32 => 32, tanh), Dense(32 => 1)))
optim = Flux.setup(Flux.Adam(0.001), f_hat)
d = 0.01

losses = []
for i in 1:3000
    ht1, t1, ht2, t2 = sample_batch(T..., d, 256)
    loss(model) = mean((euler.(ht1, t1, d, Ref(model)) .- ht2).^2)
    loss, grads = Flux.withgradient(f_hat) do m
        loss(m)
    end
    Flux.update!(optim, f_hat, grads[1])
    push!(losses, loss)
end

Output:

┌ Warning: Layer with Float32 parameters got Float64 input.
│   The input will be converted, but any earlier layers may be very slow.
│   layer = Dense(2 => 32, tanh)
│   summary(x) = 2-element Vector{Float64}
└ @ Flux /Users/lionelpeer/.julia/packages/Flux/CUn7U/src/layers/stateless.jl:60
plt = plot(losses, xlabel="iterations", ylabel="loss", label="loss Euler", fmt=:png)

Output:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdeWBU1cE28OfcWTLZ95AQQgIk7DvIpihQ4IOKCEJBXzeKdakKatXqq9ZKpa9Wa+vSihWpintVsKAIgrIvoqiIgGDYw5qF7LPde8/3x51MJskEQsw2M8/vj/bOnTMzJ3MxT856hZQSREREoUpp7QoQERG1JgYhERGFNAYhERGFNAYhERGFNAYhERGFNAYhERGFNAYhERGFNAYhERGFNAYhERGFNAYhERGFtGALwg8++GDLli0NLKxpWrNWhtoIXugQwQsdIpr8QgdbEG7YsGHHjh0NLFxZWdmslaE2ghc6RPBCh4gmv9DBFoREREQXhEFIREQhjUFIREQhjUFIREQhjUFIREQhjUFIREQhjUFIREQhjUFIREQhjUFYza1j0Edqa9eCiIhalLm1K9CGuHTsLZatXQsiCkKVlZV79+5t7VoEvB49ekRERDT52zIIq0mGIBE1jzfffPORRx7p2LFja1ckgB09enT+/Pm33HJLk78zg5CIqNmpqvqrX/3qn//8Z2tXJIDdcccdqtoso1ccI6wm2SgkIgo9DMJqDEEiohDEIKwmJbOQiCjkMAirMQWJiEIQg7AGjhESEYUaBmE1bwpuOS1zSxmJREQhIaSD8E+7zG/l6t6Hsqp39M1cffVxBiERBadXX3315MmTTfVuuq7n1+RyueornJ+fv3Dhwqb66KYS0kFY6hZnfa6X9DlgHykRBasnn3zyyJEjTfVuBw8eTElJ6etjzZo19RU+ceLE/Pnzm+qjm0pIL6ivFXbeWaNMQSIKHW63WwhhNteIg4qKCovFYrVavWccDoeUMjw83O+bHDp0yGazNeLTHQ6H1WpVlNqtspKSkpiYGCFEI97zQoV0i1DKejOPUUhEQa+oqOiqq67KysrKyMiYNWtWRUUFgO+++6579+4DBw7MycmZPHkygNOnT1988cXdu3fv06dPTk6ObFhbYdSoURs3bjSOFyxYcOedd9YqsGfPnuHDh/fu3TsjI+Oxxx4zTt5222133313nz59unXrtn///qb6Sc8tpFuEtXh7RJmCRNTcjpTLn0pa4oOSw9EvwX+76sEHHzSZTEePHnW73b/85S+ffPLJxx9//IknnrjzzjuN3Dpx4gSAhQsX9u7de/PmzcYZv620hx56yGQyGccPPPBAUlJSWVmZ2+02zjgcjsrKSt/yLpdr6tSp8+fP/9WvflVaWjpq1KjBgwdPmjSpoqLis88+27x5c1pamq7rtT+meYR6EPpmnu9fOcxCImpWK47JJYdb4hd9Tox48WKT36eWL1/+0UcfmUwmk8l01113Pfroo48//nj79u3fe++99PT0sWPHtm/fHkBaWtqbb775+uuvT5w40ThTV1pamrdztVYvq19ff/11SUlJfHy8MaA4YMCA1atXT5o0CcC1116blpYGoG5/aTMJ6SCUdcJP+jtPRNTkfttD+W2PVh6cKioqSkpKMo6TkpIKCwsBPPHEEy+99NLzzz9/7bXX3nHHHU8//fSvf/1rq9X6/vvv33777RMmTHjnnXd8xw4Nc+bMOccYYd3e1DNnzmia9v777xsPzWZznz59jOPk5OQm+ekaLqSDELVahK1WCyKiVtC5c+ddu3Z16dIFwK5du7KzswHYbLa777777rvvPnr0aNeuXefMmdOxY8frr7/++uuvLy0tHTRo0OrVqy+//PLzvnlsbOzZs2eN49zc3FrPduvWzeVy/fWvf42Ojm7qH+uCMQhrPpT+zxMRBZ977733vvvus1qtdrv9T3/600svvQRg/vz5PXr0yMrK+u6772JiYpKTkxcuXGiz2bp163by5MmSkhIjL2tZsGCBt0f0sssu69u37+jRo59++unExMTdu3cvX7583LhxvuV79OhxxRVXTJs27f777w8PD9+xY0e3bt0mTJjQAj91XSEdhLVmjVanYP2zSYmIAt2sWbOMQbjf/OY3CQkJb7/9tsViee2118aPHw+gR48en3zySUFBQWZm5oYNG8LDw7t37/7OO++8//77ycnJS5Ys6datm++7xcXFGc1H75n+/fsD+P3vfw/g2WefHTJkyOLFi41+1+Tk5N/85jdGscWLF7/66quvv/663W7v3bt3z549AUyaNCkjI6OFvogqooETYQPF3Llzc3Jy5syZ05DCN6119Eyy3tvH001/olKmv63K31hu3qj1ihc7CuS8QUrn6JZYxULNqqysrC10v1Bza8sX+sUXX9y9ezdvzPtz3HHHHb169br99tub/EKH9DpCAGVu+dBX2ifHJOpMnNlbLIucrVYxIiJqGaEehH/6Rt9bjNP26gzk3FEi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jTfe+OKLLx4+fNjtdv/+9783zj/22GOnTp3Kzc1dvHjx7bffvn//fgAnTpyYNWvWzp07N23atG/fvnvvvbeZqn1eArg0VVQHIZOQiCjA+Q/CnTt3fv/998ax0+l89NFHJ06c+Mgjjzidzga+76JFi373u9+lpaVlZ2ffeuutr7zySq0CixcvHj169NixY6Oioh599NG33nrL4XDouv7vf//7kUceiY2NHTFixOTJk1999VUAM2fOvPrqq9u1a5eZmXnrrbd++eWXjf15/TNagQ2aNSogBMwN6UUlIqJA4D8Ip02b9sUXXxjH8+bNmz9/flFR0bPPPnvbbbc18H1//PHHvn37Gsd9+/bdt29frQL79u3r37+/cdynTx+73X7s2LH8/PyioqJ+/fqd44VffPHFRRdd1MBqXBDhMx2mvgIKoAiYq8qwQUhEFOjMdU9VVFQcOHBg5MiRAIwm2p133vn888+vWLFiypQpzz33XExMzLnfVNO0kpKS6Oho42FMTExBQUGtMkVFRb169TKOFUWJiooqLCx0u91CiKioKON8bGxsrRe+//77y5cv//bbb+v76G+++eaFF16YO3eu8TA8PPynn36KjY31W7iiokIIAc+6+LCK8nKnLqS0lJeX+y2vqhZdh65BSM9gYllZuernK6S2xXuhKbjxQoeIC7rQNpvNbD7Pr2k/TxvzVpKSkgB89913p0+fnjlzJoAxY8a43e7Dhw97m3r1MZlMsbGxpaWl3jdMTk6uVSYhIaGsrMw41jStvLw8KSkpOjpaSllWVmZEV3Fxse8LP/nkkzvvvHPlypXt27ev76MHDhw4c+bMOXPmnLuGBimlEboSANzR0VFmFYpwe5O4FotZM5uk2QSr2fOiqKiocAZhm+e90BTceKFDRJNfaD9do0lJSYqiHDhwAMAHH3wQHR1tdEVWVFQAaGAOd+3adffu3cbx7t27s7OzaxXIycn54YcfjOM9e/bYbLb09PTk5OT4+Hjved8Xrl69evbs2cuWLRswYMCF/pANd54F9cIzjhhn9ZzRm68qRETUIvwEodVqHTdu3B133PHYY4/961//mjJlitVqBfDDDz8oitKxY8eGvO/s2bOfffbZgoKCo0ePvvzyyzfddBMAKeW111578OBBADfccMOaNWs2btxot9v//Oc/X3PNNeHh4YqizJo164knnqio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0KFA07SJEyf63rPoHKZOnXr77befu0ywTZb56quv8vLyGrhx2qFDhzp16tTcVaJWxwsdInihQ8QFXehOnTp16XKeTTKCLQiJiIguCMcIiYgopDEIiYgopDEIiYgopDEIiYgopJkee+yx1q5D69i8efPnn39uMpmMmwNTICorK/v6669LSkpqXUS/F7e4uPijjz7au3dvx44dw8Kq7+r59ddfr1q1SlXV9PT0lqs6NZiUcseOHWvWrMnLy+vQoYPvxlr79+9fvnx5UVFRVlaWdzK92+1etWrV1q1bExMTY2JivIWPHDny3//+99SpU1lZWQ25WSu1sMrKyq1bt65fvz43NzcpKSkyMtL7VG5u7rJlywoLCzt16uS90Kqqrlq1asuWLYmJibGxsd7CR48e/eijj06ePNmpU6eGXmgZkn73u9916dLl1ltvTU1NffHFF1u7OtQYf/jDH6xWa1xc3MyZM33P+724R48ebd++/fTp06+44orOnTufOXPGOP/EE0906NDh1ltv7dix4+OPP97SPwM1wMyZM3v06HHDDTdceumlHTp0OHTokHH+ww8/TExMvOWWW/r06XPNNdcYJ91u96hRo4YNGzZ79uyEhIRNmzYZ57/44ouEhISbbrrpoosuGj9+vKZprfKz0Dk899xzl1566a9//esrrrgiNjZ27dq1xvmPPvooMTHx5ptv7tev34wZM4yTqqqOGTNm6NChxoXesGGDcX7dunUJCQmzZ88eOnTo2LFjVVVtyEeHYhAeO3bMZrMdO3ZMSrlp06bExES73d7alaILdvz48crKyscee8w3COu7uPfcc88NN9xglJkyZcq8efOklMXFxZGRkbt27ZJS/vjjjxEREUVFRa3wk9A55ebmeo8nT5581113SSl1Xe/Wrdt7770npSwuLk5MTPz666+llB999FHXrl0dDoeU8m9/+9uYMWOMF1588cX/+Mc/pJR2u71Tp06ffvppy/8g1HAPPvjg5MmTpZS6rvfo0eOtt96SUpaUlCQnJ3/55ZdSyuXLl3fp0sW40M8999xll11mvPDSSy997rnnpJQOhyM7O/vjjz9uyMeFYv/Ap59+Onjw4A4dOgC4+OKLrVbr1q1bW7tSdMHat28fHl77duSffvrpRRddVPfiLl++fPr06UaZadOmffzxxwDWrl2bkZHRu3dvAN26devS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" />
ht_rk = 0.0
ht_euler = 0.0
trace_rk = []
trace_euler = []
for t in T[1]:d:T[2]
    ht_rk = rk4(ht_rk, t, d, f_hat)
    push!(trace_rk, ht_rk)

    ht_euler = euler(ht_euler, t, d, f_hat)
    push!(trace_euler, ht_euler)
end

plot(collect(T[1]:d:T[2]), trace_rk, label="RK")
plot!(collect(T[1]:d:T[2]), trace_euler, label="Euler")
plt = plot!(t, h, xlabel=L"$t$", ylabel=L"$h(t)$", label=L"$\frac{1}{2}\sin(4\pi t)\log(t)$", fmt=:png)

Output:

<img src="data:image/png;base64,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" />

  1. He, Kaiming, et al. “Deep residual learning for image recognition.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2016. ↩︎

  2. Wikipedia. Euler method. https://en.wikipedia.org/wiki/Euler_method ↩︎ ↩︎

  3. Chen, Ricky TQ, et al. “Neural ordinary differential equations.” Advances in neural information processing systems 31 (2018). ↩︎ ↩︎

  4. Wikipedia. Runge-Kutta methods. https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods ↩︎