Viet-Anh on Software Logo

What is: Convolution?

Year1980
Data SourceCC BY-SA - https://paperswithcode.com

A convolution is a type of matrix operation, consisting of a kernel, a small matrix of weights, that slides over input data performing element-wise multiplication with the part of the input it is on, then summing the results into an output.

Intuitively, a convolution allows for weight sharing - reducing the number of effective parameters - and image translation (allowing for the same feature to be detected in different parts of the input space).

Image Source: https://arxiv.org/pdf/1603.07285.pdf