中文

ANODE:面向神经 ODE 的无条件精确且内存高效的梯度方法

机器学习 2019-07-02 v3

摘要

残差神经网络可视为时间步长为 1 的常微分方程(ODE)的前向欧拉离散化。这近来促使研究者探索其他离散化方法并训练基于 ODE 的网络。然而,神经 ODE 的一个重要挑战是在梯度反向传播期间高昂的内存开销。近期文献[8]提出的方法声称,通过随时间反向求解前向 ODE,可将此内存开销从 O(LN_t)(其中 N_t 为时间步数)降至 O(L)(L 为网络深度)。但我们将表明该方法可能导致若干问题:(i) 对于 ReLU/非 ReLU 激活函数及一般卷积算子,其可能在数值上不稳定;(ii) 所提出的先优化后离散化方法可能因小时间步长下梯度不一致而导致发散训练。我们讨论了潜在问题,并为此提出 ANODE——一种基于伴随(adjoint)的神经 ODE 框架,其避免了上述数值不稳定性相关问题,并提供无条件精确的梯度。ANODE 的内存占用为 O(L) + O(N_t),计算成本与反向求解 ODE 相同。此外,我们讨论了一种内存高效算法,可通过额外计算成本的权衡进一步降低该占用。我们在 Cifar-10/100 数据集上使用 ResNet 与 SqueezeNext 神经网络展示了结果。

关键词

引用

@article{arxiv.1902.10298,
  title  = {ANODE: Unconditionally Accurate Memory-Efficient Gradients for Neural ODEs},
  author = {Amir Gholami and Kurt Keutzer and George Biros},
  journal= {arXiv preprint arXiv:1902.10298},
  year   = {2019}
}