【论文夜读】陈天琦神作Neural Ordinary Differential Equations(NuerIPS2018最佳paper)

【论文夜读】陈天琦神作Neural Ordinary Differential Equations(NuerIPS2018最佳paper)

在最近结束的 NeruIPS 2018 中,来自多伦多大学的陈天琦等研究者成为最佳论文的获得者。在与机器之心的访谈中,陈天琦的导师 David Duvenaud 教授谈起这位学生也是赞不绝口。Duvenaud 教授认为陈天琦不仅是位理解能力超强的学生,钻研起问题来也相当认真透彻。他说:「天琦很喜欢提出新想法,他有时会在我提出建议一周后再反馈:『老师你之前建议的方法不太合理。但是我研究出另外一套合理的方法,结果我也做出来了。』」Ducenaud 教授评价道,现如今人工智能热度有增无减,教授能找到优秀博士生基本如同「鸡生蛋还是蛋生鸡」的问题,顶尖学校的教授通常能快速地招纳到博士生,「我很幸运地能在事业起步阶段就遇到陈天琦如此优秀的学生。」


本文的精粹

最近慢慢涌现了一些对该文的解读,而我主要从定理推导的角度谈谈这篇文章的一些精粹:比如文中关于一个导数计算的变量变元定理(它将一个不太容易计算的梯度 ∂ log ⁡ p ( t ) ∂ t \frac{\partial \log p(t)}{\partial t} tlogp(t)转化为了好计算的梯度 − t r ( d f d z ( t ) ) -tr( \frac{d f}{d z}(t)) tr(dzdf(t)));

在这里插入图片描述


本文的核心内容复习

在这里过一下这篇论文说了啥:大概就是根据常微分方程ODE的启发引入了一种新型的神经网络ODE Net,区别于过去的多个离散层的神经网(文中用ResNet作对比).总体来说是一篇比较偏理论,逻辑完善推导严密的论文;

常规的 ResNet 的层迭代相当于: h t + 1 = h t + f ( h t , θ t ) h_{t+1} = h_t + f(h_t, \theta_t) ht+1=ht+f(ht,θt);
这等价于一个微分方程的 Euler 迭代求解,如果用更多的层数和但更小的步长,可以优化为:
d h ( t ) d t = f ( h ( t ) , t , θ ) \frac{dh(t)}{dt} = f(h(t), t, \theta) dtdh(t)=f(h(t),t,θ)

这里就是论文的全部核心idea了,剩下的问题是如何用于网络训练.对于训练,作者展示了如何在不涉及任何特殊ODE求解器内部操作的情况下(意思是所有的微分方程采样一种通用的办法求解),可扩展地反向传播.这允许在更大的模型中对ODE进行端到端训练.


梯度变元定理

  • 定理:Let x ( t ) x(t) x(t) be a finite continuous random variable with probability p ( x ( t ) ) p(x(t)) p(x(t)) dependent on time.Let d x d t = f ( x ( t ) , t ) \frac{dx}{dt} = f(x(t), t) dtdx=f(x(t),t) be a differential equation describing a continuous-in-time transformation of x ( t ) x(t) x(t).Assuming that f f f is uniformly Lipschitz continuous in x x x and continuous in t t t, then the change in log probability also follows a differential equation(这是一堆众所周知的前提条件,可以跳过):

∂ log ⁡ p ( z ( t ) ) ∂ t = − t r ( d f d z ( t ) ) \frac{\partial \log p(z(t))}{\partial t} = -tr(\frac{d f}{d z}(t)) tlogp(z(t))=tr(dzdf(t))

这里讲讲证明的核心思想,首先,将 ϵ \epsilon ϵ时长后的 z z z值表达为: z ( t + ϵ ) = T ϵ ( z ( t ) ) z(t+\epsilon) = T_\epsilon({z}(t)) z(t+ϵ)=Tϵ(z(t)),然后容易推导出:

∂ log ⁡ p ( z ( t ) ) ∂ t = − t r ( lim ⁡ ϵ → 0 + ∂ ∂ ϵ ∂ ∂ z T ϵ ( z ( t ) ) ) \frac{\partial\log p({z}(t))}{\partial t}=-tr( \lim_{\epsilon\rightarrow 0^+} \frac{\partial }{\partial \epsilon} \frac{\partial }{\partial {z}} T_\epsilon({z}(t))) tlogp(z(t))=tr(ϵ0+limϵzTϵ(z(t)))

然后对 T ϵ ( z ( t ) ) T_\epsilon({z}(t)) Tϵ(z(t))作泰勒展开即可:

