Resumen
En muchos sistemas del mundo real, desde bandadas de aves y cardúmenes de peces hasta partículas activas en física, observamos patrones colectivos claros, pero casi nunca conocemos con precisión las reglas microscópicas que los generan.
El trabajo Unraveling hidden interactions in complex systems with deep learning propone AgentNet, una red neuronal diseñada para aprender esas reglas directamente a partir de trayectorias y datos observados.
AgentNet no solo predice cómo evoluciona un sistema con muchos agentes. También intenta reconstruir la fuerza de interacción entre ellos usando atención neuronal. En este artículo vamos a desmenuzar cómo está construida, qué la hace diferente a otros modelos de grafos, en qué sistemas se probó y por qué importa para unir deep learning con física de sistemas complejos.
Introducción: cuando el caos tiene reglas
Si alguna vez has visto una bandada de aves girando, probablemente parece puro caos coordinado: todas cambian de dirección casi al mismo tiempo, se abren, se cierran y forman remolinos. Pero detrás de ese movimiento aparecen preguntas muy concretas.
- ¿Cada ave a cuántas aves puede ver?
- ¿Le importa más quién está enfrente o quién está atrás?
- ¿Existe un radio máximo a partir del cual ya no se hacen caso?
- ¿Todo eso puede escribirse como ecuaciones?
Este tipo de preguntas no solo aplica a aves. También aparece en tráfico vehicular, redes sociales, experimentos de materia activa, partículas auto-propulsadas o colonias de bacterias que se organizan en patrones difíciles de explicar a simple vista.
La física tradicional suele atacar este problema con un enfoque de arriba hacia abajo: primero se propone un modelo con ecuaciones y fuerzas, después se ajustan parámetros con datos y finalmente se verifica si el modelo reproduce el comportamiento global.
El problema es que muchos sistemas reales son no lineales, ruidosos y de alta dimensión. A veces ni siquiera sabemos qué forma deberían tener las ecuaciones correctas.
El enfoque de AgentNet va al revés: dame las trayectorias de todos los agentes en el tiempo y yo, red neuronal, aprendo qué reglas podrían estar generando ese comportamiento. Además, intento decirte quién influye a quién y con qué fuerza.
¿Qué es AgentNet y qué problema resuelve?
La idea de AgentNet parte de una intuición poderosa: casi cualquier sistema de muchos componentes puede verse como un grafo dinámico. Cada entidad, como un ave, partícula, coche o persona, se convierte en un nodo. Las posibles interacciones entre entidades se representan como aristas.
Sobre ese grafo, lo que interesa es describir cómo cambia el estado de cada nodo con el tiempo. El estado de un agente i en el instante t se representa como un vector:
sit = (si,1t, si,2t, …, si,kt)
En ese vector puede incluirse todo lo que define al agente en ese momento: posición,
velocidad, orientación, un estado binario, energía, dirección o cualquier variable
relevante. Además, el sistema puede tener variables globales compartidas por todos los
agentes, representadas como ut.
El objetivo de AgentNet es aprender, directamente de los datos, una función que lleve el historial reciente de estados de cada agente al estado del siguiente paso:
{ …, sit-1, sit, ut } ⟶ sit+1
Para hacer el problema manejable, el modelo asume algo razonable en física de sistemas complejos: la dinámica está dominada por interacciones de pares. Es decir, lo que le sucede a un agente puede descomponerse entre su dinámica interna y la suma de influencias de sus vecinos.
Δsit+1 = f(hself(si, u), Σj ≠ i hpair(si, sj, u))
En palabras más simples: lo que le pasa al agente i es la suma de lo que haría por sí solo más la influencia combinada de sus vecinos. En lugar de escribir a mano esas funciones, AgentNet las aproxima con redes neuronales organizadas como una Graph Neural Network.
Arquitectura general: encoder, atención y decoder
La arquitectura de AgentNet sigue un esquema de tres bloques: encoder → atención en el grafo → decoder. Cada bloque cumple una función específica dentro del flujo de predicción.
Encoder
Toma el estado crudo de cada agente, y cuando hace falta su historial temporal, para convertirlo en un embedding interno mediante MLP o LSTM.
Atención en el grafo
Decide cuánto influye cada vecino j sobre el agente objetivo i, generando pesos de interacción dependientes del estado.
Decoder
Combina la información propia del agente y la información agregada de sus vecinos para producir el cambio de estado futuro.
Predicción
Estima el siguiente paso del sistema, ya sea como valor puntual o como distribución probabilística.
La imagen de portada resume esta historia: a la izquierda aparece el sistema físico, al centro el modelo AgentNet procesando estados e interacciones, y a la derecha la predicción del siguiente fotograma.
Atención por variable: la clave física de AgentNet
Muchas redes con atención para grafos asignan un único peso escalar de importancia por vecino. Eso puede funcionar para tareas de clasificación o recomendación, pero se queda corto para sistemas físicos, donde cada componente del estado puede tener un alcance de interacción distinto.
Por ejemplo, una partícula puede sentir muy localmente la posición de sus vecinas, pero alinearse con sus velocidades en una escala mayor. Meter todo eso en un solo número borra detalles importantes.
AgentNet resuelve esto calculando un peso de atención diferente para cada variable del estado. Para cada par de agentes (i, j) y cada componente q del vector de estado, aprende un peso:
αijq = σ(aijq)
Aquí, aijq es un puntaje calculado por un pequeño MLP
a partir de los embeddings de los agentes, y σ es una función sigmoide que
lleva el valor al rango entre 0 y 1.
Así, αijq puede interpretarse como qué tanto siente
el agente i al agente j en la variable q. Esta separación por
variable permite que la contribución en posición se mantenga separada de la contribución
en velocidad.
Idea clave
En AgentNet, la atención no solo dice qué vecino importa. También ayuda a distinguir en qué variable importa: posición, velocidad, dirección u otra componente del estado.
Cómo se entrena AgentNet y qué produce exactamente
Para entender el entrenamiento de AgentNet hay que responder dos preguntas: qué predice el modelo y cómo se entrena para que sus predicciones tengan sentido físico.
Historial de estados
En sistemas simples, puede bastar con asumir una dinámica Markoviana: el siguiente estado depende solo del instante actual. Pero muchos sistemas reales tienen memoria, por lo que el comportamiento de hoy depende de lo que ocurrió varios pasos atrás.
Para capturar esto, AgentNet puede mirar una ventana temporal de tamaño m:
sit,m = (sit-m+1, …, sit-1, sit)
Ese historial pasa por el encoder. Cuando la memoria es importante, como en partículas activas con fuerzas persistentes, el encoder puede implementarse con una LSTM. En sistemas sin tanta memoria, basta con un MLP que procese el estado actual.
Salida del modelo
AgentNet no suele predecir directamente el estado completo
sit+1, sino el cambio respecto al paso anterior:
Δsit = (Δx, Δy, Δvx, Δvy, …)
Luego actualiza el estado con una regla simple:
sit+1 = sit + Δsit
En sistemas continuos y ruidosos, como partículas o aves, el modelo puede ir más allá de valores puntuales y predecir distribuciones. Para cada componente relevante del estado, el decoder puede producir los parámetros de una Gaussiana 1D.
(μq, σq) para cada variable q ∈ {x, y, vx, vy, …}
Función de pérdida
La forma de entrenar AgentNet depende del tipo de variables que está prediciendo. En sistemas discretos, como estados vivo o muerto en un autómata celular, se puede usar entropía cruzada. En sistemas continuos y ruidosos, se minimiza la log-verosimilitud negativa de las distribuciones gaussianas.
El entrenamiento se realiza con optimizadores como Adam, usando lotes de trayectorias y generando predicciones de manera autoregresiva. Esto significa que la salida de un paso se alimenta como entrada del siguiente, obligando al modelo a mantener trayectorias coherentes en el tiempo.
Qué descubre AgentNet en distintos sistemas
Los autores prueban el modelo en varios escenarios donde algunas reglas son conocidas, para verificar que AgentNet pueda recuperarlas, y en un sistema real donde las reglas exactas son más difíciles de observar directamente.
Autómata celular
Un sistema tipo Juego de la Vida, útil para comprobar si la atención recupera vecindarios locales.
Modelo de Vicsek
Un modelo clásico de partículas auto-propulsadas que se alinean con sus vecinas.
Partículas AOUP
Un sistema de partículas activas con memoria, ruido y fuerzas efectivas.
Bandadas reales
Trayectorias 3D de vencejos de chimenea, con agentes que aparecen y desaparecen.
Autómata celular: redescubriendo el Juego de la Vida
El primer experimento es un autómata celular binario similar al Juego de la Vida. Cada celda puede estar viva o muerta, y su estado futuro depende de las ocho celdas vecinas: la llamada vecindad de Moore.
AgentNet ve la cuadrícula como un conjunto de agentes con posición y estado. Su tarea es predecir el estado en el siguiente paso para cada celda, a partir de configuraciones iniciales aleatorias.
Sin decirle explícitamente qué es un vecindario, el modelo empieza con una atención dispersa y, conforme entrena, la atención de cada celda se concentra en las ocho celdas adyacentes. Es decir, recupera la estructura local del autómata.
Modelo de Vicsek: bandadas sintéticas y campo visual
El siguiente test es el modelo de Vicsek, muy usado para estudiar materia activa. En este modelo, cada partícula se mueve con velocidad constante y actualiza su dirección alineándose con sus vecinas dentro de un radio de interacción.
De forma simplificada, la actualización de dirección puede representarse así:
θit+1 = arg(Σj ∈ N(i) eiθjt) + ηit
Donde N(i) representa los vecinos dentro del radio de interacción y
ηit es un término de ruido. En los experimentos, cada
agente tiene un radio de interacción fijo y un campo visual limitado.
Después del entrenamiento, los mapas de atención muestran que cada agente presta atención alta a partículas cercanas y dentro de un cono frontal. En otras palabras, AgentNet recupera tanto el radio como el ángulo de visión del modelo.
AOUP: partículas activas con memoria y fuerzas efectivas
El tercer escenario es más exigente: un sistema de partículas activas Ornstein–Uhlenbeck, conocido como AOUP. Aquí cada partícula está sometida a fuerzas externas, interacciones internas, ruido térmico y una fuerza activa con memoria temporal.
Una ecuación simplificada del modelo puede escribirse como:
γ · ẋi = Fiext + Fiint + √(2γT) · ηi + γfi
La fuerza activa fi sigue un proceso de Ornstein–Uhlenbeck:
τ · ḟi = −fi + √(2Da) · wi
En este caso, AgentNet recibe varios pasos del historial de posición y velocidad de cada partícula, además de un parámetro global que controla el alcance de interacción. El encoder usa una LSTM para capturar memoria, y el decoder produce distribuciones gaussianas de posición y velocidad futuras.
Lo interesante es que la atención promedio se alinea casi linealmente con la fuerza interna real derivada del potencial. En cierto sentido, la atención por componente se comporta como una fuerza efectiva entre partículas.
Bandadas reales de vencejos de chimenea
El último escenario es el más cercano al mundo real: bandadas de vencejos de chimenea volando alrededor de un edificio antes de entrar a dormir. A partir de múltiples cámaras de alta velocidad, se reconstruyen trayectorias 3D de cientos de aves durante algunos segundos.
Aquí el reto ya no es solo la dinámica compleja. También aparecen y desaparecen aves del campo de visión, hay oclusiones y la cantidad de agentes puede variar considerablemente.
Para manejarlo, los autores adaptan AgentNet a un grafo dinámico, donde los nodos pueden nacer y morir en el tiempo, manteniendo estados ocultos coherentes para cada ave mientras está visible.
Los mapas de atención muestran patrones muy interesantes: cada ave presta más atención a vecinas cercanas y en la parte frontal. El patrón promedio, alineado por la dirección de vuelo, se parece a un cono visual frontal y ligeramente hacia abajo.
- Cada ave atiende más a vecinas cercanas y frontales.
- La atención sugiere un cono visual efectivo.
- La correlación de velocidades es más difusa y simétrica.
- La atención parece capturar interacción funcional, no solo correlación estadística.
Por qué AgentNet es importante
AgentNet no es solamente otra red neuronal para predecir trayectorias. Su importancia está en que propone usar deep learning como una herramienta de descubrimiento en sistemas complejos.
En lugar de imponer reglas desde la teoría, el modelo aprende a partir de datos y después permite leer parte de esas reglas mediante sus mapas de atención. Esto abre una puerta interesante para estudiar sistemas donde las ecuaciones microscópicas son desconocidas, incompletas o difíciles de medir directamente.
Para ciencia de datos
Muestra cómo combinar GNN, atención y memoria temporal para modelar sistemas con muchos agentes.
Para física
Permite aproximar interacciones ocultas sin escribir explícitamente todas las fuerzas desde el inicio.
Para biología
Puede ayudar a estudiar comportamiento colectivo en animales, células o colonias de organismos.
Para simulación
Ofrece una forma de aprender dinámicas directamente desde trayectorias observadas.
Conclusión
AgentNet representa una forma elegante de unir redes neuronales en grafos, atención, memoria temporal y física de sistemas complejos. Su objetivo no es únicamente predecir el futuro de un sistema, sino también ofrecer pistas sobre las interacciones que generan ese comportamiento.
A lo largo del artículo vimos cómo el modelo representa agentes como nodos, interacciones como aristas, estados como vectores y atención como una posible lectura de influencia entre componentes.
También revisamos sus pruebas en autómatas celulares, modelo de Vicsek, partículas AOUP y bandadas reales de vencejos. En cada caso, AgentNet no solo produce predicciones, sino que revela patrones de interacción coherentes con el sistema estudiado.
La idea central es poderosa: cuando un sistema complejo parece caótico, tal vez no carece de reglas. Tal vez las reglas están ocultas en las trayectorias, esperando a ser inferidas.
Fuentes y recursos para profundizar
- Unraveling hidden interactions in complex systems with deep learning — Artículo original de AgentNet en Scientific Reports.
- Novel Type of Phase Transition in a System of Self-Driven Particles — Paper clásico de Tamás Vicsek sobre partículas auto-propulsadas y orden colectivo.
- A Comprehensive Survey on Graph Neural Networks — Revisión general sobre Graph Neural Networks y sus variantes.
- Graph Attention Networks — Paper base de muchas ideas de atención en grafos.
- PyTorch Geometric — Librería en PyTorch para experimentar con GNNs y arquitecturas relacionadas.
Citación
Cita este artículo
APA
MLA
BibTeX
¿Tienes una idea?
Si este tema te interesa, podemos convertirlo en un proyecto real.
Puedo ayudarte a explicar papers complejos, construir simulaciones, crear visualizaciones de sistemas multiagente o convertir temas avanzados de IA en artículos claros para tu blog.
Platícame tu idea