Convolutional Neural Network (CNN) is a biologically inspired trainable architecture that can learn invariant features for a number of applications In general  CNNs consist of alternating convolutional layers  non-linearity layers and feature pooling layers