Git Product home page Git Product logo

ouc-cogsys-cnn's Introduction

Creation And Analysis Of An Explainable Deep Learning System

Deep learning models represent the cutting edge in Artificial Intelligence - AI. However, they lack one key element, explainability. Even though such models are able to perform so accurately, they act as black boxes, without letting us having any insight into how they made a prediction, and what drove them to reach it. This problem concerns the researchers for many years, as explainability is of utmost importance in order to use Deep Learning models in critical applications, such as those in medical, finance and automotive sectors. Explainable AI consists of a set of methods and processes that allow the users to understand and trust the results of the AI model, due to the fact that there is clarity in the decision making, and we can easily characterise the accuracy, the transparency and the fairness of the model, even in a complex situation. This will help AI to become more ‘responsible’ to its decisions, more trustworthy and able to help larger sectors and industries to adopt it. In recent years, researchers developed various techniques, which can identify the reasons behind the decision of a deep learning model. These techniques inspire and pave the way for new methods to be developed. For example, Class Activation Mapping produces heatmaps to highlight the region of the image which the model focused on in order to classify it. This visualisation of where the model is looking helps to identify whether the model is trustful or not. For example, a model could classify a train image by looking at the train tracks rather than the actual train. Despite the correct classification, the model might take into account wrong parts of the image, which could be a consequence of poor training. A more evolved technique which is based on Class Activation mapping, is Grad-CAM. This technique is considered class-specific, meaning that for the same image, it can produce a separate visualisation for each class which is present in it. Another interesting approach is Structured Attention Graphs (SAGs). This method is inspired from attention maps, which are popular tools for explaining the decision of deep learning models. The researchers argue that just one attention map is not enough. With SAGs, we can have a set of patches as attention maps, and we record the confidence level of the model on each one in order to evaluate how the model is impacted. This thesis will mainly focus on Grad-Class Activation mapping and Structured Attention Graphs. We will explain the procedures behind the image classification, we will benchmark the techniques and see how they apply in various datasets. We will also analyse their role in the general structure of explainable artificial intelligence.

Flowchart

A basic flowchart of the code is the following:

  1. Define the hyperparameters of the custom CNN (config.py)
  2. Create and prepare the dataset in order to be model-compatible (dataset.py)
  3. Create, configure and modify the model properly (model.py)
  4. Train the model (train.py)
  5. Save the model (save.py)
  6. Save the model statistics in a report (metrics.py)
  7. Upload model metrics to tensorboard and create the appropriate url (main.py)

ouc-cogsys-cnn's People

Contributors

karvo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.