“究竟是标题党还是确有其事?”
10月13日,MIT的计算机科学与人工智能实验室的一篇推文吸引了我的注意力(见下图):自动驾驶汽车只用了19个控制神经元。
研究成果的论文Neural circuit policies enabling auditable autonomy[1]发表在Nature的子刊Machine Intelligence (以下简称NMI)。
PS. 前两年NMI刚被推出时,还曾被一众学者抵制,原因是:无论是访问还是发表文章,都需要付费,这不利于社区的进步。
01 背景知识
由于这篇论文用了一些不同于现代神经网络的一些方法,为了更好的解读,需要先就一些背景知识和大家达成一致。
C. elegans线虫:秀丽隐杆线虫的整个身体中,只有约1000个细胞,且其中1/3是神经元,属于一种拥有非常简单神经系统的生物(见下图)。尽管简单,但其仍具有基本的运动、导航能力。因此,对神经网络研究学者而言,了解线虫的神经网络工作原理,对了解动物神经网络工作原理、设计人工神经网络有帮助。对自动驾驶的规划控制而言,或许也存在借鉴意义。
论文中借鉴了这种线虫的神经网络模型结构和数学模型:由感官神经元接收环境信息、而后经过中间神经元,传递给指令神经元进而形成决策信息,最后由动作神经元完成决策的执行并完成动作。
PCA, Principal Component Analysis,主成分分析:一种数据降维的方法,可以用于从数据中挑选出最少的维数来概括最重要的特征。
如上图,样本在u1方向上的投影方差较大,在u2方向上的投影方差较小。在信息和特征的意义上,便可以认为u1方向蕴含更丰富的信息和特征。论文中用PCA方法可视化的解释了模型主要学习到的知识维度。
Saliency map,显著图:可以用于模型的解释。模型的梯度的大小可以用于表示某个像素点发生一点改变后,对最终结果产生影响的大小。因此,通过对模型的中间层梯度进行显著图的可视化,可以判断图像中的像素点对于模型结果的影响或者作用。论文中使用显著图定性分析神经网络模型所关注的特征。
下图为显著图的一个示例,左一为原图 ,左二为显著图,右二为阈值化处理后的显著图,右一为利用显著图结果在原图上分割出的模型关注区域。
SSIM, Structural SIMilarity,结构相似性:通过对图像的亮度、对比度和结构进行建模,用以衡量两幅图像的相似度。论文中使用SSIM来分析在加入噪声前后,显著性图的变化程度,即模型的鲁棒性程度。SSIM越接近1,显著性图在噪声影响下变化程度越小,即模型鲁棒性越高。
给定两个图像x和y,两张图像的结构相似性可以按照下式求出:
其中l是亮度luminance,c是对比度contrast,s是结构structure。
循环神经网络RNN对时间建模:驾驶行为本质上需要对历史一段时间的输入作出判断,显然需要综合考虑当前时刻和过往时刻的输入及状态。如下图所示,a中若只考虑单一时刻的输入,则输出会非常的不连续且容易产生错误;下图b考虑了时间序列的输入,输出的概率密度更加稳定;在神经网络中,往往采用循环神经网络RNN的结构(下图c)对时间序列进行建模。
02 方法解读
现在的自动驾驶系统,通常来说可以分为感知、决策、规划、控制这几大层次,其中各个层次下又可以继续划分出多个子模块。虽然随着深度学习的成功,在感知层面使用深度学习算法已经是自动驾驶的“标配”了,但在诸如决策规划控制这些层面,完全使用深度学习算法仍有挑战。
一个主要的挑战在于:由于缺乏可解释性,深度学习在很大程度上仍被当成一个“黑盒”来使用,这会给车辆的控制带来一些安全性的考量。
尽管如此,仍有许多研究在试图使用神经网络完成感知、决策、规划、控制的“大一统”,即所谓的“端到端”(End-to-end)模型。
论文中解决的问题,也是一个“端到端”的问题:只用一个神经网络模型,输入是摄像头的图像数据,输出是对车辆的控制量(注:论文中的神经网络并非直接输出方向盘转角,因为方向盘转角与道路、天气、车辆动力学等有关,而是神经网络输出车辆的过弯曲率,再通过因车而异的公式换算为方向盘转角,实现车辆的控制),完成车道保持的任务(下图输入是图像,经过一个神经网络,控制车辆完成车道保持任务)。
数据和测试:
为了训练并对比多种不同的神经网络结构,研究者们在波士顿市区采集了5小时的人类驾驶数据,覆盖了多种天气和道路情况。这部分数据划分为训练集和测试集,用于在“被动测试”中对比不同结构的模型的训练和测试表现。“被动测试”中不同方法的训练和测试误差参见下表:
同时,作为“主动测试”,在测试场地上采集94分钟驾驶数据,并划分训练集和验证集,训练各类模型至验证集误差最小,选择模型进行实车测试场地“跑圈”测试(测试路线如下图),衡量不同模型在测试中的碰撞次数(即偏离车道次数)。
由此可以在“主动测试”的实车场景中,对比几个模型在不同程度噪声输入下(方差0-0.3范围内的高斯随机噪声)的碰撞次数:其中本文的NCP方法在噪声干扰下表现最为稳定。
神经网络的设计:
整个端到端神经网络如下图所示,包括了处理图像输入的卷积网络、接在卷积网络后将图像特征映射到控制空间的NCP网络。在NCP网络中,包括32个感官神经元(承接卷积网络的图像特征),12个中间神经元,6个指令神经元(类似RNN,具备循环连接的结构,即指令神经元之间可以彼此连接)和1个动作神经元(最终输出)。
在论文的摘要中,作者强调:“a single algorithm with 19 control neurons, connecting 32 encapsulated input features to outputs by 253 synapses, learns to map high-dimensional inputs into steering commands. ”设计一个算法有19个控制神经元(12+6+1=19),通过253个突触连接,映射32个感官神经元的输入特征到最终控制输出。
这一被称为NCP(Neural circuit policy)的网络结构,具备如下特点:
1. 和线虫相同的连接方式:包括感官、中间、指令、动作这4层次的网络拓扑结构,拥有高的计算效率(只需要少量神经元便能达到好的效果)。
2. 基础单元为LTC(Liquid time constant)神经元,其本质上是一个常微分方程,是具有非线性时变特性的神经元,有利于对时间序列建模:仿照线虫,对神经元的数学建模如下:
这一表达式是一个连续的常微分方程,论文中在求解时需要通过欧拉公式进行离散化求解,只要给定初始条件x(0),便可以根据下式一步步求解t时间点的结果:
更详细的建模和训练过程可以参考[6]和[7]。
3. 简单高效:对比几个网络结构的参数量,同样的对时间序列输入建模,NCP相比于RNN和LSTM的方法要有更小的参数量,却有更好的效果。
4. 鲁棒:在不同方差大小的输入噪声下,NCP都有着最高的SSIM分数,表明了——NCP方法的显著性图,最不容易受到噪声的干扰,即模型能较稳定的关注道路上的关键信息。
5. 较强的可解释性:下图对卷积层的特征进行显著性图分析,发现在驾驶过程中,NCP方法训练出的模型能够稳定的关注道路信息(下图最右e列)。
对NCP神经元进行主成分分析PCA,发现PC1(即第一主成分)非常准确的学习了驾驶特征(左转、右转、直行)。相比论文中其他对比方法,NCP方法能够非常显著的将所学习到的特征与驾驶行为进行关联。下图中的PC1对左转、右转、直行都有非常不同的取值,证明模型能够有效的辨识不同路段下的控制行为。
最后,由于NCP的简单性,其拥有的神经元数量少,使得可以对单个神经元进行分析(下图),不需要像如今深度学习方法一样当作一个复杂的黑盒。这对于识别模型错误、提升模型安全性有帮助。
03 总结讨论
1. 虽然论文强调控制部分(包括中间层、指令层、动作层的神经元)仅需要使用19个神经元便能完成车道保持任务,但要看到的是——19个神经元的上游是一个多层的卷积神经网络CNN,依赖于有着众多神经元的CNN进行了图像特征的提取;
2. 并且,由于NCP和CNN是合并为一个神经网络进行端到端联合训练的,CNN除了进行图像特征提取外,由于其参数众多,可能也吸收了一部分对规划控制的学习。而文中的表述认为NCP用19个神经元单独承担了规划控制,我个人认为可能不完全准确;
3. 很明显,由于NCP的简单性,带来了鲁棒、可解释这两个优点。但论文中的测试道路只是无其他交通参与者的空旷道路,LTC这一神经元的设计以及NCP的算法能否完成更复杂的任务,并且在更复杂任务上也超越现有神经网络的表现,我个人是存疑的。并且为了解决复杂问题,不可避免会增加NCP的复杂性,而这一复杂性是否会让NCP丧失鲁棒、可解释性这两个优点,同样也是存疑的;
4. 尽管如此,这篇文章还是让我们看到了从生物学神经元启发,到完成数学建模,并最终应用于实际场景的巨大潜力。克服当前深度学习的明显问题和缺陷的方法,应当还在生物学中。
参考资料:
[1]Lechner, M., Hasani, R., Amini, A. et al. Neural circuit policies enabling auditable autonomy. Nat Mach Intell 2, 642–652 (2020). https://doi.org/10.1038/s42256-020-00237-3
[2] https://openaccess.engineering.oregonstate.edu/home
[3] https://www.nature.com/articles/d41586-019-02006-8
[4] https://blog.csdn.net/program_developer/article/details/80632779
[5] Simonyan, K. et al. “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps.” CoRR abs/1312.6034 (2014): n. pag.
[6] Wicks, Stephen R. , C. J. Roehrig , and C. H. Rankin . "A Dynamic Network Simulation of the Nematode Tap Withdrawal Circuit: Predictions Concerning Synaptic Function Using Behavioral Criteria." The Journal of Neuroence, 16.12(1996).
[7] Hasani, Ramin M. et al. “Liquid Time-constant Networks.” ArXiv abs/2006.04439 (2020): n. pag.
- END -
新朋友们可以看看我过往的相关文章
⬇
【相关推荐阅读】