[3]Tian Qi Chen, Yulia Rubanova, Jesse Bettencourt, and David K Duvenaud. 2018. Neural ordinary differential equations. In NeurIPS. 6572–6583.
NeruIPS 2018最佳论文,这篇论文涉及到大量的数学公式,不太懂的朋友们可以看看我这篇以及我在文章最后推荐的其他链接,多看就会慢慢明白的。
论文链接:https://arxiv.org/abs/1806.07366
GitHub链接:https://github.com/rtqichen/tor
一、ABSTRACT
我们引入了一种新的深度神经网络模型家族。我们没有指定一个离散的隐藏层序列,而是使用神经网络参数化隐藏状态的导数。该网络的输出是用一个黑盒微分方程求解器来计算的。这些连续深度模型具有恒定的内存成本,可以根据每个输入调整其评估策略,并可以明确地用数值精度换取速度。我们在连续深度剩余网络和连续时间潜变量模型中证明了这些特性。我们还构造了连续的归一化流,一个生成模型,可以通过最大似然进行训练,而不需要对数据维进行划分或排序。对于培训,我们展示了如何通过任何ODE求解器可伸缩地反向传播,而不访问其内部操作。这允许在更大的模型中对ODE进行端到端训练。
二、例子:自由下落的物体
本例子理解参考视频链接:https://www.youtube.com/watch?v=sIFnARdTVvE
对应文字解读链接:Zhenyue Qin:神经常微分方程 (Neural ODE):入门教程 和 的泼墨佛给克呢:Neural ODE(Ordinary Differential Equations)/神经常微分方程
具体的例子可以帮助我们理解抽象的概念。其中一个例子是自由下落物体。假设我们把一个物体从空中扔下来并想知道它在时间的速度。尽管我们不知道
,但我们知道
,也就是
。
我们的目标是找出速度如何随时间变化,因为我们需要了解这个才能解决微分方程。我们可以利用牛顿第二定律来解决问题,其形式为:
我们也知道加速度是速度随时间的变化率:
因此,我们可以使用上述方程,并将力表示为速度和时间的函数:
如果我们忽略空气摩擦,物体上的力仅仅是质量乘以一个常数:
然而,如果我们考虑空气摩擦,则相反的力依赖于物体的速度,并且与物体的运动方向相反。我们可以将这种相反的力表示为 ,其中
是摩擦常数。物体下落得越快,摩擦力就越强,这将减慢物体的速度。具有空气摩擦的自由落体物体的微分方程为:
这里,g 是重力加速度( ),
是物体的质量(假设为 1 千克)。该方程将速度(
)和时间(
)与速度的变化率(
)相关联。
现在,我们可以讨论如何解决与物体速度相关的微分方程。我们的目标是确定不同时间点物体的速度,例如 5、10 或 15 秒后的速度。为了实现这一目标,我们可以先考虑我们知道物体速度的时间点,比如 。我们可以将这个速度值代入我们的方程:
这将给我们在那个时刻的速度变化率。
当我们将 代入上述方程时,我们得到的速度变化率为零。这意味着当物体速度为
时,速度没有变化。我们可以在时间在x轴上,速度在y轴上的图表上可视化这个结果。
在图表上,我们可以看到如果初始速度为 ,那么随着时间的推移速度将保持不变。图表上的红色箭头代表每个时间步长中速度变化的速率,当速度为
时,箭头会收敛到零,表示在这个点上速度不再变化。
我们可以得出一个结论,如果速度高于 ,它将会减小并最终趋于
,如果速度低于
,它将会增加并最终趋于
。这是因为
是一个平衡速度,此时重力和空气摩擦力相互平衡,导致速度不再发生变化。
矢量场可以展示速度如何随时间变化,我们可以利用它来根据初始速度在不同时间点上计算速度。例如,如果我们把一个速度为的物体投掷,速度会随着时间的推移而增加,直到达到