Let's consider another example, to solidify our understanding of how filters detect patterns. Consider this depiction of the number 7, taken from the MNIST dataset. We use this 28 x 28 pixelated image to show how filters actually pick up on different patterns:

Intuitively, we notice that this 7 is composed of two horizontal lines, as well as a slanted vertical line. We essentially need to initialize our filters with values that can pick up on these separate patterns. Next, we observe some 3 x 3 filter matrices that a ConvNet would typically learn for the task at hand:

While not very intuitive to visualize, these filters are actually sophisticated edge detectors. To see how they work, let's picture each 0 in our filter weights as the color grey, whereas each value of 1 takes the color white, leaving -1 with the color black...