CS 5043: HW8: Explainable Deep Learning

Assignment notes:

Objective

Deep learning tools provide a great opportunity to create sophisticated models for making predictions across a wide range of domains. Their power comes, in part, from their large number of degrees-of-freedom (parameters). But, this property can also mean that the resulting models make incorrect decisions, or make correct decisions, but for the wrong reasons. As practitioners, it is important for us to always look carefully at how our models perform, not only in the aggregate, but also on a case-by-case basis.

Our objective for this homework is to use explainable deep learning techniques to analyze a couple of image classification models that we train using the Chesapeake Watershed data set. Our goal is to better understand how these models make their decisions and to evaluate the appropriateness of the learned models.

Data Set

We will use F0 of the Chesapeake Watershed data set. The loader code from HW 7 has been augmented with an additional function:
[new_outs, labels] = pixel_class_to_image_class(outs)
where:

Models

Create and train two CNN-based classification models:

Notes:

Visualization

We will be using the tf-keras-vis package to visualize the behavior of your network under various conditions. The package has useful documentation, including example code.

Pick a set of 5-6 representative images from the validation data set that we will use to analyze the models. These images should have examples of each of the five classes.

For each of the models, do the following:

What to Hand In

Hand in a PDF file that contains:

Grades


andrewhfagg -- gmail.com

Last modified: Mon May 3 18:10:57 2021