In general, how does it work?

The Wikipedia image states that the initial data set is analyzed and reduced with each layer, at the end of which we get one output layer. (I hope, I correctly described). Convolutional Neural Network Architecture

And what is shown in the picture?

We take a layer 28*28 and take from it only the matrix 5*5 , build a new layer 24*24 and again take the matrix 5*5 , and so on until the last layer with the answer?

So, how to create it?

In essence, the meaning of such a network is the creation of a large number of neural networks equal to the number of layers, right? Each following analyzes the conclusion of the previous one and passes it on until we reach a response. Or is it completely wrong, and is this neural network apparatus usually integrated into popular libraries?

    1 answer 1

    Gradually answering all your questions.

    And what is shown in the picture?

    Forget about this picture. This is the most incomprehensible explanation of the principle of the SNA that I have ever seen. In general, I advise you not to look at the pictures, I personally could understand their principle of work only on video. By the way, the best step-by-step explanation (if you don’t know English, turn on the subtitles).

    We take a layer 28 * 28 and take only 5 * 5 matrix from it, build a new layer 24 * 24 on it and again take the matrix 5 * 5 and so on until the last layer with the answer?

    Not certainly in that way. We take NxN matrices (usually no more than 8 and not necessarily square) which are called filters and process our image using this filter. At the exit get a photo but a little modified (the whole point of how filters work). We do this several times. How much depends on how deeply we want to leave, in other words for each task its own value.

    So how to create it?

    No need to build a bike. Use ready-made libraries. TensorFlow works very well with convolutional networks. Here you can very quickly learn how to use it.

    In essence, the meaning of such a network is the creation of a large number of neural networks equal to the number of layers, right?

    Not. In fact, there are 2 NS. Convolutional and at the very end a network of direct distribution. And the point here is to “minimize” the photo by consistently applying various filters. The farther the layer, the more abstract the filter.

    In any case, I advise you first to watch the video about which I spoke, and then it will become much clearer to you about what I wrote here.

    • Thank you very much! The video is really all well explained. But now the question is in practice. I understand that you need to create filters, choose the window size and the number of layers, but is it all to be done manually or is it usually provided by the library? In addition, I really want it to be in a familiar environment, so I’ll probably use the JS library: cs.stanford.edu/people/karpathy/convnetjs - Telion
    • 2
      Of course, it is better to use the library whose language you already know. And at the expense of filters and layers, these are things that are called hyperparameters. They need to be selected manually. On the Internet, you can find a lot of problems and how people solved them. Look at what hyperparameters they used and build on this. With experience, learn to pick the right values ​​right away. Good luck! - Arnis Shaykh
    • Thank you very much. Detailed and understandable :) - Telion
    • I am glad that I could help) - Arnis Shaykh
    • by the way, that before the wrappers over low-level backends - why not keras? - Alexander Pozharskii