ElemedexA pocket encyclopedia of AI architectures
No. 011

Multilayer perceptron (backprop)

MLP · perceptrón multicapa

Hidden Layer

It hides a layer between what it sees and what it answers, and no one tells it what to keep there: it finds out by correcting itself backwards, one error at a time. It solved the XOR that had humiliated its ancestor, and that was enough to reopen a philosophical war that is still going on.

Height
1–3 hidden layers (1986–1990s)
Weight
≈ 2.5 KB · ≈ 1.6 MB (fp32)
Parameters
≈ 600 (family trees, 1986) · ≈ 407 k (MNIST, Chollet)
Context
no sequence: one input vector
Training data
100 triples (1986) · 60,000 digits (MNIST)
Year
1986
Generation
2 · Classical machine learning
Creators
Rumelhart, Hinton & Williams (UC San Diego · Carnegie Mellon)
Kind
Architecture

Base stats

Total
102

Approximate, ordinal scales meant for comparing species with each other; the hard numbers are in the data sheet.

Weaknesses

  • Gradient descent only guarantees a local minimum.
  • With hidden layers it is opaque: its weights do not read as rules.
  • With more capacity than it needs, it memorizes instead of generalizing.
  • With many sigmoid layers, the gradient vanishes and the lower layers stop learning.

Habitat

It was born in cognitive science labs in San Diego and Pittsburgh, trained on symmetries and family trees; soon after, in other labs, it learned to pronounce English. Today it lives everywhere without being named: in every tabular classifier and inside every block of a transformer.

Moves

Abilities

Hidden layers
Units that touch neither the input nor the output and learn intermediate features that no one specified for them.
Smooth activation
Replaces the perceptron's step with a differentiable curve (sigmoid, today ReLU), so that the error has a gradient.
Blame assignment
The chain rule distributes the error among all the weights, layer by layer, from the output backwards.

Anatomy

backpropagation ∂E/∂wx₁x₂x₃x₄h₁h₂h₃h₄h₅h′₁h′₂h′₃y₁y₂Error: ½ (y − t)²

An MLP with two hidden layers. Each row is fully connected to the next (one weight matrix per pair of layers) and each hidden unit applies a nonlinear activation. The forward pass produces y; the loss compares it with the correct answer t, and backpropagation sends the error gradient backwards to adjust every weight.

Evolution chain

011 Multilayer perceptron (backprop)

A multilayer perceptron (MLP) is a neural network whose artificial neurons are arranged in layers: each unit receives the outputs of every unit in the previous layer, and between input and output there is at least one "hidden" layer, so called because it has no direct connection to the environment (Witten et al., 2017, p. 263). What made it famous was its training method: backpropagation of errors.

How it works

Each unit computes a weighted sum of its inputs and applies an activation function to it. The classic perceptron used a step (0 or 1); the MLP replaces it with a smooth curve, the sigmoid, because the step is not differentiable, and without derivatives there is no gradient (Witten et al., 2017, p. 264). Today ReLU is preferred, but the requirement is the same: a nonlinearity. Without it, stacking layers is pointless, since a composition of linear transformations is another linear transformation: the "deep" network would be a linear model in disguise (Chollet, 2021, sec. 2.3.5).

Training is supervised. One picks a differentiable loss function (in the 1980s, the squared error) and nudges every weight a small step in the direction that reduces it most: gradient descent (Witten et al., 2017, pp. 265–266). The problem is knowing how much blame belongs to a weight buried in an intermediate layer, whose "correct" output nobody knows. Backpropagation solves it with the chain rule: it takes the derivative of the error with respect to the output and propagates it backwards, layer by layer, multiplying local derivatives (Witten et al., 2017, pp. 267–268; Chollet, 2021, sec. 2.4.4). Chollet offers a useful picture: two classes of data are like two sheets of paper crumpled together into a ball, and each layer uncrumples them a little until a plane can separate them (2021, sec. 2.3.6).

What changed

Compared with the Perceptron, the difference lies not in the materials but in the learning. A single perceptron cannot represent XOR, because its classes cannot be separated by a straight line. Three units can: one computes OR, another NAND, and the third the conjunction of both. In general, any formula of propositional logic can be translated into an MLP, which therefore has the same expressive power as a Decision tree (ID3/C4.5) (Witten et al., 2017, pp. 262–263): a direct echo of McCulloch and Pitts's nets. That an extra layer could solve XOR was known in Rosenblatt's day; what was missing was a rule to train it (Buckner, 2024, p. 120).

That rule has a tangled history. The differentiation technique behind it was published by Seppo Linnainmaa in 1970, Paul Werbos proposed applying it to neural networks in 1974, and it was popularized in 1986 by a group of cognitive scientists modeling how people learn (Mollick, 2026). The paper by Rumelhart et al. (1986) stressed that the hidden units come to represent important features of the task domain (1986, p. 533). In its most famous example, a network learned two isomorphic family trees, one English and one Italian; trained on 100 of the 104 possible relationships, it got the remaining 4 right, and some hidden units encoded nationality, generation or family branch, features that were nowhere explicit in the input (1986, pp. 534–535). Soon afterwards it was proved that a single hidden layer suffices to approximate any continuous function (Cybenko, 1989; Hornik, 1991), although a shallow network may need an enormous number of units for what a deeper one represents compactly (Witten et al., 2017, p. 461).

The data sheet takes these classic MLPs as its reference: the family-tree network had about 600 weights (my own count from its Figure 3); the dense network with which Chollet opens his book, for the MNIST digits, about 407,000 (2021, sec. 2.1).

Limits

Gradient descent only guarantees a local minimum, and the error surfaces of MLPs usually have many (Witten et al., 2017, p. 266), although Rumelhart and his colleagues observed that in practice this was rarely serious (1986, p. 535). With more capacity than it needs, it overfits. The architecture is chosen by trial and error, and a network with hidden layers is opaque: a black box (Witten et al., 2017, pp. 263, 269). With many sigmoid layers, the vanishing gradient problem appears as well.

By the late 1990s, SVMs had pushed it aside (Chollet, 2021, sec. 1.2.2). But it never left: its descendants are Convolutional network (LeNet) and Simple recurrent network (Elman), and inside every Transformer it is still at work, under the name of the feedforward (MLP) block block.

Sources