$30
Machine Learning and Adaptive Systems
(ECE656)
Computer Assignment 2 (Pattern Classification Using CNN
The purpose of this computer assignment is to design and test a deep CNN for pattern
classification application. A subset of the CIFAR-10 data set which consists of 60000 32x32
color images of 10 different (no overlap) classes, with 6000 images per class, is used for this
assignment. The original dataset has 50000 training images and 10000 test images of various
animals (birds, cats, deer, dogs, frogs, horses), vehicles (cars, trucks), airplanes, and ships. This
data set may be downloaded from http://www.cs.toronto.edu/~kriz/cifar.html.
1. Randomly select and divide the dataset into training (equal number of samples for each
class), validation, and testing data sets that could be used to properly train and select optimum
performing deep network and to demonstrate its generalization property on the testing set.
2. Design a stacked three-layer (3 convolutional and 3 max pooling layers) with softmax
classification output layer and appropriate number of convolutional filters and mask sizes.
Try at least two different learning algorithms e.g., stochastic gradient descent with a
momentum term and an alternative faster learning algorithm e.g., RMSprop. Additionally,
you can try two different loss functions to study their effects on the classification
performance. At least 5 random weight initializations should be used for each structure in
order to select the best performing network on the validation set. The number of deep layers
can be adjusted, if necessary, depending on the performance on the validation data set.
3. Provide the learning curves and performance plots during the learning for every CNN
structure, learning algorithm, and choice of loss functions ONLY for those properly trained
networks and determine their generalization ability on the testing data set. Provide a
comprehensive benchmarking of different networks based upon their overall correct
classification rates, the associated confusion matrices, number of neurons in each layer and
number of layers.
4. Provide a discussion on your results and point out the advantages/disadvantages of the CNNbased classification in a brief report.