让机器人定向演化_互动科普

使用社交账号登录

购买价格:
付款方式:

互动科普

主页 > 科普纵览 > 信息 • 能源

让机器人定向演化

admin  发表于 2017年12月21日

2013年,博物学家在物种名录上记录下了这些生物的名字:生活在地中海,形似肉食性海绵的胶质有孔虫(Spiculosiphon oceana)、生长在泰国山区的甲威萨龙血树(Dracaena kaweesakii)、居住在澳大利亚东北部,尾巴长得像落叶似的麦维尔角叶尾壁虎(Saltuarius eximius)。在那一年内,人类总共发现了18 000种动物、植物、细菌和真菌。对生物多样性的探索几乎是永无止境的,而生命之所以如此多样则是物种演化的结果,达尔文可能是第一个理解了这一过程精髓的人。那么,我们能不能复制演化过程呢?

先驱图灵

演化的核心机制是不断循环的变异和自然选择。20世纪50年代,阿兰·图灵(Alan Turing)灵光一现,他提出可以在计算机上重现演化的迭代过程。

图灵的想法颇具先见之明,现在,研究者就在模仿达尔文提出的演化原理,把这一设想应用在机器人上。这样做的理由很简单。既然演化可以塑造生物,并让它们适应环境,那么人工演化理应也能自动地设计出适应环境的机器人。

这就是演化机器人学研究的主题。演化机器人学糅合了机器人学和人工智能。借助于演化原理带来的灵感,演化机器人学试图自动创造出机器人或机器人的部件,比如控制架构(机器人的脑)和形态(它们的身体),甚至将这两者同时创造出来。

从图灵到现代演化机器人学,中间发生了一些里程碑事件。基于图灵以及一些生物学家,如亚历克斯·弗雷泽( Alex Fraser)和计算机学家,如英戈· 莱盛伯格(Ingo Rechenberg)、汉斯-保罗· 施威法尔(Hans-Paul Schwefel)和约翰· 奥兰德(John Holland)的理念,学术界设计出了演化算法。

演化算法也出现了许多变种,但所有的演化算法都建立在相同的架构之上(见下图):随机生成候选种群,然后计算它们的适应度(fitness),即根据预先规定的任务来评估每个候选个体的表现,最后只保留那些表现最好的候选个体。接着,用这些个体构建新的候选种群。

在“复制”(reproduction)阶段,要添加一些随机变异。比如将选定的候选个体和另一个体的部分特征融合,或是随机改变某个候选个体的部分特征。

通过这些方式,我们就得到了最高效的候选个体的“子代”,接着我们可以用子代重复这一过程。随着一代一代的不断演化,最优解的后代就会遍布整个种群,而变异(有时是对演化有利的)有时会带来比先前所有解都更出色的解。

 

演化算法与“黑箱”

如今,演化算法成了一种不错的“黑箱”优化算法。也就是说,它可以帮助我们找到某类函数的最大值。我们可以估算这类函数的值,但却无法简单地用数学方法表达它,因此无法直接求解。

换句话说,需要优化的这个函数是一个我们一无所知的“黑箱”。就机器人来说,不管优化目的是改进它们的形态还是控制系统,最本质的问题都是类似的,而这些问题也是当前诸多研究的焦点。

机器人自我进化-7.jpg

第一个问题就是编码。如何用“人工基因型”来表征复杂的大型结构(比如器官或者神经系统)呢?尤其是,如何才能确保这个基因型多次使用同样的基因(比如,我们所有的皮肤细胞表达的都是同样的基因),并且允许有时出现变异(比如人的五个指头长度不同)以及对称性(如左右手的手性对称)呢?

另外一个问题和选择压力有关:应该让种群中的哪些个体生存下来,才能获得更好的解?在生物学中,会有这样的问题:“在演化过渡阶段,不完整的翅膀看起来更像是残疾而不是一种生存优势,那么鸟的翅膀是怎么出现的?”在演化机器人学中,问题也如出一辙。比如,通过人工演化,什么样的步骤可以产生我们想要的结果,比方说仿人机器人?最关键的问题是,怎么做才能让人工演化自己发现这些步骤?

现在我们明白,在电脑上复制演化并不只是要找到函数的最大值。假设追求最大值就是演化的正确方式,我们首先要确认那个需要得到最大值的函数。除此以外,在建造最优演化解的大厦时,我们还要挑选正确砖瓦进行操作。

为了让机器人的“身”(机械和电子)和“心”(软件)融合,让算法自行设计机器人有着非同寻常的意义。实际上,目前的机器人是用模块化的方式设计的,也就是说机器人的各个部件间是相互独立的。但是在实际操作过程中,模块间的界限往往变得模糊不清,因此这个设计方式常会遇到麻烦。制造机器人时常遇到这类问题,比如,机器人的行走是机械问题还是人工智能问题?

 

