0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

首个关于深度神经网络训练相关的理论证明

倩倩 来源:新智元 2020-04-17 11:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

谷歌AI最新发布的一篇论文给出了首个关于深度神经网络训练相关的理论证明,实验观察结果也为初步解释梯度下降强于贝叶斯优化奠定了基础。神经网络的理论面纱,正逐步被揭开。

原来,神经网络实际上跟线性模型并没那么大不同!

谷歌AI的研究人员日前在arxiv贴出一篇文章,给出了首个神经网络训练相关的理论证明。

实验中,他们将一个实际的神经网络训练过程与线性模型的训练过程相比,发现两者高度一致。这里用到的神经网络是一个wide ResNet,包括ReLU层、卷积层、pooling层和batch normalization;线性模型是用ResNet关于其初始(随机)参数的泰勒级数建立的网络。

将神经网络的训练过程与线性模型的相比,两者高度一致

在多个不同模型上试验并排除量化误差后,观察结果依旧保持一致。由此,谷歌AI研究人员得出结论,当学习率比较小且网络足够宽(不必无限宽)的时候,神经网络就是线性模型。

由此得出的一个推论是,使用梯度下降训练的大型网络集成能够用一个高斯过程描述,而且在梯度下降的任意时间都能用完备形式化描述这个高斯过程。

这些观察结果也构成了一个理论框架基础,可以用来初步解释长期以来困扰深度学习研究界的一个难题:梯度下降究竟在哪些情况下,具体是如何优于贝叶斯优化?

在训练深度神经网络被戏谑为“调参炼丹”的当下,这一发现犹如一道希望的强光,射进还被排除在“科学”之外的深度学习领域,激动人心。

相关论文:使用梯度下降训练的任意深度的Wide神经网络与线性模型的一致性

终于,调参不再是炼丹:首个关于神经网络训练的理论证明

基于深度神经网络的机器学习模型在许多任务中取得了前所未有的性能。通常,这些模型被认为是复杂系统,其中许多类型的理论分析是很棘手的。此外,由于控制优化的通常是高维的非凸损失平面(non-convex loss surfaces),因此要描述这些模型的基于梯度的训练动态机制具有挑战性。

就像在物理科学中常见的那样,研究这些系统的极限通常可以解释这些难题。对于神经网络来说,其中一个极限就是它的“无限宽度”(infinite width),指的是完全连接层中的隐藏单元数量,或卷积层中的通道数量。

在此限制下,网络初始化时的输出取自高斯过程(GP);此外,在使用平方损失进行精确贝叶斯训练后,网络输出仍然由GP控制。除了理论上的简单性,nfinite-width这一限制也具有实际意义,因为许多研究已经证明,更宽的网络可以更好地进行泛化。

在这项工作中,我们探索了梯度下降下宽的神经网络的学习动态机制(learning dynamics),并发现动态的权重空间描述变得非常简单:随着宽度变大,神经网络可以有效地被关于其初始化参数的一阶泰勒展开式(first-order Taylor expansion)取代。

对于这种诱导的线性模型,梯度下降的动态机制变得易于分析了。虽然线性化只在无限宽度限制下是精确的,但我们发现,即使是有限宽度的情况下,原始网络的预测与线性化版本的预测仍然非常一致。这种一致性在不同的架构、优化方法和损失函数之间都存在。

对于平方损失(squared loss),精确的学习动态机制允许封闭形式的解决方案,这允许我们用GP来描述预测分布的演化。这一结果可以看作是“先采样再优化”(sample-then-optimize)后验采样对深度神经网络训练的延伸。我们的经验模拟证实,该结果准确地模拟了具有不同随机初始化的有限宽度模型集合中预测的变化。

谷歌AI的研究人员表示,这篇论文的几大主要贡献包括:

首先,我们以 Jacot et al. (2018) 最近的研究成果为基础,该成果描述了在infinite width 限制下,整个梯度下降训练过程中网络输出的精确动态。他们的结果证明了参数空间的梯度下降对应于函数空间中关于新核的核梯度下降(kernel gradient descent),即Neural Tangent Kernel (NTK)。

