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

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

3天内不再提示

一种自动生成反向传播方程的方法

DPVg_AI_era 来源:未知 作者:李倩 2018-08-14 09:55 次阅读

大神 Geffery Hinton 是反向传播算法的发明者,但他也对反向传播表示怀疑,认为反向传播显然不是大脑运作的方式,为了推动技术进步,必须要有全新的方法被发明出来。今天介绍的谷歌大脑多名研究人员发表的最新论文Backprop Evolution,提出一种自动发现反向传播方程新变体的方法,该方法发现了一些新的方程,训练速度比标准的反向传播更快,训练时间也更短。

大神 Geoffrey Hinton提出的反向传播算法是深度学习的基石。

1986 年,Geoffrey Hinton 与人合著了一篇论文:Learning representations by back-propagation errors,30 年之后,反向传播算法成了这一波人工智能爆炸的核心。

但去年,Hinton 在接受采访时表示,他对反向传播算法 “深感怀疑”,认为应该彻底抛弃反向传播,另起炉灶。Hinton 认为,反向传播不是大脑运作的方式,我们的大脑显然不需要对所有数据进行标注。为了推动进步,必须要有全新的方法被发明出来。

尽管Hinton、以及无数研究者仍未提出全新的、能够代替传播的方法,但最近机器学习自动搜索方法取得很多成功,反向传播算法的变体也得到越来越多的研究。

柏林工业大学、谷歌大脑的多名研究人员在最新发表的论文Backprop Evolution,提出一种自动发现反向传播方程新变体的方法。研究人员使用领域特定语言将更新的方程描述为原函数列表。

具体来说,研究人员采用一种基于进化的方法来发现新的传播规则,这些规则在几个epoch的训练之后可以最大限度地提高其泛化表现。他们发现了一些新的方程,它们的训练速度比标准的反向传播更快,训练时间更短,并且在收敛时类似标准反向传播。

自动生成反向传播方程

反向传播算法是机器学习中最重要的算法之一。已有研究对反向传播方程的变体进行了一些尝试,并取得一定程度的成功 (e.g., Bengio et al. (1994); Lillicrap et al. (2014); Lee et al. (2015); Nøkland (2016); Liao et al. (2016))。但尽管有这些尝试,反向传播方程的修改并没有得到广泛应用,因为这些修改很少对实际应用有改进,甚至有时会造成损害。

受近期机器学习自动搜索方法取得成功的启发,我们提出一种自动生成反向传播方程的方法。

为此,我们提出一种领域特定语言(domain specific language),以将这些数学公式描述为原始函数列表,并使用一种基于进化(evolution-based)的方法来发现新的传播规则。在经过几个epoch的训练后,搜索条件是使 generalization 最大化。我们找到了和标准反向传播效果同样好的几个变体方程。此外,在较短的训练时间内,这几种变体可以提高准确率。这可以用来改进 Hyperband 之类的算法,在训练过程中做出基于准确性的决策。

反向传播

图1:神经网络可以看作是一些计算图。前向图(forward graph)由网络设计者定义,而反向传播算法隐式地为参数更新定义了一个计算图。本研究的主要贡献是探索如何利用evolution来找到一个比标准反向传播更有效的参数更新计算图。

其中,是网络的输入,对layer进行索引,为第的偏导数,这跟权重矩阵有关。利用反向传播算法中的链式法则可以计算出这个量。为了计算隐藏激活

的偏导数,要应用一系列运算:

一旦计算出,就可以将权重更新计算为:

如图1所示,神经网络可以表示为前向和后向的计算图。给定一个由网络设计者定义的前向计算图,反向传播算法定义了一个用于更新参数的反向计算图。但是,有可能找到一个改进的反向计算图,从而得到更好的泛化。

最近,用于机器学习的自动搜索方法已经在各种任务上取得了很好的结果,这些方法涉及修改前向计算图,依靠反向传播来定义适当的反向图。与之不同,在这项工作中,我们关注的是修改反向计算图,并使用搜索方法为

方法

为了找到改进的更新规则,我们使用进化算法来搜索可能的更新方程(update equation)的空间。在每次迭代中,进化控制器将一批突变的更新方程发送给workers池进行评估。每个worker使用其接收到的变异方程来训练一个固定的神经网络结构,并将获得的验证精度报告给控制器。

搜索空间

受到Bello et al. (2017) 的启发,我们使用领域特定语言(domain-specific language,DSL)来描述用于计算,其中是可能的操作数,是一元函数,是二元函数。一元函数和二元函数的集合是手动指定的,但是函数和操作数的各个选择由控制器选择。每个组件的示例如下:

