Not all combinations are successful, some only allow solving narrow problems. As the complexity increases, a smaller percentage of possible architectures are successful and bear their own names.
In general, there are networks that are fundamentally different in structure and principles:
* direct distribution networks
* convolutional neural networks
* recurrent neural networks
* autoencoder (classic, thin, variational, noise canceling)
* networks of trust ("deep belief")
* generative adversarial networks – opposition of two networks: generator and evaluator
* neural Turing machines – a neural network with a block of memory
* Kohonen neural networks – for unsupervised learning
* various architectures of circular neural networks: Hopfield neural network, Markov chain, Boltzmann machine
Let us consider in more detail the most commonly used, namely, feedforward, convolutional and recurrent networks:
Direct distribution networks:
* two entrances and one exit – Percetron (P)
* two inputs, two fully connected neurons with an output and one output – Feed Forward (FF) or Redial Basics Network (RBN)
* three inputs, two layers of four fully connected neurons and two Deep Feed Forward (DFF) outputs
* deep neural networks
* extreme propagation network – a network with random connections (neural echo network)
Convolutional neural networks:
* traditional convolutional neural networks (CNN) – image classification * unfolding neural networks – image generation by type * deep convolutional inverse graphic networks (DCEGC) – connecting convolutional and unrolling neural networks to transform or combine images
Recurrent neural networks:
* recurrent neural networks – networks with memory in neurons for sequence analysis, in which the sequence
matters such as text, sound and video
* Long Short Term Memory (LSTM) networks – the development of recurrent neural networks in which neurons can
classify data that are worth remembering into long-lived memory from those that are worth forgetting and delete information
from their memory
* deep residual networks – networks with connections between layers (similar in work to LSTM)
* recruited recute neurons (GRU)
Basics for writing networks.
Until 2015, scikit-learn was leading by a wide margin, which Caffe was catching up with, but with the release of TensorFlow, it immediately became the leader. Over time, only gaining a gap from two to three times by 2020, when there were more than 140 thousand projects on GitHub, and the closest competitor had just over 45 thousand. In 2020, Keras, scikit-learn, PyTorch (FaceBook), Caffe, MXNet, XGBoost, Fastai, Microsoft CNTK (CogNiive ToolKit), DarkNet and some other lesser known libraries are located in descending order. The most popular are the Pytorch and TenserFlow libraries. Pytorch is good for prototyping, learning and trying out new models. TenserFlow is popular in production environments and the low-level issue is addressed by Keras.
* FaceBook Pytorch is a good option for learning and prototyping due to the high level and support of various
environments, a dynamic graph, can give advantages in learning. Used by Twitter, Salesforce.
* Google TenserFlow – originally had a static solution graph, now dynamic is also supported. Used in
Gmail, Google Translate, Uber, Airbnb, Dropbox. To attract use in the Google cloud for it
Google TPU (Google Tensor Processing Unit) hardware processor is being implemented.
* Keras is a high-level tweak providing more abstraction for TensorFlow, Theano
or CNTK. A good option for learning. For example, he