This internship call has closed.

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, kindly provided by 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 dataset, 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 a Deep Neural Network (DNN) model. A DNN model is expected to show performance comparable to human recognition.

Objective

Given 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 for automated repair of DNN models. We are implementing such techniques (including Arachne) in our framework called eAI-Repair-Toolkit. We plan to use the framework in case study experiments oriented toward autonomous driving and medical diagnosis.

Internships

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

  • Adding benchmark datasets to build DNN models
  • Configuring GPU execution support
  • Tuning business logic 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 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 faculty affiliated with QAML.

Contact

Please get in touch via our contact form.

References

  1. J.Sohn+, "Search Based Repair of Deep Neural Networks", arXiv'19.