Automated Repair of Deep Neural Network Models

  • Supervisor: Dr. Yuta Maezawa
  • Candidates: Master or Ph.D. students (mainly in computer science)
  • Duration: Negotiable (typically, 2 to 6 months)
  • Location: Negotiable due to the COVID-19 situation. A virtual office friendly provided from QAML will be available.
  • Language: Japanese and/or English

Background

Machine learning systems are being applied to mission-critical situations such as autonomous driving and medical diagnosis. Given a huge data set, a machine learning technique implements predictive functions such as image classification and object detection. Although developers do not need to explicitly implement predictive functions, a problem lies in that the system cannot be guaranteed to predict correctly in all cases.

Among machine learning technologies, deep learning shows several promising achievements in academic and industrial fields. Imitating the recognition mechanism in a human brain, these techniques construct a neural network in which neurons are connected to each other and activated by inputs. In deep learning, a neural network is constructed in multiple layers consisting of neurons. This is called as a Deep Neural Network (DNN) model. A DNN model is expected to show performance comparable to human recognition.

Objective

Given a training data, a deep learning technique tunes parameters of each neuron to fit the data with a stochastic algorithm. A problem here is that it is difficult to construct a 100% accurate DNN model for the training data. That is, the trained DNN model fails to predict on some subset of the training data. In the fields of artificial intelligence and software engineering, some techniques have been proposed to improve the prediction of failure data while finely modifying the DNN model, while suppressing the deterioration of overall prediction accuracy. Arachne proposed by Sohn et al. [1] is designed to localize faulty weights by computing gradient loss and activation value in each neuron with failure data (fault localization) and optimize their parameters with a particle swarm optimization algorithm (optimization).

Since a search-based technique can be generally applicable to typical DNN models, it is expected to be a gold standard on automated repair of DNN models. We are implementing such techniques (including Arachne) in our framework called as TBA. We plan to use TBA in case study experiments orienting to autonomous driving and medical diagnosis.

Internships

We are implementing a framework that can be used for automated reapir of DNN models. Possible internship oppotunities are:

  • Adding benchmark datasets to build DNN models
  • Enabling to use GPU environment
  • Tuning business logics for more efficiency
  • Applying to object detection
  • Implementing new localization and optimization
  • Implementing evaluation scripts
  • Visualizing execution status
  • Expanding applicable scope to typical ML libraries
  • …, and so on. We are welcome your proposals!

The ideal candidate would satisfy the following requirements:

  • Programming skills in Python
  • Basic knowledge of machine learning
  • Basic knowledge of fault localization
  • Basic knowledge of statistical optimization
  • Basic knowledge of search-based software engineering

Notes

We will accept only candidates who are introduced by faculties affiliated with QAML.

Contact Information

For further information, please contact our liaison for internship.

References

  1. J.Sohn+, “Search Based Repair of Deep Neural Networks”, arXiv′19.