Deep Learning Systems (DLSs) have been widely applied in safety-critical tasks such as autopilot. However, when a perturbed input is fed into a DLS for inference, the DLS often has incorrect outputs (i.e., faults). DLS testing techniques (e.g., DeepXplore) detect such faults by generating perturbed inputs to explore data flows that induce faults. Since a DLS often has infinitely many data flows, existing techniques require developers to manually specify a set of activation values in a DLS's neurons for exploring fault-inducing data flows. Unfortunately, recent studies show that such manual effort is tedious and can detect only a tiny proportion of fault-inducing data flows. In this paper, we present Themis, the first automatic DLS testing system, which attains strong fault detection capability by ensuring a full coverage of fault-inducing data flows at a high probability. Themis carries a new workflow for automatically and systematically revealing data flows whose internal neurons' outputs vary substantially when the inputs are slightly perturbed, as these data flows are likely fault-inducing. We evaluated Themis on ten different DLSs and found that on average the number of faults detected by Themis was 3.78X more than four notable DLS testing techniques. By retraining all evaluated DLSs with the detected faults, Themis also increased (regained) these DLSs' accuracies on average 14.7X higher than all baselines.
翻译:深度学习系统(DLS)已广泛应用于自动驾驶等安全关键任务中。然而,当扰动输入被送入DLS进行推理时,DLS常会产生错误输出(即故障)。DLS测试技术(如DeepXplore)通过生成扰动输入以探索诱发故障的数据流来检测此类故障。由于DLS通常拥有无限多的数据流,现有技术需要开发者手动指定DLS神经元中的一组激活值来探索诱发故障的数据流。不幸的是,最新研究表明,这种人工操作繁琐且仅能检测极小比例的诱发故障数据流。本文提出Themis——首个自动化DLS测试系统,通过高概率确保全覆盖诱发故障数据流来实现强故障检测能力。Themis采用新型工作流程,自动系统地揭示当输入受到轻微扰动时内部神经元输出变化显著的数据流,因为这些数据流很可能诱发故障。我们在十个不同DLS上评估Themis,结果表明:平均而言,Themis检测到的故障数量比四种知名DLS测试技术多3.78倍。通过使用检测到的故障重新训练所有评估的DLS,Themis将这些DLS的准确率提升幅度均比所有基线方法高14.7倍。