自动驾驶汽车中机器学习安全的实际解决方案
1►摘要
自动驾驶汽车依靠机器学习来解决知觉和运动规划方面的挑战。然而,汽车软件安全标准还没有完全发展到来应对机器学习安全的挑战,如可解释性、验证性和性能限制。本文回顾和整理了实际的机器学习安全技术可以补充用于自动驾驶汽车的基于机器学习的软件的工程安全。我们的组织将安全策略映射到最先进的状态机器学习技术,以提高可靠性以及机器学习算法的安全性。我们还讨论了自动驾驶汽车中机器学习组件的安全限制和用户体验方面的问题。
2►介绍
机器学习(ML)的进展是过去十年中最大的创新之一。如今,ML模型被广泛应用于自动驾驶汽车、医疗诊断和机器人等不同的工业领域,以执行各种任务,如语音识别、目标检测和运动规划。在不同ML模型中,深度神经网络(DNNs) (LeCun, Bengio和Hinton 2015)以其在高维数据中的强大特征学习而闻名并被广泛应用。例如,在自动驾驶领域,各种DNN目标检测和图像分割算法被用作处理相机的感知单元(如Pilot-Net (Bojarski等人,2016),快速RCNN(Wang, Shrivastava,和Gupta, 2017))和激光雷达数据(例如VoxelNet (Zhou和Tuzel 2018))。
安全关键系统的开发依赖于严格的安全方法、设计和分析,以防止故障时的危害。在汽车领域,ISO26262和ISO/PAS 21448是两个主要的安全标准,用于解决电子电气元件的安全问题。这些标准提出并要求了系统、硬件和软件开发的方法。特别是对于软件开发,该过程确保了需求、架构和单元设计、代码和验证之间的可追溯性。对于具有很高复杂性的自动驾驶软件,需要对自动驾驶软件进行迭代危害分析和风险评估以更好的描述运行设计区域。
另一方面,ML模型有许多固有的安全缺陷包括训练集的准确性 以及在开放世界限制下运行的域的鲁棒性。例如,ML模型容易受到域移位(Ganin和Lempitsky 2014)、数据损坏和自然扰动(Hendrycks和Dietterich 2019)的影响。而且,DNNs中的预测概率评分并不能真实表达出模型的不确定性。此外,从安全的角度来看,已经证明DNN容易受到对抗性攻击,这些攻击对输入样本(人眼无法分辨)造成小扰动,但可以欺骗DNN(Goodfellow, Shlens, 和Szegedy 2014)。由于DNNs缺乏验证技术,ML模型的确认往往依赖于不同大型测试集上的简单精度度量,以覆盖目标运行设计区域。虽然这是衡量算法成功与否的一个重要指标,但它绝对不足以衡量安全关键应用程序中的性能,因为实际示例可能与测试集不同。
随着意识到ML模型将越来越多地用于安全关键系统,我们需要检查这些模型暴露在现有工程安全标准中的差距。我们已经讨论了机器学习安全方面的几个例子,包括代码的可解释性和可跟踪性、形式验证和设计规范(Salay,Queiroz,和Czarnecki 2017)。
在这篇论文中,我们回顾了自动驾驶汽车安全算法技术的挑战和机遇,以补充现有的自动驾驶汽车软件安全标准。第2节简要回顾了两个主要的汽车行业安全标准,并识别出它们与机器学习算法的五个基本差距。第3节通过对机器学习(1)错误检测器的研究和(2)模型鲁棒性的调查,介绍了实用的算法安全技术。我们将简要介绍三种针对安全关键型应用的实现。第4部分讨论了开放问题的挑战,未来工作的方向,并总结了本文。
3►背景
工业安全广义上是指对一个行业内的所有操作和事件的管理,通过使危害、风险和事故最小化来保护员工和用户的安全。鉴于电子电气(E/E)元件正确操作的重要性,IEC 61508是为电子和电气安全相关系统制定的基本功能安全标准,具有两个基本原则: (a)安全生命周期:以发现和消除设计错误的最佳实践为基础的工程过程;(b)故障分析:解析系统故障对安全影响的概率方法。IEC 61508在不同领域有不同分支。例如,为了实现汽车行业的安全,工程师需要遵循ISO 26262标准,将E/E故障造成的安全风险降至可接受的水平。
在本节中,我们简要回顾一个整理后的、可以满足两个主要汽车安全标准中安全需求的基本机器学习限制列表。我们注意到,这两个汽车标准都要求对危害和风险进行详细的分析,然后是专注于系统需求、文档化的架构和设计、结构良好的代码,以及对单元、集成和系统级测试的全面的验证。
ISO 26262 标准
ISO 26262或汽车E/E系统功能安全标准将汽车安全定义为不存在因E/E组件故障而产生的不合理风险。它需要危险分析和风险评估(HARA)以确定车辆级别的危险。潜在的危害和风险指导安全工程师导出功能安全需求以满足安全目标。然后这些功能安全需求指导系统开发过程,系统开发过程又可分解为硬件和软件开发过程。图1给出了该标准的概述。本文的重点是ISO 26262的第6部分,它为软件开发过程定义了V模型。
图1中V-Model的目标是确保软件架构设计充分满足软件安全需求,并通过软件测试充分测试和验证。类似地,验证软件架构设计,软件集成测试证明架构实体(包括静态和动态方面)之间的交互得到了测试。在V模型的最底端,单元设计制定每个单元的设计细节(在软件体架构设计期间识别),例如输入、输出错误处理、单元的行为,以便对单元进行编码。最后,单元测试确保软件单元得到测试,以满足其设计需求,并满足单元设计的覆盖率。
图1 软件开发V型 ISO 26262-6(绿色)
和ISO/PAS 21448(蓝色) 的比较
ISO 26262还确定了故障检测和避免的方法,以将风险降低到可接受的水平。但当将ISO26262用于自动驾驶领域时就有一些局限性。它不能应对由于组件不能理解环境而发生的故障,例如由于性能限制或鲁棒性问题,或可预见的系统误用。
ISO/PAS 21448 标准
ISO/PAS 21448或SOTIF(预期功能安全)标准描述了一个迭代开发过程,包括设计规范、开发、验证和确认阶段。SOTIF标准认识到软件(包括ML组件)的性能限制,并期望属于未知不安全(如训练分布之外的样本)和已知不安全(如运行设计区域之外的样本)情况的场景/输入应减少到残余误差风险可接受的程度。
SOTIF过程在ISO 26262的基础上增加了SOTIF HARA和安全概念。危害分析包括识别由于性能不足、感知不足、合理可预见的误用或人机界面缺陷造成的危害。相比之下,ISO 26262的危害和风险分析仅限于电子/电子故障造成的危害。如果SOTIF分析导致的风险高于可接受的风险,则进行功能优化以降低风险。然后制定验证和确认策略,以论证剩余风险低于可接受水平。
机器学习(ML)组件的安全缺陷
近年来,对ML模型安全限制的识别越来越受到人们的关注。例如,Varshney等人(Varshney 2016)讨论了ML模型的安全定义,并将其与工业上的四种主要工程安全策略(1)固有安全设计,(2)安全量,(3)安全失效,(4)程序保障措施进行了比较。在对汽车软件安全方法的回顾中,Salay等人(Salay, Queiroz,和Czarnecki 2017)按照ISO-26262 part-6方法对ML模型进行了安全分析。他们评估软件安全方法在机器学习算法上的适用性(作为软件单元设计)表明约40%的软件安全方法不适用于ML模型。
ML模型的安全性和鲁棒性也一直是ML科学家(Hern´andez-Orallo等人,2019)关心的问题。Amodei 等人 (2016)提出了五个具体的研究问题,这些问题可能导致现实世界AI系统的意外和不安全行为。他们将人工智能的安全问题聚焦并表征为目标函数的定义和评估。此外,Ortega等人(Ortega和Maini 2018)介绍了技术AI安全的三个领域,即规范(在设计和紧急情况下)和鲁棒性(用于错误预防和恢复)和保证(用于监视和执行)。
我们在汽车软件安全标准术语中对这些开放性的挑战进行了分类,并简要回顾了具有代表性的研究,以解决这些安全缺陷。
-
设计规范:记录和审查软件规范是功能安全的关键步骤,然而,ML模型的设计规范通常是不够的,因为模型学习数据中的模式来区分或生成新的不可见输入的分布。因此,机器学习算法通过它们的训练数据(和正则化约束)学习目标类,而不使用正式的规范。缺乏专一性会导致“设计者的目标”和“模型实际学到的东西”之间的不匹配,这可能会导致系统的非预期功能。这种基于数据驱动最优的训练机器学习模型不可能定义出和提出具体的安全约束。为此,Seshia等人(2018)调查了DNNs形式化规范的现状,并为DNNs形式化描述和性质推理奠定初步基础。管理这个设计规范问题的另一种实用方法是将机器学习组件分解为更小的算法(具有更小的任务),以实现分层结构的工作。与此相关,Dreossi等人(2019)提出将VerifAI工具包用于基于人工智能的系统的形式化设计和分析。
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
汽车动力电池系统试验综述
2024-11-16 08:25
-
汽车可靠性前沿技术研讨会在重庆成功召开
2024-11-16 07:33
-
一文讲清AEB误触发的原因及法规要求
2024-11-16 07:30
-
HEAD acoustics下线检测:最高级别的质量保
2024-11-15 17:09
-
新能源公司与哈尔滨理工大学联合研究中心揭
2024-11-15 17:07