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.
翻译:深度学习系统(DLSs)已广泛应用于自动驾驶等安全关键任务中。然而,当向DLS输入受扰动的数据进行推理时,系统常产生错误输出(即故障)。现有DLS测试技术(如DeepXplore)通过生成扰动输入来探索诱发故障的数据流,从而检测此类故障。由于DLS通常存在无限多数据流,现有技术需要开发者手动指定神经元中的一组激活值来探索故障诱导数据流。遗憾的是,近期研究表明这种人工操作既繁琐,又仅能检测极小部分的故障诱导数据流。本文提出首个自动化DLS测试系统Themis,该系统通过以高概率实现故障诱导数据流的全覆盖,获得了强大的故障检测能力。Themis采用创新工作流程,能自动系统地揭示当输入轻微扰动时内部神经元输出显著变化的数据流——这类数据流极可能诱发故障。我们在十个不同DLS上评估Themis,发现其平均检测到的故障数量是四种主流DLS测试技术的3.78倍。通过使用检测到的故障重新训练所有评估的DLS,Themis使这些系统的准确率平均提升幅度达到所有基线方法的14.7倍。