This assignment is due on Tuesday, Feb 13 2024 at 11:59pm PST.

Starter code containing Colab notebooks can be downloaded here.

Setup


Note. Ensure you are periodically saving your notebook (File -> Save) so that you don’t lose your progress if you step away from the assignment and the Colab VM disconnects.

Once you have completed all Colab notebooks except collect_submission.ipynb, proceed to the submission instructions.

Goals

In this assignment you will practice writing backpropagation code, and training Neural Networks and Convolutional Neural Networks. The goals of this assignment are as follows:

Q1: Batch Normalization

In notebook BatchNormalization.ipynb you will implement batch normalization, and use it to train deep fully-connected networks.

Q2: Dropout

The notebook Dropout.ipynb will help you implement Dropout and explore its effects on model generalization.

Q3: Convolutional Networks

In the IPython Notebook ConvolutionalNetworks.ipynb you will implement several new layers that are commonly used in convolutional networks.

Submitting your work

Important. Please make sure that the submitted notebooks have been run and the cell outputs are visible.

1. Open collect_submission.ipynb in Colab and execute the notebook cells.

This notebook/script will:

If your submission for this step was successful, you should see the following display message:

### Done! Please submit a3_code_submission.zip and the a3_inline_submission.pdf to Gradescope. ###

2. Submit the PDF and the zip file to Gradescope.

Remember to download a3_code_submission.zip and a3_inline_submission.pdf locally before submitting to Gradescope.