我们为什么要打造玩桌上足球的神经形态机器人。
在过去大约25年的时间里,我们这些试图用电脑模拟大脑工作的人每年都会在科罗拉多州特鲁莱德山区小镇举办研讨会。在夏季的几周时间里,与会者经常在小镇大街上的新谢里登酒店的酒吧里放松。大多数人都可能记得,酒吧的里屋里有一张桌上足球台。在召开研讨会的几周里,你经常会发现一相互群竞争多年的神经形态工程师好友围着它。因此,几乎可以预见,有人要打造一款神经形态桌上足球机器人。事实证明,这个想法不仅仅是为了寻找乐趣。毕竟,我们为什么要玩桌上足球这样的竞技游戏呢?我们被它们吸引有社交方面的原因,但也喜欢学习它的运作方式,进而提高游戏水平。游戏可以提高人的手眼协调、跟踪和预测能力,以及策略性思维。这些都是我们希望机器人拥有的技能。人类一直对机器玩游戏这个想法感兴趣。早在18世纪末,机械特克(Mechanical Turk)在国际象棋中击败人类的(虚构的)能力,吸引并震惊了观众。1997年,当IBM的“深蓝”(Deep Blue)计算机真的击败了人类时,我们依然跟当初一样感到惊愕。现在,这样的胜利几乎已是家常便饭,DeepMind的人工智能(AI)系统首先在围棋中击败了人类冠军,然后在电子游戏《星际争霸2》中取得了胜利。(当你读完这篇文章时,AI可能又征服了你最喜欢的一款游戏。)这些卓越的计算成就可以相当好地测量系统的能力。但它们在一些重要方面存有欠缺。机器人需要在充满喧嚣和不规则行为,且环境不断变化的现实世界中运行。围棋严格死板的规则和受限的环境永远不会带来这样的挑战。现实世界中的游戏(肯定有桌上足球,也可能有桌上弹球)可能是更好的方法,可以衡量我们模仿人类大脑能力的努力是否真的步入了正轨。我们为什么对学习生物计算和感知的秘密如此感兴趣?坦率地说,这是因为它们比今天的计算技术强大得多,今天的计算技术似乎正在迅速达到它的极限。产品传感器产生了太多数据,使计算机难以理解,为了理解这些数据,计算机会消耗非常多的能量。生物在感觉和感知世界方面胜过我们所有的技术,在能效、可靠性、鲁棒性和适应性方面都要高出几个数量级。
我在西悉尼大学国际神经形态系统中心(ICNS)的同事安德烈•范斯海克(André van Schaik)举了一个很好的例子:不起眼的蚊子。它的大脑只有大约20万个神经元,但它的飞行控制和避障能力远超我们已经建造的任何东西。再看看蜻蜓,它可以在飞行途中捕捉蚊子。它的神经元数量大约是蚊子的5倍,每天大概消耗30只蚊子的能量,大约相当于几个糖粒。视觉感知最直接的例子就是神经形态技术的应用,这恰好是我的专业。制造观察世界的设备几乎总是使用带有互补金属氧化物半导体(CMOS)成像仪的摄像头。摄像头这种商品很容易让人们忘记图片(计算机视觉研究人员称之为“帧”)并不是感知视觉世界的唯一方式。摄像头用于捕捉场景的表象,足以愚弄我们的视觉系统。但我们其实不知道视觉系统用什么特征或信息来理解场景,所以摄像头只是尽可能多地捕捉信息。这种方法适合拍摄静态图片,但不太适合在空间中跟踪物体。比如,想象一下试图追踪一个物体,例如桌上足球的球,它移动得很快,在一帧和另一帧之间的33毫秒内完全离开了图像的边缘。当然,你可以使用帧速率加倍的摄像头,但这意味着所要整理的数据也要加倍,而这一切只是为了跟踪那一个对象。生物眼睛的工作原理则不同。生物的视觉中没有帧,眼睛和大脑之间的神经非常少,完全无法传输整个图像。神经形态视觉传感器从眼睛的光感受细胞工作方式中获得灵感;它们仍然使用镜头将外部世界投射到硅芯片的像素网格上,但就是这些像素中蕴藏着有趣的信息。神经形态传感器也被称为基于事件的成像器,其中的像素只报告光亮的变化,并且只在变化发生的瞬间报告。当前方没有任何变化时,它们不产生任何数据。这种方法大大减少了这些摄像头产生的数据量,这意味着减少了要存储、传输和处理的数据。因此,无论对于摄像头本身,还是之后需要进行的所有计算,这些成像器消耗的功率都极少。初创公司Prophesee和IniVa-tion已经在市场上推出了基于事件的成像器品牌。这些传感器甚至已经进入太空:ICNS的神经形态摄像头将帮助发现轨道上的卫星和太空垃圾,国际空间站最近安装了一款传感器,用于检测短暂的大气现象,如精灵闪光(sprites)。神经形态研究人员还研究了我们的其他感官。他们开发了硅耳蜗来模拟听力、触觉形态传感器来探索触觉,甚至还有硅鼻来识别气味和气体。除了感知之外,神经形态工程学还寻求了解大脑处理和存储信息的基本方式。事实上,神经形态工程学建立之初就是为了更好地了解大脑中真正的神经元是如何运作的,从而尝试构建电子神经元。神经形态传感器,以及处理传感器产生的数据所使用的脑启发算法,可为高效执行某些任务而构建专用系统。但很难知道这些传感器何时捕捉到正确的信息,或者我们的算法何时在正常工作。这时就需要基准测试发挥作用。要更好地理解为什么把桌上足球作为神经形态基准测试,可以参考当今深度学习AI一直在用MNIST数据库作为基准测试这一例子。MNIST来自美国国家标准与技术研究所,就像机器视觉的“Hello, World!”。它的数据集包含成千数万幅低分辨率的手写数字符号的图像,可作为评判图像识别神经网络工作情况的基准线。基于事件的成像器可否也使用MNIST数据库作为基准测试?
每个MNIST数字在前面闪过时,基于事件的成像器都会立即看到它。为了让这种传感器持续看到静态数字,必须以可控的方式移动摄像头或者数字。眼睛的工作方式与之类似:眼睛的焦点从一个点移动到另一个点,直到大脑理解眼睛所看到的东西。
像MNIST那样,创建适合神经形态系统测试的数据集并不是一件容易的事,而且事实上它们也不是很有用。将运动与成像关联起来的过程非常动态,除了限定性极强的任务之外,其他任何可能性的数量都非常大。那么,如何确定神经形态系统是否在工作,以及如何将它们与其他方法进行比较呢?当然,也有采用交互仿真方式的基准测试。例如,在自动驾驶仿真过程中,随着汽车位置的变化,汽车传感器馈送给算法的图像也会在变化。但这些仿真也存在问题。最显著的是控制仿真和控制实体系统之间存在差异。仿真系统和现实之间的主要区别在于现实世界中噪声的数量和特点。对于大多数AI系统来说,噪声数据是一个大问题。但我们有理由相信,神经形态系统会在噪声中茁壮成长,甚至可能需要噪声。这看上去并不那么奇怪。实际上,一定数量的噪声可强化我们对运动和自身位置的感觉。通过额外的处理,或设计更接近理想化仿真环境的现实世界系统,试图减少神经形态系统中的噪声,反而可能会阻碍技术的发展。因此,要推动神经形态系统向前发展,我们需要实际存在于现实世界的基准测试。让我们从简单的游戏开始:桌面弹球。对于基准测试问题,桌面弹球实际上是一个非常好的选择,因为这款游戏非常简单。只有两个输出,每个发球板一个,游戏胜负的关键在于击球的时刻。这个真实系统的现实是不允许悔步,你不能为了让算法跟上游戏就简单地暂停或减慢球的运动速度。最重要的是,桌面弹球是计分的,一个明确的目标就是实现得分最大化。因此,无论哪个系统在桌面弹球游戏中得到最高分,都无疑是桌面弹球机器人更好的算法。
我们还可以稍微调整一下游戏,给它增加难度。例如,可以同时添加多个球,甚至可以添加诱饵球,或用不同材料制成、在弹球桌上表现不同的球。由此,我们可以添加更广泛的任务,如跟踪、检测、划分和识别球,同时仍将分数作为成功的最终衡量标准。在ICNS的一个演示系统中,一款弹球机器人可在桌上玩个球,效果与人类玩家差不多。令人惊讶的是,与一般深度学习系统中出现数十万或数百万个人工神经元不同,这种微小的神经形态大脑仅用两个人工神经元,就可对基于事件成像器的输入进行解释和反应。
虽然在弹球游戏上取得了很好的效果,但我的团队认为需要一项更复杂、更苛刻的手段来进一步推动神经形态研究群体的发展。而且,我们也喜欢玩新谢里登酒店酒吧的桌上足球。
桌上足球看起来像是一个机器人可以轻松掌握的游戏:所有的动作都发生在二维空间中,只需要8个马达就能控制球台上的所有小人。但实际比看起来要困难得多。多年来,曾有几次建造桌上足球机器人的尝试,并在不同程度上取得了成功,但都没有使用过神经形态传感器和算法。为了使机器人获得优势,先前的机器人系统通常需要修改游戏。例如,杨百翰大学建造的桌上足球使用了颜色分割跟踪算法,要求球是桌上唯一的绿色物体。瑞士洛桑联邦理工学院(EPFL)的桌上足球机器人令人印象深刻,它极大地简化了任务,用透明塑料薄膜替代球台的底面,让摄像头由下向上看,因而总能提供一个无障碍的看球视野。
我们的方法旨在重新创造与人类玩家体验相同的输入。摄像头俯瞰桌子,遭遇与人类玩家类似的视野遮挡。我们使用的是标准球,没有特殊标记或颜色。到目前为止,我们的桌上足球机器人已经有两次由澳大利亚到科罗拉多山脉的旅行。一次为期三周,几个由新手神经形态工程师组成的团队兴致勃勃地研究这个问题,为桌上足球编程,向获得最高分数发起挑战。其结果凸显了这项任务的难度,以及传统AI方法的不足。
一方面,用神经形态传感器跟踪球应该很容易,在弹球机这个小例子中确实很容易。然而,桌上足球是一种更加动态的游戏,尤其是当有人类玩家参与时。每个人类玩家有不同的策略,他们的动作并不总是合乎逻辑或必要。尝试使用深度学习等非神经形态解决方案给我们带来了一些值得关注的经验。首先,很明显,深度学习神经网络的处理方式(通常在GPU上进行)适合这类任务。GPU处理成批图像效果最好,而不是一次处理一帧。还有一个问题是,我们不关心球过去曾经在哪里,我们甚至不关心球现在在哪里;我们真正关心的是球下一步要去哪里。因此,深度学习解决方案处理了大量不必要的信息。其次,我们发现深度学习方法对问题中的微小变化极为敏感。摄像头的轻微抖动、玩家向不同方向拉动时球台出现的轻微倾斜,甚至是照明条件的改变,都会导致深度学习球跟踪器的优越性能崩溃。我们也许可以通过增加训练量来解决这些微小的差异(有完整的研究领域专门构建针对这类问题的弹性网络),但这需要玩非常多的游戏。我们的最新方法着眼于更简单、更快速的神经形态网络。这些算法处理摄像头的每一个事件(事件在神经形态计算中也被称为“尖峰”),并使用它们更新预测球的位置。这些网络没有使用深度学习的多层神经元,而是使用了16个小型模式识别网络,每个网络为18×18像素,因此在游戏中的任何时刻都只需考虑364像素。这使得它们的速度非常快,而且基本准确。速度非常重要,因为事件驱动算法需要跟上摄像头产生的时间敏感数据。每个事件只需要一些小而简单的计算。虽然这个系统不会对经验丰富的玩家构成太多的挑战,但我们的网络跟踪已经可以非常可靠地拦截球。不过,进球得分仍然是一项正在研究的工作。理论上,深度学习可以执行类似的操作,但它需要查看整个图像,且网络的每一层执行的计算量要多几个数量级。这不仅比我们的系统使用的数据多得多,而且实际上又将事件驱动输出转换回了帧。目前,我们用记录下来的基于事件数据对算法进行离线训练。该方法使用一种遗传算法(不断向最佳方案进化的算法)来学习球的外观,并对球的下一个位置做出好的估计。该算法会学习如何从数据本身识别球,而不是通过我们的任何编码。它也学习球的实际移动,而不是我们自己对它的期望。这两点都很重要,因为我们认为很好的桌上足球模型可能在实际运行的时候效果并不好。我们还发现,我们对球运动轨迹的仿真和预期也与实际相差甚远。下一步,我们将把离线训练转为实时在线学习,让网络在游戏进行过程中不断学习和适应。除此之外,这可能有助于提高系统对目前特定训练球台的灵敏度。这些事件驱动算法是迈向“尖峰神经形态硬件算法”的中间一步。英特尔的Loihi和BrainChip的Akida等脑启发处理器将按照尖峰时序对信息编码,与基于事件的传感器自然契合。一旦有了稳定的尖峰算法,我们将能更快地取得进展。
希望我们不是唯一取得这些进展的人。在桌上足球机器人设计中,我们专注于降低成本和整个项目的开源。幸运的话,其他神经形态研究团队将看到拥有自己的机器人基准测试会展现出多么大的价值。如果没有,他们将能够在今年晚些时候在特鲁莱德找到我们和我们的桌上足球台。
【免费】FPGA工程师人才招聘平台
FPGA人才招聘,企业HR,看过来!
系统设计精选 | 基于FPGA的实时图像边缘检测系统设计(附代码)
基于原语的千兆以太网RGMII接口设计
时序分析理论和timequest使用_中文电子版
求职面试 | FPGA或IC面试题最新汇总篇
FPGA图像处理专题课新增Vivado部分内容,线上线下均可报名
FPGA时序分析及约束专题课新增Vivado部分内容,线上线下均可报名
资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2022.05.15更新)
FPGA技术江湖广发江湖帖
无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。
FPGA技术江湖微信交流群
加群主微信,备注职业+方向+名字进群
FPGA技术江湖QQ交流群
备注地区+职业+方向+名字进群