控制车辆运行的19个神经元

▲ 神经元的网络控制车辆驾驶

▲ 神经元的网络控制车辆驾驶

自动驾驶汽车是当前机器学习研究者和工程师们正在探索的最复杂任务之一。它覆盖很多方面,而且要求必须高度稳定,只有这样我们才能保证自动驾驶汽车在道路上安全运行。通常,自动驾驶算法的训练需要大量真实人类驾车的训练数据,我们试图让深度神经网络理解这些数据,并复现人类遇到这些情况时的反应。

▲ 驾驶过程中注意力地图

▲ 驾驶过程中注意力地图

众所周知,当数据量足够多时,深度监督模型会被训练得很好,但目前的深度学习仍存在泛化性能不好和训练效率不高的问题,研究人员一直在寻求构建智能模型的新方法。当前人们探求的方向总是更深的网络,但这意味着更高的算力消耗。因此正如人们所思考的那样,必须寻找一种需要更少数据或更少神经网络层的方法,让机器实现智能化。

▲ 模仿线虫进行控制的神经网络

▲ 模仿线虫进行控制的神经网络

最近,来自MIT CSAIL、维也纳工业大学、奥地利科技学院的团队已经开发了一种基于线虫大脑的新型AI系统。研究成果登上了最近的《自然·机器智能》杂志。

他们发现,具有19个控制神经元的单个算法,通过253个突触将32个封装的输入特征连接到输出,可以学习把高维输入映射到操纵命令。

这种新的AI系统用少量人工神经元控制车辆转向。而基于CNN和LSTM的神经网络打造同样的自动驾驶系统,网络结构则要复杂得多。

▲ 使用CNN实现车辆届时系统

▲ 使用CNN实现车辆届时系统

该方法受线虫等小型动物大脑的启发,仅用数十个神经元即可控制自动驾驶汽车,而常规深度神经网络方法(如 Inception、ResNet、VGG 等)则需要数百万神经元。这一新型网络仅使用 75000 个参数、19 个神经元,比之前减少了数万倍!

该方法还带来了额外的好处,由于神经元数量稀少,这样的网络不再是深度模型的「黑箱」,人们可以知道网络在每个运行阶段的情况。该研究项目负责人 Radu Grosu 教授表示:「正如线虫(nematode C. elegans)这种生命,它们以惊人的少量神经元实现有趣的行为模式。」

▲ 三种不同的神经连接模型

▲ 三种不同的神经连接模型

这是因为线虫的神经系统能够以高效、协调的方式处理信息。该系统证明深度学习模型仍有改进空间。如果线虫在进化到接近最优的神经系统结构后,能够凭借极少量神经元做出有趣的行为反应,那我们也可以让机器做到。该神经系统可以让线虫执行移动、动作控制和导航行为,而这恰恰是自动驾驶等应用所需要的。

该研究参与者之一 Thomas Henzinger 教授表示,他们按照这一神经系统,「开发了一种新型数学神经元和突触模型」——liquid time constant(LTC)神经元。简化神经网络的一种方式是使之变得稀疏,即并非每一个单元都与其他单元相连接。当一个单元被**时,其他单元未被**,这可以降低计算时间,因为所有未被**单元没有任何输出(或者输出为 0,可以极大地加快计算速度)。

▲ 神经网络专注于图像的非常具体的部分

▲ 神经网络专注于图像的非常具体的部分

这一新系统包括两部分。

首先是一个紧凑的卷积神经网络,用于从输入图像像素中提取结构特征。使用这类信息,网络能够确定图像的哪些部分较为重要或有趣,并仅将这部分图像传输至下一个步骤。

该研究提出新架构的端到端表示。

第二个部分即「控制系统」,它利用一组生物启发神经元做出的决策来控制汽车。这一控制系统又叫做「神经电路策略」(neural circuit polic,NCP)。

它将紧凑卷积模型的输出数据转换到仅有 19 个神经元的 RNN 架构中(该架构受线虫神经系统的启发),进而控制汽车。

▲ NCP 网络的实现细节参见相关论文及 GitHub 项目

▲ NCP 网络的实现细节参见相关论文及 GitHub 项目

这带来了参数量的锐减。论文一作 Mathias Lechner 表示「NCP 比之前的 SOTA 模型小了三个数量级」,参见下表 2。

▲ 网络规模对比

▲ 网络规模对比

由于该架构规模很小,因此我们可以看清楚其注意力在输入图像的哪一部分。研究者发现,用这么小的网络提取图像最重要部分时,这些神经元只关注路边和视野。在目前着重于分析图像每一个细节的人工智能系统中,这是很独特的行为。

与其他网络相比,传输至 NCP 网络的信息可谓少之又少。仅通过上图,我们就可以发现该方法比现有方法更加高效,计算速度也更快。

  • 参考链接:

https://www.csail.mit.edu/news/new-deep-learning-models-require-fewer-neurons
https://www.nature.com/articles/s42256-020-00237-3
https://www.youtube.com/watch?v=8KBOf7NJh4Y&ab_channel=MITCSAIL
https://github.com/mlech26l/keras-ncp/