-
Notifications
You must be signed in to change notification settings - Fork 0
1. Convolutional Models for Image Classification
athenas-lab edited this page Apr 4, 2025
·
2 revisions
- VGG-Net is a deep convolutional network used for image classification.
- Key Contributions: Studies the importance of conv nets with more depth and smaller filter sizes.
-
Convolutional layers
- It uses convolutional filters with a small receptive field (3x3).
- Conv operations are followed by non-linear operations (ReLU).
- Different variants of this architecture consist of different number of convolutional layers resulting in different depths. For example, VGG-16 consists of 16 conv layers, while VGG-19 consists of 19 conv layers.
- Uses fixed stride=1 pixel, padding = 1 pixel => preserves the spatial resolution
- Compared to a network having fewer layers with large conv filters, having more conv layers with smaller conv filters results in fewer parameters and more non-linearity which makes the decision function more discriminative.
-
Pooling layers
- Max-Pooling performed over a 2x2 pixel window with stride 2.
-
Fully-connected layers: same in all variants
- There are 3 fully-connected layers.
- Each of the first 2 layers has 4096 channels, while the last layer is the classification layer whose number of channels is the same as the number of classes followed by the softmax layer that outputs the class probabilities.
- Input: 224x224 RGB images
-
Key contribution: introduces skip connections to optimize training of deeper conv nets and reduce the possibility of vanishing gradients.
-
Skip connection
- the combination of activation functions for a sequence of stacked layers approximate an identity mapping: H(x) = F(x, W) + x.
- F(x) + x involves a short-cut connection and channel by channel element-wise addition on 2 feature maps.
- this is easier to optimize than an unreferenced mapping H(x)
- does not add any extra parameters or computation complexity compared to a non-residual network with the same depth.
- does not introduce any additional training errors than the shallower counterpart
- dimensions of the residual function, F(x) and x should be the same, otherwise a linear projection is performed on x to match the dim
- Typically F(x) is the result of 2 or 3 stacked layers (fully-connected or conv). For a single layer, F(x) = W1(x) + x, rarely yields benefits.
-
Multiple architectural variants based on the number of conv layers: 50-layer 18-layer, 101-layer, 156-layer
-
Design
- Batch-norm after each conv and before activation: Act(BN(conv(x)))
- for the same output feature map size, layers have the same number of filters
- if feature map size is halved, the number of filters is doubled top preserve the time complexity of the layer
- final layer is a full-connected classification layer with the number of units=number of classes, followed by a softmax activation