Neural circuit policies enabling auditable autonomy

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

Nature Machine Intelligence 2020

 

Abstract

  人工智能在高风险决策应用中的主要目标是设计一种算法,该算法通过学习其世界的相关表征及其动态的可解释性解释,来同时表达可概括性。在此,我们结合了大脑启发的神经计算原理和可扩展的深度学习结构,设计出了紧凑的神经控制器,用于全栈自动驾驶汽车控制系统的任务特定部分。我们发现,具有19个控制神经元的单个算法通过253个突触将32个封装的输入特征连接到输出,可以学习将高维输入映射为操纵命令。与数量级较大的黑盒学习系统相比,该系统显示出卓越的通用性,可解释性和鲁棒性。 获得的神经智能体可以为复杂的自治系统中任务特定的部分实现高保真自治。

 

  我们着手设计一种受大脑启发的智能体,该智能体可以直接从其摄像头输入中学习控制自动驾驶汽车(端到端学习控制1,2)。该智能体必须从多维感官信息中学习其世界的连贯表征,并利用它在看不见的情况下很好地进行泛化。令人惊讶的是,通过其近乎最佳的神经系统结构6,7以及和谐的神经信息处理机制,像秀丽线虫一样小的动物已经掌握了这样一个能力,用于执行运动3,运动控制4和导航5的能力。在复杂的现实世界场景中,例如,自动驾驶,这种神经计算的灵感9,10可以引出具有准确且可解释的模型的更具表现力的人工智能体11

  尽管深度学习算法在各种高维任务中取得了显著的成就2,12-16,但是仍然存在着重要的表征学习挑战17-19。例如,端到端控制的领域对安全至关重要。这要求智能控制器具有可解释的动态特性,这是研究其安全问题的第一步。此外,虽然学到的车辆控制智能体通常在离线测试和模拟中表现出出色的性能,但在实时驾驶中这会大大降低。另外,期望智能体在观察到的驾驶场景与其相应的最佳转向命令(智能体的特定任务)之间学习真正的因果结构21,22。理想情况下,对于保持车道的任务,我们希望智能体在做出当前的转向决策时隐式地学习遵守道路的地平线,同时在短期转向时保持出色的表现。然而,在实践中,性能模型已被证明可以学习各种不公平23和次优22的投入产出因果结构24,25。最后,在高维数据流输入的处理流水线中,智能体必须合并捕获时间依赖性的短期存储机制。

  成功的端到端自主控制方法2,26–28(图1)仅依赖于深度卷积神经网络结构29,基于最新的摄像头帧在时间 t 转向车辆30(2a)。尽管在输入数据理想的情况下,这种前馈模型可以正确地驱动车辆,但如果数据嘈杂,它们通常会失败。这是因为它们没有利用任务的时间性质,从而使它们能够滤除瞬态干扰。作为结果,输入流的暂时损坏(即如图2a所示的突然的阳光照射)导致不稳定的预测。相反,循环神经网络(RNN)31,32是一类人工神经网络,通过反馈机制考虑了当前输出决策时的过去观察。因此,原则上,它们应导致更强大的端到端控制器(图2b)。RNN通过应用于其展开前馈表示32的反向传播算法33在有限长度的标记训练序列上进行训练(图2c,d)。从历史上看,由于在学习阶段梯度RNN升高或消失,训练RNN一直具有挑战性31,32。由于先进的门控RNN的发展,例如长短期记忆(LSTM)34,通过将循环权重固定为1并消除反馈路径中的非线性,强制执行恒定的误差流来解决这一挑战31

  从时间序列建模的角度来看,具有恒定的误差流是理想的属性,因为任意数据序列可能具有长期关系(图2d,右)。但是,在端到端自动驾驶的情况下,由于基础任务的短期因果关系,学习长期依赖关系可能是有害的。当驾驶车辆沿着车道行驶时,人们不会回想起几秒钟前操作方向盘的道路图像35。因此,LSTM网络可能会捕获训练数据中可能存在的虚假长期依赖关系,从而学习不足的因果模型21。相反,梯度消失使RNN无法学习具有长期依赖性的事件的相关性36-38。该属性反直观地提高了学到的RNN智能体的真实世界的控制性能,因为它优先考虑网络的时间注意力范围,而不是最近的观察结果。

  普遍满足上述表示学习挑战的单个任务特定算法的开发一直是人工智能的主要目标9,10。为了朝着这个目标前进,我们从已知在生物大脑中发生的神经计算中汲取灵感6,7,39,40,并实现了显著程度的可控制性3–5,8。我们开发了称为神经回路策略(NCP)的紧凑表征,与现代深度模型相比,其中每个神经元都具有增强的计算能力41。我们表明,NCP导致稀疏网络更易于解释,并在自动驾驶的背景下证明了这一点。我们发现,对于上述车道保持任务,结合紧凑型卷积神经网络(CNN)29,可以实现非常小的大脑启发性神经模型网络(即具有仅由19个神经元组成的控制室的网络)。与最新模型相比,在学习如何直接从高维度输入中引导车辆方面具有卓越的性能。在此,我们使用表示学习的挑战作为评估自主控制智能体性能的主要标准。

 

