Módulo fundamentos matematicosParte 6 de 6
06. Sistemas Dinámicos y Física Estadística
De la Memoria Asociativa al Paisaje de Energía y Softmax.
🌀 Sistemas Dinámicos y Energía
¿Te has preguntado alguna vez por qué una red neuronal puede "recordar" algo? Para entenderlo, tenemos que dejar de pensar como programadores y empezar a pensar como físicos. Vamos a mirar cómo se comporta la materia para entender cómo se comporta la inteligencia.
Ya te digo yo que esto es lo más bonito de todo el curso: el Modelo de Ising. Es la historia de cómo pequeñas unidades individuales (como átomos o neuronas) se ponen de acuerdo para crear un orden colectivo a partir del caos.
1. El Paisaje de Energía: Esculpiendo recuerdos
Imagina que el conocimiento es un mapa lleno de montañas y valles. Cuando un sistema físico busca la estabilidad, busca la mínima energía. Se deja caer al fondo del valle.
En IA, aprender no es "guardar datos en un disco duro". Aprender es moldear ese paisaje. Estás usando el descenso del gradiente para cavar pozos en el mapa de energía de modo que, cuando le des a la red una imagen ruidosa, el sistema "caiga" de forma natural hacia el recuerdo correcto. ¡Es una locura!
2. La Conexión con Hopfield
John Hopfield se dio cuenta de algo que cambió la historia: si tratamos a las neuronas como espines de un imán, podemos usar la física para crear memoria.
El Hamiltoniano: La partitura del sistema
En una Red de Hopfield, la energía total del sistema es nuestra guía:
Recuperar un recuerdo es simplemente dejar que las neuronas "se relajen" y encuentren el estado de mínima energía. Es como ver una canica rodar hasta el fondo de un cuenco.
3. El Salto a la Atención Moderna
Aquí viene el puente que faltaba. En 2020 se publicó "Hopfield Networks is All You Need", y mostró algo precioso: la atención moderna puede verse como una Hopfield continua. En lugar de memorias discretas, tienes patrones continuos en un espacio de embeddings. El mecanismo de atención no es magia: es recuperación de memoria, pero en alta dimensión y de forma diferenciable.
¿La idea clave? La atención calcula similitudes (Q·K), usa softmax para convertirlas en pesos y recupera un vector como combinación de valores. Eso es exactamente lo que hace una Hopfield: buscar el atractor más compatible con la señal de entrada, solo que aquí lo hacemos en un solo paso y de forma paralela.
4. Atractores, Softmax y Temperatura
En física, un atractor es ese punto del valle que "atrae" todo lo que cae cerca.
- ¿Y la famosa función Softmax? No es más que una distribución de Boltzmann disfrazada:
Aquí entra en juego la Temperatura (). Si la temperatura es alta, hay mucho ruido y el sistema salta de un valle a otro. Si es baja, el sistema se queda "congelado" en el mínimo. Por eso en los modelos de lenguaje (LLMs) ajustamos la "temperatura" para que sean más creativos o más deterministas. ¡Es física pura!
Nota honesta: Softmax no nacio de la fisica. Viene de regresion logistica y modelos probabilisticos. La lectura de Boltzmann es una interpretacion preciosa porque conecta energia y entropia, pero es a posteriori. Eso no la hace menos util; la hace mas profunda.
5. Referencias Académicas
- Marc Mézard & Andrea Montanari, Information, Physics, and Computation. La biblia de esta conexión.
- John Hopfield, Neural networks and physical systems with emergent collective computational abilities (1982).
- Ramsauer et al., Hopfield Networks is All You Need (2020).
- MIT OCW 8.044, Statistical Physics I.
energia_hopfield.py
1import torch
2
3def calcular_energia(estado, pesos):
4 # La energia es E = -0.5 * s.T * W * s
5 energia = -0.5 * torch.dot(estado, pesos @ estado)
6 return energia.item()
7
8# Red con 3 neuronas
9W = torch.tensor([[0.0, 1.0, -1.0],
10 [1.0, 0.0, 1.0],
11 [-1.0, 1.0, 0.0]])
12
13recuerdo = torch.tensor([1.0, 1.0, -1.0])
14ruido = torch.tensor([1.0, -1.0, -1.0])
15
16print(f"Energia del recuerdo: {calcular_energia(recuerdo, W)}")
17print(f"Energia con ruido: {calcular_energia(ruido, W)}")