Concept

Equivalence of Strict Convolution and Cross-Correlation

In deep learning, operations labeled as convolutions are technically cross-correlations. A strict two-dimensional discrete convolution uses index differences to sum elements, effectively flipping the kernel: (fg)(i,j)=abf(a,b)g(ia,jb)(f * g)(i, j) = \sum_a \sum_b f(a, b) g(i-a, j-b). In contrast, cross-correlation uses index additions: (i+a,j+b)(i+a, j+b). Because kernels are learned from data, a network using cross-correlation will simply learn a flipped version of the kernel matrix K\mathbf{K}' that a strict convolution would learn as K\mathbf{K}, producing identical outputs. This cosmetic distinction justifies the standard terminology of calling cross-correlation a convolution.

0

1

Updated 2026-05-12

Contributors are:

Who are from:

Tags

D2L

Dive into Deep Learning @ D2L