∂ log ⁡ p ( z ( t ) ) ∂ t = − t r ( lim ⁡ ϵ → 0 + ∂ ∂ ϵ ∂ ∂ z ( z + ϵ f ( z ( t ) , t ) + O ( ϵ 2 ) + O ( ϵ 3 ) + …   ) ) \frac{\partial\log p({z}(t))}{\partial t}= -tr ( \lim_{\epsilon\rightarrow0^+} \frac{\partial }{\partial \epsilon} \frac{\partial }{\partial {z}} ( {z} + \epsilon f({z}(t), t) + \mathcal{O}(\epsilon^2) + \mathcal{O}(\epsilon^3) + \dots ) ) tlogp(z(t))=tr(ϵ0+limϵz(z+ϵf(z(t),t)+O(ϵ2)+O(ϵ3)+))
= − t r ( lim ⁡ ϵ → 0 + ∂ ∂ ϵ ( I + ∂ ∂ z ϵ f ( z ( t ) , t ) + O ( ϵ 2 ) + O ( ϵ 3 ) + …   ) ) = -tr ( \lim_{\epsilon\rightarrow0^+} \frac{\partial }{\partial \epsilon} ( I + \frac{\partial }{\partial {z}}\epsilon f({z}(t), t) + \mathcal{O}(\epsilon^2) + \mathcal{O}(\epsilon^3) + \dots ) ) =tr(ϵ0+limϵ(I+zϵf(z(t),t)+O(ϵ2)+O(ϵ3)+))
= − t r ( lim ⁡ ϵ → 0 + ( ∂ ∂ z f ( z ( t ) , t ) + O ( ϵ ) + O ( ϵ 2 ) + …   ) ) = -tr ( \lim_{\epsilon\rightarrow0^+} (\frac{\partial }{\partial {z}} f({z}(t), t) + \mathcal{O}(\epsilon) + \mathcal{O}(\epsilon^2) + \dots ) ) =tr(ϵ0+lim(zf(z(t),t)+O(ϵ)+O(ϵ2)+))
= − t r ( ∂ ∂ z f ( z ( t ) , t ) ) = -tr ( \frac{\partial }{\partial {z}} f({z}(t), t)) =tr(zf(z(t),t))


一点八卦

但是我们隐约感觉修过ODE的工科生貌似不难想到这个idea,果然,有人称,这个idea是之前有人想到的:

知乎上一个人之前的idea

知乎上一个人的看法

谁是谁非,大家自己判断吧;

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 神经常微分方程(Neural Ordinary Differential Equations)是一种新兴的深度学习模型,它将神经网络与常微分方程相结合,可以用来建模时间序列数据和动态系统。相比于传统的神经网络,神经常微分方程可以更好地处理长期依赖和非线性动态系统,并且具有更好的可解释性。该模型已经在图像处理、自然语言处理和物理学等领域取得了很好的效果。 ### 回答2: 神经普通微分方程(neural ordinary differential equations,N-ODEs)是近年来机器学习领域中受到广泛关注的一种新兴模型。N-ODEs 将神经网络扩展为连续时间模型,通过时间连续的方式对神经网络进行了建模,从而在某些应用领域中表现出了很强的优势。 相对于离散时间模型,连续时间模型更符合许多现实世界问题的本质特征,尤其是一些物理系统模型和理论计算模型中。 然而,一般的微分方程模型很难适应复杂的高维数据和非线性问题的建模,在这种情况下,神经网络作为一种现代的高效模型可以解决这种问题。于是N-ODEs的提出,使得神经网络可以被用来解决更多不同类型的问题。 N-ODEs 的核心思想在于将神经网络转换为一个具有时间特性的连续时间模型,即在神经网络连接权重的基础上引入时间变量t。这使得神经网络每个神经元的输入输出和权重的调整都与时间有关。在连续时间模型中,每个神经元都被表示为一个微分方程,而整个神经网络则被表示为多个微分方程联立。这样就将神经网络的拓扑结构和连续时间特性融合在一起。这使得N-ODEs在建模一些非线性、高维的问题时具有比传统神经网络更好的表现力和泛化能力。 N-ODEs 的引入为解决复杂问题提供了一个新的思路,也为神经网络和微分方程研究提供了一个新的方向。它在一些应用领域的表现,如物理模型场景下的建模,证明了它的潜力和可行性。但它也存在一些缺点,如计算效率较低、训练模型的复杂度较高等。因此,继续在N-ODEs理论和应用的相关研究中深入探讨N-ODEs的优化和推广,展望N-ODEs成为更加强大的建模工具。 ### 回答3: 神经常微分方程(Neural Ordinary Differential Equations,简称 NODEs)是一种用于建模复杂神经网络的方法。与传统的深度神经网络不同,NODEs使用常微分方程(Ordinary Differential Equations,简称ODEs)来描述神经网络内部的动力学过程和状态变化。 NODEs的基本思想是将一个复杂的神经网络模型转化为一个连续的、非线性的微分方程,通过求解微分方程得到神经网络的输出。这种方法的优点是能够减少网络的参数数量,提高模型的稳定性和泛化性能。NODEs还能够对数据进行连续时间处理,可以通过微分方程来模拟神经网络的动态过程,更好地理解神经网络的内在变化。 NODEs的理论基础是 ODE神经网络,ODE神经网络是一个使用ODE来表达层之间非线性映射的深度神经网络。将每个神经网络层的输入输出视为ODE函数的参数和值,在通过求解ODE函数的过程中获得输出值。相比于传统的神经网络结构,ODE神经网络能够更好的处理时间序列数据,同时具有更好的可解释性。 NODEs与ODE神经网络的不同在于,NODEs的输出不仅仅是一个函数值,而是整个ODE函数本身。这样,NODEs能够将每个神经网络层的输入输出对应为ODE函数的初始条件和解。通过不断求解ODE模型,得到的连续函数可以方便地应用于各种实际问题,从而极大地扩展了神经网络在科学研究和工程应用方面的应用范围。 总的来说,NODEs代表了对神经网络模型的一种新的理解和描述方法,它不断拓展着神经网络在理论研究和应用领域的应用空间。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值