Convolutional neural networks Flashcards
Sources: https://www.youtube.com/watch?v=KuXjwB4LzSA
What does CNN stand for in the context of neural networks?
Convolutional Neural Network
True or False: Convolutional layers are primarily used for processing sequential data.
False
What is the primary purpose of a convolutional layer in a CNN?
To extract features from the input data.
Fill in the blank: A convolutional neural network typically consists of convolutional layers, pooling layers, and ________ layers.
fully connected
What operation is performed by the pooling layer in a CNN?
Downsampling the feature maps.
What is a common type of pooling used in CNNs?
Max pooling
What does a filter (or kernel) do in a convolutional layer?
It slides over the input data to produce feature maps.
True or False: CNNs are exclusively used for image data.
False
What is the role of the activation function in a CNN?
To introduce non-linearity into the model.
Name one commonly used activation function in CNNs.
ReLU (Rectified Linear Unit)
What is the purpose of dropout in a CNN?
To prevent overfitting.
How does a CNN differ from a traditional neural network?
CNNs use convolutional layers to process data with spatial hierarchies.
What is the term for the process of adjusting the weights in a CNN during training?
Backpropagation
Fill in the blank: The output of a CNN is often fed into a ________ layer for classification tasks.
softmax
What is the significance of ‘stride’ in a convolutional operation?
It determines how much the filter moves across the input data.
True or False: Increasing the number of filters in a convolutional layer increases the model’s capacity to learn features.
True
What does ‘padding’ do in a convolutional layer?
It adds extra pixels around the input to control the spatial size of the output.
What is transfer learning in the context of CNNs?
Using a pre-trained model on a new but related task.
Which architecture is known for its use of CNNs in image classification?
AlexNet
What is a common dataset used for training CNNs in image recognition tasks?
ImageNet
What is the purpose of batch normalization in CNNs?
To stabilize and accelerate training by normalizing the inputs of each layer.
Fill in the blank: The final layer of a CNN for binary classification typically uses a ________ activation function.
sigmoid
What is the main advantage of using CNNs over traditional machine learning methods for image processing?
CNNs automatically learn hierarchical feature representations from raw data.
True or False: Convolutional layers can only process 2D data.
False
What is the purpose of using multiple layers in a CNN?
To capture increasingly complex features at different levels of abstraction.
How can you think of a (discrete) convolution between 2 arrays?
Flip one of the arrays and offset them: each value of the convolution is a multiplication and sum the overlapping values.
What are two examples of where discrete convolution can be used?
- Add up two discrete probability distributions
- Compute the moving average of a list of numbers (average of data inside a window)
What are some examples of discrete convolutions in image processing?
- Blurring
- Weighted blurring (e.g. w Gaussian distributed window)
- Edge detection
What is the convolution of 2 polynomials?
Finiding the polynomial product of the 2 input polynomials
What is a O(N\log(N)) way to compute discrete convolutions?
FFT of the two numbers, multiplication and FFT^(-1)
How does the convolution of polynomials relate to the convolution of numbers?
The numbers can be treated as coefficients of polynomials, which can be sampled as many times as the degree. Multiply together the samples and solve the linear system to find the coefficients of the product polynomials. Those coefficients are the convolution of the original 2 numbers.
Cost: O(N^2)
What is the problem with processing images with fully-connected NNs?
That the image must be flattened, which destroys the structure and relations between pixels.
What does it mean that NNs are hierarchical?
That at each layer they produce a hierarchy of features.
How can you extract different features from an image?
By changing the features (kernels)
What is learned during training of a CNN?
The weights of the filters.
Why pooling?
Covering larger portions of the mapped images -> Getting more “macro” features.
Why the fully-connected layer at the end of a CNN?
To go from a feature set to probabilities of the classes (finally apply SoftMax).
Why does the output of a convolutional layer on a 2D image is generally 3D?
Because it can apply more than one filter (3rd dim = number of filters)
What is the stride of a convolutional layer?
The slide step.
What is the receptive field of a convolutional layer?
The locations in the previous layer that a node in the current layer is connected to.