A Convolutional Neural Network (CNN) is a class of deep neural networks, most commonly applied to analyzing visual imagery. CNNs are designed to automatically and adaptively learn spatial hierarchies of features from input images, using layers with local connections and shared weights followed by pooling layers. This architecture makes CNNs particularly effective for tasks such as image recognition, object detection, and facial recognition. CNNs have revolutionized computer vision, enabling significant advancements in areas like autonomous driving, medical image analysis, and image search.