Neural Ordinary Differential Equation

今天给大家介绍一下刚刚拿到NIPS2018 best paper的多伦多大学做的Neural ODE的想法

Chen, Tian Qi, et al. "Neural Ordinary Differential Equations."arXiv preprint arXiv:1806.07366(2018).

新闻报道:NeurIPS 2018最佳论文出炉:UT陈天琦、华为上榜

下面我整理一下这个方向——把ode和神经网络建立联系的一系列工作的的脉络

这里我都放了arxiv的发表时间让大家自行justify contribution

开始之前我先安利一下自己的观点

图像处理有三类最成功的算法【nonlocal更多是一个idea我就不放进来了】

微分方程

压缩感知、稀疏表示

深度学习

每个的出发点不一样,但是有着联系,我们可以从一块中找到idea promote另一块

这篇blog主要讲微分方程和深度学习的关系

另外两种联系的参考文献可以看我主页的slide:about.2prime.cn/slide/d

在开始之前安利一下

这方面【利用深度学习和数值微分方程结合】最早的文章我觉得应该是

Chen, Yunjin, and Thomas Pock. "Trainable nonlinear reaction diffusion: A flexible framework for fast and effective image restoration."IEEE transactions on pattern analysis and machine intelligence39.6 (2017): 1256-1272.

这篇文章是CVPR2015 oral也是去燥的benchmark算法之一的TNRD

从learn pde出发设计网络,独立于resnet 提出了residual结构【惨啊。。。做一个分类就能多多少引用【x】】

【off topic一下下】

在学习pde处理图像也有很多

朱松纯老师97年就提出的Prior learning and Gibbs reaction-diffusion【learning一个variation pde

gilboa 2004年的Estimation of Optimal PDE-based Denoising in the SNR Sense【主要优化stopping time和正则项系数

林宙辰老师eccv2010年的Learning PDEs for Image Restoration via Optimal Control【learn的更general


2007年lipson 在pnas上也有通过学习自动发现pde的工作Automated reverse engineering of nonlinear dynamical systems.

【我们回来】

我们在深度学习下也对深度学习没有关注doffusion停止时间【翻译成深度学习的话就是深度】的问题进行了修正

Xiaoshuai Zhang*, Yiping Lu*, Jiaying Liu, Bin Dong. "Dynamically Unfolding Recurrent Restorer: A Moving Endpoint Control Method for Image Restoration" preprint(*equal contribution)

更新 我们的文章被ICLR2019接受啦

我们最后学出来一个类似filter的东西 可以处理所有噪声级别的图片



我们从简单 resnet我可以写成

X_{n+1}-X_n=f(X_n)

这个左边项把n理解成artificial time的话可以看成求导

\dot X=f(X)

所以我们把resnet理解成求解ODE

这个想法最早在鄂老师的一个proposal里提到了

Weinan, E. "A proposal on machine learning via dynamical systems."Communications in Mathematics and Statistics5.1 (2017): 1-11.

我们相近时间的一个工作

Lu, Yiping, et al. "Beyond finite layer neural networks: Bridging deep architectures and numerical differential equations."arXiv preprint arXiv:1710.10121(2017).【发表icml2018】

把这个观点推广到了更多的网络

我们把网络都理解成对一个ODE的离散化,在我们的paper里对各种net都给了ode的解释

ResNet- ODE的前向欧拉格式

PolyNet- ODE的反向欧拉格式的逼近

FractalNet-ODE的Runge-Kutta 格式

【格式的意思是用一个离散的序列逼近一个连续的动力系统】

上面的理解的理论上也有保证,有人利用TL_p空间下对数值格式证明gamma收敛的手段给出了分析

Thorpe, Matthew, and Yves van Gennip. "Deep Limits of Residual Neural Networks."arXiv preprint arXiv:1810.11741(2018).

这样ode方面的稳定性分析也可以对神经网络做了

Zhang, Linan, and Hayden Schaeffer. "Forward Stability of ResNet and Its Variants."arXiv preprint arXiv:1811.09885(2018).

同时针对deep learning setting,鄂老师团队把optimal control 修改成了mean field version以期望从中解决deep learning generalization的问题

Han, Jiequn, and Qianxiao Li. "A mean-field optimal control formulation of deep learning."arXiv preprint arXiv:1807.01083(2018).

我们文章的另一个贡献是把dropout的分析也放进了这个框架

我们发现各种dropout都可以理解为一个随机微分方程的离散化

我们的神经网络建模多了一个随机的布朗运动