操作数(Operands):W(当前层的权重矩阵),(高斯矩阵),(从(前向传播的隐藏激活),(反向传播的值)。

一元函数

二元函数

其中,

结果得到的量在方程1中被用作。在实验中,我们探索了由1到3个二元运算组成的方程。这种DSL虽然简单,但可以表示复杂的方程,例如标准的反向传播,feedback alignment,以及direct feedback alignment。

进化算法

进化控制器(evolutionary controller)维护一组已发现的方程。在每次迭代中,控制器执行以下操作之一:1)概率为p的情况下,控制器在搜索期间找到的N个最优竞争力的方程中随机选择一个方程,2)概率为1 - p时,控制器从population的其他方程中随机选择一个方程。

控制器随后将k个突变(mutation)应用于所选方程,其中k是从分类分布中提取的。这k个突变中的每一个只是简单地选择一个随机一致的方程组件(例如,一个操作数,一个一元函数,或者一个二元函数),然后将它与另一个随机选择的同类组件交换。某些突变会导致数学上不可行的方程,在这种情况下,控制器会重新启动突变过程,直到成功。N、p和k的分类分布是算法的超参数。

为了创建初始 population,我们简单地从搜索空间中随机抽样N个方程。此外,在我们的一些实验中,我们从一小部分预定义的方程开始(通常是正常的反向传播方程或其反馈对齐方程变体)。从现有方程出发的能力是基于强化学习的进化方法具有的优势。

实验和结果

在该方法中,用于评估每个新方程的模型的选择是一个重要的设置。规模更大、更深的网络会更真实,但需要更长的时间来训练,而较小的模型训练更快,但可能导致更新网络无法推广。我们通过使用Wide ResNets (WRN) 来平衡这两个标准,其中WRN有16层,宽度multiplier为2,并且在CIFAR-10数据集中进行训练。

基线搜索和泛化

在第一次搜索中,控制器提出新方程训练WRN 16-2网络20个epoch,并且分别在有或没有动量的情况下用SGD训练。根据验证准确性收集前100个新方程,然后在不同场景下进行测试:

(A1)使用20个epoch训练WRN 16-2 ,复制搜索设置;

(A2)使用20个epoch训练WRN 28-10 ,将其推广到更大的模型(WRN 28- 10的参数是WRN 16-2的10倍);

(A3)使用100个epoch训练WRN 16-2 ,测试推广到更长的训练机制。

实验结果如表1所示:

表1:实验结果

从A1到A3,在每个设置中展示了两个性能最好的方程,以及两个在所有设置中都表现良好的方程。在B1中展示了4个性能最好的方程,所有结果均为5次以上的平均测试准确率。基线是梯度反向传播。比基线性能优于0.1%的结果都用粗体表示。我们用

表示

增加训练次数的搜索

之前的搜索实验发现新方程在训练开始时运行良好,但在收敛时不优于反向传播。后一种结果可能是由于搜索和测试机制之间的不匹配,因为搜索使用20个epoch来训练子模型,而测试机制使用100个epoch。

一个后续方案是匹配这两个机制。在第二次搜索实验中,使用100个epoch训练每个子模型。为了补偿由于使用较多的epoch进行训练而导致的实验时间增加,使用较小的网络(WRN 10-1)作为子模型。使用较小的模型是可以接受的,因为新方程倾向于推广到更大,更真实的模型,如(A2)。

实验结果在表1中的(B1),与(A3)较为相似,即,可以找到对SGD表现较好的更新规则,但是对有动量的SGD的结果与基线相当。(A3)和(B1)结果的相似性表明,训练时间的差异可能不是误差的主要来源。此外,具有动量的SGD对于不同的新方程是几乎不变的。

总结

在这项工作中,提出了一种自动查找可以取代标准反向传播的方程的方法。使用了一种进化控制器(在方程分量空间中工作),并试图最大化训练网络的泛化。探索性研究的结果表明,对于特定的场景,有一些方程的泛化性能比基线更好,但要找到一个在一般场景中表现更好的方程还需要做更多的工作。

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

    关注

    27

    文章

    5838

    浏览量

    103229
  • 人工智能
    +关注

    关注

    1775

    文章

    43719

    浏览量

    230495
  • 深度学习
    +关注

    关注

    73

    文章

    5225

    浏览量

    119866

