Learning about convolutional neural networks
If you look at a classical neural network, you can see that the first layer is composed of inputs, standing on a line. This is not only a graphical representation: for a classical neural network, an input is an input, and it should be independent of the other ones. This is probably fine if you are trying to predict the price of an apartment based on size, ZIP code, and floor number, but it does not seem optimal for an image, where pixels have neighbors and it seems intuitive that keeping this proximity information is important.
Convolutional Neural Networks (CNNs) solve exactly this problem, and it turns out that not only can they process images efficiently, but they can also be used with success for natural language processing.
A CNN is a neural network that has at least one convolutional layer, which is inspired by the visual cortex of animals, where individual neurons respond only to stimuli in a small area of the field of vision...