Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

被誉为「教科书」,牛津大学231页博士论文全面阐述神经微分方程,Jeff Dean点赞

牛津大学的这篇博士论文对神经微分方程(NDE)展开了全面细致的研究。论文作者表示,他希望这篇论文可以吸引到对深度学习与动力学系统结合感兴趣的读者,并希望为当前的 SOTA 研究提供有益的参考。

机器学习(ML)领域,动力学系统与深度学习的结合已经成为研究社区感兴趣的课题。尤其是对神经微分方程(neural differential equation, NDEs)而言,它证明了神经网络和微分方程是「一枚硬币的正反面」。

传统的参数化微分方程是特例,残差网络和循环网络等很多流行的神经网络架构呈现离散化。神经微分方程能够提供高容量的函数近似,在模型空间上表现出强先验,有能力处理不规则数据,还具有很高的内存效率。

神经微分方程尤其适用于解决物理、金融等领域的生成问题、动力学系统和时间序列问题,因此现代机器学习和传统数学建模中都乐于使用它。

近日,一篇专门探讨神经微分方程的博士论文《 On Neural Differential Equations》吸引了领域内研究者的注意,谷歌 AI 负责人、知名学者 Jeff Dean 也点赞推荐。这篇论文的 examiner 甚至褒赞它为「神经微分方程的教科书」。

论文作者为牛津大学数学研究所的博士生 Patrick Kidger,他的主要研究兴趣在于神经微分方程以及更广泛的深度学习和时间序列。他希望这篇论文可以吸引到任何对深度学习与动力学系统结合感兴趣的读者,并希望为当前的 SOTA 研究提供有益的参考。


论文地址:https://arxiv.org/pdf/2202.02435.pdf

这篇博士论文的主要内容包括如下:

  • 神经常微分方程(neural ordinary diffeqs):用于学习物理系统,作为离散架构的连续时间限制,包括对可表达性的理论结果;

  • 神经受控微分方程(neural controlled diffeqs):用于建模时间序列函数、处理不规则数据;

  • 神经随机微分方程(neural stochastic diffeqs):用于从复杂的高维随机动态中采样;

  • 数值法(numerical methods):一类新的可逆微分方程求解器或布朗重建(Brownian reconstruction)问题。

此外,这篇论文还涉及了其他一些主题,比如用于动力学系统的符号回归(如通过正则化演化)、深度隐式模型(如深度均衡模型、可微优化)。

在回答网友的提问「为什么神经微分方程如此重要」时,作者表示,「神经微分方程将当前使用的两种主流建模方法——神经网络和微分方程结合在一起,为我们提供了很多在神经网络和微分方程中使用得很好的理论,并在物理、金融、时间序列和生成建模等领域获得了直接的实际应用。」

机器之心对该论文的核心内容进行了简要介绍。


论文概览

阅读这篇论文需要掌握的预备知识包括常微分方程(ODE)和深度学习的基础知识。论文中归纳神经微分方程的 4 个主要应用为:

  • 物理建模;

  • 时间序列;

  • 生成式建模;

  • 一种开发深度学习模型的策略:取适当的微分方程并将其离散化。

神经微分方程提供了一种两全其美的方法。类似于神经网络的结构提供了高容量的函数近似和易于训练的性能。类似于微分方程的结构则通过易于理解和久经考验的理论文献为模型空间、内存效率和理论理解提供了强有力的先验知识。相对于经典微分方程理论,神经微分方程本质上具有前所未有的建模能力。相对于现代深度学习,神经微分方程提供了一个关于「什么是好的模型」的连贯理论。

此外,该论文从历史演变的角度阐述了神经微分方程诞生的思路演变过程。



神经常微分方程

目前最常见的神经微分方程是一种神经常微分方程(neural ODE):

通常这个方程需要考虑两方面的问题:(1) 方程解是否存在且唯一;(2) 评估与训练。

与非微分方程的模型相比,这里存在两个额外的问题:

  • 需要获得该微分方程的数值解;

  • ODEnet 的反向传播,即通过解常微分方程直接把梯度θ求出来。

