Lecture 9 - CNNs Flashcards

1
Q

What is a Convolutional Neural Network (CNN)?

A

A CNN is a type of deep learning model designed for processing structured grid data like images. It uses convolutional layers to automatically and adaptively learn spatial hierarchies of features from input images.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the purpose of convolutional layers in CNNs?

A

Convolutional layers apply a set of learnable filters (kernels) to the input image to extract local features, such as edges, textures, and patterns, reducing the number of parameters and computations required.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define “filter” or “kernel” in the context of CNNs.

A

A filter or kernel is a small matrix used to convolve with the input data to produce feature maps. It slides over the input and performs element-wise multiplication and summation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the role of pooling layers in CNNs?

A

Pooling layers reduce the spatial dimensions of the feature maps, retaining the most important information and making the network invariant to small translations of the input.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe “ReLU” activation function.

A

The ReLU (Rectified Linear Unit) activation function applies the function
f(x)=max(0,x) to each element of the input, introducing non-linearity and helping to prevent vanishing gradients.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a fully connected layer in a CNN?

A

A fully connected layer connects every neuron in one layer to every neuron in the next layer, typically used at the end of the network to combine the extracted features for classification or regression.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Explain the concept of “stride” in convolution operations.

A

Stride refers to the number of pixels by which the filter matrix shifts over the input matrix. A larger stride reduces the spatial dimensions of the output feature map.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is padding in CNNs?

A

Padding involves adding extra pixels around the border of the input image to control the spatial dimensions of the output feature maps and preserve important information at the edges.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define “feature map” in the context of CNNs.

A

A feature map is the output of a convolutional layer after applying filters to the input image, representing the activation of specific features detected by the filters.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is batch normalization?

A

Batch normalization is a technique to stabilize and accelerate the training of deep neural networks by normalizing the inputs of each layer to have a mean of zero and variance of one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe the concept of “dropout” in CNNs.

A

Dropout is a regularization technique where randomly selected neurons are ignored (dropped out) during training, reducing overfitting by preventing neurons from co-adapting too much.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are some common architectures of CNNs?

A

Common CNN architectures include LeNet, AlexNet, VGGNet, GoogLeNet (Inception), and ResNet, each with different configurations of convolutional and pooling layers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Write the formula for a 2D convolution operation.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Provide the formula for the ReLU activation function.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the formula for the output size of a convolutional layer?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does a convolutional layer help in reducing the number of parameters in a CNN?

A

Convolutional layers use shared weights in the form of filters that slide across the input image, significantly reducing the number of parameters compared to fully connected layers.

17
Q

Explain the importance of non-linearity in neural networks.

A

Non-linearity introduced by activation functions like ReLU allows the network to learn complex patterns and functions that linear models cannot, enabling the network to capture intricate relationships in the data.

18
Q

What is the significance of using pooling layers in CNNs?

A

Pooling layers reduce the spatial dimensions of the feature maps, lowering the computational complexity, and making the network invariant to small translations, rotations, and distortions in the input image.

19
Q

Describe how dropout helps in preventing overfitting in CNNs.

A

Dropout randomly drops neurons during training, forcing the network to learn redundant representations and preventing overfitting by ensuring that the network does not rely too heavily on any single neuron.

20
Q

How does batch normalization improve the training of CNNs?

A

Batch normalization normalizes the inputs of each layer to have a mean of zero and variance of one, stabilizing and accelerating the training process by reducing internal covariate shift.

21
Q

What is the difference between valid and same padding in CNNs?

A

Valid padding means no padding is added, resulting in a smaller output feature map, while same padding adds zeros around the input to ensure the output feature map has the same spatial dimensions as the input.

22
Q

Explain the architecture of the AlexNet model.

A

AlexNet consists of five convolutional layers followed by three fully connected layers, with ReLU activations, max-pooling, dropout, and local response normalization to improve performance on the ImageNet dataset.

23
Q

What is the purpose of using multiple convolutional layers in a CNN?

A

Multiple convolutional layers allow the network to learn hierarchical representations, with lower layers capturing basic features like edges and textures, and higher layers capturing more complex features like shapes and objects.

24
Q

How does the Inception module in GoogLeNet differ from traditional convolutional layers?

A

The Inception module uses multiple parallel convolutional layers with different filter sizes and pooling operations, allowing the network to capture features at various scales and reducing the computational cost.

25
Q

Describe the concept of residual learning in ResNet.

A

Residual learning in ResNet introduces shortcut connections that skip one or more layers, enabling the training of very deep networks by addressing the vanishing gradient problem and making it easier to learn identity mappings.

26
Q

What is the role of data augmentation in training CNNs?

A

Data augmentation artificially increases the size of the training dataset by applying random transformations (e.g., rotations, flips, cropping) to the input images, helping to improve the generalization of the model.

27
Q

How does transfer learning benefit CNN training?

A

Transfer learning involves using a pre-trained network on a large dataset and fine-tuning it on a smaller, task-specific dataset, leveraging the learned features to improve performance and reduce training time.