Technical Briefing on Deep Neural Network Repair

Deep Neural Networks (DNNs) are used for different tasks in many domains, some safety critical like autonomous driving. When in operation, the DNN could misbehave on some inputs unseen during training. DNN repair is a new emerging technique that tries to improve the DNN to fix these misbehaviours, without affecting the correct behaviours. The technical briefing will give an overview of the different DNN repair techniques that have been proposed in the literature, that differ in the faults they target, the way to localise them, and the technical approach they employ to modify the network. Moreover, the technical briefing will also demonstrate the usage of some of these DNN repair techniques.

(e.g., a DNN classifier misclassifies an image) could emerge, affecting the reliability of the DNN and the system in which it operates.DNN repair is an emerging technique that tries to modify the DNN, with the goal of fixing the DNN behaviour on these erroneous inputs.
Different DNN repair approaches have been proposed in the literature, that can be classified by considering different dimensions.First of all, they can be classified according to the technical approach they employ.A first group of approaches [1,14,15] try to retrain (or fine-tune) the DNN, possibly using additional inputs obtained by data augmentation.A second popular group of approaches [5][6][7][8][9][11][12][13] apply a two stage technique inspired by automatic program repair [2]; it first performs fault localisation to identify suspicious components of the network (e.g., weights), i.e., those that are more likely responsible for the misbehaviours; then, it applies some form of optimisation to modify these components in a way to fix the misbehaviours, possibly preserving the correct behaviours.
From another dimension, DNN repair approaches can be classified by considering the types of faults [3] they target.Several approaches [5,6,[11][12][13] consider as faults the weights that have not been tuned properly during training, and modify these during repair.Other approaches [9], instead, target model architecture faults [4] related to a wrong setting of a model or a wrong setting of the training process (e.g., wrong choice of the optimiser, or of the loss function), and repair consists in finding an alternative setting.

RELEVANCE TO THE SOFTWARE ENGINEERING COMMUNITY
The software engineering (SE) community has actively worked in the past few years on applying classic SE approaches to machine learning systems, with a particular attention to testing [10,16].DNN repair constitutes an emerging research area that can be of great interest for the SE community.Indeed, DNN repair approaches employ techniques that have been largely investigated in SE.First of all, different DNN repair approaches are based on fault localisation and search-based optimisation, that are extensively researched SE areas, and that are the main constituents of automated program repair (APR) [2] for classic programs.Other DNN repair approaches, instead, heavily rely on the usage of augmented data for retraining; to do so, they employ different test generation techniques that are also widely studied in SE.However, the application of SE approaches to DNN repair is not straightforward and gives rise to different research challenges that should be addressed by the SE community.For example:

PLAN OF THE TECHNICAL BRIEFING
The technical briefing will provide an overview of DNN repair.It will be structured in three parts: Introduction and motivation for DNN repair: this part will provide basic definitions about DNNs, explain when DNN repair is needed, and provide the general description of a DNN repair framework; Overview of DNN repair approaches: this part will review the main DNN repair approaches proposed by the SE community.
In particular, each approach will be described by considering the following aspects: the property (or metric) that the approach tries to optimise during the repair.For example, repair approaches have been proposed to improve the safety, accuracy, robustness, and fairness of the DNN.
the technical approach it employs to perform the repair.
For example, some approaches are based on fault localisation combined with search-based optimisation, while other approaches are based on data augmentation (i.e., test generation) and retraining.-the type of architecture that is targeted by the repair, e.g., convolutional neural networks (CNNs).The architecture determines what can be repaired.-the type of problem solved by the DNN, e.g., classification.
This determines what metrics can be used to guide the repair.Demonstration: this part will show the practical application of some DNN repair approaches to real world case studies; it will explain which approach to use in each context and how to apply it.Future research directions: this part will overview the different challenges that are still open and that should be targeted by the SE research community.For example, targeting DNNs used for object detection or regression; or, how to limit the computation cost of repair by using a limited amount of data.
Paolo Arcaini, Fuyuki Ishikawa, Lei Ma, Yuta Maezawa, Nobukazu Yoshioka, and Fuyuan Zhang (i) What is a fault in a DNN?While the definition of fault for classic program is clear, what causes the wrong behaviour of a DNN is less certain, and this constitutes a big challenge for DNN fault localisation.(ii) How to modify a DNN to fix misbehaviours without introducing new ones?In classic program repair, once the faulty statements are identified, these can be modified till the correct version of the program is found.In DNN repair, instead, modifying the faulty weights can fix the identified misbehaviours but can introduce some new faults in other parts of the network, that cause misbehaviours inputs that were previously handled correctly.(iii) DNNs usually expose different types of failures, e.g., misclassification of different types of images.Different misclassifications may have different severity, e.g., misclassifying a pedestrian for a car is more critical than misclassifying a car for a taxi, as the first misclassification could cause an accident with the pedestrian.A research challenge is how to repair the network by considering the severity of the different misbehaviours.