Page 180 - 《软件学报》2024年第6期
P. 180
2756 软件学报 2024 年第 35 卷第 6 期
图像产生噪点等类似像素级扰动的情况, 所导致的错误在某种程度上也应该归咎于图像采集设备缺陷, 不能完全
[6]
认为是自动驾驶软件中 DNN 模型缺陷导致. 而对图片整体进行修改的方法, 如 DeepTest 使用旋转、剪切、拉伸
等方法来产生图像, 但产生的图像同样与真实图像差异较大. 添加雨天、雾天、亮度等天气效果的方法, 则只需要
将装有图像和转向角采集设备的车辆由人类驾驶员在不同天气条件下的相同道路上驾驶便能采集到大量真实带
标签的图像样本 (例如 Cityscapes [14] 、BDD100K [15] 等公开的大型自动驾驶数据集就是使用类似方法采集的). 本文
将图像中实体的数量、语义及实体之间的位置关系称为场景 [16] , 不同图像中若物体外观存在差异但数量、语义
和位置相同, 则属于同一场景.
转向角
2D 相机
加速控制
雷达
为的能力或性质, 使人能理解和预测其行为. 常见的
深度学习模型
3D 传感器 制动
传感器阵列 自动驾驶软件 驾驶行为
图 2 基于深度学习的自动驾驶软件
对于自动驾驶转向角预测模型的测试, 获取更多来自真实世界的测试数据并不困难. 其挑战在于难以检测模
型由于对于相同场景产生不一致行为而导致的错误. 而此类错误是造成严重事故的常见原因之一. 例如, 2021 年
在美国底特律, 一辆带有自动驾驶软件的特斯拉汽车因为误将一辆白色货箱的货车识别为天空而与之相撞 [4] , 其
搭载的自动驾驶软件之前在相同路段未发生过将货车误识别为其他物体的错误. 类似地, 2016 年和 2019 年在美
国佛罗里达州也发生了两起因自动驾驶软件对于相同场景产生不一致行为而导致的严重事故 [17,18] . 在面对场景相
同的不同图像时, 转向角预测模型应当产生一致或相似的结果. 使用场景相同的不同图像作为测试数据可有效检
测出转向角预测模型的不一致行为. 如图 1 中第 1 行的第 1、3 张图像, 使用了外观不同的物体来描述同一场景,
但所使用的转向角预测模型却产生了差异较大的预测结果, 表明该模型内部存在缺陷.
1.3 DNN 的解释分析
以 DNN 为代表的深度学习技术在图像识别、语音识别和自然语言处理等应用领域取得了巨大进展, 被广泛
地应用到一些重要的现实任务中, 例如自动驾驶 [19] 、人脸识别 [20] 、恶意软件检测 [21] 和智慧医疗分析 [22] 等. 在某些
领域中, 深度学习模型的表现已经达到甚至超过了人类水平. 然而深度学习模型的学习和预测过程与传统的机器
学习模型相比更不透明, 其根据样本学习特征以及做出预测的行为缺乏可解释性, 即使 DNN 模型的测试精度和
其他性能指标已经达到了极高水平, 一个不可解释和被人理解的系统依然很难被人信任.
深度学习系统的行为难以预测且缺乏可解释性使其理论研究和应用发展受到严重阻碍. 近年来, 深度学习的
可解释性问题引起了广泛关注 [23] . 其中, DNN 模型的可解释性是指使 DNN 模型具有自我解释或可外部解释其行
DNN 解释方法有基于特征反演的 Guide Inversion [24] 、基于类
激活映射的 CAM [25] 和基于梯度加权类激活映射的 Grad-CAM [26] 等.
IATG 使用 Grad-CAM 作为 CNN 模型的解释方法. 给定一个输入样本, Grad-CAM 首先计算预测结果相对于
最后一个卷积层中每一个特征图的梯度并对梯度进行全局平均池化, 以获得每个特征图的重要性权重. 然后, 基于
重要性权重计算特征图的加权激活, 以获得一个粗粒度的梯度加权类激活图, 用于定位输入样本中具有类判别性
的重要区域. 与 CAM 相比, Grad-CAM 无需修改网络架构或重训练模型, 避免了因修改模型或重训练带来的精度
损失, 可适用于不同任务和结构的 CNN 模型.