Lo que una neurona no puede
¿Por qué una sola neurona no basta?
Lección completa
Si quieres:
Una neurona de dos entradas traza una recta y reparte el plano en dos lados. La pregunta es si una recta siempre alcanza.
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.
Modo revisiónComentar este pasoTerminé la lección
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
- Una neurona separa el plano con una recta: solo resuelve problemas linealmente separables.
- XOR no es linealmente separable: sus dos diagonales se cruzan, así que ninguna recta acierta las cuatro esquinas.
- Una capa oculta crea señales nuevas (aquí, «alguna entrada» y «las dos»); en ese espacio nuevo, una recta sí separa.
- 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.
- 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ó.
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 si y en otro caso. Para XOR haría falta, a la vez:
Sumando las dos desigualdades del medio: , es decir, , 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 , 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 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 (vale 1 si el argumento es positivo y 0 si no), estos pesos resuelven XOR:
es OR, es AND, y la salida es «OR y no AND», que es XOR. En el plano los cuatro puntos pasan a , , y : los unos se funden en y una recta ya separa las clases.
Qué probaron Minsky y Papert, y qué no
En Perceptrons (1969), un perceptrón «de orden » es una neurona de umbral cuyas entradas son predicados, cada uno de los cuales depende como máximo de entradas. Entre otros resultados, probaron que la paridad de bits tiene orden (teorema 3.1.1): hace falta al menos un predicado que mire todas las entradas. Con 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
- Neurona artificial Unidad de cálculo que multiplica cada entrada por un peso, suma los resultados, añade un sesgo y aplica una función de activación: y = f(w·x + b).
- Frontera de decisión Conjunto de puntos donde la neurona cambia de respuesta. Con dos entradas es una recta: w₁x₁ + w₂x₂ + b = 0.
- XOR (o exclusivo) Función que vale uno solo cuando sus dos entradas son diferentes. Es el ejemplo clásico de problema no linealmente separable.
- Separabilidad lineal Propiedad de un conjunto de puntos de dos clases que se puede separar con una recta (o un plano, en más dimensiones).
- Capa oculta Capa de neuronas entre la entrada y la salida. Crea señales intermedias que la salida combina; su valor no se observa directamente.
- Invierno de la IA Periodo de menor financiación e interés por la inteligencia artificial tras expectativas incumplidas. El primero ocurrió en los años setenta.
Transcripción completa
Fuentes
- 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)
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