Convolutional Neural Network
- Definition
- Convolutional Neural Networks (CNNs) are specialized ANNs that scan local patterns across structured inputs like images. Convolution layers detect local features (edges, textures) and pooling reduces spatial size while preserving signals. Think of sliding small filters over an image and learning which patterns matter. CNNs differ from dense networks by exploiting spatial locality and parameter sharing, making them ideal for images and grid-like data.

How does it work?
Convolutional networks apply learned filters locally across the input to detect patterns; pooling and hierarchical depth let them compose local features into global concepts. Training uses backpropagation with data augmentation and regularisation.
Examples
- Object detection — Train CNN backbones for detectors used in autonomous driving and surveillance.
- Medical image segmentation — U-Net style CNNs for delineating tissue boundaries in radiology.
- Style transfer — Use convolutional features to manipulate visual style while preserving content.
Problems
- Requires large amounts of labeled image data
- Computationally expensive to train, often needing GPUs
- Sensitive to input resolution and preprocessing choices
- Vulnerable to adversarial perturbations
- Limited robustness to distribution shift (lighting, angle, domain changes)