Convolutional Neural Network (CNN)

A convolutional neural network (CNN) is a neural network architecture that learns spatial features from images using convolutional filters, making it the long-standing workhorse of computer vision for classification, detection, and segmentation. It exploits the local, translation-invariant structure of visual data.

What is a convolutional neural network?

A CNN is a neural network built for grid-like data such as images. Instead of connecting every pixel to every neuron, it slides small learned filters, or kernels, across the image to detect local patterns, and it stacks these into layers that build up from edges and textures to parts and whole objects. Because the same filter is reused across the whole image, a CNN uses far fewer parameters than a fully connected network and bakes in a useful assumption: nearby pixels are related and an object looks the same wherever it appears. Since AlexNet in 2012 it has been the default architecture for computer vision.

Key takeaways

  • A CNN learns spatial features with convolutional filters, purpose-built for images.
  • Weight sharing and locality make it efficient and translation-equivariant.
  • It was the default vision architecture for a decade and now shares the field with vision transformers.

How it works

  • Convolutional layers: extract local features with learned filters.
  • Pooling layers: downsample for efficiency and some invariance to position.
  • Activation and normalization: add nonlinearity and keep training stable.
  • Head: turn features into a classification, detection, or segmentation output.

How it works, and how FiftyOne fits

You rarely build a CNN from scratch, you run a pretrained one and evaluate it. In FiftyOne, the model zoo gives you CNN backbones you can apply to a dataset to generate predictions or embeddings, then compare against ground truth to see where they hold up and where they fail.

CNN vs related architectures

ArchitectureCore ideaStrengthCNNLocal convolutional filtersEfficient on images, strong spatial priorsVision transformer (ViT)Global self-attention over image patchesScales with data, fewer built-in assumptionsMLPFully connected layersGeneral, but ignores spatial structure

Why it matters

The CNN made modern computer vision practical, and it is still the right default for most vision problems. Its inductive bias is both its superpower and its ceiling. Locality and translation-equivariance let a CNN learn from modest amounts of data because it assumes structure that images actually have, which is why it wins when data is limited. But those same baked-in assumptions are why vision transformers, which assume less and learn structure from data, overtake CNNs at very large scale. So the CNN-versus-transformer decision is really a question of how much data you have, not which one is newer.

Frequently asked questions

What is a convolutional neural network?

A neural network that learns spatial features from images using convolutional filters, the standard architecture for computer vision.

What is a convolution in a CNN?

A small learned filter slid across the image to detect a local pattern, reused across the whole image.

What is the difference between a CNN and a vision transformer?

A CNN uses local filters and strong spatial priors, a transformer uses global attention and relies more on data than on built-in assumptions.

Related terms

Image embeddings, Image classification, Object detection, Semantic segmentation, Dataset

Try it in FiftyOne

Run a pretrained CNN over your data from the FiftyOne Model Zoo, or fine-tune one in the Detectron2 tutorial.

Learn more

Browse ready-to-run CNN backbones in the FiftyOne Model Zoo.
Last updated July 1, 2026

Building visual or physical AI?

Let's talk.