# What are different types of Artificial Neural Networks?¶

**1.Feedforward Neural Network**: Neural Network that the cells do not form a cycle.

**1.1.Multilayer Perceptron**: Feedforward Neural Network with perceptrons organized into input, hidden and output layers.

**1.1.1.Convolutional Neural Network**: Multilayer Perceptron with convolutional layers.

**1.2.Autoencoder**: Feedforward Neural Network with equal number of inputs and outputs trained to replicate the input.

**2.Recurrent Neural Network**: Neural Network that have access to their output from previous time steps.

**2.1.LSTM Recurrent Neural Network**: Long Short Term Recurrent Neural Networks are Recurrent Neural Networks with LSTM cells with memory.

**2.2.GRU Recurrent Neural Network**: Gated Recurrent Unit Neural Networks are Recurrent Neural Networks with GRU cells.

**2.3.Neural Turing Machine**: Recurrent Neural Network with neural network controller coupled to external memory.

**3.Transformer**: Neural Network with a structure of encoder and/or decoder with presence of attention mechanism that is predominantly used in Natural Language Processing.

**4.Stochastic Neural Network**: Neural Network with random variations introduced to the network via stochastic transfer functions or stochastic weights.

**4.1.Restricted Boltzman Machine**: Neural Network consisting of input and hidden cells trained to learn the probability distribution of its set of inputs.

**4.2.Deep Belief Network**: Neural Network consisting of stacking of Restricted Boltzman Machines and their training in a greedy manner.

**5.Generative Adverserial Networks**: Combination of a generative network and a discriminative network in a competing training.