一种从昆虫身上获得启发的人工智能能让导弹防御系统反应更加敏捷。

8.1

人类的大脑中共有860亿个神经元在并行工作,处理来自感官和记忆的输入信息,实现人类认知的众多绝技。其他生物的大脑不是这么能干的多面手,但那些生物常常展现出对于特定任务的内在天资,这是数百万年的进化打磨出的能力。

我们之中多数人都早已见过动物做聪明的事情。或许你家养的宠物是一名逃脱高手;也许你住在鸟儿或蝴蝶的迁徙路线附近,庆祝它们每年的归来;或者你对蚂蚁锲而不舍地一直侵入你家食品储藏室的行为感到过惊奇。

关注这类特殊的神经系统,并将其作为人工智能(AI)的模型,可能会被证明与研究人类大脑同样有价值。考虑一下你家食品储藏室里的那些蚂蚁的大脑。每只蚂蚁的大脑拥有大约25万个神经元。更大型的昆虫拥有将近100万个神经元。我在位于阿尔伯克基的桑迪亚国家实验室从事的研究中,以一种较大型的昆虫——蜻蜓的大脑为研究对象。我和同事们希望能利用蜻蜓的专长来设计出对于某些任务最优化的运算系统,譬如拦截来袭的导弹或追踪气味烟羽(odor plume)。通过利用蜻蜓神经系统的高速、简洁和高效,我们旨在设计出能更快履行这些功能的计算机,而且能耗仅仅为常规系统消耗量的一小部分。

将蜻蜓当作未来计算机系统的先驱来关注也许看起来反直觉。那些被新闻报道的人工智能和机器学习的进展通常都是模仿人类智慧、甚至超越人类能力的算法。神经网络早已在某些特定任务(譬如在医学扫描中侦测癌症)中就算不是比人类更出色,也是和人类干得一样好。这些神经网络算法的潜能远远超越视觉处理。通过自我对弈来训练的计算机程序阿尔法零(AlphaZero)是全世界最厉害的围棋手。与它师出同门的AI阿尔法星(AlphaStar)居于最优秀的“星际争霸II”选手之列。

然而,这些成就有所代价。开发这些复杂系统需要大量的处理能力,一般只有拥有最高速的超级计算机和支持它们资源的一流研究机构才可利用那些系统,而且能耗让人不禁却步。近期的估测指出,开发和训练一个自然语言处理算法的过程产生的碳排放量超出四辆汽车在其生命周期内的总碳排放量。

但是,人工神经网络真的需要那么庞大、那么复杂才能派上用场吗?我认为并非如此。为了在不久的将来获得由神经启发的计算机带来的好处,我们必须找到简洁性和复杂性之间的折中方案。

这就将我带回到蜻蜓这个研究对象上。蜻蜓的大脑对于某些应用来说,也许正好提供了完美的平衡。

假如你早已遇见过蜻蜓,那么你早已知道这些美丽的生物急速飞行时有多快,你也见识过它们在空中让人难以置信的敏捷性。在随意的观察中不太容易获知蜻蜓绝佳的猎食能力:蜻蜓追逐猎物时的捕捉成功率有95%之高,每天要吃掉数百只蚊子。

蜻蜓的体魄肯定没有被人忽视。数十载以来,美国的科研机构已经试验了将从蜻蜓获得启发的设计方案用于监视用无人机。现在是时候将我们的注意力转向控制这个小型“捕猎机器”的蜻蜓大脑了。

蜻蜓也许不会玩围棋这种策略性游戏,但蜻蜓确实在猎食时展现出一种策略,它会提前瞄准猎物的当前位置,从而拦截住它的“晚餐”。这需要让运算进行得极快才行——通常蜻蜓只需要50毫秒就对猎物的机动动作做出反应,开始转向。它这么做的同时,还会追踪头部与身体之间的角度,这样它知道要把哪侧的翅膀扑扇得更快,好抢在猎物之前转向。蜻蜓也会追踪自身的运动,因为随着蜻蜓转向,蜻蜓所观察到的猎物位置会有变动。

8.2

蜻蜓只需大约50毫秒就能开始对猎物的机动动作做出反应。假如我们假定眼睛里的细胞侦测到猎物和传递猎物相关信息耗时10毫秒,肌肉开始产生力耗时5毫秒,这样就仅剩下35毫秒来让神经回路进行计算。考虑到一个神经元通常要耗费至少10毫秒来整合输入信息,底层神经网络至少有三层的深度

