社会焦点

【深度学习进化论】谷歌大脑神经演化新算法 PK OpenAI 集群智能

字号+ 作者: 来源: 2017-03-21

【深度学习进化论】谷歌大脑神经演化新算法 PK OpenAI 集群智能,最强大脑pk人工智能小度,差分演化算法python代码,bp神经网络算法实例,大脑神经发育图

译者:赵以文、张易、刘小芹

  【倒计时 6 天,点击“阅读原文”抢票新智元和行业领袖英特尔举办,中国 AI 2017 开年盛典启幕在即,三大亮点不容错过:① BAT 领衔,英特尔支持各路人工智能技术领袖齐聚,洞察中国 AI 军团布局;② 引爆 AI 原力,现场参与 AI 技术论坛顶牛对撞;③人工智能创业家巨星璀璨,看投资领袖预测谁将成为中国 AI 独角兽

  【新智元导读】神经演化方法在上世纪80年代被提出,由于神经网络的兴起而一度遭受冷遇。不过现在,谷歌大脑和 OpenAI 都在重新审视这种方法。通过在深度学习中引入大自然的智慧——演化/适者生存,我们能够得到更聪明、更有效的算法吗?

  现代人工智能被开发来模仿自然——人工智能领域的主要追求是在计算机里复制人类生理决策的过程。

  30 多年来,大多数 AI 在类脑方面的发展都围绕着“神经网络”,这个词借用了神经生物学的术语,将机器思维描述为数据在神经元——彼此相连的数学函数——之间的运动。但自然还有其他的妙法:计算机科学家现在正在重新审视一个早已有之的研究领域,这个领域的理论认为,通过演化——千万年大自然塑造人类大脑的过程——可以帮助我们开发更聪明、更有效的算法。

  神经演化重新成为热点:谷歌大脑和 OpenAI 分别研究

  由达尔文提出,而后又由无数科学家不断完善的自然演化理论认为,有机体的遗传物质中一个随机的微小变化将为它在野外生存带来优势或劣势。如果生物体的突变有利于其存活和繁殖,那么这种突变就得以传递。反之,这种突变就会与有机体一起死亡或灭绝。

  在算法世界中,这被称为神经演化(neuroevolution)。人工神经网络复制的是学习个别概念的过程,而神经演化则试图重建构建大脑的过程——只有强者(或适者)生存的过程。

  虽然神经演化自 20 世纪 80 年代起就出现了,但随着研究人员深入发掘机器学习领域各家观点的文献,人们又重新开始关注起这一概念来。在过去的一个月中,Google Brain 和非营利组织 OpenAI 各自发布了关于这一主题的论文(未经同行评议)。Google Brain 是将神经演化用于图像识别,而 OpenAI 则是使用“worker”算法,教会一个主算法完成任务的最佳方法。

  谷歌大脑:模仿自然演化,培养高性能后代算法

  在已经十分复杂的人工智能研究领域引入生物学概念可能令人困惑。所以,我们来打个比方。你可以把算法看成是马。马在它们一生中都会学习,但人类只会评估它们的几个不同的指标,比如跑得有多快。图像识别的准确率作为单个的数字,很容易评估,就像马在马场上跑一圈需要花费多少时间。但是,是什么让马跑得更快?这个问题的答案实际上复杂得令人难以置信——这涉及一个庞大的 DNA 网络,它要控制肌肉生长,让马拥有更高的耐力,甚至是智力。这种复杂性可以类比为算法的基本参数,或者说算法在图像识别时结果好(或坏)的原因。

  在研究中,Google 团队生成了 1000 个图像识别算法,这些算法使用现代深度神经网络进行训练,目标是要识别出特定的图像集。然后,研究人员使用 250 台计算机,每台计算机选择两种算法,让这些算法识别图像来测试算法的准确率。具有较高精确度的算法存活下来,而表现较差的算法则被“杀死”。

  研究人员会复制幸存下来的算法,得到算法的克隆(或者说“孩子”),并且对这些“孩子”稍做改变,就像人类 DNA 在繁殖过程中会随机发生变化一样。这些改变主要是让新算法在如何解释训练数据方面与原来的算法有所不同。

  接下来,子算法(也就是上文提到的最初算法的“孩子”)会使用与其亲本算法相同的数据进行训练,训练完后,会被放回到 1000 个算法的批次中,从头开始接受筛选的过程。

  Google 的研究人员发现,神经演化能够以 94.6% 的精度培养一个算法,并且他们后来进行的四次重复验证中,都得到类似(但不相同)的结果。改善算法图像识别能力的突变得到奖励(也就是存活下来),而降低性能的突变则被淘汰——就像在大自然中发生的一样。

  五次实验结果显示出的差异也说明了一个一直持续出现(consistent)的问题。Google 研究员、论文共同作者 Esteban Real 说,算法在整个过程中一直陷入困境,似乎不确定是要继续演化,还是抛弃突变再重新开始。Real 表示,这种情况可以类比翅膀在生物中的演变。“只有单边的翅膀可能对你没有用,”他说:“但是一对完整的翅膀能让你飞翔。”

  Google 的团队正在努力让演化模型更全面地探索不同的突变(从而构建完整的一对翅膀)。但情况还是很棘手。团队只希望算法在有限的方式中变异,这样它最终不会有一大堆额外的无用代码。Real 解释说:“最糟糕的情况是有许多的半边翅膀。”

  OpenAI:借助“集群智能”,教会主算法完成任务

  通过聚焦图像识别问题,Google 团队测试了神经演化两方面的能力,一是解决生物大脑擅长解决的问题,二是解决现代问题的能力。另一方面,OpenAI 则使用神经演化更纯粹的形式,完成不同的任务。

  OpenAI 团队希望使用“worker”算法,训练主算法来完成未知的任务,例如玩视频游戏,或在 3D 模拟器中行走。论文其中一位作者、OpenAI 研究员 Tim Salimans 解释说,这种技术不是教导机器如何做出决策的主要方式,而是教导它们如何更有效地从特定信息中学习。演化算法能够监控 worker 如何学习,在本质上是学会学习(元学习)——从相同量的数据中提取更多的知识。

  为了进行研究,OpenAI 团队设置了 1440 个 worker 算法来完成 Atari 游戏。这些 worker 会一直玩游戏直到 Game Over,然后它们会把自己的分数汇报给 Master(主人)。和 Google 的研究一样,OpenAI 的研究人员也复制了那些获得了最高分数的算法,并且让副本产生随机突变。突变后的 worker 会回到整个循环里,在整个过程中不断重复,有利的突变得到奖励,有害(不好)的则被淘汰。

转载请注明出处。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章