钱柜娱乐客户端

机器学习的不确定性: 自动驾驶的安全视角

  • 丁博
  • 发表于: 2018/11/26 17:59:52 来源:汽车精英荟

机器学习方法和数据中的不确定性是安全领域研究的一个重要课题。

作者简介:丁博,毕业于德雷斯顿工业大学(德国),研究方向有:软件和硬件可靠性以及安全性,基于模型开发(Simulink,UML/SysML, AADL)的关键安全系统,故障容错和冗余系统架构设计,安全分析(Markovchains, Fault-tree analysis, Bayesian networks, Petri-nets),模型检查,机器学习,计算机视觉(OpenCV, Deep learning (CNN))等。

介绍

15432270113192.jpg

随着近年来车辆智能化的高速发展,基于机器学习(Machine Learning)的解决方案和应用已被商业生态圈所接受。 汽车领域的这些系统正在快速地发展,并加速了高度自动化和全自动驾驶的发展进程,同时也在安全保障方面提出了新的挑战。机器学习方法和数据中的不确定性是安全领域研究的一个重要课题。在这篇文章中,我们将在自动驾驶领域探究这个问题,着手分析四个安全性相关的案例,然后介绍我们提出的相应的解决方案。该方法的核心是在自动驾驶系统中引入监控限制器。

近年来,基于人工智能的应用的安全性问题引起了研究人员的注意,特别是对于基于机器学习的方法,例如神经网络和深度学习方法。研究人员从两个不同的角度进行了研究: (i)系统运行时, (ii)系统设计时。然而,研究人员并未提出实际有效的解决方案。在这篇文章中,我们专注于机器学习算法的不确定性的分析,并直观地将自动驾驶系统可能面临的安全危急归类为四个不同的情景。最后,我们提出相应的解决方法,以应对每种情景下的安全性挑战。

机器学习与安全性挑战

机器学习算法中的不确定性可以分为两种类型: a) 随机的或数据相关的,数据中的噪声被模型捕获,从而导致训练输入的模糊性 b) 认知的或模型相关的,它表示模型在处理实际运行的数据输入时所表现出的模糊性。更确切地说,在处理基于机器学习的应用时,可能引起问题的主要原因如下:

1、训练数据的不完整性

传统的软件系统是按照预先定义的一组功能需求开发的。然而,在基于机器学习的神经网络中,系统的功能需求被隐藏在训练的数据中,开发人员期望训练的数据能够完全代表实际运行时环境的输入。然而,根据定义,训练数据是不完整的,因为它只是系统在实际运行期间遇到的所有可能性输入的一个子集。因此,当实际运行环境没有完全被训练数据覆盖到时,系统就会出现安全性问题。在自动驾驶中,当遇到危险或模糊的情况时,自动驾驶系统很难让车辆做出正确安全的预测行为,这是因为其极罕见或高度危险的情况未能在训练数据中被充分展现。

2、分布位移

在自动驾驶的环境下,实际运行环境是高度不可预测的,因为它随着系统和环境内的参与者的行为而不断变化。因此,即使使用良好且接近完美的训练数据,实际运行时的输入也可能不同于训练时的数据。换言之,与原始训练数据相比,实际运行时数据的分布可能会发生变化,这将会导致系统行为的不可预测性。

3、训练环境与实际运行环境的差异

运行环境中的细微变化可能导致神经网络中的一个不可预测行为。对一个在特定设置下能够安全运行的神经网络,我们不能保证在更改设置时,它会以完全相同的方式工作。

4、预测的不确定性

每个神经网络都有一个与之相关的错误率,训练过程的目的是尽可能地减少这个错误率。但在实际运行环境中,这个错误率还可以被解释为模型产生的输出与相关联的实际系统环境的输出的差异性(不确定性)。虽然这种不确定性可以告诉我们系统如何很好地模拟环境,但在今天的信息物理系统中这一点却没有被考虑到。

案例

如上所述,我们在实际运行系统中专注于以下案例的安全性研究:

  • 案例 1: 一个自动驾驶系统已经在一个交通状况良好的国家的道路数据上进行训练和测试,但是被部署在另一个交通状况混乱的国家的道路上行驶。另一个类似的情况是,当车辆已经在四条宽车道行驶的道路上进行训练和测试后,却面临着在两条窄车道行驶的任务。在这些情况下,我们不能依赖智能车辆所做出的决定,因为我们无法保证系统将按预期行为运行。

  • 案列 2: 基于人工智能的车辆想要超过它前面的另一辆车。根据国家驾驶规则规定,车辆只能从一边(左边或右边)超车。虽然在我们人类学习驾驶的过程中,这条规则已经被接受,但是当涉及到自动驾驶车辆时,我们并不能保证系统确实已经学会了这一规则,并且会一直遵循它。

  • 案列 3: 车辆需要执行变道操作,但是在左侧碰巧存在与该车辆对齐的一辆车, 在这种情况下,发生事故的概率不是很高,但是也存在发生事故的可能性。由于基于深层学习技术的应用的输出只能产生固定的分类,因此低概率事件被忽略并可能导致高代价的碰撞/事故。

  • 案列 4: 人类天生乐观,这甚至可能反映在神经网络的训练数据中。自动驾驶车辆中的神经网络通常经过训练后,能够展示人类期望的积极和乐观输出,然而,正面和负面的输出均能对训练系统产生良好的影响。