因此,考虑到一个神经元将所有输入信息整合起来(被称为膜时间常数)所需时间超过10毫秒,蜻蜓的大脑正在完成一项引人注目的壮举。假如你将眼睛处理视觉信息和肌肉产生运动所需力的时间包含进来,那么余下的时间其实只够三层、也许四层神经元依次将熟悉信息加总处理后,再把信息传递给下一环。

我能不能构建一个像蜻蜓拦截系统一样运作的神经网络?我也寻思这样由神经启发的拦截系统的用途。我在从事国家安全研究的桑迪亚国家实验室工作,立刻就考虑起国防应用,譬如导弹防御的用途,设想未来的导弹拥有旨在快速计算拦截轨道、又不会影响导弹起飞总重或能耗的弹载系统。但是,也能想到民间应用。譬如说,控制无人驾驶汽车的算法可以被改造得更高效,不再需要大量计算设备。假如由蜻蜓启发的系统能进行计算并绘制出拦截轨道,那么全自动无人机或许能利用它来避免碰撞。假如计算机能做得像蜻蜓大脑一样小(大约6立方毫米),那么或许未来某一天驱蚊水和蚊帐会变成过时之物,取而代之的是微型灭虫无人机!

我开始解答这些问题,创造出一个简单的神经网络来代替蜻蜓的神经系统,用它来计算蜻蜓如何拐弯才能捉到猎物。我构建的三层神经网络是一种软件模拟。一开始,我只是在Matlab软件内构建程序,因为它是我早已在用的编程环境。此后,我将模型迁移到Python语言平台。

因为蜻蜓得要看见猎物才能捕捉猎物,于是我首先模拟出蜻蜓眼睛的简化版本,抓取追踪猎物所需的最少细节。虽然蜻蜓有两只眼睛,但一般公认蜻蜓并不利用立体景深感知来估量自身与猎物的距离长短。在我构建的模型中,我没有模拟两只眼睛,也没有试图去赶上蜻蜓眼睛的分辨率。相反地,神经网络的第一层包括441个神经元,代表来自眼睛的输入信息,每个神经元描述视野内的一块特定区域——这些区域平铺在一起,形成21×21的神经元阵列,覆盖蜻蜓的视野。随着蜻蜓转向,猎物影像在蜻蜓视野内的位置也会改变。蜻蜓计算要让猎物影像与这些“眼睛”神经元中的一个(或者多个神经元,假如猎物足够大的话)对准的话需要如何转向。第二组441个神经元也在神经网络的第一层内,负责告诉蜻蜓哪些眼睛神经元应当与猎物影像对准,也就是说,猎物应该会出现在蜻蜓视野内的何处。

计算处理发生在我的人工神经网络的第一层和第三层之间,输入的信息描述了物体掠过视野的运动,处理后得出蜻蜓需要朝哪个方向转向的指令。我在第二层中使用了194 481(21的四次方)个神经元组成的阵列,很可能比蜻蜓对于这个任务所用到的神经元数量多得多。我预先计算了系统中所有神经元之间连结的权重。虽然神经网络可以通过足够长时间的学习来获知这些权重,但通过进化和预编程神经网络架构“学习”具有优势。蜻蜓结束若虫期,成为有翼成虫(专业的称呼是幼嫩期)后,并没有父母喂养它或者向它演示如何捕虫。蜻蜓处于脆弱的状态,逐渐适应新躯体——假如它得要同时琢磨捕猎策略的话,那会不利于它生存。我设置网络的权重,允许蜻蜓模型根据输入的视觉信息,计算拦截猎物所需的正确转向。要怎样转向呢?呃,假如一只蜻蜓想要捕捉一只与它路线交叉的蚊子,那么它不能光瞄准蚊子。借用冰上曲棍球选手韦恩 · 格雷茨基(Wayne Gretzky)的昔日说法,蜻蜓得要瞄准蚊子将会出现的地方。你也许认为遵循格雷茨基的建议需要有复杂的算法,但事实上这个策略相当简单:蜻蜓所需要做的,就是将它观察猎物的视线和固定参考方向之间的角度维持不变。

有过操纵船只经验的读者会明白背后道理。他们知道,当他们观察另一艘船的视线与参考方向(比如正北方向)之间的角度保持不变时,他们该担忧起来,因为两艘船在相撞航线上。长期以来,海员们一直避免使用这种被称为“平行航行”的航线来防止相撞。

