Abstract

Deep Learning (DL) systems are key enablers for engineering intelligent applications due to their ability to solve complex tasks such as image recognition and machine translation. Nevertheless, using DL systems in safety- and security-critical applications requires to provide testing evidence for their dependable operation. Recent research in this direction focuses on adapting testing criteria from traditional software engineering as a means of increasing confidence for their correct behaviour. However, they are inadequate in capturing the intrinsic properties exhibited by these systems. We bridge this gap by introducing DeepImportance, a systematic testing methodology accompanied by an Importance-Driven (IDC) test adequacy criterion for DL systems. Applying IDC enables to establish a layer-wise functional understanding of the importance of DL system components and use this information to assess the semantic diversity of a test set. Our empirical evaluation on several DL systems, across multiple DL datasets and with state-of-the-art adversarial generation techniques demonstrates the usefulness and effectiveness of DeepImportance and its ability to support the engineering of more robust DL systems.

Highlights

  • Driven by the increasing availability of publicly-accessible data and massive parallel processing power, Deep Learning (DL) systems have achieved unprecedented progress, commensurate with the cognitive abilities of humans [28, 46]

  • The Importance-Driven adequacy criterion instrumented by DeepImportance measures the adequacy of an input set as the ratio of combinations of important neurons clusters covered by the set

  • RQ2 (Diversity): Can DeepImportance inform the selection of a diverse test set? We investigate whether software engineers can employ the Importance-Driven Coverage to generate a diverse test set that comprises semantically different test inputs

Read more

Summary

Introduction

Driven by the increasing availability of publicly-accessible data and massive parallel processing power, Deep Learning (DL) systems have achieved unprecedented progress, commensurate with the cognitive abilities of humans [28, 46]. A neuron represents a computing unit that applies a nonlinear activation function to its inputs and transmits the result to neurons in the following layer [46]. A DL system’s architecture comprises the number of layers, neurons per layer, neuron activation functions and a cost function. Given such an architecture, the DL system carries out an iterative training process through which it consumes labelled input data (e.g, raw image pixels) in its input layer, executes a set of nonlinear transformations in its hidden layers to extract semantic concepts (i.e., features) from the input data, and, generates a decision that matches the effect of these computations in its output layer. The training process aims at finding weight values that minimize the cost function, enabling the DL system to achieve high generalisability

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call