06

Lo que una neurona no puede

¿Por qué una sola neurona no basta?

6 min

Lo que una neurona no puede

Con voz. Puedes pausar y saltar a cualquier paso.

Lección completa

Subtítulos

Una neurona de dos entradas traza una recta y reparte el plano en dos lados. La pregunta es si una recta siempre alcanza.

Voz

Sin voz: la lección avanza sola con subtítulos.

La voz de esta lección está en preparación: por ahora avanza sola con subtítulos.

0:00 / 0:00

Qué lograrás

  • Explicar por qué una sola neurona no puede resolver XOR, con un argumento geométrico.
  • Describir qué hace una capa oculta: crear señales nuevas hasta que una recta basta.
  • Situar el límite del perceptrón en su contexto histórico sin exagerarlo.

Ideas clave

  1. Una neurona separa el plano con una recta: solo resuelve problemas linealmente separables.
  2. XOR no es linealmente separable: sus dos diagonales se cruzan, así que ninguna recta acierta las cuatro esquinas.
  3. Una capa oculta crea señales nuevas (aquí, «alguna entrada» y «las dos»); en ese espacio nuevo, una recta sí separa.
  4. El límite de XOR era de la neurona sola: una capa oculta lo supera. Minsky y Papert dudaron de las redes de varias capas, pero lo dejaron como problema abierto; faltaba un método práctico para entrenar las capas ocultas.
  5. La historia de la IA tiene ciclos de entusiasmo y desencanto; los factores son varios, no solo un libro.

Lo que mucha gente cree

Creencia común Minsky y Papert demostraron que las redes neuronales no podían funcionar y por eso se abandonaron.

Lo correcto Mostraron límites reales de las neuronas solas. Dudaron de las redes con varias capas, pero lo dejaron como problema abierto: no probaron que fueran inútiles. El desencanto de los setenta tuvo además otras causas, como el informe Lighthill, publicado en 1973.

Compruébalo

Cuatro preguntas. Sin nota ni cuenta: sirven para ver si la idea quedó.

Concepto¿Por qué ninguna recta separa los cuatro puntos de XOR?
Concepto¿Qué hace la capa oculta en el ejemplo de XOR?
CálculoCon h₁ = OR(x, y) y h₂ = AND(x, y), ¿qué valores toma la capa oculta para la entrada (1, 0)?
AplicaciónUn proveedor afirma que su modelo «de una sola capa» (sin capa oculta) resuelve cualquier problema de clasificación. ¿Qué respuesta es la más sólida?

Por dentroPara quien quiere las fórmulas y el código. No hace falta para seguir el curso.

Por qué XOR no es linealmente separable

Una neurona de dos entradas responde f(x,y)=1f(x,y)=1 si w1x+w2y+b>0w_1x+w_2y+b>0 y 00 en otro caso. Para XOR haría falta, a la vez:

b≤0,w1+b>0,w2+b>0,w1+w2+b≤0.b\le 0,\qquad w_1+b>0,\qquad w_2+b>0,\qquad w_1+w_2+b\le 0.

Sumando las dos desigualdades del medio: w1+w2+2b>0w_1+w_2+2b>0, es decir, w1+w2+b>−b≥0w_1+w_2+b>-b\ge 0, lo que contradice la última. No existen pesos que funcionen: es el mismo argumento geométrico de las diagonales, en álgebra. Es también el argumento con que Minsky y Papert demuestran en Perceptrons (§2.1) que la equivalencia x≡yx\equiv y, el complemento de XOR, no la calcula una sola neurona; el libro anota (§1.4) que, de las 16 funciones booleanas de dos variables, son las únicas dos con esa limitación. Lo comprobamos por fuerza bruta: con una rejilla fina de (w1,w2,b)(w_1,w_2,b) se alcanzan 14 de las 16 tablas de verdad, y las dos que faltan son XOR y su complemento.

La solución con una capa oculta

Con la función escalón HH (vale 1 si el argumento es positivo y 0 si no), estos pesos resuelven XOR:

h1=H(x+y−0.5),h2=H(x+y−1.5),salida=H(h1−h2−0.5).h_1=H(x+y-0.5),\qquad h_2=H(x+y-1.5),\qquad \text{salida}=H(h_1-h_2-0.5).

h1h_1 es OR, h2h_2 es AND, y la salida es «OR y no AND», que es XOR. En el plano (h1,h2)(h_1,h_2) los cuatro puntos pasan a (0,0)(0,0), (1,0)(1,0), (1,0)(1,0) y (1,1)(1,1): los unos se funden en (1,0)(1,0) y una recta ya separa las clases.

Qué probaron Minsky y Papert, y qué no

En Perceptrons (1969), un perceptrón «de orden kk» es una neurona de umbral cuyas entradas son predicados, cada uno de los cuales depende como máximo de kk entradas. Entre otros resultados, probaron que la paridad de nn bits tiene orden nn (teorema 3.1.1): hace falta al menos un predicado que mire todas las entradas. Con n=2n=2 la paridad es XOR.

Sobre las redes de varias capas, el libro dice (§13.2) que consideraron las «máquinas de Gamba», «dos capas de perceptrón», y que no encontraron otra clase multicapa realmente interesante; y añade que «es un problema de investigación importante dilucidar (o rechazar) nuestro juicio intuitivo de que la extensión es estéril» (traducción nuestra). Lo presentan como una conjetura por comprobar, no como un teorema.

En código

import numpy as np

H = lambda z: (z > 0).astype(int)       # escalón

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 y no 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

Lo que viene

Los pesos de este ejemplo se eligieron a mano. En una red real se aprenden con el descenso del gradiente, que necesita el gradiente de cada peso, incluidos los de las capas ocultas: eso lo resuelve la retropropagación (lección 8), que Rumelhart, Hinton y Williams describieron en 1986 mostrando cómo las unidades ocultas llegan a representar características nuevas de la tarea. Antes, la lección 7 muestra por qué las capas necesitan una función de activación no lineal.

Lente de decisión

Qué significa esta idea si tu trabajo es decidir, no programar.

  • Los ciclos de entusiasmo y desencanto son parte de la historia de la IA: pide evidencia con tus datos antes que promesas.
  • Si un proveedor habla de un modelo «lineal» o «de una sola capa» (sin capa oculta), pregunta si tu problema tiene interacciones entre variables que ese modelo no puede capturar.
  • Las capas ocultas capturan interacciones como XOR, pero suelen necesitar más datos y un entrenamiento cuidadoso: más capacidad también trae más riesgo de errores.
  • Cuando alguien diga «eso la IA no puede hacerlo», pregunta con qué método: muchos límites eran de una arquitectura concreta, no de la idea general.

Términos de la lección

Transcripción completa
ComentariosConversación pública de esta lección: dudas, datos por revisar, ideas.

Los comentarios viven en GitHub Discussions, en el repositorio público del curso; para escribir se necesita una cuenta de GitHub. Se cargan desde giscus.app al abrir esta sección. Las personas que revisan el curso los leen, y si un cambio se acepta, se aplica en los dos idiomas. Abrir el hilo en GitHub

Fuentes