In mathematics, casually speaking, a mixture of two functions. In machine learning, a convolution mixes the convolutional filter and the input matrix in order to train **weights**.

The term “convolution” in machine learning is often a shorthand way of referring to either **convolutional operation** or **convolutional layer**.

Without convolutions, a machine learning algorithm would have to learn a separate weight for every cell in a large **tensor**. For example, a machine learning algorithm training on 2K x 2K images would be forced to find 4M separate weights. Thanks to convolutions, a machine learning algorithm only has to find weights for every cell in the **convolutional filter**, dramatically reducing the memory needed to train the model. When the convolutional filter is applied, it is simply replicated across cells such that each is multiplied by the filter.