提出的解决方案

由于我们无法处理所有安全危急情况,因此在提出的解决方法中,我们假设在故障安全模式(fail-safe mode)下要采取的操作是预先已知的,包括诸如使汽车减速、使汽车停止、甚至移交控制权给人类驾驶者等操作。

1、过滤运行时“异常”的输入

该方法基于在线数据监控的思想,以检测训练时输入和运行时输入的差异为目标。异常检测方法(控制流程如图 1 所示)检测运行时输入与系统训练数据输入的差异性。换句话说,目的是检测输入是否是“异常”,即那些与原始训练数据显著不同  的数据。如果是“异常”数据,则系统预期进入故障安全模式,否则继续正常运行。

图1:异常检测方法的控制流程图1:异常检测方法的控制流程

2、定义环境约束

我们建议使用本体 (Ontology)来实施如图 2 所示的控制流程。本体是一种在系统中建模实体和关系的方法。在设计期间,汽车安全工程师需要基于特定的软件/系统功能和语境来创建汽车安全本体。主要本体语境和语义(用于功能安全)可从ISO26262(第 1 部分-词汇表)派生。存储在本体中的概念将在内部转换为机器可读的一阶逻辑(例如,Prolog 代码),从而能够更加简单地描述系统在环境中必须遵守的约束。本体可以看做是围绕每个机器学习组件的“安全毯”。系统将根据一组环境约束   来检测组件的输入和由此产生的输出,以确保它们得到验证,如果不满足约束,则系统进入故障安全模式。该方案提高了系统的可靠性和安全性,并遵循了传统验证和确认(Verification and validation)方法原则,确保了被开发的系统符合人类行为者的直觉。本方法可以改善问题的可跟踪性,还可以帮助追踪系统的设计缺陷。

图2:基于本体的约束满足方法控制流图2:基于本体的约束满足方法控制流

3、使用强化学习进行预探索

由于强化学习(Reinforcement learning)可以按照奖励和惩罚机制来建模,我们建议使用强化学习来缓解案例三所带来的安全问题。强化学习是基于行为主义心理学的一个方法,其中代理人(RL Agent)通过从环境中i)因做出良好行为而获得的奖励或ii)因做出错误行为而得到的惩罚,将环境情况映射到行为。这个解决方案的目的是通过两个可训练的部件来增加学习,如图 3 所示。图 3a 显示了负责探索环境的强化学习代理人,图 3b 描述了以标准方式实现地在线神经网络。代理人通过探索环境并与其交互来学习,因此可以通过模拟来训练以探索负面的结果,因为在测试中这些负面结果不会对人类生命造成真正的威胁。通过这样做,代理人能够学习,从而生成情境、动作和相关奖励值的映射。然后,基于每个状态的奖励值,该映射可用于对导致高、中或低风险的情景进行分类。这种方法可以看作监视技术的扩展,其中,相较于手动地将状态空间标记为安全或不安全,代理人的输出可以自动用于生成这样的映射,通过用奖励函数确定每个状态-动作的危险的严重性。因此,每个试图传入神经网络的输入将被检测,如果输入处于灾难性区域时,系统进入故障安全模式。这种方法的优点是,人还可以将奖励和目标函数设置得更加符合人的直觉,从而使系统更加符合人的期望。

图3:强化学习预探索的控制流图3:强化学习预探索的控制流

4、确保正反案件的覆盖面

在自动驾驶中,系统不仅应该能够预测横向和纵向的动作,而且还应该能够预测可能导致负面结果的输出,如驾驶离路、碰撞等。在这样的系统中,如果预测到的输出属于负面类,系统则将进入故障安全模式,否则,系统将继续正常运行,如图 4 所示。当系统被训练在数据不足或危及的情况/输入上,这种设置往往能给系统带来益处和更高的安全保障,从而确保系统能对安全相关情况做出更好的响应。由于系统能够直接从数据中学习正面的和负面的预期,而不依赖明确的规范,因此系统也适用于其他用例。此外,该方法还具有易被实现和理解的优点。

图4:正面(积极)和负面(消极)输出预测控制流图4:正面(积极)和负面(消极)输出预测控制流

结论

我们研究了在自动驾驶领域中,如何应对基于机器学习方法的安全性的几个挑战。我们主要关注机器学习方法以及训练数据本身的不确定性问题。我们考虑了自动驾驶中多种安全危急的情景,这些情景可能是不确定性问题的结果,并且提出了有效的监测方法以确保系统的安全性。值得一提的是,仅仅应用一种单独的技术不足以验证自适应软件的功能,因为每种技术都有自己的优缺点。因此,我们需要构建一个包含不同验证和确认技术(v&v)的工具箱(toolbox),基于系统的特定需求和规范来,这些技术可以得到应用。我们建议使用分层技术,每一层中的数据和应用程序监控实现特定方面的安全性需求,而且独立于其他层。

相关标签:
自动驾驶
  • 车云星
  • 空间站
  • 福特星球
  • 虫洞

加料 /

人评论 | 人参与 登录
查看更多评论