Designing and learning NCPs

  为了解决表示学习的挑战和自动车道保持的复杂性,我们设计了一个端到端的学习系统,该系统通过一组卷积层42感知输入,提取图像特征并通过被称为NCP的RNN结构执行控制。

  NCP的网络结构受到线虫43接线图的启发。线虫神经系统中的许多神经回路是由独特的四层分层网络拓扑结构构成的。它们通过感觉神经元接受环境观察。这些将传递给神经元间和命令神经元,从而产生输出决策。最后,该决定被传递给运动神经元以激活其肌肉。秀丽线虫的接线图实现了大约90%的稀疏度(参考6),主要是从传感器到中间神经元的前馈连接,在中间神经元和命令神经元之间的高重复性连接以及从命令神经元到运动神经元的前馈连接。这种特定的拓扑结构显示出具有吸引人的计算优势,例如高效的分布式控制,需要少量的神经元6,分层的时间动态8,机器人学习能力44和稀疏流网络中最大信息传播45

  NCP的神经动态由连续时间的常微分方程(ODE)给出,该方程最初是为捕获秀丽线虫41等小物种的神经系统的动态而开发的(图3a)。NCP的核心是非线性时变突触传递机制,与深度学习的NCP相比,NCP改善了在时间序列建模中的表达能力。NCP的基本神经构建模块称为液体时间常数(LTC)网络41。有关LTC的更多详细信息,请参见"方法"。

  NCP网络的架构由规则1-4中引入的设计原则确定,与图3c中呈现的步骤相对应,如下所示:

