A sliding window function applied to a matrix.
Taking the difference between pixels and its neighbours detects edges
Averaging each pixel with it's neighbours gives blurring
A CNN automatically learns the values of its filters based on the task you want it to perform.
A CNN for image classification may learn to detect edges in the first layer -> shapes -> facial shapes. The final layer will be a classifier that uses these high level features.
Location invariance and compositionality