What a neuron cannot do
Why is a single neuron not enough?
Lesson complete
If you like:
A neuron with two inputs draws a line and splits the plane into two sides. The question is whether one line is always enough.
No voice: the lesson advances on its own with subtitles.
The voice for this lesson is being recorded: for now it advances on its own with subtitles.
Review modeComment on this stepI finished the lesson
What you will achieve
- Explain why a single neuron cannot solve XOR, with a geometric argument.
- Describe what a hidden layer does: it creates new signals until one line is enough.
- Place the perceptron’s limit in its historical context without overstating it.
Key ideas
- One neuron splits the plane with a line: it only solves linearly separable problems.
- XOR is not linearly separable: its two diagonals cross, so no line gets all four corners right.
- A hidden layer creates new signals (here, “some input” and “both”); in that new space, a line does separate.
- The XOR limit belonged to the single neuron: a hidden layer overcomes it. Minsky and Papert doubted multi-layer networks but left it as an open problem; what was missing was a practical method to train hidden layers.
- The history of AI has cycles of enthusiasm and disillusion; the causes are several, not just one book.
What many people believe
Common belief Minsky and Papert proved that neural networks could not work, and that is why they were abandoned.
What is true They showed real limits of single neurons. They doubted multi-layer networks, but left it as an open problem: they did not prove them useless. The disillusion of the 1970s also had other causes, such as the Lighthill report, published in 1973.
Check yourself
Four questions. No grade, no account: they just show whether the idea stuck.
Under the hoodFor those who want the math and the code. You do not need it to follow the course.
Why XOR is not linearly separable
A two-input neuron answers if and otherwise. For XOR we would need all of these at once:
Adding the two middle inequalities: , that is, , which contradicts the last one. No weights work: it is the same geometric argument about the diagonals, in algebra. It is also the argument Minsky and Papert use in Perceptrons (§2.1) to show that the equivalence , the complement of XOR, cannot be computed by a single neuron; the book notes (§1.4) that, of the 16 Boolean functions of two variables, these are the only two with that limitation. We checked it by brute force: over a fine grid of , 14 of the 16 truth tables are reachable, and the two missing ones are XOR and its complement.
The solution with a hidden layer
With the step function (1 if the argument is positive, 0 otherwise), these weights solve XOR:
is OR, is AND, and the output is “OR and not AND,” which is XOR. In the plane the four points become , , , and : the ones merge at and a line now separates the classes.
What Minsky and Papert proved, and what they did not
In Perceptrons (1969), a perceptron “of order ” is a threshold neuron whose inputs are predicates, each of which depends on at most inputs. Among other results, they proved that the parity of bits has order (theorem 3.1.1): at least one predicate that looks at all the inputs is required. With , parity is XOR.
On multi-layer networks, the book says (§13.2) that they considered “Gamba machines,” described as “two layers of perceptron,” and found no other really interesting class of multilayered machine; and it adds: “we consider it to be an important research problem to elucidate (or reject) our intuitive judgment that the extension is sterile.” They present it as a conjecture to be tested, not as a theorem.
In code
import numpy as np
H = lambda z: (z > 0).astype(int) # step
def xor_net(x, y):
h1 = H(x + y - 0.5) # OR
h2 = H(x + y - 1.5) # AND
return H(h1 - h2 - 0.5) # OR and not AND
for x in (0, 1):
for y in (0, 1):
print(x, y, "->", int(xor_net(np.array(x), np.array(y))))
# 0 0 -> 0 | 0 1 -> 1 | 1 0 -> 1 | 1 1 -> 0
What comes next
The weights in this example were chosen by hand. In a real network they are learned with gradient descent, which needs the gradient of every weight, including those of hidden layers: backpropagation solves that (lesson 8), which Rumelhart, Hinton, and Williams described in 1986, showing how hidden units come to represent new features of the task. First, lesson 7 shows why layers need a nonlinear activation function.
Decision lens
What this idea means if your job is to decide, not to code.
- Cycles of enthusiasm and disillusion are part of AI’s history: ask for evidence with your data before promises.
- If a vendor talks about a “linear” or “single-layer” model (no hidden layer), ask whether your problem has interactions between variables that such a model cannot capture.
- Hidden layers capture interactions like XOR, but they usually need more data and careful training: more capacity also brings more risk of mistakes.
- When someone says “AI cannot do that,” ask with which method: many limits belonged to a specific architecture, not to the general idea.
Terms in this lesson
- Artificial neuron A unit of computation that multiplies each input by a weight, adds the results, adds a bias, and applies an activation function: y = f(w·x + b).
- Decision boundary The set of points where the neuron changes its answer. With two inputs it is a straight line: w₁x₁ + w₂x₂ + b = 0.
- XOR (exclusive or) A function that is one only when its two inputs differ. It is the classic example of a problem that is not linearly separable.
- Linear separability The property of a set of two-class points that can be separated by a line (or a plane, in more dimensions).
- Hidden layer A layer of neurons between input and output. It creates intermediate signals that the output combines; its values are not observed directly.
- AI winter A period of reduced funding and interest in artificial intelligence after unmet expectations. The first took place in the 1970s.
Full transcript
Sources
- Rosenblatt, F. (1958). The perceptron: a probabilistic model for information storage and organization in the brain
- Minsky, M., Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry (1969; texto leído en la edición ampliada de 1988: §1.4, §2.1, teorema 3.1.1 y §13.2)
- Olazaran, M. (1996). A Sociological Study of the Official History of the Perceptrons Controversy (Social Studies of Science 26(3), 611–659)
- Rumelhart, D. E., Hinton, G. E., Williams, R. J. (1986). Learning representations by back-propagating errors (Nature 323, 533–536)
- Lighthill, J. (1973). Artificial Intelligence: A General Survey (informe Lighthill, Science Research Council)
- Agar, J. (2020). What is science for? The Lighthill report on artificial intelligence reinterpreted (The British Journal for the History of Science 53(3), 289–310)
CommentsThis lesson’s public conversation: questions, facts to check, ideas.
Comments live in GitHub Discussions, in the course’s public repository; writing one requires a GitHub account. They load from giscus.app when you open this section. The course reviewers read them, and if a change is accepted, it is applied in both languages. Open the thread on GitHub