您的位置: 主页 > 人工智能学家 > 自动驾驶汽车的遗传算法:达尔文主义优化

自动驾驶汽车的遗传算法:达尔文主义优化

时间: 2017-06-23阅读:


概要: 自动驾驶汽车的遗传算法:达尔文主义优化

原作者:Dr. Lance B. Eliot

译者:彭婷

 

我前几天看了国家地理有线频道,惊异于一种豹,它可以跨越几英尺到空中抓捕飞行的鸟。起初,豹试图在地面上抓到鸟,但是对于豹的靠近,鸟机智地选择了飞起来逃走。似乎飞到空中的鸟足以逃离在地上徘徊的豹子了。但是,豹早已预料到这只鸟会飞走,它机敏地以与鸟向上轨迹相符的角度奔跑,并成功地跳跃了几英尺抓到了正在飞行的鸟。如果再过几秒钟,这只鸟就可以飞到豹子跳不到的高度了。在反思豹子的这种行为之后,你真正需要敬佩的应该是豹子能够在飞跃时计算恰当的角度,速度,时间和方向以准确地将快要飞走的鸟抓住并扑到在地。最终豹子家庭获得一次胜利(一顿饭),鸟类家庭获得一次失败。

 

豹子怎么知道要跳跃起来?它是上了大学,在学校学习的吗?有没有一种豹子一直在阅读的“猎豹”手册呢?那些解释似乎都不大可能。更为合理的解释就是这种豹是生物进化的产物。随着时间的推移,能够确定如何最好地跳入空中捕捉鸟类的豹才更有可能生存下去。那些没有这种策略能力的或不容易获得食物的豹子往往容易饿死,无法繁衍下去。而那些遗传了这种飞跃能力的豹子更容易获得食物,从而生存,繁衍下去。最后,那些具有这种特质的豹子胜出,而且繁衍得越来越多,而不具备这种特质的豹子被淘汰,最终走向灭绝。

 

这种解释有个家喻户晓的名字:达尔文主义。正如我们今天所知道的,Charles Darwin提出了进化论,该理论在1859年发表于“物种起源”---他的经典著作之中,也因此他的理论得到了广泛的认可。他侧重于生物物种以及自然选择如何致使出现适应生存的物种和无法适应生存的物种。在很多方面,这个理论在第一次提出时是有争议的。即使是在今天,仍有一些批评者并不完全认同他的理论。 还有他的理论对人类和创造的根本性质的暗示也一直是争论的焦点。我不会在这里打开潘多拉的盒子。

 

今天早晨,我开车去上班时想起了达尔文主义。坐在我车里的同事与我正努力通过早上可怕的高速公路交通堵塞。我们都死死盯着交通情况,以获得在某种程度上前进一点点的机会。突然间,一辆在等待车道上的汽车发疯似的冲出等待车道。它非法穿过标记车道的双黄线,然后这辆一意孤行的车穿过了其他所有的四条车道。司机显然试图开出一条高速公路出口,但他并没有计划好。除了穿过所有的车道,造成其他汽车司机突然猛踩刹车,他几乎也没有驶出匝道。由于他的野蛮动作,实际上他在匝道上击倒了一些锥形交通路标,并且无法正确对齐,安全出去。

 

同事和我都因肆意妄为的司机的鲁莽和粗暴的行为而感到震惊。我们看着彼此同时说出“达尔文主义”,这是我们对他这种最终会在车祸中被碾碎或死亡,消失于种群库的人的一种表达方式。当然,我们实际上并没有相信这一点,更多的是把它当作一个可以减轻压抑的语言和幽默点,但它表明达尔文理论已经渗透到我们日常的努力成果和想法之中。

 

有一系列的调查研究,试图利用达尔文的理论开发数学算法并应用于计算机系统。这个研究领域被称为遗传算法。基本上,它们是一步步使用与进化论相同概念的程序。请注意,这些遗传算法有各种各样的竞争方式,本身并没有一个具体的标准。不同的研究人员和计算机科学家已选择以不同的方式实施遗传算法。一般来说,整体方法是一样的,但如果您决定使用特定的软件包或编写自己的软件代码,请记住,你所使用的遗传算法可能与其他用户的不同。

 

在控制论自驾车实验室,我们一直在使用遗传算法来帮助自驾车。

 

