DeepMind异步优化算法PBT解决神经网络痛点

在围棋和Atari游戏、图像识别与语言翻译等领域,神经网络都取得了巨大的成功。但经常被忽视的一点是,神经网络在这些特定应用中的成功往往取决于研究开始时做出的一系列选择,包括:使用何种类型的网络、用于训练的数据和方法等。目前,这些选择(又称为超参数)是通过经验,随机搜索或计算密集型搜索过程来选择的。如何选择参数和调参往往成为训练神经网络的关键问题。

 

AI科技评论发现,在DeepMind最近一篇名为《Population Based Training of Neural Network》的论文中,DeepMind提出了一种名为PBT(Population Based Training)训练神经网络的新方法,使得实验者能够快速地选择较佳的超参数集和模型。这一技术可同时训练和优化一系列网络,从而可以快速找到较佳的设置。更重要的是,这不会增加额外的计算开销,可以像传统技术一样快速地完成,并且易于集成到现有的机器学习管道中。

 

该技术是超参数优化最常用的两种方法随机搜索和手动调试的结合。随机搜索中会并行训练神经网络的群体,并在训练结束时选择较高性能的模型。通常情况下,这意味着只有一小部分群体会获得良好的超参数训练,但更多的群体培训效果欠佳,浪费计算机资源。

 

 

随机搜索超参数意味着同时并行独立训练多个超参数,某些超参数会让模型表现良好,但大多数不会

 

如果我们使用手动调整超参数,研究人员必须猜测较好的超参数,使用它们训练模型和评估性能,这样的过程将持续重复,直到研究人员对网络的性能感到满意为止。虽然手动调参可以带来更好的性能,但是缺点是这需要很长时间,有时需要数周甚至数月才能找到完美的设置。虽然有诸如贝叶斯优化等一些自动化方法,但是仍然需要很长的时间,并且需要很多持续的训练来找到较好的超参数。

 

手动调参及贝叶斯优化等方法通过一次观察多个训练过程来改变超参数,这通常较为缓慢

 

如同随机搜索一样,PBT首先也会并行训练多个神经网络与随机超参,但是每一个网络不是独立训练的,而是使用来自其他群体的信息来完善超参数,并将计算资源引导到更有优秀的模型。这以算法灵感来自于于遗传算法,每个群体成员都被称为“工人”,并可以利用其余群体成员的信息,如从另一个性能较好的“工人”中复制模型参数,此外,它还可以通过随机更改当前值来探索新的超参数。

 

随着对神经网络群体训练的不断深入,这一开发和探索的过程会定期进行,以确保所有群体中的“工人”都有一个良好的基础性能水平,并且在此基础上在探索新的超参数。这意味着PBT可以快速利用好的超参数,可以为更有效的模型提供更多的训练时间,而且可以在整个训练过程中调整超参数值,从而自动学习较佳配置。

 

PBT从随机搜索开始,但允许相互利用更有效的结果,并随着训练的进行探索新的超参数

 

实验表明,PBT在整个任务和领域都非常有效。DeepMind在DeepMind Lab,Atari和StarCraft II上使用较先进的方法严格测试了一套具有挑战性的强化学习问题,在所有情况下,PBT稳定的训练方式均能很快就找到了好的超参数,并得到了超出基线的结果。

 

 

此外,PBT对训练生成对抗网络(GAN)同样有着一定的提升。在DeepMind使用PBT框架来较大化Inception Score(AI科技评论注:Inception Score是衡量视觉保真度的指标之一)的测试中,结果从6.45显著提升到了6.9。

 

DeepMind也将PBT应用于Google较先进的机器翻译神经网络之一。这些神经网络通常经过精心设计的超参数时间表进行培训,这往往需要数月时间才能有改善。使用PBT可以自动找到超参数的时间表,这些时间表可以匹配甚至超过现有的表现,但不需要任何调整,同时通常只需要一次训练。

 

 

图为在CPSAR-10和封闭网络(FuN)用GANs对“吃豆小姐”(Ms Pacman)游戏训练过程中群体的演化过程。粉红色的点代表最初的智能体,蓝色为最终的智能体。

 

