Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
ELEC-4840 Assignment 1
In this assignment, students are required to complete two coding challenges and write a summary report (no more than three pages). The summary report should include: the required output results stipulated in the following problems and required additional discussions about your work. Students need to submit the code (.ipynb) and the summary report (.pdf) in Canvas by 26 Feb 235900. Absence of the code in your homework submission will lead to 20% deduction of your score. We provide a coding example for you to start up your work. You can modify or add on this Jupyter notebook to complete your homework. The notebook is in the Canvas assignment page. You can import this Jupyter notebook into Google Colaboratory to run the notebook. Problem 1. Train an MLP network on the MNIST dataset(40%) MNIST dataset ("Modified National Institute of Standards and Technology") is the de facto “hello world” dataset of computer vision tasks. Since its release in 1999, this classic handwritten digits dataset has served as the benchmark of classification algorithms. In this problem, you need to implement a four-layer MLP network to train a classification model on the MNIST dataset. The structure of the MLP is given below. Layer Type Input Output Activation 1 Linear 28 * 28 128 ReLU 2 Linear 128 64 ReLU 3 Dropout 64 64 - 4 Linear 64 32 ReLU 5 Dropout 32 32 - 6 Linear 32 10 - You need to: . In the notebook, implement the function __init__ and forward in the class Model (15%), . In the notebook, implement the training code (15%), . In the summary report, plot the accuracy and loss curve. You can plot and save it in the notebook then export it to the report (5%). Compare and discuss the results' difference between the model with / without dropout operation(5%). Problem 2. Train a LeNet network on the EMINIST dataset(60%) EMNIST (Extended MNIST) is a larger version of handwritten characters and digits dataset. EMNIST is widely used in research and industry for evaluating and comparing different models. The extended dataset size and the greater diversity of characters and digits, makes it a valuable resource for training more robust and accurate machine learning models. LeNet is a Convolutional Neural Network (CNN) architecture for image classification tasks, particularly for handwritten digit recognition. It was introduced by Yann LeCun et al. in 1998 and is one of the earliest deep- learning models for image classification. You need to: . Implement the model and training code as instructed in the Jupyter notebook (30%); . In the summary report, plot the loss and accuracy curve (10%); . Try different choices of batch sizes, learning rates, or optimizers in your experiments. In the summary report, report the accuracy of your three choices. You may discuss the findings, the explaination, and possible solutions in a short paragraph followed by your results (30%).