部署中的深度神经网络自检查
软件工程
2021-03-04 v1
摘要
深度神经网络(DNNs)在重要领域的广泛采用引发了关于 DNN 输出可信度的疑问。即便准确率很高的 DNN 也会偶尔出错,而在自动驾驶车辆等场景中,这些错误必须在部署中被快速检测并妥善处置。正如我们的社区已开发出有效的技术与机制来监测并检查程序化组件,我们认为现在有必要对 DNN 做同样的事。本文中我们提出 DNN 自检查这一利用内部 DNN 层特征来检查 DNN 预测的过程。我们详述了 SelfChecker——一个监测 DNN 输出并在模型内部层特征与最终预测不一致时触发警报的自检查系统。SelfChecker 还以替代预测的形式提供建议。我们在四个流行图像数据集与三个 DNN 模型上评估了 SelfChecker,发现其对 60.56% 的错误 DNN 预测触发了正确警报,并对 2.04% 的正确 DNN 预测产生误报。这相较先前工作(SELFORACLE、DISSECTOR 与 ConfidNet)有实质性改进。在自动驾驶场景实验中,对于两个 DNN 模型(DAVE-2 与 Chauffeur),SelfChecker 比 SELFORACLE 触发了更多正确警报且误报率相当。我们的实现已开源。
引用
@article{arxiv.2103.02371,
title = {Self-Checking Deep Neural Networks in Deployment},
author = {Yan Xiao and Ivan Beschastnikh and David S. Rosenblum and Changsheng Sun and Sebastian Elbaum and Yun Lin and Jin Song Dong},
journal= {arXiv preprint arXiv:2103.02371},
year = {2021}
}