在自动驾驶系统的发展中,肯定是离不开AI (machine learning, deep learning...)的应用,借用前段时间听的几个相关报告,聊下自动驾驶中AI与功能安全的话题。
AI算法广泛且越来越多地用于整个自动驾驶算法中,包括但不限于:
感知
决策
执行
根据ISO 26262-1:2018的定义,功能安全Functional Safety的定义是:Absence of unreasonable risk due to hazards caused by malfunctioning behavior of E/E systems。
简单理解,就是要将由于电子电器系统失效而导致的风险降低至一个可以接受的程度。通过一套ISO26262这个几百页的文件中所规定的流程/方法/理论来实现。
但对于AI来说,在ISO 26262 2018 (2nd)中,并未提到任何相关关键词。很多ISO26262中的方法对于神经网络并不适用了。举个例子,设想以下情景:比较发动机扭矩和油门踏板位置,两者需要匹配系统才可以运行,否则要关闭系统。
传统方法:
机器学习方法:
但基于机器学习的训练/验证方法,由于无法覆盖全部的validation set,通过部分training data得到了错误的rule时,很难被发现,比如:
difference≥10% -----> Shutdown
difference≥60% OR difference ==15% -----> Shutdown
difference≥10% AND pedal
那么问题来了:
基于ML的原理,面对不确定性,如何做相应的Validation?
在Neural Network系统中,出现了fault,比如错误learning rate, 错误的NN topology,由于这些导致了一些错误output的failure,从而进一步导致错误的转向/加速/制动等而产生hazard,如何来应对呢?
ISO26262中没有任何相关AI ML介绍,且很多方法已经不再适用,那该如何做呢?
[1]提出了一个思路:
构建一个CHECKER和DOER,如下图所示:
DOER中用于实现AI的算法功能,CHECKER中依据ISO26262开发的更高级别的ASIL的传统算法/模型来进行对DOER的safety相关的检查。
比如在motion planning中,依据感知识别的物体等信息,DOER选取了一个行为behavior,此时,基于CHECKER中的传统算法,判断此行为是否safe,作为检查后再进行behavior输出。
这个方案对motion planning有一定帮助,但对于一些perception,其实也是无能为力的。
同时,[2]也提出了ISO26262也需要进一步完善的措施:
所以说,这些问题的答案很多都还是未知的,自动驾驶路上,伴随着AI算法的应用,如何真正意义上的保证功能安全,其实还有很长的路要走。
[1] Applying Functional Safety to Artificial Intelligence. Michael Wagner, Edge Case Research
[2] Is ISO26262 ready for Machine Learning? Florian Bogenberger, Exida.
已完成
数据加载中