铜灵 发自 凹非寺
量子位 出品 | 公众号 QbitAI
还记得NeurIPS 18的最佳论文Neural Ordinary Differential Equations(后简称NeuralODE)吗,最近,有一个小哥用TensorFlow实现了它。
今天,小哥kmkolasinski一口气抛出了NeuralODE的复现代码、Jupyter notebook笔记,还放出了56页的PPT,具体讲解了论文思路与求解方法,简洁清晰,在Reddit上引发热烈讨论。
来看具体实现过程。
啥是NeuralODE
这项研究来自多伦多大学向量研究所,一作陈天琦为华裔,本硕毕业于加拿大不列颠哥伦比亚大学,目前在多伦多大学读博。
在论文中,陈天琦等提出了一种新的深度神经网络模型家族:NeuralODE,它能进行自适应评估,并可以在控制计算速度和准确度之间进行权衡。
另外,NeuralODE也可以应用于时间序列建模、监督学习、密度估计中。
陈天琦等人研究了黑盒常微分方程(ODE)求解器作为模型组件,展此外,NeuralODE还可以应用于时间序列建模、监督学习、密度估计。
最后,作者推导了变量公式变化的瞬时版本,并开发了连续归一化流程,而且可以拓展到更大的层尺寸。
就是这篇论文,在4856篇NeurIPS 2018投稿中脱颖而出,成为4篇最佳论文之一。
就是这么厉害的研究,已经被小哥kmkolasinski实现了。
实现过程
在PPT和Jupyter Notebook中,小哥先解释了什么是ODE。ODE通常被用来描述很多动力系统,比如放射性衰变问题。
用放射性衰变的案例,小哥进行了详细解释。
然后,kmkolasinski继而展示了如何求解这个方程,也就是如何实现简单的黑盒求解器。
针对在神经网络提出问题函数的情况下,小哥对如何整合ODE进行了详细的解读。
以及用Adjoint方法Naive Approach两种方法计算梯度的优劣。
最后,小哥还推导了连续归一化流。
具体的实现代码可以在GitHub repo中找到,作者表示,只实现了几个求解积分的方法,包括简单的Euler和Runge-Kutta方法的高阶变种,即RK2和RK4。
讲解细致,代码也并不复杂,接下来就看你了~
传送门
GitHub地址:
https://github.com/kmkolasins...
PPT地址:
https://docs.google.com/prese...–YqRiXKjkydmoawYOk5e09eCCJvwzrmCLltMIdxDX7r20XEdZUmY6Y-wb1435EtdKYJMR5kKaT/pub?start=false&loop=false&delayms=3000&slide=id.g5284a8f4fd\_0\_106
论文地址:
https://arxiv.org/abs/1806.07366
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ’ᴗ’ ի 追踪AI技术和产品新动态
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。