将这番道理转用到蜻蜓身上,蜻蜓想要与猎物相撞的方法很简单:让观察猎物的视线与某个外部参考之间的角度保持不变。然而,当蜻蜓俯冲转向、收集“晚餐”时,这项任务不一定微不足道。蜻蜓体内没有不管蜻蜓如何转向都维持恒定方向并提供参考的陀螺仪(据我们所知)。蜻蜓也没有永远会指向北方的磁性罗盘。在我对蜻蜓捕食的简化版模拟中,蜻蜓转向后将猎物影像与眼睛的特定位置对准,但它需要计算出那个位置该是什么。

我模拟的神经网络的第三层(也是最后一层)是运动指令层。这一层的神经元输出信息是对于蜻蜓肌肉的高级指令,告诉蜻蜓该转向哪个方向。蜻蜓也利用这一层的输出信息来预测它自己的机动动作对于猎物影像在其视野中位置的影响,并相应地更新预测位置。这种更新使得蜻蜓在接近猎物时能够让它观察猎物的视线相对于外部世界保持恒定。

蜻蜓这种生物可能已经进化出额外的工具来帮助进行这种预测所需的计算。譬如说,蜻蜓拥有专门测量飞行中躯体旋转和头部相对于躯体旋转的传感器——假如这些传感器足够快,那么蜻蜓能根据传感器输出值来直接计算它自身运动对猎物影像的影响,或者用一种计算方法来交叉检验另一种方法。我在模拟中没有考虑这个可能性。

为了测试这个三层神经网络,我模拟一只蜻蜓和它的猎物在三维空间内以相同速度移动。同时,我所建模的神经网络大脑“看见”猎物,计算要指向哪个方向来让猎物影像保持在恒定角度,再发送适当的指令给肌肉。我能够展示这个蜻蜓大脑的简单模型确实能成功拦截其他昆虫,甚至是沿着曲线或半随机路径行进的猎物。不过,模拟的蜻蜓并没有完全达到生物学上蜻蜓的捕猎成功率,它也没有具备蜻蜓为人所知的所有优势(譬如说,蜻蜓令人惊异的飞行速度)。

8.3

这个“蜻蜓背包”能从插入蜻蜓大脑的电极中抓取信号,由珍利亚科研园区的一名科研团队带头人安东尼·莱昂纳多(Anthony Leonardo)研发

要确定这个神经网络是否真的吸收了蜻蜓大脑的所有奥秘,需要做更多研究工作。霍华德 · 休斯医学研究所位于弗吉尼亚州的珍利亚科研园区里,那儿的科研人员已经研发出用于蜻蜓身上的微型背包,能够在蜻蜓飞行时测量蜻蜓神经系统发出的电信号,传回这些数据用于分析。这些“蜻蜓背包”尺寸小到不会干扰蜻蜓猎食。相似地,神经科学家已经能够在蜻蜓被静止固定住时——但通过向蜻蜓呈现适当的视觉提示,让蜻蜓以为自己在移动,创造出蜻蜓尺度下的虚拟现实——记录下蜻蜓大脑内单个神经元发出的信号。

这些数据使得神经科学家能够将蜻蜓大脑模型的活动和真实蜻蜓中的生物神经元的活动模式作比较,从而验证蜻蜓大脑模型。尽管我们还不能直接测量蜻蜓大脑内神经元之间的单一连结,我和同事们将能够推断蜻蜓的神经系统做的计算和我的人工神经网络所预测的结果是否相似。那会帮助确定蜻蜓大脑内的神经元连结是否类似于我预先计算的神经网络权重。我们无可避免地会发现,我们的模型在某些方面与实际的蜻蜓大脑不同。或许这些区别会提供线索,让我们知道蜻蜓大脑走了哪些捷径来加速计算。

蜻蜓也能教会我们如何在计算机中实现“关注”。你可能知道你的大脑全神贯注时有什么感觉,你完全专心一志,聚焦于一项任务,达到其他让你分心的事似乎都逐渐消失的程度。蜻蜓同样能集中注意力。它的神经系统能够放大对于特定的、大概是挑选出来的目标的反应,甚至在同个视野内能看见其他潜在猎物时依然如故。一旦一只蜻蜓决定好追逐一只特定猎物,它只有在捕捉第一选择失败之后,才会改变目标。(换句话说,假如你很容易就分心,采用平行导航法来捕捉猎物没有用。)

