A convolutional neural network (CNN) is a type of artificial neural network used in image recognition and processing that is specifically designed to process pixel data. In deep learning, a CNN is a class of deep neural nets, most commonly applied to analysing visual imagery. CNNs use a variation of multilayer perceptrons designed to require minimal pre-processing. Convolution is the process of filtering through the image for a specific pattern. CNNs typical has the following layers other than Input and Output layers – Convolutional Layer (CONV) Rectifier Linear Unit Layer (RELU) Pooling Layer (POOLING) There is also a fully connected layer (FC) at the end prior to output layer, in order to equip net with the ability to classify data samples. A fundamental architecture comprising of all layers for a CNN can be described in the image below. This is an illustrative structure and layers can be used differently to solve a specific problem based on a context or situation. Yes, CNN does perform dimensionality reduction. Pooling layer is used for this.