A multilayer perceptron is a feedforward artificial neural network model that
maps sets of input data onto a set of appropriate outputs. An MLP consists of
multiple layers of nodes in a directed graph, with each layer fully connected
to the next one. Except for the input nodes, each node is a neuron with a
nonlinear activation function. MLP utilizes a supervised learning technique
called backpropagation for training the network. MLP is a modification of the
standard linear perceptron and can distinguish data that are not linearly
separable. Theory
= Activation function = If a multilayer perceptron has a linear
activation function in all neurons, that is, a linear function that maps the
weighted inputs to the output of each neuron, then it is easily proved with
linear algebra that any number of layers can be reduced to the standard two-layer
input-output model. What makes a multilayer perceptron different is that
some neurons use a nonlinear activation function which was developed to model
the frequency of action potentials, or firing, of biological neurons in the
brain. This function is modeled in several ways.
The two main activation functions used in current applications are both
sigmoids, and are described by in which the former function is a
hyperbolic tangent which ranges from -1 to 1, and the latter, the logistic
function, is similar in shape but ranges from 0 to 1. Here is the output of the
th node and is the weighted sum of the input synapses. Alternative activation
functions have been proposed, including the rectifier and softplus functions.
More specialized activation functions include radial basis functions which are
used in another class of supervised neural network models.
= Layers = The multilayer perceptron consists of
three or more layers of nonlinearly-activating nodes and is thus
considered a deep neural network. Since an MLP is a Fully Connected Network,
each node in one layer connects with a certain weight to every node in the
following layer. Some people do not include the input layer when counting
the number of layers and there is disagreement about whether should be
interpreted as the weight from i to j or the other way around.
= Learning through backpropagation = Learning occurs in the perceptron by
changing connection weights after each piece of data is processed, based on the
amount of error in the output compared to the expected result. This is an
example of supervised learning, and is carried out through backpropagation, a
generalization of the least mean squares algorithm in the linear perceptron.
We represent the error in output node in the th data point by , where is the
target value and is the value produced by the perceptron. We then make
corrections to the weights of the nodes based on those corrections which
minimize the error in the entire output, given by
Using gradient descent, we find our change in each weight to be
where is the output of the previous neuron and is the learning rate, which
is carefully selected to ensure that the weights converge to a response fast
enough, without producing oscillations. In programming applications, this
parameter typically ranges from 0.2 to 0.8.
The derivative to be calculated depends on the induced local field , which
itself varies. It is easy to prove that for an output node this derivative can
be simplified to where is the derivative of the
activation function described above, which itself does not vary. The analysis
is more difficult for the change in weights to a hidden node, but it can be
shown that the relevant derivative is This depends on the change in weights of
the th nodes, which represent the output layer. So to change the hidden layer
weights, we must first change the output layer weights according to the
derivative of the activation function, and so this algorithm represents a
backpropagation of the activation function.
Terminology The term "multilayer perceptron" often
causes confusion. It is argued the model is not a single perceptron that has
multiple layers. Rather, it contains many perceptrons that are organised into
layers, leading some to believe that a more fitting term might therefore be
"multilayer perceptron network". Moreover, these "perceptrons" are not
really perceptrons in the strictest possible sense, as true perceptrons are
a special case of artificial neurons that use a threshold activation function
such as the Heaviside step function, whereas the artificial neurons in a
multilayer perceptron are free to take on any arbitrary activation function.
Consequently, whereas a true perceptron performs binary classification, a neuron
in a multilayer perceptron is free to either perform classification or
regression, depending upon its activation function.
The two arguments raised above can be reconciled with the name "multilayer
perceptron" if "perceptron" is simply interpreted to mean a binary classifier,
independent of the specific mechanistic implementation of a classical
perceptron. In this case, the entire network can indeed be considered to be a
binary classifier with multiple layers. Furthermore, the term "multilayer
perceptron" now does not specify the nature of the layers; the layers are
free to be composed of general artificial neurons, and not perceptrons
specifically. This interpretation of the term "multilayer perceptron" avoids the
loosening of the definition of "perceptron" to mean an artificial
neuron in general. Applications
Multilayer perceptrons using a backpropagation algorithm are the
standard algorithm for any supervised learning pattern recognition process and
the subject of ongoing research in computational neuroscience and parallel
distributed processing. They are useful in research in terms of their ability to
solve problems stochastically, which often allows one to get approximate
solutions for extremely complex problems like fitness approximation.
MLPs were a popular machine learning solution in the 1980s, finding
applications in diverse fields such as speech recognition, image recognition,
and machine translation software, but have since the 1990s faced strong
competition from the much simpler support vector machines. More recently,
there has been some renewed interest in backpropagation networks due to the
successes of deep learning. References
External links A Gentle Introduction to Backpropagation
- An intuitive tutorial by Shashi Sathyanarayana This is an updated PDF
version of a blog article that was previously linked here. This article
contains pseudocode for implementing the algorithm.
Weka: Open source data mining software with multilayer perceptron
implementation. Border pairs method description.