Return to page

H2O.ai WIKI

Multilayer Perceptron

What is Multilayer Perceptron?

Multilayer Perceptrons are feedforward artificial neural networks that generate outputs from a set of inputs. In a Multilayer Perceptron, multiple layers of input nodes are connected as a directed graph between the input and output layers. The Multilayer Perceptron is a deep learning method that uses backpropagation to train the network.

Though Perceptrons are widely recognized as algorithms, they were originally designed for image recognition. It gets its name from performing the human-like function of perceiving, seeing, and identifying images.

Multilayer Perceptrons are essentially feed-forward neural networks with three types of layers: input, output, and hidden. The input layer receives the input signal for processing. The output layer performs tasks such as classification and prediction. Multilayer Perceptrons' accurate computational engine consists of an arbitrary number of hidden layers between input and output layers. Similarly, the data flow from the input layer to the output layer in a Multilayer Perceptron. The neurons in the Multilayer Perceptrons are trained using the backpropagation learning algorithm. Multilayer Perceptrons are designed to approximate any continuous function and can solve problems that are not linearly separable. 

 

Examples of Multilayer Perceptron

Multilayer Perceptrons are widely used to solve problems requiring supervised learning and research into computational neuroscience and parallel distributed processing. Examples include speech recognition, image recognition, and machine translation.



Why is Multilayer Perceptron important?

Researchers often use Multilayer Perceptrons to solve complex problems stochastically, allowing approximate solutions to challenging issues like fitness estimation.

Using the perceptron model, machines can learn weight coefficients that help them classify inputs. This linear binary classifier is highly effective in arranging and categorizing input data into different classes, allowing probability-based predictions and classifying items into multiple categories. Multilayer Perceptrons have the advantage of learning non-linear models and the ability to train models in real-time (online learning).

 

Other advantages of Multilayer Perceptrons are:

  • It can be used to solve complex nonlinear problems. 

  • It handles large amounts of input data well. 

  • Makes quick predictions after training. 

  • The same accuracy ratio can be achieved even with smaller samples.



Multilayer Perceptron vs. Other Technologies & Methodologies

Multilayer Perceptron vs. Neural Network

A Multilayer Perceptron is a type of feedforward artificial Neural Network. Multilayer Perceptron models are the most basic deep neural networks, consisting of fully connected layers.
 

Multilayer Perceptron vs. Convolutional Neural Network

Convolutional Neural Networks are Multilayer Perceptrons with a unique structure.

In a Convolutional Neural Network, neurons are arranged in repetitive patterns applied across time and space (in images). For photos, these blocks of neurons can be interpreted as 2D convolutional kernels, repeatedly applied to each picture patch. 

When used across time windows, they can be viewed as 1D convolutional kernels. Weights for these repeated blocks are 'shared' at training time, i.e., the weight gradients are averaged across multiple image patches.

Choosing this unique structure exploits spatial or temporal invariance in recognition. A "car" or a "dog" may appear anywhere in the image. If we were to learn independent weights at each spatial or temporal location, we would need data in more orders of magnitude to train such a Multilayer Perceptron. Accordingly, for a Multilayer Perceptron that did not repeat weights across spaces, the group of neurons connected to the lower-left corner of the image will have to learn how to represent "dog" independently of the group linked to the upper left corner. We would need enough pictures of dogs so that the network has seen at least several examples of dogs at each possible image location separately.

In addition to this fundamental constraint, many particular layers and techniques have been developed specifically for Convolutional Neural Networks. A Deep Convolutional Neural Network may look very different from a bare-bones Multilayer Perceptron, but the difference is in principle.

A Multilayer Perceptron is a feedforward artificial Neural Network and is the most basic Deep Neural Network that consists of a series of fully connected layers. Using Multilayer Perceptron machine learning methods, we can overcome the need for high computing power required by modern Deep Learning architectures.

 

The new layer is composed of nonlinear functions of the weighted sum of all the previous layers' outputs (fully connected).

A Multilayer Perceptron and Convolutional Neural Networks can both be used for image classification.

However, a Multilayer Perceptron takes vector input, while a Convolutional Neural Network takes tensor information, so Convolutional Neural Networks are better at interpreting spatial relationships (relation between nearby pixels of an image) between pixels of an image, so for detailed photos, Convolutional Neural Networks will perform better than a Multilayer Perceptron. The Convolutional Neural Network is designed to classify pictures or videos.

In essence, a Multilayer Perceptron is better for simple image classification, whereas a Convolutional Neural Network is better for complicated image classification.
 

Multilayer Perceptron vs. Perceptron

Perceptrons are two-layer networks with one input and one output. Multilayered Networks have at least one hidden layer (all the layers between the input and output layers are hidden). A single-layer perceptron can only learn linear functions, but Multilayered Perceptrons can also learn non-linear functions.
 

Multilayer Perceptron vs. Logistic Regression

Perceptrons originally referred to neural networks with a step function as the transfer function. The difference here is that logistic regression uses a logistic function, while perceptrons use a step function.