A perceptron is the smallest complete unit of a neural network: one weighted sum, one bias, one activation. Everything deeper is this repeated.
Take two inputs with weights w = [0.6, −0.4] and bias b = 0.1. Feed it x = [1.0, 0.5]:
z = (0.6 × 1.0) + (−0.4 × 0.5) + 0.1 = 0.6 − 0.2 + 0.1 = 0.5
With a Step activation the output is 1, because z is above zero. With Sigmoid the same z gives 1 / (1 + e−0.5) = 0.62 — the same decision, but now with a sense of how confident it is. That difference is the whole reason step activations were abandoned.
Take weights w = [0.6, −0.4], bias b = 0.1, and input x = [1.0, 0.5]:
z = (0.6 × 1.0) + (−0.4 × 0.5) + 0.1 = 0.6 − 0.2 + 0.1 = 0.5
With a step activation the output is 1, because z is above zero. With sigmoid, the same z gives 1/(1 + e⁻⁰‧⁵) = 0.62 — the same decision, now with a sense of how confident it is.
That difference is the whole reason step activations were abandoned. A step function's gradient is zero everywhere it is defined, so gradient descent has nothing to follow, and the network cannot be trained by backpropagation at all.
Change one number and watch the decision flip. With b = −0.7 instead: z = 0.6 − 0.2 − 0.7 = −0.3, and the output becomes 0. Same inputs, same weights, opposite answer — which is exactly what the bias is for.
For two inputs the boundary is the line where z = 0, which is w₁x₁ + w₂x₂ + b = 0. That is the equation of a straight line, with the weights giving its orientation and the bias its offset. In three dimensions it is a plane; beyond that a hyperplane.
So a perceptron is a linear classifier, and everything it can and cannot do follows from that.
One perceptron draws exactly one straight boundary. That is enough for AND and OR:
| x₁ | x₂ | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Plot XOR's four points and no single straight line separates the ones from the zeros. The two positive cases sit on opposite corners. No assignment of weights and bias will ever solve it — this is a proof, not a training difficulty.
Minsky and Papert made this argument in 1969, and it contributed to a long slowdown in neural network research. The resolution was already implicit: stack perceptrons into layers. Two units in a hidden layer can carve the space into regions that a third unit can then combine, and XOR becomes solvable.
What was genuinely missing until the 1980s was a way to train those layers — which required a differentiable activation and the chain rule, that is, sigmoid and backpropagation.
One perceptron draws exactly one straight boundary. That is enough for AND and OR, and famously not enough for XOR — no single line separates XOR's two classes, so no assignment of weights and bias will ever solve it. This limitation stalled neural network research for years; the answer was to stack perceptrons into layers.
The other trap is the Step activation itself. Its gradient is zero everywhere it is defined, so gradient descent has nothing to follow. You cannot train a step-activated network by backpropagation, which is why sigmoid and later ReLU took over.
One weighted sum, one bias, one activation, one straight boundary — and a hard ceiling on what that can express.
The modern unit is the same shape with two substitutions.
| 1958 perceptron | Modern unit | |
|---|---|---|
| Activation | Step | ReLU, GELU, sigmoid |
| Output | 0 or 1 | Continuous |
| Trainable by gradients | No | Yes |
| Learning rule | Perceptron rule | Backpropagation |
| Guarantees | Converges if linearly separable | None, and works far better |
The original perceptron learning rule was simple and only worked for separable data: when a prediction is wrong, add the input to the weights (or subtract it), and repeat. On non-separable data it never settles.
Replacing the step with a smooth function is what unlocked everything else, because it gave the weights a gradient to follow. That single change is the difference between a historical curiosity and the building block of every model in use today.
Worth noting what did not change: one weighted sum, one bias, one non-linearity. A unit in a 400-billion-parameter model computes exactly what a 1958 perceptron computed, with a different activation.
A perceptron with n inputs has n weights and 1 bias — n + 1 parameters, regardless of how many examples it sees.
Extend to a layer of m units and it is m × (n + 1). For 100 inputs and 50 units: 50 × 101 = 5,050 parameters. That formula, applied layer by layer, is how every network's size is counted.
The bias is one per unit, not one per weight — a detail people get wrong when counting by hand.
A perceptron is a weighted sum and a threshold. Twelve lines train it, and four rows of data defeat it -- which is the whole reason the rest of this track exists.
Is a perceptron the same as a neuron? Historically the perceptron used a step activation. "Neuron" or "unit" today means the same structure with a smooth activation.
Why can it not solve XOR? Because XOR is not linearly separable, and one perceptron can only draw one straight boundary.
How does a multi-layer network solve it? The hidden layer transforms the input space into one where the classes are linearly separable, and the output unit then draws the line.
Can a perceptron do regression? With no activation, z = wx + b is exactly linear regression. Add a sigmoid and it is logistic regression.
Is the bias necessary? Almost always. Without it, the boundary must pass through the origin, which rules out most useful solutions.
What does a negative weight mean? That the feature counts against the unit firing. Weights carry direction as well as strength.
Answer without scrolling back up.
A single perceptron cannot learn XOR. Why not?
What does the bias term let a neuron do?
Why can a step activation not be trained by backpropagation?
A perceptron takes each input, multiplies it by a weight, adds them all up, adds a bias, and pushes the result through an activation function: