Neural Ordinary Differential Equations

1. Summary

  • Memory efficiency: Not storing any intermediate quantities of the forward pass allows us to train our models with constant memory cost as a function of depth, a major bottleneck of training deep models.

  • Adaptive computation: Modern ODE solvers provide guarantees about the growth of approximation error, monitor the level of error, and adapt their evaluation strategy on the fly to achieve the requested level of accuracy. This allows the cost of evaluating a model to scale with problem complexity.

  • Parameter efficiency: When the hidden unit dynamics are parameterized as a continuous function of time, the parameters of nearby “layers” are automatically tied together which reduces the number of parameters required on a supervised learning task.

  • Scalable and invertible normalizing flows: the change of variables formula becomes easier to compute therefore it can avoid the single-unit bottleneck of normalizing flows, and can be trained directly by maximum likelihood.

2. Feedforward structure

This paper introduce a new family of deep neural network models. Instead of a series of discrete hidden layer, as

the deep neural network can be parameterized by a continuous dynamics of hidden units using an ordinary differential equation scheme

Therefore, the traditional network can be seen as this function . And the feedforward step can be solved by a black-box differential equation solver.

3. Backpropogate scheme

The backpropogation step is as follows. Consider the loss function,

Using adjoint sensitivity method,

this can be solved by a ODE solver once we know for any . This can be done by using a ODE solver of

with initial value . With the knowledge of , the gradient can be obtained by

still can be done by a ODE solver. All integrals for solving , and can be computed in a single call to an ODE solver, which concatenates the original state, the adjoint, and the other partial derivatives into a single vector. Therefore, each step in the ODE solver, once we get , we can therefore obtain and afterwards, the gradient.

results matching ""

    No results matching ""