现在已经有标准方法和工具可以解决这两个问题,使得研究者能专注于构建模型架构本身的任务。

神经常微分方程的应用主要包括以下几方面:

  • 图像分类

  • 带有归纳偏置的物理建模;

  • 连续归一化流;

  • 潜在 ODE;

  • 残差网络。

论文中详细讲解了几种参数化选择,包括神经架构、非自主性和增强,并对比阐述了非增强型神经常微分方程和增强型神经常微分方程的近似属性。


神经受控微分方程

第三章论文从循环神经网络的连续时间限制的角度介绍了神经受控微分方程。这对于研究 RNN 或时间序列的人来说非常有用;也适合路径理论、控制理论强化学习的研究者阅读。

这一章论文首先介绍了受控微分方程(CDE)、神经矢量场、求解 CDE、正则时间序列的应用,然后讨论并总结了神经 CDE 的几个优点。

论文中归纳神经 CDE 的几种应用包括:不规则时间序列、RNN 和离散神经 CDE、长时间序列和粗糙微分方程(rough differential equations)、训练神经 SDE。

在理论属性方面,该论文讲解了通用近似、与 ODE 模型的比较、不变性几方面的理论。在参数化选择部分,论文介绍了神经架构与门控程序、状态 - 控制 - 矢量场相互作用两个方面。最后该论文从理论条件、插值点的选择、实际应用案例几方面讲解了插值方案的内容。


神经随机微分方程

本章共分为 6 个小节,主要包括随机微分方程的介绍、结构、训练标准、参数选择、示例展示以及评论。

随机微分方程(SDE)已广泛应用于模拟现实世界的随机现象,例如粒子系统 、金融市场、人口动态和遗传学 。它们是常微分方程 (ODE) 的自然扩展,用于对在连续时间中受不确定性影响的系统进行建模。

SDE 的动力学由一个确定性项和一个随机项组成,其形式如下:

SDE 的理论构建:SDE 是在理论基础上构建的,而且通常相对简单。一种通用且直接的方法是固定一个常数矩阵 σ,并将σ ◦ d_w(t) 添加到 ODE 模型中。 

校准 SDE:一旦选择 SDE 模型后,必须根据实际数据校准模型参数,可以通过以下方式来优化:


示例展示

布朗运动作为最简单的示例,考虑(单变量)布朗运动样本的数据集,初始条件为 Uniform[-1, 1]。数据集的每个元素都是沿单个布朗样本路径的时间序列观察到的。研究者训练了一个小的 SDE-GAN 来匹配初始条件的分布和时间演化样本的分布。

如图 4.3 所示,布朗运动可能看起来非常简单,但它突出了一类时间序列,这几乎是不可能用潜在 ODE 进行学习的(第 2.2.4 节)。布朗运动代表纯扩散,而潜在 ODE 代表纯漂移。


神经微分方程的数值解

本章共分为 7 个小节,主要内容包括通过 ODES 进行反向传播、通过 CDE 和 SDE 进行反向传播、数值求解器、实用技巧、布朗运动的数值模拟、应用软件以及评论。

训练神经微分方程意味着通过微分方程的解进行反向传播,通过 ODE 进行微分的方法有三种:离散后优化 – 此类方法内存效率低,但准确且快速;先优化再离散 – 此类方法内存效率高,但速度有点慢;可逆 ODE 求解器 – 此类方法内存高效且准确,但速度稍慢。一般来说,先离散再优化是首选方法。但是从内存限制来讲,可逆 ODE 求解器是最佳选择,如果前两者都不合适,那么就采用先优化后离散的方法,但这类方法通常是最不受欢迎的。

接下来文章介绍了更普遍的通过 CDE 和 SDE 进行反向传播。

先离散后优化:这与 ODE 示例完全相同——只需通过受控 / 随机微分方程求解器的内部操作进行微分,通常使用在自微分框架中编写的求解器。

CDE 的先优化后离散:这类方法有两种,可以为 CDE 构建连续伴随(continuous adjoint)方法。一种是将 CDE 简化为第 3 章中的 ODE,然后对 ODE 应用连续伴随方法。还有一种是构建一个时间倒退(backwards-in-time)的 CDE,然后通过简化为 ODE 或其他方式,以任何需要的方式进行数值求解。

