参与:吴攀、黄小天、李亚洲 现代机器智能建立在模仿自然的基础之上——这一领域的主要目的是在计算机中复制人类通过生物方式具备的强大决策能力。
30 年的发展取得了一些优秀成果,大多数脑启发人工智能技术的进展都围绕着「神经网络」,这一术语借用自神经生物学,其把机器思考描述为被称作「神经元」的互相连接的数学函数中的数据流动。但是自然界也有其他好想法:现在计算机科学家正再次踏入生物进化这一研究领域,希望通过在人工智能中植入生物进化元素的方式开发出更智能更有效的算法,恰如数十亿年来生物进化塑造了人类大脑一样。 但是,首先让我们回到中学的生物课本上。简单地说,进化(evolution)这一概念表述了有机体基因组中的随机变化会为其生存带来了优势或劣势的结果,该思想最早由查尔斯·达尔文据此提出,后人又对其进行了不断的完善。如果有机体的基因突变使其获得了生存和繁殖的机会,则该突变一直传递下去;如果没有,则该突变会随有机体一起消亡。在算法的世界,这被称为神经进化(neuroevolution)。人工神经网络是为了复制生物学习单个概念的过程,而神经进化则是试图再现构建大脑的部分过程——即适者(强大的或聪明的)生存的过程。 尽管神经进化在 20 世纪 80 年代左右就已被提出,但随着研究者在机器学习的不同视角上对其进行研究,它也正获得新的关注。上个月,谷歌大脑和非营利性组织 OpenAI 分别就神经进化这一主题发表了还未经评议的论文,谷歌的论文是关于神经进化原理在图像识别上的应用,而 OpenAI 的论文则是关于使用工作器(worker)算法让一个主算法学会实现一个任务的最好方法。 为本已复杂的人工智能研究领域引入生物进化的思想不免使人困惑。因此,如果想解决困惑,就把算法看作马吧。马一生之中都在学习,但是它们只在几个不同的指标上进化,例如奔跑的速度。图像识别的精确度不难获得,只是一个数字而已,马跑一圈所需要的时间量也是如此。但是真正使马跑得更快的东西却极为复杂——这是一个基于 DNA 的巨大网络,它能赋予马生长肌肉、持久奔跑甚至思考的能力。这种复杂性是算法底层参数的真实写照——即一个图像识别算法究竟是如何表现得好(或坏)的。如果你在本文之中的某处卡住了,做个深呼吸并想象一下马吧(这也是一个好的人生建议)。 为了这一研究,谷歌团队生成了 1000 个图像识别算法,这些算法使用了现代深度神经网络来训练以识别一组特殊的图像;接着,250 台计算机中的每一台选择 2 个算法,并通过一张图像的识别任务来测试算法的精确度。具有更高精确度的算法会被保留,表现欠佳的算法则被删除。接着保留的算法被复制,并生成稍作改变的克隆算法(或「孩子」),就像人类 DNA 在生育期间随机改变一样。但是这次突变改变的不再是蓝眼睛或是红头发,而是新算法解读训练数据的方式。接着,把训练亲代算法的相同数据用来训练克隆算法并将克隆算法放回到那 1000 个算法之中,并再一次开始这一过程。 谷歌的研究者通过神经进化培育出了一个精度高达 94.6% 的算法,并且在 4 次重复实验中都取得了类似的结果(尽管并不完全等同)。能够提升该算法的图像识别技能的突变被保留(即这些算法存活),而引起了算法性能降低的突变则会被清除。正如自然界的情况一样。 谷歌进行的 5 次实验之间的不同也表明了一个持续存在的问题。谷歌研究者及该论文合作者 Esteban Real 说,该算法常常会在运行到一半时卡住,似乎不确定是要继续进化还是停止突变重新开始。Real 说自然界里翅膀的进化是这种情况的一个类比:一只翅膀不会带来太多帮助,但是一对翅膀可以使你飞翔。 现在谷歌的团队正致力于使进化模型更全面地(为了打造一对翅膀)探索不同的突变。但是这有点棘手。这个团队只想要算法以一种限定的方式突变,这样能使该算法不会获得一大堆无用的额外代码。Real 解释说:「最坏的情况是我们得到很多的单只翅膀。」 通过主要聚焦于图像识别,谷歌不仅测试了神经进化解决那些生物大脑所擅长事情的能力,还测试了其解决现代问题的能力。另一方面,OpenAI 则使用了一种更纯粹的进化形式来承担一个不同的任务。 (责任编辑:本港台直播) |