A convolutional neural network (CNN) is a type of artificial neural network used primarily for image recognition and processing, due to its ability to recognize patterns in images. A CNN is a powerful tool but requires millions of labelled data points for training. CNNs must be trained with high-power processors, such as a GPU or an NPU, if they are to produce results quickly enough to be useful.
While CNNs are designed to solve problems with visual imagery, they also have many applications outside of image recognition and analysis, including image classification, natural language processing, drug discovery, and health risk assessments. CNNs also help provide depth estimation for self-driving cars.