遗传算法可以独立使用,它们也可以通过嵌入到自驾车AI功能中使用,并且可以与神经网络和其他机器学习机制结合使用。在本文中,我将介绍一些使用遗传算法来推进自驾车的方法。

 

让我们从我和我女儿之间进行的友好辩论展开我遗传算法的例子吧。作为司机,她真的很喜欢踩在踏板上。每次她开车,就像一场Indy比赛,她会抄近路,抓住任何可以减少驾驶时间的方法,尽快到达目的地。相比之下,我也许就是刻板的父亲式驾驶司机了,也就是说,我会在遇到任何停车标志时完全停下来,不会发动引擎,我也会尽快地到达目的地,但在任何方式下安全是关键。我女儿认为,我的驾驶风格古老而且过时了。另外,她的驾驶风格是现代的,现实的,也是快速到达目的地的唯一途径。我可以说的是,她车上被撞瘪,刮伤和其他被撞凸起来的数量表明,她的做法虽然也许更快,但有着潜在的一些真正的不良后果。

 

在控制论自助实验室的我的组员听到了我和我女儿关于驾驶风格的轻松的辩论。我一再声称,我和她几乎可以到达目的地,而且花费的时间差异很小,但却更加安全。她却说她的风格将为任何驾驶游览增添大量的时间。谁是对的?直觉上,我意识到,如果你尽可能快的话,你会比别人更快到达目的地,她的说法逻辑上来说是正确的。但是,我认为当你卷入某种交通状况时,这种仅凭直觉的概念实际上是错误的。 

 

如果道路交通繁忙,那么其他的交通车俩的前进将会束缚你的前进。早上在高速公路通勤途中,我看到汽车司机都尽可能的开快点,但是他们被其他的交通车辆卡住动不了,所以他们无法像他们想的一样开那么快。是的,他们可以在有一定的交通空隙的时候加速,但虽然如此,还是有其他的交通车辆仍然保持着他们的速度。加速,减速,加速减速,这是在这些交通状况下疯狂加速驾驶风格的结果。我认为一个更为稳重的司机就算不做那些疯狂司机所做的看似有用的加速减速也可以同样的前进。

 

描述这一辩论的一个方法是将其视为优化问题。我们希望优化到达目的地X所需的时间,在交通繁忙的条件T下优化时间,并使用一些驾驶技术S,以确定哪个是“最佳”解决方案。为了公平竞争,我们希望保持T近似相等,以便对任意的集合S进行比较。所以,驾驶技术的集合S对于轻便交通状况(一个简单的T)来说可能是一个非常好的解决方案,但对于交通繁忙的情况(繁忙的T)就没那么好了。因为在绵延数英里的开阔的路面,没有障碍物,而且开得越快意味着到得越早的情况下,我女儿的这种快速行驶的风格也许可以极大地解决交通问题。另一方面,当高速公路交通十分繁忙,无法开得很快时,她的这种快速行驶的解决措施与我安全至上的方式应该没有很大的区别,甚至更差。

 

控制论自驾车实验室的团队决定继续使用遗传算法来测试驾驶风格的竞争方法。遗传算法尝试使用达尔文方法解决优化问题。除了想解决我女儿和我正在进行的辩论之外,这个对自驾车也是有用的,因为这个问题正好是有关驾驶自驾车的风格问题。

 

大多数自驾汽车制造商都认为,自驾车的AI应该始终是最合法和最慢速驾驶的司机。在自驾车的研发阶段,现有的就足够了。一旦自驾汽车真正出现于现实世界中,我们可能会看到,人们会希望他们的自驾车更具激进性。自驾车的一些买家甚至可以作为购买哪种自驾车的标准,无论是“老奶奶”风格的驾驶,还是可以适应“赛车”的驾驶风格。我一直提议自驾车制造商需要提供多种驾驶风格,并允许人们选择他们想要的车型。现在,自驾车制造商正在将其作为“一种适合所有人的风格”,我们可能逐步看到市场需要选择。这就是为什么我们在控制论自驾车实验室开发多种风格的原因,因为我们预料到这将是人类想要自驾车所能做到的一点。

 

让我们回到遗传算法方面。通常,首先你会围绕你所决定的结构创建一个随机的初始填充。在这种情况下,我们认为驾驶风格由以下因素组成:


·速度风格

·车道改变风格
·制动风格
·距离风格

·风险风格


这一小部分因素对于初步的设置来说已经足够了,而且在我们更强大的版本中还有其他的因素。

 

对于速度风格,我们会确定你是一个开车很快的驾驶员还是一个更为慎重的驾驶员。对于车道改变风格,我们会确定你是一个不断更换车道的驾驶员还是一个不会频繁变更车道的驾驶员。对于制动风格,我们会确定你是一个会突然停下来刹车的急刹车司机还是一个只在必要时使用刹车的司机。对于距离风格因素,我们会确定你是一名会追尾的司机还是一个会保持汽车之间适当停车距离的司机。对于风险风格,我们会确定你是一个会紧急刹车,很可能出车祸的高度危险的驾驶员,还是驾驶时会确保安全的低风险的驾驶员。

 

这些因素中的每一个本身都不是黑白尺度,而更像是相对于一个极端的另外一个极端。你不必完全成为一个快速驾驶员,或是一个缓慢驾驶的司机,你可以处于这两个极端的中间的某个位置。

 

旅行本身的性质是一个很关键的方面。正如在达尔文主义里,环境是决定是否适合生存的因素。如果豹子处于没有任何鸟类的环境中,那么具有跳跃能力的豹子也不会比其他豹子更适合生存下来,因此具有跳跃的特征不会使其得到更多的食物。对于这个自驾车的例子,在非常繁忙的早晨高速公路交通条件下,我们只要花费九十分钟到两个小时就可以去任何地方做正常的日常通勤。我们还收集了实际交通数据,这些数据会标示早上交通车辆的车型,例如有多少辆车,驾驶行为等等。

 

假设在我们试图找出的这个定义的T中,我们将使用由我女儿的驾驶风格组成的驾驶方法S,目标是以最少的事故数量最小化到达我工作地点X所需的时间。在优化中包括最少的事故是一个重要因素,因为没有它你可能会撞到其他车辆,还选择继续前进,但这是不现实的,发生事故应该接受刑罚。

 

在任何一次通勤的单程旅行中,由于差异,一个驾驶风格可能会变得比另一个驾驶风格更为理想,因此我们需要多次模拟旅程,以评估驾驶风格是否总体上是最佳的。我们进行了数千次旅行模拟。这说明意识到达尔文主义往往需要多年的演变才能看到变化的出现,往往不是短期内发生的事情。我们还可以将车型划分为多个部分,并调整每个车段的驾驶风格。

 

借用我女儿的驾驶风格,我们创造了一大批和她激进的司机。我们根据他们的适合度成绩对每个成员进行评分。这被认为是“现在”的种群,用于繁衍下一代。从本质上说,这些都是父母为孩子贡献的自己的基因。

 

对于下一代种群,根据目前的种群,有三种后代:

     

精英后代是当前种群中最具适应社会价值的后代,因此被认为是存活下来的下一代。

    

混有父母二者特点的染色体交叉后代,他们产生于父母的交叉基因

突变后代是通过对选定的父母进行的突变或随机变化而产生的。

 

在每个驾驶环节中,我们在现在的种群中产生了像我女儿那样是趋于激进的司机的后代(成为下一代)。一些后代就像现在的精英种群,一些后代是混有当前父母二者交叉基因的种群,一些后代与目前的种群不同(已被突变)。

 

用豹子类比,回到豹子跳跃之前。首先,我们假设豹子没有异乎寻常地跳跃起来。对于这个“现在”的种群,豹子繁衍了他们的下一代。我们可以假设所有豹子繁衍的后代都与现在的种群一样,所以目前的种群就成了下一代,但根据Darwin,这不会发生。

 

相反,虽然有一些后代与单亲(精英)相同。但是,还有一些基于父母(交叉)组合的后代,如果你有孩子,你可能会注意到自己的孩子似乎是父母和母亲的混合体,使他们相对他们的父母来说是不同的(换句话说,这个孩子会表现出一些母亲拥有,但父亲没有的特征,或者父亲有,母亲却没有的特征)。

 

还有突变方面。有时一个孩子似乎有一个母亲和父亲都不会有的特质。 大自然瞬息万变,因而可能会产生一些具有更好适应能力的后代,这种适应能力甚至会超过他们父母所拥有的。在这种自驾车的情况下,激进的驾驶员的特征可能会突变,例如通常进入下一代或后代的激进驾驶员的紧急刹车可能会产生随机变异使之不再紧急刹车,而是缓和刹车。

 

为此设置遗传算法后,我们就可以运行它。你可以根据想要运行的次数运行它,或者你可以设置其他限制,例如所谓的“档位”,这是衡量下一代与当前一代有多大的差距的度量。(如果随后的几代人并没有太大变化,这可能表明你可以停止运行遗传算法)。运行可以无限期地进行,而重点放在适应度测试上,实质上就是运行它直到算法达到一定的适应度。

 

结果令人着迷。

 

最后,在最大的适应度和优化方面,激进性的风格呈现出更为温和的风格。在一条漫长的道路上遇到交通繁忙的情况时,这似乎支持我的观点。但长期看来,纯粹主义的激进风格并不会更具优势,相反更为温和的驾驶风格在这样的条件下会更好。我女儿不会因为这个原因而改变她的驾驶行为,而且她真的很喜欢她的激进的驾驶风格,加上她的风格在短途旅行中可能会更好(我们需要测试这个!),所以我们所做的遗传算法的努力并不会影响到她。

 

我们认为,这种遗传算法的使用对于自驾车以及了解AI如何进行的是很重要的。

 

使用自驾车的遗传算法很有可能在汽车的实际驾驶之外完成。它更像是一种用于评估AI驾驶汽车不同方法的设计技术。在AI驾驶汽车的时使用遗传算法不仅计算密集而且价格昂贵,在不对它所产生的东西进行检查的情况下,你是否会想立即发挥遗传算法的结果还是无法确定的。

 

不过遗传算法可以被传感器融合用于自驾车,这个可以事先进行(在传感器融合到自驾车之前)或可能实时完成。这个让你可以通过实时方式确定LIDAR数据或相机图像和视频流。


遗传算法越来越有用的一个方面就是调整神经网络。当设置神经网络时,你需要建立各种参数。我们如何知道哪些参数会是一个很好的设置呢?这个问题的一个解决办法就是使用一个运行多代这些参数的遗传算法,并尝试通过适应度函数识别哪些设置将是神经网络的“最佳”或最优的参数。

 

自驾车行业还未涉及遗传算法,也尚未被自驾驶车制造商特别使用。我们将逐渐看到这种算法技术从主导研究转向被自驾车制造商在现实中运用。这是自驾车厂商的另一个工具。而且,你越想要将自驾车推向5级(参见我关于自驾车里氏震级的文章),就越需要将最有前途的工具带到最前沿,这样有助于实现真正的自驾车。

 

安全驾驶由此出发!

 

本文系网易新闻&网易号“各有态度”特色内容.

 

原作者:Dr. Lance B. Eliot

译者:彭婷

原文链接:https://aitrends.com/ai-insider/genetic-algorithms-self-driving-cars-darwinism-optimization/



欢迎加入未来科技学院企业家群,共同提升企业科技竞争力

一日千里的科技进展,层出不穷的新概念,使企业家,投资人和社会大众面临巨大的科技发展压力,前沿科技现状和未来发展方向是什么?现代企业家如何应对新科学技术带来的产业升级挑战?


欢迎加入未来科技学院企业家群,未来科技学院将通过举办企业家与科技专家研讨会,未来科技学习班,企业家与科技专家、投资人的聚会交流,企业科技问题专题研究会等多种形式,帮助现代企业通过前沿科技解决产业升级问题、开展新业务拓展,提高科技竞争力。


未来科技学院由人工智能学家在中国科学院虚拟经济与数据科学研究中心的支持下建立,成立以来,已经邀请国际和国内著名科学家、科技企业家300多人参与学院建设,并建立覆盖2万余人的专业社群;与近60家投资机构合作,建立了近200名投资人的投资社群。开展前沿科技讲座和研讨会20多期。  欢迎行业、产业和科技领域的企业家加入未来科技学院


报名加入请扫描下列二维码,点击本文左下角“阅读原文”报名


上一篇:2017全球智慧城市战略指数(附报告)
下一篇:人工智能时代:新闻业的谢幕与重生

相关阅读