Deep neural networks (DNNs) are instrumental in realizing complex perception systems. As many of these applications are safety-critical by design, engineering rigor is required to ensure that the functional insufficiency of the DNN-based perception is not the source of harm. In addition to conventional static verification and testing techniques employed during the design phase, there is a need for runtime verification techniques that can detect critical events, diagnose issues, and even enforce requirements. This tutorial aims to provide readers with a glimpse of techniques proposed in the literature. We start with classical methods proposed in the machine learning community, then highlight a few techniques proposed by the formal methods community. While we surely can observe similarities in the design of monitors, how the decision boundaries are created vary between the two communities. We conclude by highlighting the need to rigorously design monitors, where data availability outside the operational domain plays an important role.
翻译:深度神经网络(DNN)在实现复杂感知系统中发挥着重要作用。由于许多此类应用本身具有安全关键性,需要严格的工程实践来确保基于DNN的感知功能缺陷不会成为危害来源。除了设计阶段采用的常规静态验证与测试技术外,还需要能够检测关键事件、诊断问题甚至强制执行需求的运行时验证技术。本教程旨在向读者介绍文献中提出的相关技术。我们首先介绍机器学习领域提出的经典方法,随后重点阐述形式化方法领域提出的若干技术。尽管两类方法在监控器设计上存在相似之处,但两个领域在决策边界创建方式上存在差异。最后,我们强调在设计监控器时需要考虑严格性,其中运行域外数据的可用性发挥着重要作用。