Convolution
What are we talking about?
A convolution function of two continuous functions $f(x)$ and $g(x)$ is defined as:
\[(f \ast g)(t):=\int_{-\infty}^{\infty} f(\tau) g(t-\tau) d \tau\]You may ask: Hmm, okay, and what does that mean? Well, I did ask that myself, so here we are. In a nutshell, a convolution can be seen as a function that defines the overlap between the two functions $f(x)$ and $g(x)$, as $g(x)$ sweeps over $f(x)$. In this sense, $(f \ast g)(t)$ is kind of a mathematical “blend” of the two functions.
Why is this useful?
This is a very powerful tool in mathematics and physics, as it allows us to model the effect of one function on another. For example, in physics, we can model the effect of a system on a signal, or in image processing, we can model the effect of a filter on an image.
This is an integral part of neural networks, as it allows us to model the effect of a filter on an image, which is the basis of convolutional neural networks. For example, to detect edges in an image, we can use a filter that detects changes in intensity, and by convolving this filter with the image, we can detect the edges.
Applications?
- image processing
- sound engineering
- quite a bit of physics
- and unsurprisingly a lot of heavy statistics, i.e. probability theory
Finally, here’s a little duck helping us with visualizing what’s going on when we convolve two uniform continuous functions.