机器学习在高度自动化驾驶中的安全性
作者头像
  • 2019-10-21 06:46:01 0

研讨背景

近年来,自动驾驶系统等利用机器学习模型的应用逐渐普及。这类系统的安全性至关重要,因为它们需要从手动驾驶辅助逐步过渡到完全自动驾驶。这要求系统具备更高的可用性,尤其是在硬件故障的情况下,系统不能简单地停用。为了确保在各种情况下避免危险的驾驶状况,系统需要能够解释当前的驾驶状态,并据此作出决策。机器学习技术因其在非结构化输入空间中提取相关特征的能力,被视为解决高度自动化驾驶(HAD)功能挑战的一种潜在解决方案。然而,基于机器学习的系统只有在证明其安全性达到可接受水平后才能应用于公共领域。这一标准由ISO 26262规定,遵守该标准是证明HAD系统安全性的必要条件。不过,ISO 26262标准在某些方面并不适用于开放上下文系统的机器学习。此外,系统无法满足安全目标的问题,也未能得到ISO 26262的良好解决。因此,必须开发替代方法,并通过“第一原则”系统化地论证系统满足其安全目标的能力。

处理的问题

  1. 如何确保基于机器学习组件系统的安全性,以及在不同基于机器学习的系统中需要考虑哪些因素。
  2. 由于传感器、执行组件本身的固有限制或目的功能本身的不足,系统无法满足安全目标的问题没有得到ISO 26262的良好解决。
  3. 讨论机器学习功能不足的原因。
  4. 自动驾驶系统的功能体系架构是什么样的。
  5. 保证用例的数据需求在什么条件下获取。

实验方法

1. 机器学习的安全性讨论

讨论机器学习安全性所涉及的问题在很大程度上取决于所使用的具体技术及其在整个系统中的应用。以下要素有助于评估机器学习对整体安全案例的影响。

  • 功能范围:机器学习可以应用于具有不同任务的系统架构中。任务的限制越严格,功能标准就越明确,从而允许集中验证和验证活动。
  • 学习模型:概率推理和统计学习技术基于训练数据建立模型,结果的准确性随着训练次数的增加而提高。然而,这些模型往往缺乏透明度和可解释性,容易受到对抗性示例的攻击。
  • 训练过程:在线训练技术(如强化学习)可以在执行过程中不断调整功能。训练方法可分为集中式训练(所有车辆以相同方式使用相同输入数据进行训练)和分布式训练(单个车辆自主学习,在学习过程中彼此不同)。如果不能正确定义安全输入,则在分布式在线训练过程中对安全验证带来巨大挑战。
  • 临界事件间隔:存在必须由系统正确处理的事件,以确保满足安全目标。因此,需要分析如何在培训和验证期间充分覆盖这些情况,以确保系统能够像处理常见情况一样处理这些情况。

2. 上下文信息的运用

系统级的保证用例结构是必需的,它导致对分配给机器学习功能的功能需求和风险贡献的定义。还需要考虑系统缺陷和随机硬件缺陷的贡献,例如基于ISO 26262的相关参数。在系统上下文中推导功能(安全)需求是确保整个系统安全的关键贡献之一,需要深厚的领域和系统知识。为开放上下文系统获得一组合适的需求本身是一项重要的任务,因此系统工程的方法是不可或缺的。

3. 机器学习功能不足的原因

与传统的、算法的和控制律的车辆控制方法相比,机器学习技术与开放上下文环境的内在不确定性导致了不同的风险原因。为了证明机器学习功能中的功能不足(如基于摄像机的目标检测、监督训练)被最小化,了解这些不足的原因非常重要。以下是几个保证案例:训练数据应该能够很好地界定和反映环境背景;功能函数应该对环境中的分布变化具有较强的鲁棒性;功能函数在临界状况下应该表现出一致的行为;功能函数对其训练和执行平台之间的差异具有很强的鲁棒性;功能函数对其系统上下文中的更改具有健壮性。

4. 保证用例的数据来源

  • 训练集覆盖率
    • 训练数据量:充足的训练数据用于提供与统计相关的场景扩展,并确保神经网络中权重的强覆盖范围波动。
    • 对已知关键场景的覆盖:基于对系统和环境的物理属性的良好了解的经验,以及以前的验证练习,可以识别应在函数中显示相似行为的场景类。
    • 最小化未知关键场景:在系统设计阶段,甚至不知道类的其他关键组合。因此,系统地确定培训数据中的等价类,并在培训和验证期间进行统计覆盖,将是充分减少由于培训数据不足而造成不足风险的关键。
  • 学习函数的可解释性:演示传统安全关键软件正确性的一个关键组件是白盒技术,包括手动代码审查、静态分析和代码覆盖。这些技术允许在详细的算法设计和完成上构成一个论点,但是不能轻易地转移到机器学习范例中。因此,必须找到应用神经网络外部行为知识的其他论据。Hendricks等人最近提出了一种朝这个方向发展的方法。也可以想象,还可以为神经网络找到其他目的,用于保证论证,例如,权重受训练数据影响的程度,或执行的测试对神经网络计算的覆盖程度。
  • 不确定度的计算:虽然机器学习方法在感知任务上提供了很好的功能,但是未检测到的对象、错误分类和错误定位可能在系统的整体功能架构中产生安全关键的后果。不确定性可以分为任意不确定性和认知不确定性。任意不确定性包括观测中固有的噪声(如传感器或运动噪声),不能通过添加训练数据来降低。相反,认知不确定性捕捉模型外部的不确定性(例如参数的不确定性),并强调对模型或模型本身的假设可能不足以准确地表示现实。不确定性量化可以提供用于可信性和传感器融合算法的信息,从而提高后续轨迹规划任务的整体鲁棒性和可靠性。
  • 黑盒测试:由于验证训练函数的白盒方法的固有限制,需要将重点放在黑盒测试技术上。这些技术将包括对包含学习功能的软件组件进行有针对性的测试,包括使用基于等价类的系统选择的测试数据。需要综合、真实和经过处理的真实数据,包括详细分析由于输入类型不同而对网络造成的影响。系统级车辆集成测试也需要构成保证用例的一个重要部分,以便验证在系统开发阶段所做的所有假设,包括是否充分了解关键场景导致了对功能的充分训练。
  • 运行时度量
    • 运行时的合理性检查:对神经网络输入的可信性检查可能包括随着时间的推移跟踪结果或通过与可选的传感器或输入进行比较。这种合理的检查可以减轻对个别帧自发发生的不足。
    • 运行时的假设检测:在运行时检测到的对象的分布与假设之间的差异可能表明训练过的函数中存在错误,或者系统在没有得到充分训练的上下文中运行。如果发现这种情况,可以采取适当的行动来减轻差异的影响。

实验结果

应用上述方法,得到了保证用例架构。

总结

高度自动化驾驶系统利用机器学习算法的主要挑战在于测试样本不能涵盖所有实际驾驶场景,从而导致机器学习算法功能的不足,可能对某些情况造成误判,使系统不安全。尽管ISO 26262无法定义自动驾驶系统的安全标准,本文提出了一种保证用例方法,用于确定如何在“第一原则”的基础上构建论点,即将系统的安全目标分解为机器学习功能的技术功能要求。本文讨论了基于机器学习的自动驾驶系统所面临的安全性挑战,特别是当在自动驾驶系统中使用机器学习算法时,安全架构通常强调系统工程和验证考量。特别值得注意的是基于卷积神经网络的处理感知模块的功能不足,我们寻找能够减少这些风险的迹象。本文讨论了高度自动驾驶领域中机器学习模型的安全性确认方法。作为基础,我们先分析并讨论了使用机器学习系统对系统安全性的影响。其次,本文对要求、上下文和假设进行了系统化分析,证明了在不了解系统范围的情况下,无法对机器学习功能的安全性做出评价。接着,本文提出的论证途径将着重于研究基于机器学习的函数功能不足的主要原因。最后,本文总结了可以用来创造支持安全保证用例证据的新技术。

思考与未来展望

本文中提出的保证用例结构提出了几个需要大量未来研究活动的问题。首先,为保证用例提供必要的证据需要开发全新的验证技术,包括证明其有效性。这项工作将需要在机器学习的实际见解和大规模实验研究方面取得进展,以确认所提出的措施的有效性。进一步的研究还将包括将动态安全用例应用于使用分布式在线强化学习技术的系统,即在运行时持续调整其行为的系统。这些活动必须集成到一个支持保证用例结构的整体系统工程方法中。这项技术研究工作需要得到工业界的补充,以便就风险评估和可接受的论证结构达成协商一致意见,以便纳入未来的标准。

    本文来源:图灵汇
责任编辑: :
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
安全性驾驶高度自动化机器学习
    下一篇