Advanced Computer Vision Assignment 2
Individual Assignment (100 points)Instructions
- Submit the paper review as a word or pdf file.
- Submit code as a Python notebook (.ipynb) file along with the HTML version.
- Write elegant code with substantial comments. If you have reused code from a website add the links as reference.
- Paper Review – Select and review a technical paper from the list of papers in Group 2(40)
- Build a small neural network using Tensorflow without using the Keras API. (20)
- Train the model on an artificially generated dataset of your choice.
- You may use TF API functions such as GradientTape or SGD optimizer for backpropagation.
- Build a Deep Learning model using Keras to classify the Diabetes dataset. (25)
- a) Use a fixed number of Epochs or Early Stopping, a batch size and optimizer of your choice.
- b) Make the following changes to your architecture and describe how it impact model performance? Use comparative loss/accuracy plots as needed to describe the difference in convergence with and without these hyperparameters. Use Tensorboard to analyze the model graph and results from the metrics.
- i) Add more hidden layers.
- ii) Add Batch Normalization in one or more layers.
- iii) Add L1/L2 regularization in one or more layers.
- iv) Add Dropout in one or more layers.
- c) Explain how adding various hyperparameters may have impacted model performance.
- d) Summarize the model architecture and provide a manual calculation for the total number of parameters used in your neural network and check your results with Keras summary.
- e) Compare model performance metrics (Accuracy, F1 Score, Confusion Matrix, etc.), with at least two classical machine learning models built using sklearn.
- Neural networks are Universal Function Approximators. Build two models using Keras – one to learn the Sine function and the second to learn other arbitrary but non-trivial function of your choice. (15) - Plot the learned mapping for a given range (-𝜋, 𝜋) and compare it with the Sine wave for the first model and a suitable range for the second model. - Summarize the model architectures for both models.