NeurIPS18最佳论文NeuralODE,现在有了TensorFlow实现 | 附56页讲解PPT
复现代码、Jupyter notebook笔记、56页讲解PPT一应俱全
铜灵 发自 凹非寺
量子位 出品 | 公众号 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/kmkolasinski/deep-learning-notes/tree/master/seminars/2019-03-Neural-Ordinary-Differential-Equations
PPT地址:
https://docs.google.com/presentation/d/e/2PACX-1vQSh–YqRiXKjkydmoawYOk5e09eCCJvwzrmCLltMIdxDX7r20XEdZUmY6Y-wb1435EtdKYJMR5kKaT/pub?start=false&loop=false&delayms=3000&slide=id.g5284a8f4fd_0_106
论文地址:
https://arxiv.org/abs/1806.07366
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ’ᴗ’ ի 追踪AI技术和产品新动态
- 微软公布19财年财报:净利润增长22%,云计算首超个人计算业务2019-07-19
- 腾讯云推出物联网边缘计算平台,具备五大特点,想攻克物联网落地难题2019-08-28
- DeepMind医疗业务几经动荡,现在团队并入Google2019-09-20
- 首例基因编辑干细胞治疗艾滋病:北大邓宏魁参与,达最佳治疗效果2019-09-14