即使我们最终发现蜻蜓引导注意力的机制在复杂性上比不上人类在拥挤的咖啡厅里聚精会神的机制,一个更简单但能耗更低的机制依然可能会证明对于下一代算法和计算机系统有益处,因为它提供了抛弃无关输入信息的高效方式。

研究蜻蜓大脑的好处并不只是新算法,它们也能影响系统设计方案。蜻蜓的眼睛很敏捷,运作速度相当于每秒200帧:那是人类视觉速度的好几倍。但蜻蜓的空间分辨率相对较差,大概只有人眼空间分辨率的1/100。蜻蜓虽然视觉感知能力有限,却能如此高效地猎食。弄懂这背后的原因,就能提出设计更高效系统的方法。以导弹防御问题来说,蜻蜓的例子表明,我们的快速光学传感反导弹系统要击中目标的话,可能需要较低的空间分辨率。

蜻蜓并非现今唯一一种可以为神经启发的计算机设计方案提供帮助的昆虫。君主斑蝶的迁徙路线长得让人难以置信,它们利用某种天生固有的本能在适当的时候开始迁徙旅程,飞往正确的方向。我们知道,君主斑蝶的迁徙依赖太阳的位置,但依靠太阳来导航需要掌握时间。假如你是一只飞往南方的君主斑蝶,你会希望上午太阳在你的左边,而到下午时太阳出现在你的右侧。于是,为了设定路线,蝴蝶大脑必须读出自身的昼夜节律,再将这个信息与它观察到的情况相结合。

其他昆虫(譬如撒哈拉沙漠蚁)必须行走相对远的距离来觅食。它一旦发现食物源,不会简单地沿原路返回巢穴,因为那很可能是一条迂回的路线。相反地,蚂蚁会计算出一条直接返回巢穴的路线。因为蚂蚁食物源的位置每天都不一样,蚂蚁必须能记住它觅食时所走的路线,将视觉信息和某种体内行进距离测量的数据相结合,然后从那些记忆中计算出它的回巢路线。

虽然没人知道沙漠蚁体内是什么神经回路完成这项任务,但珍利亚科研园区的研究人员已经确定了使得果蝇能利用视觉路标自我定向的神经回路。沙漠蚁和君主斑蝶很可能利用相似的机制。这类神经回路可能有朝一日能在低耗能无人机上派上用场。

假如昆虫启发下的计算效率达到极高程度,这些专门组件的数百万个实例能够并行运行,从而支援更强大的数据处理或机器学习,那时会如何?下一代的“阿尔法零”可不可能合并数百万个类似蚂蚁的觅食架构来完善它的对弈?或许昆虫会启发出新一代的计算机,那些计算机在外形上与我们现在的计算机截然不同?一批蜻蜓拦截之类的算法能够用来控制游乐园机动游戏设施的移动部件,确保车辆甚至在复杂且刺激的疾驶中也不会相撞(很像领航员操纵船只)。

没人知道下一代的计算机会是什么模样,是否会是有机体与无机物相结合的半机械人同伴,或者是像艾萨克 · 阿西莫夫(Isaac Asimov)笔下马尔蒂瓦克(Multivac)那样的集中式资源。同样地,没人能说出开发这些平台的最佳路径需要有什么。科研人员从人类大脑汲取灵感,开发出早期神经网络,而现在的人工神经网络常常依赖与大脑截然不同的运算。研究生物神经回路中的单个神经元的运算——目前只可以在非人类系统里直接办到——也许会教会我们更多东西。昆虫看似简单,但它们所能做到的事常常令人惊讶,对下一代计算机的发展可做的贡献很大,尤其是随着神经科学研究继续前进,我们对于生物神经回路的运作机制理解得更为深入。

所以,下次当你看见一只昆虫做一些聪明的事情时,想象一下如果你有一支由小小的蜻蜓、蝴蝶或蚂蚁组成的小军队任你调遣,如果你能拥有它们的高效率,它会对你的日常生活带来什么影响。也许未来的计算机会给“蜂群思维”这个术语赋予新的含义,拥有大量高度专业化且极其高效的微处理器,能够根据手头的任务进行重新配置和部署。凭借现今神经科学取得的进展,这看似幻想的未来可能比你想象中更加接近现实。

资料来源 IEEE Spectrum

——————

本文作者弗朗西丝·钱斯(Frances Chance)是一位计算神经科学家,是桑迪亚国家实验室技术人员的中坚力量。