we touched upon the concepts of cnns in (in the section "deep learning"and (in the section :feature engineering on image datahoweveras quick refresherthe following are the key concepts worth reiteratingconvolutional layerthis is the key differentiating component of cnn as compared to other neural networks convolutional layer or conv layer is set of learnable filters these filters help capture spatial features these are usually small (along the width and heightbut cover the full depth (color rangeof the image during the forward passwe slide the filter across the width and the height of the image while computing the dot product between the filter attributes and the input at any position the output is two-dimensional activation map from each filterwhich are then stacked to get the final output pooling layerthese are basically down-sampling layers used to reduce spatial size and number of parameters these layers also help in controlling overfitting pooling layers are inserted in between conv layers pooling layers can perform down sampling using functions such as maxaveragel -normand so on fully connected layeralso known as fc layer these are similar to fully connected layers in general neural networks these have full connections to all neurons in the previous layer this layer helps perform the tasks of classification parameter sharingthe unique thing about cnns apart from the conv layer is parameter sharing conv layers use same set of weights across the filters thus reducing the overall number of parameters required typical cnn architecture with all the components is depicted in figure - which is lenet cnn model (sourcedeeplearning netfigure - lenet cnn model (sourcedeeplearning netcnns have been studied in-depth and are being constantly improved and experimented with for an in-depth understanding of cnnsrefer to courses such as one from stanford available at github io/convolutional-networks