原文标题:谷歌大作:自动改良反向传播算法,训练速度再提升!

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一种基于路测数据的传播模型校正方法

    准确性等问题,提出了一种利用现网路测数据进行传播模型校正的方法.从理论上证明了路测信号可以替代连续波测试信号用于传播模型校正,通过增加路测次数和利用历史数据、邻区数据等
    发表于 04-23 11:52

    改进峰值电流模式控制的方法

    员必须对功率级进行过量设计。本文将探讨输入功率增加的原因以及降低方法。此外,还将介绍一种可提升峰值电流模式控制性能的创新方法反向转换器变压器基本上由两个耦合电感器组成。当主开关接通期
    发表于 09-20 16:04

    反向传播如何实现

    实现反向传播
    发表于 07-09 16:10

    神经网络和反向传播算法

    03_深度学习入门_神经网络和反向传播算法
    发表于 09-12 07:08

    一种在金上生成硫醇封端的SAM的新方法

    一种在金上生成硫醇封端的SAM的新方法 - 应用简报
    发表于 10-30 11:05

    浅谈一种高斯随机噪声生成方法

    本文提出了一种面向硬件的均值、方差的高斯随机噪声生成方法
    发表于 06-03 07:05

    怎样去搭建一种由转矩方程计算角度速度的矢量控制模型

    怎样去搭建一种由转矩方程计算角度速度的矢量控制模型?如何对速度环矢量控制模型进行仿真?
    发表于 10-11 07:06

    一种新颖的自动化攻击图生成方法_武健

    一种新颖的自动化攻击图生成方法_武健
    发表于 03-19 11:45 0次下载

    一种自动生成循环摘要的方法

    中存放的新值来描述循环语句的执行效果,并将该执行效果定义为循环摘要,同时,提出一种自动生成循环摘要的方法,可以为操作常用数据结构的循环自动
    发表于 12-29 11:12 0次下载

    反向传播算法的工作原理

    反向传播算法(BP算法)是目前用来训练人工神经网络的最常用且最有效的算法。作为谷歌机器学习速成课程的配套材料,谷歌推出一个演示网站,直观地介绍了反向传播算法的工作原理。
    的头像 发表于 07-02 16:01 9740次阅读
    <b class='flag-5'>反向</b><b class='flag-5'>传播</b>算法的工作原理

    详解神经网络中反向传播和梯度下降

    摘要:反向传播指的是计算神经网络参数梯度的方法
    的头像 发表于 03-14 11:07 644次阅读

    PyTorch教程5.3之前向传播反向传播和计算图

    电子发烧友网站提供《PyTorch教程5.3之前向传播反向传播和计算图.pdf》资料免费下载
    发表于 06-05 15:36 0次下载
    PyTorch教程5.3之前向<b class='flag-5'>传播</b>、<b class='flag-5'>反向</b><b class='flag-5'>传播</b>和计算图

    PyTorch教程-5.3. 前向传播反向传播和计算图

    。当需要计算梯度时,我们只是调用了深度学习框架提供的反向传播函数。 梯度的自动计算(自动微分)大大简化了深度学习算法的实现。在自动微分之前
    的头像 发表于 06-05 15:43 750次阅读
    PyTorch教程-5.3. 前向<b class='flag-5'>传播</b>、<b class='flag-5'>反向</b><b class='flag-5'>传播</b>和计算图

    一种反向传播的 TTA 语义分割方法

    自蒸馏正则化实现内存高效的 CoTTA 推荐对领域适应不了解的同学先阅读前置文章。目前的 TTA 方法针对反向传播的方式可以大致划分为: 请添加图片描述 之前介绍过的 CoTTA 可以属于 Fully
    的头像 发表于 06-30 15:10 338次阅读
    <b class='flag-5'>一种</b>免<b class='flag-5'>反向</b><b class='flag-5'>传播</b>的 TTA 语义分割<b class='flag-5'>方法</b>

    CVPR 2023 中的领域适应: 一种反向传播的TTA语义分割方法

    TTA 在语义分割中的应用,效率和性能都至关重要。现有方法要么效率低(例如,需要反向传播的优化),要么忽略语义适应(例如,分布对齐)。此外,还会受到不稳定优化和异常分布引起的误差积累的困扰。
    的头像 发表于 06-30 15:13 613次阅读
    CVPR 2023 中的领域适应: <b class='flag-5'>一种</b>免<b class='flag-5'>反向</b><b class='flag-5'>传播</b>的TTA语义分割<b class='flag-5'>方法</b>