/CMSC498L_HW2

Primary LanguageJupyter Notebook

CMSC498L Assignment 2 & 3

For Assignment 2, you will use hw2.ipynb to create a two-layer neural network from scratch. You will implement all the building blocks of a neural network and use these building blocks to build a neural network that performs image and text classification. By completing this assignment you will:

  • Develop an intuition of the over all structure of a neural network.

  • Write functions (e.g. forward propagation, backward propagation, logistic loss, etc...) that would help you decompose your code and ease the process of building a neural network.

  • Initialize/update parameters according to your desired structure.

For Assignment 3, you will create the same two-layer neural network architecture using any library that is available online. You can use the data preprocessing code blocks from hw2.ipynb to complete this assignment. Main contraints are you need to use the same layers, with the same number of parameters as Assignment 2.

Submission

For both Assignment 2, there is an explaination question asked in the end which needs to be answered apart from the coding questions.

Assignment 3 needs to be done in a seperate notebook and it should contain text boxes explaining what things you tried, what hyperparameters you tested and what was your best model. Please keep in mind the constraints mentioned above, otherwise points will be deducted.

Submission needs to be done on ELMS. For each assignment the iPython notebook and a PDF of the notebook needs to be uploaded.

Deadline

Assignment 2 is due on March 24 at 11:59pm.
Assignment 3 is due on March 31 at 11:59pm.

None of the parts of this assignment require use of a machine with a GPU. You may complete the assignment using your local machine or you may use Google Colaboratory. However, we encourage you to try using Google Colaboratory Assignment 3 and get familiar with it as it would be helpful in upcoming assignments.

Credits: The format of this assignment is inspired by the Stanford CS231n assignments. We have borrowed some of their data loading and instructions in our assignment ipython notebook.