盲过程

生物力学告诉我们,我们的身体天生是用来行走的,因为关节的形状以及肌肉的位置都适应了行走这个功能。但行走的秘诀难道只是身体本身吗?行走也是一个规划问题,还与感官的调用、平衡等因素有关。行走看起来既涉及大脑,又涉及肢体。面对这个需要两者兼顾的问题,机器人设计师要做出艰难的选择:哪些功能应该通过软件实现?哪些功能又应该通过机械实现?

如果由人工演化这种“盲”设计过程做决定,那么上述问题就迎刃而解了,而且有时它还能得出让人大吃一惊的解。和达尔文理解的一样,演化是盲目的。演化没有预期的目标,也不做规划。演化只关心最具有适应性的个体的存活,而并不在意这些个体为了生存所使用的手段。

这种“盲”设计法使得演化成为一个代价高昂的过程:为了筛选出现在的物种,不计其数的生命逝去了。但这种盲目性也是演化的财富。演化是一个极具创造力的过程,它不会局限在预想的条条框框之中。生物学家莱斯利·欧格(Leslie Orgel)曾写道:“演化比你更聪明。”演化机器人学的目标就是利用人工演化来做到这点。

对于许多没有清晰解决方案的问题,演化机器人学非常实用。在柔性机器人的设计和控制方面,特别是对那些具有张拉整体(tensegrity)结构的机器人而言,演化机器人学可谓量身定制。这些机器人很难,甚至无法精确设计,因为它们的物理性质以及与环境的相互作用几乎都是未知的。

同样,让多个机器人学会共同行动也是一个极为复杂的问题,以至于协调少量机器人的行动所需的时间就已经长得让人无法接受了。即使机器人数量不多,机器人间的交互以及备选行动的复杂性也会使得精确的解决方案无法在现实环境中实施。

但在以上两种情况下,利用人工演化就能发现一些创新的解决方案。通过半盲探索并选择最具有适应性的个体,这些创新解能够逐步得到优化。在某种程度上,演化机器人学放弃了虽然精确,但难以得到或根本无法得到的方案,转而追求实用的解决方案。

演化的创造性还可以增强机器人对伤害的耐受能力。实际上,自主机器人面临的最大挑战之一,就是设计出能够在发生意外时继续工作的机器人。比如,如果有足机器人失去了一条腿,通常情况下它就无法再行走了。虽然有时候设计师考虑到了一些可能出现的故障,但无法做到尽善尽美。

反之,动物在某条腿受伤甚至残疾的情况下还能继续存活,因为它们能够发现一些创造性的方法来弥补身体的缺陷。在遇到这类关键情况时,可以用演化的创造力来让机器人变得更灵活。

 

演化的创造力

2006年,美国康奈尔大学的一支科研团队研发出了一种四足机器人。它会用三十几种简单的测试来了解自己的形态。这个机器人建立了“自我模型”,因此它能够间接地辨认自身形态上受到的损伤。

该机器人的测试方案背后是一套人工演化算法。这个算法可以找到能最完美地解释当前自我测试结果的机器人形态。换句话说,在这个例子中,人工演化不是用来设计机器人的,而是用来设计与真实机器人对应的模拟机器人,从而判断真实机器人是否受损。

最近,我们的团队提出了另一种利用演化创造性来防止故障的方法。我们的六足机器人用人工演化来寻找一种新行为,该行为在模拟和现实中都能产生类似的结果。当机器人受伤时,算法能够自动找到一种放弃残肢的行为模式,而不必知道到底哪里出了问题。因此,我们的机器人能够在只剩五肢的情况下行走。

人工演化的一大优势是找到结构性的解决方案,而不仅仅是一组参数。我们设计了一种小型机器人,它的任务是在球场上拾起所有的球。它由一个神经网络控制,这个网络能够根据传感器发回的值计算发动机转速。变异可以用3种方式改变神经网络的结构:第一,随机添加或删除神经元;第二,随机添加或删除神经连接;第三,随机改变神经连接的参数。

接着,我们在电脑上模拟了机器人的传感器和发动机,并对这个神经网络进行虚拟测试。挑选用于生成下一代网络的最佳神经网络有两个标准:能够让机器人拾起最多小球,或是能让机器人产生和种群中其他机器人不同的行为。我们发现,第二个标准能够显著改善人工演化的效能,因为这个标准鼓励那些新颖的“想法”和创造力。

虽然演化机器人学能够让机器人具有某些自然演化的特征,但是通过人工演化得到的结果和大自然中的生物相比还是相形见绌。我们需要搞清楚一个问题:演化中最关键的因素是否都已经被考虑在内?从某种程度上讲,演化类似于一个优化过程。如果通过快速奔跑逃脱掠食者对于动物的生存来说非常重要,那么演化就会选择那些跑得最快的动物。也就是说演化会优化奔跑速度。在目前的研究中,这方面最受到重视。

 

