But what is a convolution?
3Blue1Brown 3Blue1Brown
6.12M subscribers
2,442,929 views
0

 Published On Nov 18, 2022

Discrete convolutions, from probability to image processing and FFTs.
Video on the continuous case:    • Convolutions | Why X+Y in probability...  
Help fund future projects:   / 3blue1brown  
Special thanks to these supporters: https://3b1b.co/lessons/convolutions#...
An equally valuable form of support is to simply share the videos.

Other videos I referenced

Live lecture on image convolutions for the MIT Julia lab
   • Convolutions in Image Processing | We...  

Lecture on Discrete Fourier Transforms
   • What is a Discrete Fourier Transform?...  

Reducible video on FFTs
   • The Fast Fourier Transform (FFT): Mos...  

Veritasium video on FFTs
   • The Remarkable Story Behind The Most ...  

A small correction for the integer multiplication algorithm mentioned at the end. A “straightforward” application of FFT results in a runtime of O(N * log(n) log(log(n)) ). That log(log(n)) term is tiny, but it is only recently in 2019, Harvey and van der Hoeven found an algorithm that removed that log(log(n)) term.

Another small correction at 17:00. I describe O(N^2) as meaning "the number of operations needed scales with N^2". However, this is technically what Theta(N^2) would mean. O(N^2) would mean that the number of operations needed is at most constant times N^2, in particular, it includes algorithms whose runtimes don't actually have any N^2 term, but which are bounded by it. The distinction doesn't matter in this case, since there is an explicit N^2 term.

Thanks to these viewers for their contributions to translations
Hebrew: Omer Tuchfeld
Italian: Emanuele Vezzoli
Vietnamese: lkhphuc

--------

These animations are largely made using a custom python library, manim. See the FAQ comments here:
https://www.3blue1brown.com/faq#manim
https://github.com/3b1b/manim
https://github.com/ManimCommunity/manim/

You can find code for specific videos and projects here:
https://github.com/3b1b/videos/

Music by Vincent Rubinetti.
https://www.vincentrubinetti.com/

Download the music on Bandcamp:
https://vincerubinetti.bandcamp.com/a...

Stream the music on Spotify:
https://open.spotify.com/album/1dVyjw...


Timestamps
0:00 - Where do convolutions show up?
2:07 - Add two random variables
6:28 - A simple example
7:25 - Moving averages
8:32 - Image processing
13:42 - Measuring runtime
14:40 - Polynomial multiplication
18:10 - Speeding up with FFTs
21:22 - Concluding thoughts

------------------

3blue1brown is a channel about animating math, in all senses of the word animate. And you know the drill with YouTube, if you want to stay posted on new videos, subscribe: http://3b1b.co/subscribe

Various social media stuffs:
Website: https://www.3blue1brown.com
Twitter:   / 3blue1brown  
Reddit:   / 3blue1brown  
Instagram:   / 3blue1brown  
Patreon:   / 3blue1brown  
Facebook:   / 3blue1brown  

show more

Share/Embed