Convolutional Neural Networks (CNNs) learn the convolution kernel to transform the data. Convolution makes the transform invariant to translation. As layers progress, the depth of the features change, based on the number of filters assigned; the following diagram illustrates this: