Uma convolução com um kernel 3×3: em cada posição, multiplique os 9 valores do kernel com os 9 valores de entrada subjacentes e some-os. Isso produz um valor de saída. Deslize o kernel para a próxima posição e repita. Um único kernel produz um mapa de features (detectando um padrão). Múltiplos kernels produzem múltiplos mapas de features. Stride (quanto o kernel se move a cada passo) e padding (como lidar com as bordas) são parâmetros adicionais que controlam o tamanho da saída.
Em uma CNN, camadas iniciais usam kernels pequenos para detectar padrões simples. Cada camada subsequente convolui sobre os mapas de features da camada anterior, detectando padrões progressivamente mais complexos. Camada 1: bordas. Camada 2: cantos e texturas (combinações de bordas). Camada 3: partes de objetos (combinações de texturas). Camada 4: objetos (combinações de partes). Esse aprendizado hierárquico de features é o mecanismo fundamental por trás do sucesso das CNNs em visão.
Convoluções não estão limitadas a imagens 2D. Convoluções 1D processam sequências (formas de onda de áudio, séries temporais, texto), deslizando um kernel ao longo de uma dimensão. Convoluções 3D processam volumes (vídeo, exames médicos), deslizando ao longo de três dimensões. O princípio é idêntico: detecção de padrões locais com compartilhamento de parâmetros. Convoluções 1D são usadas em algumas arquiteturas modernas (ConvNeXt, Hyena) como alternativas eficientes à atenção para certas operações.