Skip to content

My extensive work on Multiclass Image classification based on Intel image classification dataset from Kaggle and Implemented using Pytorch 🔦

Notifications You must be signed in to change notification settings

kshitijzutshi/INFO6105-CNN-Assignment

Repository files navigation

INFO6105-Deep-Learning-CNN-Assignment

My Topic - Multi class image classification using CNN (Dataset - Kaggle's Intel image classification dataset)

Deep Learning with CNNs Can be done singly or in a group of up to two.

Submission: Put the data and Jupyter notebook files in a folder. Make sure all links to data are relative to the folder so the notebooks can be run.

Classify images with CNNs

PART A - DEEP LEARNING MODEL (40 POINTS)

Find an image dataset. It cannot be MNIST or CFFAR but can be TMNIST. For TMNIST-Alphabet (94 characters and over 281,000 images) see https://www.kaggle.com/nikbearbrown/tmnist-alphabet-94-characters (Links to an external site.)

Can be done with PyTorch, TensorFlow, and/or Keras

Any dataset other than TMNIST must be pre-approved.

PART B - ACTIVATION FUNCTION (10 POINTS)

On your Deep Learning model data Change the activation function. How does it affect accuracy? How does it affect how quickly the network plateaus?

Various activation functions:

  • Rectified linear unit (ReLU)

  • TanH

  • Leaky rectified linear unit (Leaky ReLU)

  • Parameteric rectified linear unit (PReLU)

  • Randomized leaky rectified linear unit (RReLU)

  • Exponential linear unit (ELU)

  • Scaled exponential linear unit (SELU)

  • S-shaped rectified linear activation unit (SReLU)

  • Adaptive piecewise linear (APL)

PART C - COST FUNCTION (10 POINTS) On your Deep Learning model.

Change the cost function. How does it affect accuracy? How does it affect how quickly the network plateaus?

Various forms of cost:

  • Quadratic cost (mean-square error)

  • Cross-Entropy

  • Hinge

  • Kullback–Leibler divergence

  • Cosine Proximity

  • User-defined

And many more, see https://keras.io/losses/

PART D - EPOCHS (10 POINTS)

On your Deep Learning model data

  • Change the number of epochs initialization. How does it affect accuracy?

  • How quickly does the network plateau?

PART E - GRADIENT ESTIMATION (10 POINTS)

On your Deep Learning model

Change the gradient estimation. How does it affect accuracy? How does it affect how quickly the network plateaus?

Various forms of gradient estimation:

  • Stochastic Gradient Descent

  • Adagrad

  • RMSProp

  • ADAMN

  • AGAdadelta

  • Momentum

PART F - NETWORK ARCHITECTURE (10 POINTS)

On your Deep Learning model change the network architecture. How does it affect accuracy? How does it affect how quickly the network plateaus?

Various forms of network architecture:

  • Number of layers

  • Size of each layer

  • Connection type

PART G - NETWORK INITIALIZATION (10 POINTS)

On your Deep Learning model

Change the network initialization. How does it affect accuracy? How does it affect how quickly the network plateaus?

Various forms of network initialization:

Resources

YouTube

Neural Network Programming - Deep Learning with PyTorch https://youtube.com/playlist?list=PLZbbT5o_s2xrfNyHZsM6ufI0iZENK9xgG (Links to an external site.)

PyTorch & TensorBoard

https://www.youtube.com/watch?v=pSexXMdruFM

(Links to an external site.)

Hyperparameter Tuning And Experimenting - Training Deep Neural Networks

https://deeplizard.com/learn/video/ycxulUVoNbk (Links to an external site.)

Hyperparameter Tuning and Experimenting PyTorch & TensorBoard

https://www.youtube.com/watch?v=ycxulUVoNbk