Transfer Learning - Week 1

ANNs vs. CNNs

Test 1.

1. If we give an input matrix of size (30x30x64) to the flattened layer, what will be its size?

  • 900
  • 57600 Ans: You Selected
  • 1920
  • 576

Why?:
The size of the flattened layer will be 303064 = 57600

2. Which of the following is not true for Convolutional Neural Networks?

A. CNNs are translation invariant.

B. CNNs increase the number of trainable parameters, making the training procedure more complex.

  • Only A
  • Only B Ans
  • A and B both
  • Neither A nor B

Why?:
Convolutional filters require less trainable parameters which gives CNNs a computational advantage.

3. Find the number of trainable parameters of a convolution layer if our input shape is (224,224,3) and we are using 10 filters of (3x3) filter size.

  • 280 You Selected
  • 270
  • 180
  • 300

Number of Trainable Parameters

= (filter size x No. of channels + bias) x No. of filters
= (3 x 3 x 3 + 1) x 10
= 280

CNN Architecture.

Test 2.

1. Which of the following options is correct for Convolutional Neural Networks?

  • Input Layer -> Convolution Layer -> Pooling -> Prediction -> Fully Connected Layer -> Flatten
  • Input Layer -> Convolution Layer -> Pooling -> Fully Connected Layer -> Flatten
  • Flatten -> Input Layer -> Convolution Layer -> Pooling -> Fully Connected Layer
  • Input Layer -> Convolution Layer -> Pooling -> Flatten-> Fully Connected Layer (Ans)

Why?:
The correct flow of the layers in a CNN is:

  • Input Layer -> Convolution Layer -> Pooling -> Flatten-> Fully Connected Layer

Input Layer: Collects input images

Convolution Layer + Pooling: Build feature maps and extract important features from input images

Flatten: Creates a 1-D array of the output of its previous layer

Fully Connected Layer: Classifies/Predicts the output.

2. State whether the following statement is True or False.

We do not lose any information in the pooling layer.
Ans: False

Why?: We do lose information at the pooling layer, but it is only irrelevant information.

3. Which of the following tasks does not take place in the Fully Connected Layer?

  • Prediction
  • Weight modification
  • Feature Extraction (Ans)
  • Firing up the neurons

Why?: In the fully-connected neural network, we use flattened outputs from the pooling layer to get the final predictions. Since this is nothing but a dense neural network, operations like weight modification and firing up neurons using activation functions occur. The FC layer does not have the capability of feature extraction.

CNN Sequential Model Hands-on

Test 3.

1. Which of the following is the correct technique for normalization in CNN?

  • Reshaping the input images to have a single channel.
  • Dividing all the pixel values by 255 so that the images have pixel values between 0 to 1. (Ans)
  • Encoding the Y values.

2. Consider the below code:

model.add(Conv2D(64, (3, 3), activation='relu', padding="same", input_shape=(x, y, z)))

Which of the following is correct for the above code?

  • This code is adding 3 convolution layers with 64 filters and kernel size 3 ; padding = 'same' provides the output size same as the input size and input_shape denotes the final image dimension for the flattened layer.
  • This code is adding first convolution layer with 64 filters and kernel size 3x3 , padding = 'same' provides the output size same as the kernel size and input_shape denotes input image dimension of the data set.
  • This code is adding first convolution layer with 64 filters and kernel size 3x3 , padding = 'same' provides the output size same as the input size and input_shape denotes input image dimension of the data set. (Ans)

Why?

  • model.add(Conv2D()) is creating the first convolutional layer.
  • 64, (3, 3) is the number of filters and kernel size respectively
  • padding = 'same' provides the output size same as the input size

input_shape denotes input image dimension of the data set. So if the data set has images of dimension 720x720 and have 3 channels, then x = 720 , y = 720 and z = 3

3. How many trainable parameters do we have in the pooling layers of a CNN?

  • 0 (ans)
  • 9
  • Same as convolution layers.

Why?:
Pooling Layer has no trainable parameters, so the number of parameters is 0.

Quiz - Week 1