DeepMind认为,这项技术仍然存在很大的扩展空间。PBT对训练引入新超参数的新算法和神经网络体系结构尤其有效,随着不断细化这个过程,PBT有望更好地应用于寻找和开发更复杂和更强大的神经网络模型。

 

完整论文下载链接:https://deepmind.com/documents/135/population_based_training.pdf

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 实现方法 Hopfield神经网络算法是一种自环神经网络,它可以用于对于一些特定的问题进行解决。它的实现方法如下: 1. 初始化网络状态。 2. 计算网络中每个节点的输出。 3. 更新网络中每个节点的状态。 4. 重复步骤2和3,直到网络状态不再改变为止。 5. 输出网络最终状态。 在实现Hopfield神经网络算法时,需要注意一些关键点,例如网络结构的设计、权值的计算、初始化状态的选择等。 ### 回答2: Hopfield神经网络算法是一种用于解决图像识别、优化问题和模式匹配等任务的人工神经网络模型。它基于神经元之间的相互连接和相互作用,通过非线性响应和反馈机制实现模式存储和识别。 Hopfield神经网络算法的主要步骤包括准备阶段、训练阶段和应用阶段。在准备阶段,需要定义网络结构和初始化权重。网络结构通常是全连接的,并且每个神经元都连接到其他的神经元。初始化权重时,可以随机生成一个对称权重矩阵。 在训练阶段,需要将要识别的模式输入到网络中。通过调整权重矩阵,使得网络能够存储输入的模式。Hopfield神经网络使用的是Hebbian学习规则,即神经元之间的连接强度取决于它们之间的相关性。训练阶段结束后,网络就可以将输入的模式与存储的模式进行匹配,并输出与之最相似的模式。 在应用阶段,可以通过输入一个模糊的或噪声干扰的模式,来尝试恢复原始的模式。网络通过动力学更新的方式进行迭代计算,直到达到稳定状态。最后输出的模式将是与输入最相似的存储模式。 Hopfield神经网络算法的优点在于简单、容易实现和理解,并且能够处理模糊和噪声干扰的模式。然而,它也存在一些限制,如只能存储有限数量的模式、对初始状态敏感以及可能陷入局部最小值等。 总之,Hopfield神经网络算法是一种经典的神经网络模型,适用于图像识别、优化问题和模式匹配等任务。虽然它有一些限制,但在某些特定的应用领域中仍然具有一定的实用价值。 ### 回答3: Hopfield神经网络算法程序是一种基于人工神经网络的模式识别和优化算法。它借鉴了神经生物学中突触的工作原理,通过构建一个由神经元节点组成的网络来模拟并解决一些复杂的问题。 Hopfield神经网络算法程序的基本思想是通过一种联想记忆机制,将输入的模式与学习过的模式进行关联,从而实现模式的识别和重构。该算法程序主要包括如下几个步骤: 1. 网络初始化:将神经网络的节点权重矩阵进行初始化,可以采用随机方式或者根据已知的模式进行设定。 2. 模式学习:将一组已知的模式输入到神经网络中,通过调整节点之间的连接权重来保留这些模式的特征。学习的过程可以通过更新权重矩阵来实现,通常采用Hebbian学习规则。 3. 模式识别:当输入新的模式时,通过网络的异步或同步更新,自动将输入的模式与已知的模式进行关联,恢复出最相似的模式。 4. 收敛判断:通过定义一个收敛条件来判断网络是否已经达到稳定状态,一般是根据网络的能量函数或者误差变化来确定。 Hopfield神经网络算法程序具有以下特点: 1. 具备容错性:即使输入的模式存在一定的噪声或扭曲,神经网络也能通过调整权重来纠正模式,提高识别和重构的准确性。 2. 学习和识别能力强:能够对输入的模式进行学习和记忆,实现自动的模式识别和重构。 3. 算法简单:相比传统的神经网络算法,Hopfield神经网络算法程序的实现相对简单,且不需要训练集。 总之,Hopfield神经网络算法程序是一种有效的模式识别和优化算法,具备一定的学习和自适应能力,可以在一些实际应用中发挥重要作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值