(1)插入四个神经层——Ns感觉神经元,Ni中间神经元,Nc指令神经元和Nm运动神经元(图3c中的(1))。
(2)在每两个连续层之间——∀源神经元,插入nso-t个突触(nso-t≤Nt)(突触极性为〜Bernoulli(p2)到nso-t个目标神经元(随机选自〜Binomial(nso-t, p1))(图3c中的(2))。nso-t是从源到目标的突触数量。p1和p2是与其分布相对应的概率。
(3)在每两个连续层之间——∀没有突触的目标神经元 j,插入mso-t个突触(),其中是到目标神经元 i 的突触数量,来自mso-t个源神经元的突触极性(兴奋性或抑制性)〜Bernoulli(p2),随机选自〜Binomial(mso-t, p3)(图3c中的(3))。mso-t是没有突触连接的从源到目标神经元的突触数量。

(4)命令神经元的循环连接——∀命令神经元,插入lso-t个突触(lso-t≤Nc),其突触极性为〜Bernoulli(p2),到lso-t个目标命令神经元,随机选自〜Binomial(lso -t, p4)(图3c中的(4))。lso-t是从一个中间神经元到目标神经元的突触数量。

  应用上面的NCP设计原理会导致LTC神经元的网络非常紧凑和稀疏(请参阅"方法"中的NCP设计算法)。与车道保持任务相对应的学习系统由与NCP网络堆叠的卷积前端组成(图3b)。该系统以端对端的监督学习方式进行训练。给定已设计的NCP网络,我们使用半隐式ODE求解器来获得系统的数值精确且稳定的解决方案41。然后,我们将ODE求解程序调用循环地折叠到RNN单元中,并准备系统的训练流水线。"方法"中提供了有关训练设置的更多详细信息。从梯度传播的角度来看,我们的方法引起了梯度消失现象,如图2d所示,这是学习现实世界中自动驾驶汽车控制的首选设置(请参见"方法"中的证明)。

  通过记录人类驾驶员的观察和动作来收集大量选择的带标签的训练数据(有关更多详细信息,请参见"方法")。端到端驱动是一个反馈控制问题,其中,由智能体驱动的控制会自觉地影响未来的观察结果。但是,在监督训练阶段,这种反馈机制将被完全忽略。

  我们观察到,这种训练-测试差异导致了这样一种情况:在离线测试环境中,训练有素的神经网络模型在标记序列上表现异常出色(表1),在实际测试案例中无法安全驾驶汽车。现代RNN尤其容易受到这些情况的影响,因为它们的决策过程在很大程度上取决于过去的观察结果。因此,为了适当地评估性能,我们选择了在离线测试期间运行良好的架构,并积极地在真实汽车上对其进行了评估。我们对在波士顿市区记录的94分钟的标记序列进行了十倍的交叉测试46(有关更多详细信息,请参见"方法")。

  为了进行公平的比较,我们为所有RNN模型配备了相同的卷积头,该卷积头将输入图像的维数降低为更紧凑的隐表征,以馈入RNN部分。我们用以下架构训练和评估了网络:64个神经元的LSTM,64个神经元的连续时间(CT)-RNN和19个神经元的NCP。此外,我们将这些循环智能体与Bokarski等2中开发的前馈CNN模型进行了比较。

 

Learning a compact neural representation. 全栈式NCP网络比建立了最新的端到端驾驶的CNN网络2小63倍。它的控制网络比LSTM稀疏970倍,比CT-RNN稀疏241倍。NCP的RNN部分的可训练参数空间比LSTM小233倍,比CT-RNN小59倍。有趣的是,在理想的自主移动机器人控制器的多个方面,通过这种紧凑的神经表征实现的性能优于其他模型,如下所述。

 

Avoiding crashes under increasing input perturbations. 与所有测试中的学习系统相比,NCP在避免因提高像素级输入扰动而引起的崩溃(需要干预)方面具有更强的鲁棒性(图4a)。它们具有抗噪声能力的原因在于其CT模型可以用作滤波器(等式(1))。请注意,该实验的主要目的是确定每种模型在进行预测时依赖于其记忆的差异程度。如图2所示,理想模型应包含时间信息,以过滤任何形式的扰动。为了证明这一点,我们使用了加法零均值高斯噪声,因为在用于训练过程的数据中不存在此类噪声,并且它需要对扰动信号的形式,形状和严重性进行最小假设。尽管如此,我们已经在训练过程中模拟了镜头眩光。因此,我们可以预期所有模型都会在一定程度上容忍镜头眩光。

 

Robustness of the output decisions in the presence of input noise. 图4d,e描绘了当地图的输入受到输入噪声的严重干扰时,在地图上所示位置发生的崩溃事件的示例。这些面板还说明了输入噪声如何破坏每个完整网络的注意力,并导致LSTM和CNN网络将车辆开出道路(请参见"方法-显著图计算")。我们通过计算输入扰动的结构相似性指数(SSIM)来量化输入扰动对注意力图的影响,如图4b所示。SSIM表示当输入受到干扰时注意力图的结构会失真多少。SSIM越接近1,注意力的失真就越小。因此,网络可以更强大地处理输入噪声。SSIM指数越接近0,则网络的注意力越失真,这导致在做出正确的驾驶决策时网络的不确定性增加。与其他模型相比,在不同水平的输入扰动下,NCP始终保持较高的SSIM,从而降低了其输出决策的不确定性(请参见"方法-结构相似性指数")。

 

Driving with smooth neural activity. 我们定量测量了所有神经元的神经动态导数的最大陡度(最大局部Lipschitz常数),并在图4c中报告了结果。我们观察到,NCP中的本地决策过程比其他网络类型的决策过程更加顺畅。"方法-Lipschitz连续性计算"中提供了更多详细信息。

 

NCPs enhance interpretability

  可解释性是向人类提供解释的过程。尽管尚无可解释性的正式定义47,但如果人类更容易理解其在输入观测值和输出决策之间的因果映射以及直至细胞水平的全局隐含状态动态,则我们将其定义为更具可解释性的模型48

  可扩展性的可解释性方法涉及算法的开发,该算法设置了用于解释学习系统动态的质量度量(代理)。特别是对于神经网络模型,许多工作为此目的探索了训练后的定性特征可视化技术49-55。此外,计算输入-特征归因量度(如显著图)可有效地用于解释性56-59。除了特征可视化之外,为训练后的解释选择适当的度量方法可能是任意的,并且具有挑战性60

  实现可解释性的更系统的方法是设计神经结构,通过其学习过程或语义,可以提高透明度25,61然而,尽管这些方法对于神经网络有效,但是随着模型维数的增加,解释的质量也急剧下降。 当模型结构配备了反馈机制(例如RNN)时,这一挑战就变得更加明显。

  当NCP实现由表达性神经表征(LTC模型41)构建的紧凑且稀疏的网络时,它们通过显著图计算62,降维63和细胞贡献分析52等已知方法简化了解释过程。

  我们通过解释卷积层的注意力图,并通过计算模型的循环网络部分的全局网络动态,来进行定量的可解释性分析。然后,我们通过可视化技术解释细胞水平的贡献。对于驾驶任务,我们发现环境的几何形状,特定的驾驶任务和负责所需行为的网络节点之间存在密切的关系。这是通过微分方程定义每个神经元的功能的结果。因此,我们对学习的车道保持网络进行了试验,以三种不同的方式测量其可解释性。

  (1)解释并可视化卷积层的注意力在哪里。图5b-e显示了实时测试期间网络卷积部分的示例注意力图(请参见"方法-显着性图计算")。我们已经注意到,注意模式是网络结构(CNN, LSTM, CT-RNN, NCP)选择所独有的,并且解释对于选择超参数(例如,网络大小)是不变的。

  例如,NCP网络中的卷积层主要关注道路的视线以做出驾驶决策。这在车道保持任务中非常理想(图5e)。相比之下,CNN网络会在路边做出驾驶决策,而忽略道路本身(图5d)。在大多数情况下,LSTM迫使其感知网络学习如何参加路边活动。但是,光照条件以及道路轮廓会明显改变网络的注意力范围(图5b)。CT-RNN的注意力前后不一致,并且受到道路照明条件变化的很大影响(图5c)。在补充信息中,我们提供了在实时测试期间收集的整个显著图集合。这些地图直观地洞察了全栈自动驾驶系统中特定任务网络的决策过程。这种见识可以帮助进一步进行安全性和鲁棒性分析。

  (2)全局网络动态。为了衡量网络如何简洁地学习驾驶的基本知识(直行道路,弯道和道路抖动),我们进行了主成分分析(PCA),并在图5f–i中报告了其变化。PCA是通过在实时测试期间收集的驾驶网络RNN部分的隐含神经元(不包括输出信号)的激活进行的。分析表明,如图5j所示,NCP神经动态的第一个主成分(PC1)简洁地学习了全局驾驶特征(解释了92%),而PC2则学习了细粒度的决策。在具有LSTM和CT-RNN循环部分的网络中,简洁性不太明显,因此,将其行为与直观的解释联系起来更具挑战性。

  为了进一步激发这种现象,我们在图5k–n的驾驶轨迹上绘制了PC1和PC2得分。在其他模型中,NCP是唯一将主要驾驶原语分配不同的PC1激活方式的模型,而PC2在很大程度上捕获了细粒度的控制决策。其他基准网络至少需要两到三台PC才能捕获高达90%的行驶曲线,如图5f–i所示。"方法"中提供了补充实验,以进一步详细说明此分析。因此,这些结果对于更复杂的自主控制系统的附加价值在于,可以解释学到的智能体的全局动态并将其用于特定任务网络上的进一步改进(请参阅"方法和扩展数据图1"中的其他支持实验)。

  (3)通过可视化实现单元级别的可审核性。包含NCP网络的LTC细胞的神经状态(神经元输出的振幅)和耦合灵敏度(神经元与环境互动时如何调整其反应速度)(图6a)可以帮助理解LTC网络如何进行决策。图6b-d说明了从NCP驾驶智能体中选择的五个神经元的活动,这些神经元投射在驾驶轨迹上。运动神经元的活动说明了推断的运动原语如何与各种驾驶情况相对应(图6b, 左)。它的耦合灵敏度表明,在直线运动期间,神经元倾向于设置更平滑的动态,同时将其反应速度保持在相对恒定的速率。中间神经元1学会了在左转(图6c, 左上)激活,同时调整其动力学以在左转事件(图6c, 右上)更快地做出反应。相反,中间神经元2学会了在右转时迅速活跃(图6c, 底部)。命令神经元1在直线行驶期间始终以敏感的反应速度被激活,而在左转弯时被关闭(图6d, 顶部)。当车辆沿直线行驶时,命令神经元2偏向于较低的膜电位,并调整至道路抖动(图6d, 底部)。这种对动态的即时解释程度可推广到NCP中的每个单独细胞。

  由于NCP系统的计算元素数量大大少于最新的神经网络,因此对每个细胞动态的访问程度对于设计故障测试和极端情况分析可能有好处,用于提高部署的自治系统的安全性。

 

NCPs and autonomy

  NCP是高度紧凑的特定任务神经网络智能体,可以熟练地控制未见过的道路上的车辆,同时对输入的伪像具有鲁棒性,可以学习短期因果关系并实现可解释的动态。NCP可以在图7c所示的全栈自动驾驶汽车框架中使用。它们旨在提高此类复杂的全栈自动驾驶汽车系统的黑盒特定任务部分的性能和透明度。基于视觉的全栈自动驾驶仪必须为传入的图像流合并许多不同的任务,如图7a所示。

  最先进的功能性自动驾驶汽车系统64通常共享卷积骨​​干网络,其中包括许多上游,特定任务的网络65(图7b)。尽管与多任务端到端驾驶相比,我们测试NCP的车道保持任务的复杂性相对较低,但我们通过启用端到端驾驶,确保NCP在全栈自动驾驶汽车内保持组合性。可以通过NCP向基于CNN的静态主干反向传播误差的端到端训练流水线。由此产生的特定任务的NCP(例如,用于车道保持任务)改善了当前使用的神经控制模块的许多方面。

  现实应用领域,例如自动驾驶,航空电子设备,服务机器人,健康和医学,被环境伪影和不确定性所包围,并要求可靠的实时决策。此外,类似于自动驾驶任务,许多应用程序都处理复杂的高维输入-输出空间,这些空间在实际环境中部署时对安全至关重要。NCP在特定任务的自动驾驶汽车中的成功表明,解决现实问题的复杂性并不一定需要学习很难理解的非常大的神经网络。

 

Methods

NCP's neural model. 当通过输入突触连接到神经元 j 时,由一组LTC神经元构建NCP,每个LTC神经元具有状态动力学xi(t),如下所示(参考41):

其中是具有泄漏电导的神经元 i 的时间常数,wij是从神经元 i 到 j 的突触权重,是膜电容,是静息电位,Eij是逆转突触电位,这定义了突触的极性。LTC神经元的整体耦合灵敏度(时间常数)由41定义:

  这个可变的时间常数确定了决策过程中神经元对驾驶NCP中的几个神经元的反应速度,如图6所示。模型中描述的所有参数都是可训练的。 

 

Numerical implementation of the NCP networks. 为了学习NCP电路的参数,我们将其转换为可微表示形式。在将电路建模为LTC神经元的常微分方程系统后,我们采用数值ODE求解器来获得其可计算形式。适合我们目的的求解方法必须符合以下三个约束。首先,将求解器应用于实时系统,该系统对最坏情况的执行时间设置了严格的限制。 因此,求解器使用固定的步长66。其次,NCP的ODE模型是僵硬的41,66。因此,为避免数值不稳定性,我们采用半隐式方法66。最后,在训练阶段,我们通过在求解器中进行反向传播来计算偏导数。类似于前向路径中的稳定性参数,我们需要监视后向阶段的误差幅度。特别地,合适的求解方法必须不会导致梯度爆炸或迅速消失。为了遵守这些约束,我们采用了一种简单的欧拉方法。作为结果,总而言之,对于每个神经元,我们采用半隐式欧拉方法,其步长固定为以下形式(在查看源代码并咨询作者后,发现原本的等式(3)中右式分子的后项中之间存在一个加号,参见https://github.com/mlech26l/keras-ncp/issues/17#issuecomment-809932878):

  集合Iin代表神经元 i 突触前的神经元集合。此等式是从基本的Euler公式得出的66

通过为所有在非线性 f 中呈线性的x(t+τ)设置τ=Δ,并为所有其他情况设置τ=0 (u是细胞输入的集合)。注意,通过设置τ = 0,可以从等式(4)获得众所周知的显式(前向)欧拉方法。同样,如果设置τ=Δ并求解该方程,则隐式(反向)欧拉方法可以由等式(4)实现,并得出x(t+Δ)的非线性方程。RNN通常以固定的采样频率(例如,在描述的端到端驾驶任务中为30 Hz)处理其输入流。为了达到可观的精度和计算复杂度的折衷,我们以比输入采样率高六倍的频率对ODE进行了仿真。我们将六个ODE求解器步骤打包为一个RNN步骤。在训练和测试阶段,我们都将ODE/RNN的状态初始化为零。

 

NCPs express vanishing gradient.

 

Vehicle setup. 用于训练网络的所有数据均在配备感知传感器(前向Leopard Imaging LI-AR0231-GMSL摄像头),惯性测量单元(Xsens MTi 100系列IMU),GPS和线控转向自动驾驶系统的丰田Prius 2015 V上收集67。所有数据记录均直接在NVIDIA Drive PX2(车载高性能计算平台)上完成。IMU用于记录车辆刚体框架的旋转,从而计算车辆横越路径的曲率。具体来说,给定横摆率γt (rads s-1)和车辆速度vt (m s-1),我们将路径的曲率计算为:

其中rt是运行圆的半径。最终,对于本文学习的网络,我们考虑了直接从人行道路弯度(yt)而不是方向盘角度(αt)学习控制命令的问题。这是因为αt是yt和vt的非线性函数,并且取决于轮胎滑移角,路面,天气状况和车辆动力学。因此,仅学习方向盘角度(即人类所命令的角度)不足以实现自主导航。取而代之的是,我们需要了解横过的道路曲率(也就是人类开车经过的地方)的知识。我们可以通过使用自行车模型近似值在推理时间控制汽车来在线计算方向盘角度。

其中,K是转向比(即转向角与轮胎角度之比),VL是车辆长度。

 

Passive test dataset. 为了进行被动评估,我们在高速公路、当地和住宅道路上的干燥、潮湿和下雪天气条件下,收集了波士顿市区各个地区大约五个小时的驾驶数据68。我们通过从记录中删除歧义片段(例如,车道切换,交叉路口和拥堵)来处理数据。我们将数据分为十个大小相同的非重叠数据集,以进行交叉测试。我们在每十组中剩余的九组的并集上训练了一个模型,然后在保留测试集上评估了模型的性能。训练epoch的数量基于验证集进行了优化,我们在训练之前将其与9个集合的并集分开。在表1中,我们报告了这十次测试迭代的均值和标准差。

 

Active test setup. 我们在私人道路系统上进行了主动驾驶实验。为了准备模型,我们通过在测试轨道上操纵车辆收集了大约94分钟的数据。我们将数据分为比例为3:1的训练和验证集。根据训练期间获得的验证集上的最低误差选择训练epoch的数量(请参见图2的扩展数据)。请参阅扩展数据图7中的完整训练参数列表。我们在测试轨道上对每个训练的模型进行了五次测试,没有输入扰动,而在输入被零均值高斯分布(方差为0.1, 0.2和0.3)扰乱的情况下,进行了两次测试。每次评估都包括在逆时针方向上围绕轨道最外侧路径的一个周期驾驶汽车。我们通过将车辆放置在指定的初始位置,将汽车加速至恒定速度4.47 m s-1并将转向系统的控制委托给神经网络来进行评估。每次在路外侧操纵车辆时,我们都将车辆手动转向正轨并报告了撞车事故(图4a)。

  我们将随机数生成器连接到输入流,以在噪声下测试模型,该模型将零均值高斯噪声添加到了相机图像中。 高斯分布的方差由噪声强度级别(0.1, 0.2和0.3)确定。在添加噪声之前,将输入图像缩放到[0, 1]范围。为了给所有模型引入相同的噪声模式,我们将随机数生成器的初始种子固定为一个恒定值。

 

Models and the training procedure. 每个模型的卷积层的结构在扩展数据图5和6中给出。接下来,我们描述模型的训练过程。除非另有说明,否则此描述适用于被动和主动测试方案。我们将端到端的自动驾驶制定为回归任务。因此,我们采用平方误差作为训练损失函数。由于训练数据中曲线和转弯的记录不足,我们将加权因子乘以每个样本的损失值。这个加权因子指数地取决于目标曲率y,因此给包含道路弯道和转弯的样本分配了更高的优先级。由于测试轨道位于森林区域,树木在道路上投射阴影,阴影具有可变的轮廓,因此我们在训练期间实施了阴影增强数据技术。本质上,我们在每个训练图像上绘制一条半透明的黑色或白色线条。从均匀分布中随机采样线的位置,方向和宽度。我们在16个时间步骤的子序列上训练了除前馈CNN之外的所有模型,这对应于0.53实时秒。神经标准状态的CT-RNN和LSTM实现不受限制,这可能会导致闭环测试过程中的不稳定,因为它们仅在有限序列上进行训练。为避免控制器的内部状态无限期增长,也就是说,我们对CT-RNN和LSTM的状态应用了裁剪操作,以将值保持在[-5, 5]范围内。我们使用Adam69作为优化算法,其参数在扩展数据图7中显示。模型的性能及其终止条件在扩展数据图8中给出。

  拓展数据图5列出了所有RNN模型的卷积层的结构。在最后一个卷积层之后,我们应用了四个每通道线性层,以获得8×4 = 32个隐特征,作为RNN部分的感觉输入。我们根据经验调整了学习率和卷积层的超参数,并在被动数据集中对其进行了评估。我们观察到,NCP对卷积层利用了较低的学习率,而对RNN部分则利用了较高的学习率。在将图像馈送到网络之前,我们对图像应用每个图像的白化滤镜。

 

NCP design algorithm. 通过程序调用算法2给出的连接子例程来设计NCP的结构。

 

Comparing network sizes. 表2说明了NCP网络与其他深度学习同行相比的紧凑性。

 

Computing saliency maps of convolutional layers. 显著图是一种解释方法,可通过突出显示输入图像中对网络决策贡献最大的部分来可视化受过训练的神经网络的内部工作。我们使用显著图来分析我们的网络已定性学习的内容。特别是,我们对所有经过测试的结构中的通用层在训练期间如何不同发展感兴趣。因此,我们在网络开始时将分析范围缩小到卷积层。我们采用了一种名为VisualBackProp62的技术,该技术是专为自动驾驶研究开发的,用于计算显示的显著图。此方法利用了ReLU激活的特性,即特征图中每个神经元的值可以为正或为零。

  在算法7中,⊙表示逐元素乘法,并且反卷积至大小的函数通过应用反卷积运算将第一自变量缩放为第二自变量的维数。

 

Structural similarity index. SSIM是一种比较给定图像质量的方法70。 它是给定图像x和y的三个比较标准(亮度l,对比度c和结构s)的乘积,计算如下:70:

其中:

在此,C1,C2和C3是正则化常数,μx和μy是x和y的均值,σx和σy是标准差,而σxy是x和y的协方差。在图4b中提供的分析中,我们计算了每个时间帧(总共200帧)的成对显著图的SSIM,介于无噪声版本作为参考与输入噪声注入导致的扰动版本之间。我们设置指数α=β=γ=1,正则化分量C1=(0.01L)2,C2=(0.03L)2和C3=C2/2,其中L=255对应于输入图像值的动态范围。

 

Lipschitz continuity computation.

 

Principal component analysis. 对于图5f–n中提供的分析,我们计算了每个RNN网络中各个神经元活动的PC,这些PC是从主动驾驶测试的回合中收集的。输出轨迹(转向命令)未包含在PCA分析中,该调查旨在研究网络神经元的主要PC如何表达网络的全局目标(独立)。

 

Complementary experiment elaborating on the results of the PCA analysis. 扩展数据图1a表示了64个LSTM单元的动态,它是转向控制输出轨迹的函数。这些图是单个隐含神经元动态和输出之间的互相关的定性表征。这些图中的正斜率表示正相关,而负斜率表示负相关。垂直或水平形状是独立的标志。扩展数据图1b表示NCP网络的19个隐含神经元的相同空间。

  LSTM细胞的行为更加随意和分散,而NCP神经元实现了与其输出一致的相关模式。图5所示的PCA结果很好地解释了这种行为(简洁)。此外,通过额外的计算实验,我们证实了与LSTM相比,NCP网络动态的简洁表征。从将网络输出包括在实验中时获得的PCA结果,到仅考虑隐含状态PC的设置,我们观察到LSTM网络的简明表征已被粉碎(扩展数据图1c,d)。在NCP网络的情况下,这种情况不太明显,在该网络中,我们观察到隐含状态没有任何有关输出的信息,可以仅由两台PC简要地解释驾驶的动态(扩展数据图1e,f)。

 

Data availability

  有关如何获取用于此手稿的数据和代码的说明,可在手稿的GitHub存储库中找到:https://github.com/mlech26l/keras-ncp/ (https://doi.org/10.5281/zenodo.3999484)。活动测试运行生成的数据可从存储库下载,而193 GB的完整数据集可应M.L的要求提供。

 

Code availability

  由作者维护的Apache-2.0许可参考实现可在GitHub存储库中找到:https://github.com/mlech26l/keras-ncp/ (https://doi.org/10.5281/zenodo.3999484)。对代码的分析参见https://www.cnblogs.com/lucifer1997/p/14610052.html

 

Additional information

  可在以下位置获得本论文的扩展数据https://doi.org/10.1038/s42256-020-00237-3.
  有关补充信息,请访问以下网址:https://doi.org/10.1038/s42256-020-00237-3.

 

posted on 2021-03-27 21:59  穷酸秀才大草包  阅读(1482)  评论(0编辑  收藏  举报

导航