在学习型网络物理系统(LE-CPS)中使用的机器学习模型,如自动驾驶汽车,需要能够在可能的新环境中独立决策,这可能与他们的训练环境不同。衡量这种泛化能力和预测机器学习模型在新场景中的行为是非常困难的。在许多领域,如计算机视觉[1]、语音识别[2]和文本分析[3]的标准数据集上,学习型组件(LEC),特别是深度神经网络(DNN)的成功并不代表它们在开放世界中的表现,在那里输入可能不属于DNN被训练的训练分布。因此,这抑制了它们在安全关键系统中的部署,如自动驾驶汽车[4]、飞机防撞[5]、战场上的自主网络物理系统(CPS)网络系统[6]和医疗诊断[7]。这种脆性和由此产生的对基于DNN的人工智能(AI)系统的不信任,由于对DNN预测的高度信任而变得更加严重,甚至在预测通常不正确的情况下,对超出分布范围(OOD)的输入也是如此。文献[8, 9]中广泛报道了这种对分布外(OOD)输入的不正确预测的高信心,并归因于模型在负对数似然空间中的过度拟合。要在高安全性的应用中负责任地部署 DNN 模型,就必须检测那些 DNN 不能被信任的输入和场景,因此,必须放弃做出决定。那么问题来了:我们能不能把这些机器学习模型放在一个监测架构中,在那里它们的故障可以被检测出来,并被掩盖或容忍?
我们认为,我们已经确定了这样一个用于高安全性学习的CPS的候选架构:在这个架构中,我们建立一个预测性的上下文模型,而不是直接使用深度学习模型的输出,我们首先验证并将其与上下文模型融合,以检测输入是否会给模型带来惊喜。这似乎是一个语义学的练习--即使是通常的机器学习模型通常也会 "融合 "来自不同传感器的解释,这些解释构成了模型的输入,并随着时间的推移进行整理--但我们认为,我们提出的监测架构相当于重点的转移,并带来了新的技术,正如我们将在本报告中说明的。我们建议,一个更好的方法是根据背景模型来评估输入:模型是我们所学到的和所信任的一切的积累,根据它来评估新的输入比只预测孤立的输入更有意义。这是我们推荐的方法的基础,但我们把它定位在一个被称为预测处理(PP)的感知模型中[10],并辅以推理的双重过程理论[11]。在这份报告中,我们还提供了这个运行时监控架构的候选实现,使用基于归一化流的特征密度建模来实现第一层监控,以及基于图马尔科夫神经网络的神经符号上下文建模来实现第二层。
我们用一个自主汽车的简单例子来解释我们方法背后的基本原理,并展示了上下文模型如何在监测LEC中发挥作用。考虑一下汽车视觉系统中有关检测交通线的部分。一个基本的方法是寻找道路上画的或多或少的直线,自下而上的方法是在处理每一帧图像时执行这一过程。但这是低效的--当前图像帧中的车道很可能与前几帧中的车道相似,我们肯定应该利用这一点作为搜索的种子,而且它是脆弱的--车道标记的缺失或擦伤可能导致车道未被检测到,而它们本来可以从以前的图像中推断出来。一个更好的方法是建立一个道路及其车道的模型,通过预测车道的位置,用它来作为搜索当前图像中车道的种子。该模型及其对车道的预测将存在一些不确定性,因此发送给视觉系统的将是最好的猜测,或者可能是几个此类估计的概率分布。视觉系统将使用它作为搜索当前图像中车道的种子,并将预测和当前观察之间的差异或 "误差 "发送回来。误差信号被用来完善模型,旨在最小化未来的预测误差,从而使其更接近现实。
这是一个 "综合分析 "的例子,意味着我们提出假设(即候选世界模型),并偏向于那些预测与输入数据相匹配的模型。在实际应用中,我们需要考虑有关 "预测 "的层次:我们是用世界模型来合成我们预测传感器将检测到的原始数据(如像素),还是针对其局部处理的某个更高层次(如物体)?
这种自上而下的方法的重要属性是,它专注于世界模型(或模型:一个常见的安排有一个模型的层次)的构建和前利用,与更常见的自下而上的机器学习模型形成对比。我们将展开论证,自上而下的方法对于自主系统中感知的解释和保证是有效的,但有趣的是,也许可以放心的是,人们普遍认为这是人类(和其他)大脑中感知的工作方式,这是由Helmholtz在19世纪60年代首次提出的[12]。PP[13],也被称为预测编码[14]和预测误差最小化[15],认为大脑建立了其环境的模型,并使用这些模型来预测其感觉输入,因此,它的大部分活动可以被视为(近似于)迭代贝叶斯更新以最小化预测误差。PP有先验的 "预测 "从模型流向感觉器官,贝叶斯的 "修正 "又流回来,使后验模型跟踪现实。("自由能量"[16]是一个更全面的理论,包括行动:大脑 "预测 "手,比如说,在某个地方,为了尽量减少预测误差,手实际上移动到那里。) 这与大脑从上层到下层的神经通路多于反之的事实是一致的:模型和预测是向下流动的,只有修正是向上流动的。
有趣的是,大脑似乎以这种方式工作,但有独立的理由认为,PP是组织自主系统感知系统的好方法,而不是一个主要是自下而上的系统,其中传感器的测量和输入被解释和融合以产生一个世界模型,很少有从模型反馈到传感器和正在收集的输入。2018年3月18日在亚利桑那州发生的Uber自动驾驶汽车与行人之间的致命事故说明了这种自下而上的方法的一些不足之处[17]。
纯粹的自下而上的系统甚至不能回忆起之前的传感器读数,这就排除了从位置计算速度的可能性。因此,感知系统通常保持一个简单的模型,允许这样做:林的视觉处理管道的物体跟踪器[18]就是一个例子,Uber汽车也采用了这样的系统。Uber汽车使用了三个传感器系统来建立其物体追踪器模型:摄像头、雷达和激光雷达。对于这些传感器系统中的每一个,其自身的物体检测器都会指出每个检测到的物体的位置,并试图将其分类为,例如,车辆、行人、自行车或其他。物体追踪器使用一个 "优先级方案来融合这些输入,该方案促进某些追踪方法而不是其他方法,并且还取决于观察的最近时间"[17,第8页]。在亚利桑那车祸的案例中,这导致了对受害者的识别 "闪烁不定",因为传感器系统自己的分类器改变了它们的识别,而且物体追踪器先是喜欢一个传感器系统,然后是另一个,如下所示[17,表1]。
这种 "闪烁 "识别的深层危害是:"如果感知模型改变了检测到的物体的分类,在生成新的轨迹时就不再考虑该物体的跟踪历史"[17,第8页]。因此,物体追踪器从未为受害者建立轨迹,车辆与她相撞,尽管她已经以某种形式被探测了几秒钟。
这里有两个相关的问题:一个是物体追踪器保持着一个相当不完善的世界和决策背景的模型,另一个是它对输入的决策方法没有注意到背景。预测性处理中的感知所依据的目标是建立一个准确反映世界的背景模型;因此,它所编码的信息要比单个输入多得多。我们想要的是一种测量情境模型和新输入之间的分歧的方法;小的分歧应该表明世界的常规演变,并可以作为模型的更新纳入;大的分歧需要更多的关注:它是否表明一个新的发展,或者它可能是对原始传感器数据解释的缺陷?在后面两种情况中的任何一种,我们都不能相信机器学习模型的预测结果。
预测处理方法的实施可以采用贝叶斯方法[19]。场景模型表示环境中的各种物体,以及它们的属性,如类型、轨迹、推断的意图等,并对其中的一些或全部进行概率分布函数(pdf s)。观察更新这些先验,以提供精确的后验估计。这种贝叶斯推理通常会产生难以处理的积分,因此预测处理采用了被称为变异贝叶斯的方法,将问题转化为后验模型的迭代优化,以最小化预测误差。卡尔曼滤波器也可以被看作是执行递归贝叶斯估计的一种方式。因此,像神经科学、控制理论、信号处理和传感器融合这样不同的领域都可能采用类似的方法,但名称不同,由不同的历史派生。思考PP的一种方式是,它将卡尔曼滤波的思想从经典的状态表征(即一组连续变量,如控制理论)扩展到更复杂的世界模型,其中我们也有物体 "类型 "和 "意图 "等表征。预测处理的一个有吸引力的属性是,它为我们提供了一种系统的方法来利用多个输入和传感器,并融合和交叉检查它们的信息。假设我们有一个由相机数据建立的情境模型,并且我们增加了一个接近传感器。预测处理可以使用从相机中获得的模型来计算接近传感器预计会 "看到 "什么,这可以被看作是对模型准确性的可验证的测试。如果预测被验证了,那么我们就有了对我们上下文模型某些方面的独立确认。我们说 "独立 "是因为基于不同现象的传感器(如照相机、雷达、超声波)具有完全不同的解释功能,并在不同的数据集上进行训练,这似乎是可信的,它们会有独立的故障。在一个完全集成的预测处理监视器中,情境模型将结合来自所有来源的信息。情境模型将保守地更新以反映这种不确定性,监测器将因此降低其对机器学习模型的信心,直到差异得到解决。
请注意,上下文模型可以是相当简单粗暴的:我们不需要场景的照片,只需要知道我们附近的重要物体的足够细节,以指导安全行动,所以相机和接近传感器 "看到 "的相邻车辆的轮廓之间的差异,例如,可能没有什么意义,因为我们需要知道的是他们的存在,位置,类型和推断的意图。事实上,正如我们将在后面讨论的那样,我们可以在不同的细节层次上对上下文进行建模,自上而下的生成模型的目标是生成不同层次的感知输入的抽象,而不是准确的传感器值。在报告中讨论的我们的实现中,我们在两个层次上对上下文进行建模--第一个层次使用深度神经网络的特征,第二个层次对场景中物体之间更高层次的空间和时间关系进行建模。除了传感器,感知的上层也将获得关于世界的知识,可能还有人工智能对世界及其模型的推理能力。例如,它可能知道视线和被遮挡的视野,从而确定在我们附近的车辆可能无法看到我们,因为一辆卡车挡住了它的去路,这可以作为有关车辆的可能运动("意图")的增加的不确定性纳入世界模型中。同样,推理系统可能能够推断出反事实,比如 "我们将无法看到可能在那辆卡车后面的任何车辆",这些可以作为 "幽灵 "车辆纳入世界模型,直到它们的真实性被证实或被否定。我们对监控架构第2层的神经符号建模的选择对于整合这种背景和学习的知识以及对这些知识进行推理至关重要。
在这方面,另一个关于人脑组织的理论很有意思;这就是 "双过程 "模型[20, 21],由卡尼曼推广的独立 "快慢 "思维系统[22]。它的效用最近已经通过一个非常有限的实现被证明用于计算机器学习模型的信心[23, 24]。系统1是无意识的、快速的、专门用于常规任务的;系统2是有意识的、缓慢的、容易疲劳的、能够斟酌和推理的,这就是我们所说的 "思考"。就像预测处理一样,我们提倡双过程模型并不仅仅是因为它似乎符合大脑的工作方式,而是因为它似乎是独立的,是一个好架构。在这里,我们可以想象一个特征密度正常化的流生成模型形成一个高度自动化的 "系统1",而更多的深思熟虑的神经符号模型构成一个 "系统2",当系统1遇到大的预测错误时,该系统会主动参与。系统1维持一个单一的生成性世界模型,而系统2或者对其进行润色,或者维持自己的更丰富的世界模型,具有对符号概念进行反事实的 "what-if "推理能力。人们认为,人类保持着一个模型的层次结构[20, 21, 22],这似乎也是自主系统的一个好方法。我们的想法是,在每一对相邻的模型(在层次结构中)之间都有一个预测处理的循环,因此,较低的层次就像上层的传感器,其优先级和更新频率由预测误差的大小决定。
人类的预测处理通常被认为是将 "惊讶 "降到最低的一种方式,或者说是保持 "情况意识"。加强这一点的一个方法是在构建世界模型时增加系统2对假设推理的使用,以便将没有看到但 "可能存在 "的东西明确地表示为 "幽灵 "或表示为检测到的物体属性的不确定性增加。一个相关的想法是利用人工智能进行推断,例如,检测到前面有许多刹车灯,就可以推断出某种问题,这将被表示为世界模型中增加的不确定性。这样一来,本来可能是意外情况的惊奇出现,反而会发展为不确定性的逐渐变化,或将幽灵解决为真实的物体。图马尔科夫神经网络提供了一个有效的机制,既可以对这些关系和更丰富的背景进行建模,又可以通过反事实查询和背景知情的预测进行审议。因此,双重过程理论激发了我们的运行时监控器的两层预测编码结构。虽然这些理论旨在解释人类的认知,但我们将这些作为运行时监控器来计算底层模型的惊喜,因此,当模型由于新奇的或超出分布的或脱离上下文的输入而不能被信任时,就会被发现。
图 1:基于预测处理和双过程理论的自主量化保障架构
图1展示了所提出的深度学习模型运行时监控的整体架构。如图所示,该架构有两个层次(由双重过程理论激发)。在第一层,我们使用生成模型,学习输入的联合分布、预测的类输出和模型提供的解释。在第二层,我们使用图马尔可夫神经网络来学习物体检测任务的物体之间的空间和时间关系(更一般地说,输入的组成部分)。在这两层中,我们在本报告中的重点是运行时监测,而不是开发一个认知系统本身(而使用所提出的方法建立一个强大的、有弹性的、可解释的系统将是自然的下一步)。因此,由这两层检测到的惊喜被监控者用来识别底层LEC何时不能被信任。这也可以作为LE-CPS的一个定量保证指标。
第3节介绍了预测性处理和双进程架构(低级别的自动化和高级别的审议),并认为这可以支持一种可信的方法来保证自主系统的稳健行为。它也被广泛认为反映了人类大脑的组织。我们提出了使用不同的神经架构和神经符号模型的组成来可扩展地完成这些的机制。结果在第4节报告。第5节提供了一些与工业建议的比较,并提出了结论和额外研究的建议。