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

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

3天内不再提示

神经进化说的是什么?

倩倩 来源:巡洋舰人工智能学堂 2020-04-17 14:35 次阅读

Nature新子刊Machine intelligence中有一篇12页的综述,汇总介绍了神经进化这一前沿的研究方向在神经网络中的众多应用。本文用5分钟概述该文的主要观点,对于不了解神经进化的读者,本文将先带你认识神经进化说的是什么?你不需要太多的背景知识,也能读懂本文。

人工的神经网络是依靠梯度的反向传播来进行优化的,而在生物界中,神经网络中并没有指出优化方向的梯度,感知从下而上正向传播,之后相近的刺激带来共同激活的神经元,再用这些连接来对新事物编码及预测,而一切都依赖于进化机制。所谓神经进化,就是用遗传算法来进行神经网络的结构生成,参数更新及整体的效率优化。其基本的循环是突变-》选择-》繁衍-》再突变。

下图来自莫烦Python视频,其中对比了两种神经进化的策略,一种是不固定网络的结构,通过神经网络间的交叉配对形成下一代的网络,另一组是固定结构,每一代网络中通过引入突变改变连接的强度,最终俩者都通过进化的优胜劣汰来实现神经网络的最优化。

不同于传统的随机梯度下降,是基于对现在错误来源的外推决定下一步进化的方向,即使引入了随机性,也只是在原有方向上引入高斯误差,是一种事后的弥补,而神经进化是通过在下一代中引入在算法空间中性质完全不同的点,之后根据适应度在这些点之间进行内推,虽然速度慢,但是可以更大规模的并行处理,且能够更好的避免陷入局部最优。

神经进化不止在监督学习中应用广泛,在深度强化学习中也有广泛的应用。Uber开发的开源工具Visual Inspector for Neuroevolution(VINE),可以用于神经演化的交互式数据可视化工具。而下文的作者之一也来自Uber的AI实验室。

在结束背景介绍之后,进入这篇论文本身的介绍。作者首先指出了神经进化相比神经网络的几个独特的能力,包括通过学习找到合适的网络组成部分(例如激活函数),以及网络的超参数(有几层,每层有多少神经元)以及用于的学习策略本身。不同于AutoML的自动化调参,神经进化始终在搜索答案中保持着一个多样的解法“种群”,而且由于神经进化的研究和传统的神经网络并没有多少交集,因此俩者之间的汇总更容易擦出火花。

最初的神经进化关注小规模网络的拓扑结构的演化,最初的进化算法仅仅是通过(神经元)连接矩阵间的权重加上随机突变来展开,之后受到基因间调控网络的启发,对网络结构展开了间接的编码。随着引入在俩个网络结构中的杂交(crossover),神经进化可以探索更为复杂的网络结构,但需要面对如何避免让新生成的网络结构由于缺少足够的时间进行局部优化而无法发挥出其最优的性能,该方向上最显著的成果是NeuroEvolution of Augmenting Topologies (NEAT)算法,该算法的成果包括模拟机器人行走的控制程序,下图分别是使用遗传算法和进化策略训练模拟机器人走路(来自UberAI实验室Mujoco 人)

在强化学习领域,natural evolutionary strategy可以在 Atari 游戏机上和Deep Q learning有相近的表现,而且这些算法的并行潜力使得这些算法在有足够计算资源时,可以用更快的时间完成训练,尽管神经进化需要的总的计算资源要多一些。神经进化在强化学习中的成功说明了神经进化方法可以用在现实中的复杂问题上。

Lehman将神经进化和梯度结合了起来。该方法的灵感来自是通过梯度去选择出那些不那么危险的突变。由于强化学习中评估一个策略的适应度需要花费的比评估网络本身要花费更多的资源,前者需要运行游戏或者模拟环境数回合,才能看到收益,而后者只需要去将网络中的错误项前向传播几步即可。神经进化中对策略(policy)加以随机的突变,部分突变不会影响策略的性能,但少部分会让该策略彻底失效。通过对状态和行为归档记录,可以通过梯度信息对变异的大小进行缩放,从而避免突变后的策略对于当前的状态过于激进或保守,从而使得在深度超过100层的网络上可以使用神经进化的策略。

神经进化可以模拟真实进化中对多样性和新奇策略的偏好,在要优化的目标中对全新的策略给予奖励,从而避免陷入局部最优,或者以策略种群的多样性为优化主要目标。在强化学习中,一个策略要想和其他策略不同,需要具有不同的基础能力,从而使策略种群多样性为优化目标好于人为设定的损失函数。