可逆微分方程求解器:如第 3 章所述,CDE 可以简化为 ODE,并且相应地可以应用于任何可逆 ODE 求解器。同时 SDE 有一个已知的可逆求解器,即可逆 Heun 方法。


数值求解器

神经网络表示非结构化向量场,这意味着许多更专业的微分方程求解器(为任何特定方程开发)都不适用,我们必须依赖通用求解器。

在通用求解器中,论文主要介绍了显式 Runge-Kutta 求解器,特别是 ODE 和 CDE,它们是一个流行的数值求解器家族,每种求解器都需要遵循通用原则。

除了通用求解器,在可逆求解器中,可逆求解器的反向传播如下表 1 所示。在可逆求解器中,需要局部前向来构建计算图,之后通过该计算图计算向量 - 雅可比积。


软件

用于神经微分方程的数值求解和训练的软件包目前已经进行了标准化,文中提供了几种选择供读者使用:

在 JAX 生态系统 [Bra+18] 的 Diffrax(第一个链接);在 PyTorch 生态系统 [Pas+19] 中的 torchdiffeq、torchcde 和 torchsde 系列库(2-5 链接);在 Julia [Bez+17] 生态系统中的 DifferentialEquations.jl(最后一个链接):

  • https://github.com/patrick-kidger/diffrax

  • https://github.com/rtqichen/torchdiffeq

  • https://github.com/patrick-kidger/torchcde 

  • https://github.com/google-research/torchsde 

  • https://github.com/DiffEqML/torchdyn 

  • https://github.com/SciML/DifferentialEquations.jl 


未来工作

在神经 ODE 方面,每年都会有数千篇论文,还有研究将非神经 ODE 应用于科学、金融、经济学等领域。相应地,目前比较重要的工作是将神经 ODE 应用于迄今为止仅应用非神经 ODE 的许多任务。

在神经 CDE 和 SDE 方面,神经 CDE 和神经 SDE 更新得比较快,但技术细节还需要完善:研究者需要找到向量场的表达选择,并确定如何有效地训练这些模型。与神经 ODE 一样,未来的另一个研究方向是它们在实际中的应用,或者如何将它们与非神经 CDE、SDE 相结合。

在神经 PDE 方面,例如,一个卷积网络大致相当于一个抛物型 PDE 离散化。[Li+20b; Li+20c; Li+21] 研究从傅里叶神经算子考虑,这可能是目前最成熟的接近神经 PDE 的理论研究。[SLG21] 中给出了神经随机偏微分方程的一些初步思考。在实践中,关于神经 PDE 的许多想法还尚未进行融合。但这代表了神经微分方程领域的一个主要研究方向。

更多细节内容请参考论文原文。


参考链接:

https://www.maths.ox.ac.uk/people/patrick.kidger

https://www.reddit.com/r/MachineLearning/comments/snmtzn/r_phd_thesis_on_neural_differential_equations/

理论博士论文牛津大学神经微分方程
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

Julia技术

Julia 是MIT设计的一个面向科学计算的高性能动态高级程序设计语言,项目大约于2009年中开始,2018年8月JuliaCon2018 发布会上发布Julia 1.0。据介绍,Julia 目前下载量已经达到了 200 万次,且 Julia 社区开发了超过 1900 多个扩展包。这些扩展包包含各种各样的数学库、数学运算工具和用于通用计算的库。除此之外,Julia 语言还可以轻松使用 Python、R、C/C++ 和 Java 中的库,这极大地扩展了 Julia 语言的使用范围。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

控制理论技术

控制理论是工程学与数学的跨领域分支,主要处理在有输入信号的动力系统的行为。系统的外部输入称为“参考值”,系统中的一个或多个变数需随着参考值变化,控制器处理系统的输入,使系统输出得到预期的效果。 控制理论一般的目的是借由控制器的动作让系统稳定,也就是系统维持在设定值,而且不会在设定值附近晃动。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
推荐文章
暂无评论
暂无评论~