我们工作的一个关键贡献是证明了参数空间中的动态等价于所有网络参数、权重和偏差集合中的仿射模型的训练动态。无论损失函数的选择如何,这个结果都成立。在平方损失的情况下, dynamics允许一个封闭形式的解作为时间函数。

无限宽(infinitely wide)神经网络初始化时的输出是高斯的,并且如Jacot et al.(2018)中所述,平方损失在整个训练过程中始终是高斯的。我们推导了该GP的均值和协方差函数的显式时间依赖表达式,并为结果提供了新的解释。

具体来说,该解释对梯度下降与参数的贝叶斯后验采样的不同机制提供了一种定量理解:虽然这两种方法都取自GP,但梯度下降不会从任何概率模型的后验生成样本。

这一观察结果与(Matthews et al.,2017)的“先采样后优化”(sample-then-optimize)框架形成了对比,在该框架中,只训练顶层权重,梯度下降从贝叶斯后验采样。

这些观察构成了一个框架,用来分析长期存在的问题,如梯度下降是否、如何以及在何种情况下提供了相对于贝叶斯推理的具体好处。

正如Chizat & Bach (2018b)中论述的,这些理论结果可能过于简单,无法适用于现实的神经网络。但是,我们通过实证研究证明了该理论在finite-width设置中的适用性,发现它准确地描述了各种条件下的学习动态机制和后验函数分布,包括一些实际的网络架构,如Wide Residual Network(Zagoruyko & Komodakis, 2016)。

具体实验:无限宽的神经网络就是线性模型

线性化网络(linearized network)

此处,我们将考虑线性化网络的训练动态,具体地说,就是用一阶泰勒展开代替神经网络的输出:

值得注意的是,flint是两项之和:第一项是网络的初始输出,在训练过程中保持不变;第二项是在训练过程中捕捉对初始值的变化。

使用这个线性化函数的梯度流的动态受到如下约束:

无限宽度限制产生高斯过程

当隐藏层的宽度接近无穷大时,中心极限定理(CLT)意味着初始化{f0(x)}x∈X时的输出在分布上收敛于多元高斯分布。这一点可以用归纳法非正式的进行证明。

因此,随机初始化的神经网络对应于一类高斯过程(以下简称NNGP),将有利于神经网络的完全贝叶斯处理。

梯度下降训练中的高斯过程

如果我们在初始化之后冻结变量θ≤L,并且只优化θ≤L+1,那么原始网络及其线性化是相同的。让宽度趋于无穷,这个特殊的tangent kernel的概率将收敛于K。这是用于评估高斯过程后验的“先采样后优化”方法的实现。

我们对比了NNGP、NTK-GP和NN集合的预测分布,如下图所示:

训练神经网络输出的均值和方差的动态遵循线性化的分析动态机制

黑线表示来自100个训练神经网络集合的预测输出分布的时间演变; 蓝色区域表示整个训练中输出分布的分析预测;最后,红色区域表示仅训练顶层的预测,对应于NNGP。

受过训练的网络有3个隐藏层,宽度为8192。阴影区域和虚线表示平均值的2个标准偏差。

无限宽度网络是线性化网络

原始网络的常微分方程(ODE)在一般情况下是不可解的。在积分函数梯度范数保持随机有界为n1,n2,…,nL→∞的技术假设下:

值得注意的是,上面公式中的上界只是理论性的,是根据经验观察得到的:

训练过程中Relative Frobenius范数的改变

在MSE设置中,我们可以对原始网络的输出与其线性化输出之间的差异进行上限:

对于非常宽的网络,我们可以用线性化动态机制来近似训练动态机制。

