CNN Model Evolution Overview
CNN Model Evolution Overview
Convolution in CNNs plays the role of extracting features from images by overlaying a filter (kernel) onto an image, performing element-wise multiplication, and summing the results to produce a feature map . Although true convolution involves flipping the kernel, most deep learning libraries implement a variant called cross-correlation where the kernel is not flipped, as its results are similar and easier to compute . Thus, in practice, what is referred to as convolution layers in CNNs is often cross-correlation .
A 2D convolution operation on images involves placing a filter (kernel) over an input image, multiplying each element of the filter with the overlapping image pixel values, summing these products to obtain a single value, and inserting this value into a feature map . This process is repeated by sliding the filter across the image. In deep learning frameworks, this operation is typically simplified by not flipping the kernel, an approach known as cross-correlation. While it differs from traditional convolution, cross-correlation yields similar results and streamlines computation, making it the preferred method in frameworks like TensorFlow and PyTorch .
AlexNet, developed by Alex Krizhevsky, Ilya Sutskever, and Geoffrey Hinton, introduced several innovations over LeNet, including ReLU activation, dropout to reduce overfitting, and data augmentation to improve generalization . It also made use of GPUs for faster training . These advancements drastically reduced the error rate in the ImageNet Challenge from ~26% to ~15%, reinvigorating the deep learning community and catalyzing the "deep learning boom" .
Early CNN models like LeNet-5 faced major challenges due to limited computational power and efficiency . As a result, CNNs did not gain immediate popularity despite their successful application in tasks like handwritten digit recognition. The advancement in computational hardware, particularly the development and adoption of GPUs, significantly alleviated these limitations by drastically reducing training times, facilitating the implementation of larger and more complex networks, and enabling the resurgence of deep learning as a dominant AI methodology .
ZFNet contributed to the understanding of CNNs' internal representations by employing deconvolution visualization to inspect what different layers were learning, such as edges and textures . This technique marked one of the first attempts to 'open the black box' of CNNs, offering insights into the features detected at various stages of the network, and allowing for more intuitive adjustments to network architecture for better performance .
The Inception module, first introduced by GoogLeNet, allows for parallel processing of different convolution sizes (1x1, 3x3, 5x5) and combines their outputs . This architecture differs from conventional CNNs by enabling the network to learn features at multiple scales simultaneously, improving efficiency and accuracy without increasing the parameter count as drastically as other models . This innovation resulted in GoogLeNet achieving high accuracy with fewer parameters than models like VGG .
ResNet resolved the vanishing gradient problem by introducing Residual Connections, which are skip connections that allow gradients to flow through the network without diminishing . This architectural feature enabled the training of extremely deep networks (e.g., 50, 101, 152 layers) by allowing the network to learn residuals or differences, rather than full mappings . This paradigm shift made deeper networks feasible and won the ImageNet 2015 challenge with a large margin .
The Xception model evolved from standard convolutions to depthwise separable convolutions, which decompose the convolution process into two steps: depthwise convolution and pointwise convolution . In depthwise convolution, each input channel is convolved separately, while pointwise convolution (1x1 convolution) combines these channels . This transformation significantly enhances computational efficiency by reducing the number of parameters and operations while maintaining accuracy, making it suitable for applications like mobile and edge devices .
The commutative property of convolution in 2D image processing means that convolving an image with a filter is functionally equivalent to convolving the filter with the image, i.e., A∗K = K∗A . This property ensures consistency in results regardless of the order of convolution, simplifying implementation and theoretical analysis in deep learning models. Practically, it also allows for flexibility in computational approaches and optimizes processing pipelines by choosing the most computationally efficient approach .
VGGNet employed smaller filter sizes (3x3) stacked multiple times to effectively capture more complex features and optimize the learning process . This strategy provided a deeper and more uniform architecture, resulting in improved performance. However, a notable downside of this approach was the substantial increase in model size, reaching up to 138 million parameters, which required significant memory and computational resources .