演化和优化

不过,与演化相关的还有其他机制。在外部(如气候变化)和内部(如生物获得了新的技能,为自己带来了新机遇)因素的推动下,生物常会遇到新状况带来的挑战。比如,昆虫的翅膀一开始可能是用来调节温度的,然后才具有了飞翔的功能。一开始,翅膀可能无法扇动,但是当它们变得更轻、更快、更牢固以后,就可以用来飞行。而飞行为昆虫打开了新世界的大门,为它们的生存增加了一层保险。

在生物演化史上,这类变化随处可见,并造就了物种的多样性。这类机制也可归结为优化过程,而且很难通过传统工程学实现。

如果有什么方法能够超越对预设概念的优化,那么它一定能在机器人学中大展拳脚。比如,在欧洲的 SMAVNET(Swarming Micro Air Vehicle Network,微型飞行器群集网络)项目中,科研人员用一套演化算法计算出了一些简单有效的行为。通过这些行为,无人机能够在两点之间快速建立起通信中继。工程师分析了通过演化算法模拟得到一些解决方案,并对其进行优化,然后植入真正的无人机中。这就是用算法找到新概念的实例。

想要用这种方法来改变问题本身的定义的话,就必须要从一种和“经典”工程学不一样的角度看待问题。这种自动搜索过程应该从何处着手?如何对其进行引导?只用性能作为标准是否足以指导搜索,或者说,能不能指导搜索?

许多迭代优化法有一个强假设,即只要对性能进行逐步改良最终就可以得出最优方案。但是在找寻概念本身,甚至问题的定义的宏观框架下,这个假设是否依然适用?答案并不确定。以性能作为指标可能具有误导性。如果想从楼里出来,或是开车到什么地方去的话,有时候我们必须暂时远离目标,采用迂回的策略。如果仅以到目标的直线距离导航恐怕就无法完成任务了。

同理,科学史也充满了各种出乎意料的发现。科学家往往会发现他们研究目标之外的新成果。这类问题在演化机器人学中十分常见,以至于在生成机器人行为的过程中找寻创新性或多样性,已经成了这些方法非常关键的因素。

可能在很多情况下,适当地鼓励原创性的行为反而要比仅仅鼓励最高效的行为更加有效。

在无比宽广的时间尺度上,演化打造出了现在的生物界。从第一批生物出现以来时间已经过去了数十亿年。历时几千年甚至几百万年,不同的物种不断登场、不断演化。所有生物均享有这种适应机制,但是在一些物种身上,其他的机制也在发挥作用,而且这些机制的时间尺度更短。

从婴儿生长为成年个体的过程被称为发育。发育也是一种适应机制。此外,成年个体还可以具有学习能力,借助这种能力可以快速获得新知识,这比演化要快许多。

在一些动物身上可以观察到一定程度的学习能力,比如猴子、大鼠、小鼠甚至一些鸟类。因此,我们可以区分至少3种不同时间尺度的生物适应性:演化(需要几千甚至几百万年)、发育(需几年)、学习(需要花费几秒种到数月)。

 

演化加速

我们很好奇,这些成效显著的适应过程,在时间尺度上对于机器人来说是否遥不可及呢?理论上,发育和学习的时间尺度与工程师在设计机器人时愿意付出的时间比较契合。

但是,人工演化并不是从零开始的。机器人运动和感知环境所需的组件均已成型,它们能极大地加快演化过程。其次,计算机模拟能够以快进的速度给出演化结果。最后,演化过程可以只关注机器人的某个部分。根据经验,通过这些方式我们在几天甚至几小时内就能得到演化选择的产物。

这种提速的演化机制与大自然的演化(创造变异并通过自然选择筛选)有所不同。人工演化的时间尺度不同于需要几百万年的物种演化,而是与学习和发育的时间尺度相当。

一些神经科学家,比如让-皮埃尔·尚哲(Jean-Pierre Changeux)以及热拉尔·爱德曼(Gérard Edelman)也提出了一些基于变异和自然选择机制的模型,用来解释大脑的可塑性。最近克里桑萨·费尔南多(Chrisantha Fernando)和艾尔斯·萨思麦利(Eörs Szathmary)进一步拓展了这种“神经达尔文主义”(neural Darwinism),使其与现代神经学知识以及演化论协调。这些工作彰显出大脑的自组织和演化之间惊人的相似性。这些理论可为演化机器人学所用吗?我们在名为“梦想”(DREAM,项目编号为640891)的项目中对此进行了研究。这个项目最近得到了来自欧盟委员会H2020未来新兴技术(Technologies futures et méergentes ,FET)项目的资金支持。

对神经可塑性的新认识显示,演化机制可以应用于物种演化以外的地方。因此我们可以预见,演化机器人学自身的演化步伐也不会停歇。



全部评论

你的评论