Una función f es lineal si f(x + y) = f(x) + f(y) y f(c · x) = c · f(x): respeta sumas y escalas. Multiplicar por una matriz es lineal (o afín, si se suma además un término constante). El problema es que componer funciones afines da otra función afín: si f(x) = 2x y g(x) = 3x + 1, entonces g(f(x)) = 6x + 1. Por eso una red de cien capas sin nada entre ellas sería, matemáticamente, un modelo lineal disfrazado (Chollet, 2021, sec. 2.3.5).
La función de activación rompe esa linealidad. La más usada hoy, ReLU(x) = max(0, x), es tan simple como parece y, sin embargo, no respeta sumas: ReLU(−2) + ReLU(3) = 3, pero ReLU(−2 + 3) = 1.
Ejemplo mínimo: XOR. La disyunción exclusiva (verdadera si exactamente una entrada es 1) no es linealmente separable: ninguna recta separa {(0, 1), (1, 0)} de {(0, 0), (1, 1)}. Por eso un perceptrón de una sola capa no puede computarla, observación que Minsky y Papert volvieron célebre (1969). Con una capa oculta y ReLU alcanza: h₁ = ReLU(x₁ + x₂), h₂ = ReLU(x₁ + x₂ − 1), y = h₁ − 2 · h₂. Da 0 para (0, 0), 1 para (1, 0) y para (0, 1), y 2 − 2 = 0 para (1, 1).
Chollet ofrece una imagen útil: los datos de dos clases son como dos hojas de papel arrugadas juntas en una bola, y cada capa, con su no linealidad, es un movimiento de los dedos que la va desarrugando hasta que las hojas se pueden separar (Chollet, 2021, sec. 2.3.6). La no linealidad, combinada con la profundidad, es lo que da a las redes su poder expresivo: permite fronteras de decisión curvas y representaciones que ninguna transformación lineal alcanzaría. Es la diferencia entre el perceptrón y el Perceptrón multicapa (retropropagación).