总结:神经进化在meta learning,多任务学习中都可以和现有方法结合。正如卷积操作就是一种编码信息的方式,神经进化还可以找到更好的对信息进行间接编码(Indirect coding)的方法以及通过进化策略重现出类似LSTM的网络结构。强化学习中的自我对弈可以看成是神经进化的一种,而对策略多样性的偏好也鼓励了模型对新策略的探索。最后,在通向通用人工智能的路上,神经进化通过构建开放目地的(open-endedness)的系统,让策略不带有先验目地的探索,模拟自然界的进化,最终得到一个足够普适的智能系统。

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

    关注

    42

    文章

    4734

    浏览量

    100430
  • 梯度
    +关注

    关注

    0

    文章

    30

    浏览量

    10304
  • 强化学习
    +关注

    关注

    4

    文章

    265

    浏览量

    11197
收藏 人收藏

    评论

    相关推荐

    神经元是什么?神经元在神经系统中的作用

    神经元,又称神经细胞,是神经系统的基本结构和功能单位。它们负责接收、整合、传导和传递信息,从而参与和调控神经系统的各种活动。神经元在形态上高
    的头像 发表于 07-12 11:49 855次阅读
    <b class='flag-5'>神经</b>元是什么?<b class='flag-5'>神经</b>元在<b class='flag-5'>神经</b>系统中的作用

    BP神经网络和卷积神经网络的关系

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种在人工智能和机器学习领域
    的头像 发表于 07-10 15:24 1079次阅读

    BP神经网络和人工神经网络的区别

    BP神经网络和人工神经网络(Artificial Neural Networks,简称ANNs)之间的关系与区别,是神经网络领域中一个基础且重要的话题。本文将从定义、结构、算法、应用及未来发展等多个方面,详细阐述BP
    的头像 发表于 07-10 15:20 737次阅读

    rnn是递归神经网络还是循环神经网络

    RNN(Recurrent Neural Network)是循环神经网络,而非递归神经网络。循环神经网络是一种具有时间序列特性的神经网络,能够处理序列数据,具有记忆功能。以下是关于循环
    的头像 发表于 07-05 09:52 469次阅读

    递归神经网络是循环神经网络吗

    递归神经网络(Recurrent Neural Network,简称RNN)和循环神经网络(Recurrent Neural Network,简称RNN)实际上是同一个概念,只是不同的翻译方式
    的头像 发表于 07-04 14:54 597次阅读

    循环神经网络和卷积神经网络的区别

    循环神经网络(Recurrent Neural Network,RNN)和卷积神经网络(Convolutional Neural Network,CNN)是深度学习领域中两种非常重要的神经
    的头像 发表于 07-04 14:24 1025次阅读

    深度神经网络与基本神经网络的区别

    在探讨深度神经网络(Deep Neural Networks, DNNs)与基本神经网络(通常指传统神经网络或前向神经网络)的区别时,我们需要从多个维度进行深入分析。这些维度包括网络结
    的头像 发表于 07-04 13:20 586次阅读

    神经元的分类包括哪些

    神经元是神经系统的基本功能单位,它们通过电信号和化学信号进行信息传递和处理。神经元的分类非常复杂,可以根据不同的标准进行分类。 一、神经元的基本概念 1.1
    的头像 发表于 07-03 11:36 933次阅读

    反向传播神经网络和bp神经网络的区别

    反向传播神经网络(Backpropagation Neural Network,简称BP神经网络)是一种多层前馈神经网络,它通过反向传播算法来调整网络中的权重和偏置,以达到最小化误差的目的。BP
    的头像 发表于 07-03 11:00 610次阅读

    bp神经网络是深度神经网络吗

    BP神经网络(Backpropagation Neural Network)是一种常见的前馈神经网络,它使用反向传播算法来训练网络。虽然BP神经网络在某些方面与深度神经网络(Deep
    的头像 发表于 07-03 10:14 609次阅读

    bp神经网络和卷积神经网络区别是什么

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种不同类型的人工神经网络,它们在
    的头像 发表于 07-03 10:12 898次阅读

    卷积神经网络的原理是什么

    卷积神经网络(Convolutional Neural Network,简称CNN)是一种深度学习模型,广泛应用于图像识别、语音识别、自然语言处理等领域。本文将详细介绍卷积神经网络的原理,包括其
    的头像 发表于 07-02 14:44 528次阅读

    卷积神经网络和bp神经网络的区别

    卷积神经网络(Convolutional Neural Networks,简称CNN)和BP神经网络(Backpropagation Neural Networks,简称BPNN)是两种
    的头像 发表于 07-02 14:24 2441次阅读

    神经元与神经网络的区别与联系

    在人工智能和机器学习的领域中,神经元和神经网络是两个至关重要的概念。虽然它们都与人脑中的神经系统有着密切的联系,但在实际应用和理论研究中,它们各自扮演着不同的角色。本文旨在深入探讨神经
    的头像 发表于 07-01 11:50 766次阅读

    汽车ADAS进化的百年历史(一)

    汽车ADAS进化的百年历史(一)
    的头像 发表于 12-06 17:41 586次阅读
    汽车ADAS<b class='flag-5'>进化</b>的百年历史(一)