而从网络线性化中获得的另一个见解是,动态机制等效于随机特征法,其中,特征是模型相对于其权重的梯度。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4845

    浏览量

    108341
  • 梯度
    +关注

    关注

    0

    文章

    30

    浏览量

    10579
  • 机器学习
    +关注

    关注

    67

    文章

    8570

    浏览量

    137390
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神经网络引擎?

    我想知道为什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神经网络引擎,请问?您能否举一些关于他们的用例的例子?
    发表于 03-25 06:01

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络神经网络的核心思想是模仿生物
    的头像 发表于 12-17 15:05 524次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    自动驾驶中常提的卷积神经网络是个啥?

    在自动驾驶领域,经常会听到卷积神经网络技术。卷积神经网络,简称为CNN,是一种专门用来处理网格状数据(比如图像)的深度学习模型。CNN在图像处理中尤其常见,因为图像本身就可以看作是由像素排列成的二维网格。
    的头像 发表于 11-19 18:15 2317次阅读
    自动驾驶中常提的卷积<b class='flag-5'>神经网络</b>是个啥?

    CNN卷积神经网络设计原理及在MCU200T上仿真测试

    数的提出很大程度的解决了BP算法在优化深层神经网络时的梯度耗散问题。当x&gt;0 时,梯度恒为1,无梯度耗散问题,收敛快;当x&lt;0 时,该层的输出为0。 CNN
    发表于 10-29 07:49

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享在Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识
    发表于 10-22 07:03

    CICC2033神经网络部署相关操作

    在完成神经网络量化后,需要将神经网络部署到硬件加速器上。首先需要将所有权重数据以及输入数据导入到存储器内。 在仿真环境下,可将其存于一个文件,并在 Verilog 代码中通过 readmemh 函数
    发表于 10-20 08:00

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的神经结构,尽管这种微生物的
    的头像 发表于 09-28 10:03 1678次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    神经网络的并行计算与加速技术

    随着人工智能技术的飞速发展,神经网络在众多领域展现出了巨大的潜力和广泛的应用前景。然而,神经网络模型的复杂度和规模也在不断增加,这使得传统的串行计算方式面临着巨大的挑战,如计算速度慢、训练时间长等
    的头像 发表于 09-17 13:31 1366次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概
    的头像 发表于 09-10 17:38 1123次阅读
    如何在机器视觉中部署<b class='flag-5'>深度</b>学习<b class='flag-5'>神经网络</b>

    基于神经网络的数字预失真模型解决方案

    在基于神经网络的数字预失真(DPD)模型中,使用不同的激活函数对整个系统性能和能效有何影响?
    的头像 发表于 08-29 14:01 3760次阅读

    无刷电机小波神经网络转子位置检测方法的研究

    摘要:论文通过对无刷电机数学模型的推导,得出转角:与三相相电压之间存在映射关系,因此构建了一个以三相相电压为输人,转角为输出的小波神经网络来实现转角预测,并采用改进遗传算法来训练网络结构与参数,借助
    发表于 06-25 13:06

    神经网络专家系统在电机故障诊断中的应用

    摘要:针对传统专家系统不能进行自学习、自适应的问题,本文提出了基于种经网络专家系统的并步电机故障诊断方法。本文将小波神经网络和专家系统相结合,充分发挥了二者故障诊断的优点,很大程度上降低了对电机
    发表于 06-16 22:09

    神经网络RAS在异步电机转速估计中的仿真研究

    众多方法中,由于其结构简单,稳定性好广泛受到人们的重视,且已被用于产品开发。但是MRAS仍存在在低速区速度估计精度下降和对电动机参数变化非常敏感的问题。本文利用神经网络的特点,使估计更为简单、快速
    发表于 06-16 21:54

    基于FPGA搭建神经网络的步骤解析

    本文的目的是在一个神经网络已经通过python或者MATLAB训练好的神经网络模型,将训练好的模型的权重和偏置文件以TXT文件格式导出,然后通过python程序将txt文件转化为coe
    的头像 发表于 06-03 15:51 1583次阅读
    基于FPGA搭建<b class='flag-5'>神经网络</b>的步骤解析