\dot X=f(X_t)dt+g(X_t)dW_t

更加神奇的是我们用数值格式收敛推荐推导出来了stochastic depth深度变深要概率趋于1/2和他们实验一致

杜强老师把nonlocal PDE与nonlocal nn建立了联系后,提出了一种更加稳定的nonlocal block在分类任务上得到了更好的效果

//因为我们做数学的没有卡,所以如果有人试试看这种block在视频有没有boost也很有意思

Tao, Yunzhe, et al. "Nonlocal Neural Networks, Nonlocal Diffusion and Nonlocal Modeling."arXiv preprint arXiv:1806.00681(2018).

【发表在今年nips】

基于上面的观察

我们发现没有人在深度学习运用多步法的格式,也就是说大家都在考虑对右端项的逼近

所以我们文章采用了多步法,从另一个维度我们换了逼近 \dot X ,用了线性多步法也就是我们的网络架构是

X_n = kX_{n-1}+(1-k)X_{n-2}+f(X_{n-1})

就这么每层引入一个参数就提升了网络效果,我们56层网络效果和110层的resnet效果一样

特别像强调的是请大家看下我们“”Explanation on the performance boost via modified equations.“”这一部分,这一部分的release了一个很high level的idea

我之前也写过文章,优化也可以用ode来看

优化算法新观点

我们想强调步长->0来看可能很多时候是无法理解加速效果的,因为在极限意义下逼近的动力系统和离散的会有gap,有时候是有好处的【比如我们的例子】,有时候是有坏处的【推荐一篇最近的这个方向文章我很喜欢,有时间我介绍下Direct Runge-Kutta Discretization Achieves Acceleration

我们的分析手段是所谓的修正方程

同样还有在方程右端项下功夫设计的

Chang, Bo, et al. "Reversible architectures for arbitrarily deep residual neural networks."arXiv preprint arXiv:1709.03698(2017).

我们还反过来用神经网络去发现数据underlying的物理规律

Long, Zichao, et al. "PDE-Net: Learning PDEs from Data."arXiv preprint arXiv:1710.09668(2017).

我们工作里发现卷积核和逼近微分算子 u_x 数值格式很类似【这个也是传统cv里面边缘提取算子的想法】,给了卷积和数值格式的联系,我们的好处是

  • 我们不希望是black box model我们可以知道我们的网络在simulate什么pde【有些应用肯定是不希望用black box的】
  • 同时不想传统pde,又慢又没有精度

而且做了data driven的格式有很多很惊人的地方,比如用很简单的差分格式就handle了highly nonlinear的equation,我觉得之前我都不敢想象


同时我们的learning problem可以刻画成了一个控制问题

控制可以理解成限制优化问题,就是约束条件是一个ode

我们可以利用控制中的算法进行求解

Li, Qianxiao, et al. "Maximum principle based algorithms for deep learning."The Journal of Machine Learning Research18.1 (2017): 5998-6026.

在他们文章中有趣的是bp算法是他们的特例【一个maximal principle改成梯度上升】

但是bp算法没法解决的量化神经网络缺可以被他们的算法解决

Li, Qianxiao, and Shuji Hao. "An Optimal Control Approach to Deep Learning and Applications to Discrete-Weight Neural Networks."arXiv preprint arXiv:1803.01299(2018).【发表icml2018】

同样有用multigrid算法来解的

Chang, Bo, et al. "Multi-level residual networks from dynamical systems view."arXiv preprint arXiv:1710.10348(2017).


最近火起来的就是这个观点在generative models里的应用

Chen, Tian Qi, et al. "Neural Ordinary Differential Equations."arXiv preprint arXiv:1806.07366(2018).

【ps作者iclr有一个更新版也很有意思 安利一下】

这篇文章第一次把这个观点用到了normalizing flow

把以前O(n^3)的计算量降低到O(n),代价是引入了一个ode求解器

Zhang, Linfeng, and Lei Wang. "Monge-Amp\ere Flow for Generative Modeling."arXiv preprint arXiv:1809.10188(2018).

这篇则是从optimal transport角度出发

optimal transport也是一个control problem,这个就比较深刻。。。以后有机会写文章介绍下

这篇文章很有意思,这篇文章我的理解其实更多是ising model的一个快速采样算法

类似还有和 lddmm【一个医疗图像配准模型】结合的normalizing flow算法

Salman, Hadi, et al. "Deep Diffeomorphic Normalizing Flows."arXiv preprint arXiv:1810.03256(2018).

编辑于 2019-02-03

文章被以下专栏收录