[SOLVED] ECE495-Assignment 2: Implementing a two-layer fully connected neural network

25.99 $

Category:

Description

5/5 - (1 vote)

Objective

The objective is to gain experience with developing a vanilla neural network from scratch.

For this purpose we will use the programming assignment posed in Question #4 of Assignment 1 from the Stanford University course CS231n Convolutional Neural Networks for Visual Recognition (Spring 2019 offering, see cs231n.stanford.edu).

This assignment will allow you to learn the key concepts related to neural networks. In particular, you will implement the forward and backward pass.

Similar to the previous assignment, Assignment 2 also uses Python and Jupyter, so you can continue using the same Conda environment setup as for Assignment 1.

Resources and Instructions

The assignment directory is available from this link:

http://cs231n.github.io/assignments2019/assignment1/

 

You are only required to do Question 4 up to (and excluding) “Train the network”, which is contained in the notebook two_layer_net.ipynb in the assignment directory. You are also required to comment each block of code you add in order to show understanding.

The additional online material relevant to this assignment, which you may find useful to watch and consult, are the following lectures from CS 231n:

  1. Lecture 3 – Loss functions and Optimization
  2. Lecture 4 – Introduction to Neural Networks

You can access the lecture videos and course notes from the course website: cs231n.stanford.edu

Deliverable

HTML output: In the jupyter notebook, go to File > Download as > HTML (.html) Submit a ZIP file containing the HTML output and neural_net.py.

Please follow the naming convention of your zip file: a2_<user_id>.zip

Collaboration

You can discuss the problem with peers, but you must design and implement your own solution independently.

Use of online resources

You may consult any online resources to get ideas or to troubleshoot, but you must develop your own code.