Assignment 2a

Points:


Explaining CNNs

In this assignment you will implement two explainer algorithms for Convolutional Neural Networks (CNNs). The goal is to understand how the model makes its predictions by visualizing the important features in the input images that contribute to the model’s decisions.

We invite you to watch the following video that provides the context of the assignment and describes the tools you can use to implement the explainers.

In the cats vs dogs classification task we trained a model benefiting from data augmentation that has achieved a certain level of accuracy without overfitting the data. Your task here is to provide the implementation of explainer algorithms to understand the model’s decision-making process. After you watch the video, insert in the cells elow your code below that implement two methods:

  1. Integrated Gradients
  2. Grad-CAM

It is strongly advised (unless you are already have expertise in Keras/TF) to implement the assignment with Pytorch and Captum. You are free to use the high-level APIs of the framework of your choice.

Your notebook should include markdown cells that describes the explainer method in a tutorial fashion (so that anyone that knows just how CNNs work should be able to understand) and the results of each explainer algorithm.

Source: Explaining CNNs