Visibilidad IA

Arquitectura EGNN: redes neuronales E(n)-equivariantes

La arquitectura EGNN (E(n)-Equivariant Graph Neural Network) es una red neuronal geométrica diseñada para aprender relaciones entre objetos representados mediante grafos y coordenadas espaciales, respetando transformaciones como rotaciones, traslaciones y reflexiones.

Su principal innovación consiste en introducir un mecanismo de actualización equivariante de coordenadas que permite modificar directamente las posiciones de los nodos utilizando mensajes aprendidos, sin necesitar representaciones tensoriales de orden superior ni cálculos complejos basados en armónicos esféricos.

EGNN fue desarrollada por Víctor Garcia Satorras, Emiel Hoogeboom y Max Welling, investigadores vinculados a la Universidad de Ámsterdam y al UvA-Bosch Delta Lab.

El trabajo se publicó en ICML 2021 (International Conference on Machine Learning) bajo el título E(n) Equivariant Graph Neural Networks, en Proceedings of Machine Learning Research, volumen 139, páginas 9323–9332.

La arquitectura parte de una idea fundamental: cuando modelamos un sistema físico, la predicción no debería depender arbitrariamente de cómo orientemos o situemos ese sistema en el espacio.

Por ejemplo, si rotamos una molécula 90 grados, sus distancias internas permanecen iguales. Una predicción escalar, como una propiedad energética, debería permanecer inalterada. Una predicción de coordenadas, en cambio, debería rotar de forma coherente con la entrada.

EGNN incorpora estas propiedades directamente en sus operaciones.

La red representa cada objeto mediante dos elementos:

  • Características de nodo: vectores de atributos escalares aprendidos.
  • Coordenadas: posiciones espaciales de los nodos.

Los mensajes entre nodos se calculan utilizando sus características, los atributos de las aristas y las distancias cuadráticas entre posiciones.

Después, la red utiliza esos mensajes para actualizar tanto las características como las coordenadas.

La actualización espacial emplea una suma ponderada de desplazamientos relativos.

Esta operación es la clave de su equivariancia.

Además, EGNN puede aplicarse a espacios de dimensión arbitraria (n), no solamente a estructuras tridimensionales.

La publicación original evaluó la arquitectura en tres áreas principales:

  1. Modelado de sistemas dinámicos de partículas.
  2. Predicción de propiedades moleculares.
  3. Aprendizaje de representaciones mediante autoencoders de grafos.

Los investigadores observaron resultados competitivos o superiores a varios métodos de referencia en los experimentos utilizados.

EGNN constituye una referencia importante dentro del Geometric Deep Learning, porque demuestra que pueden construirse modelos equivariantes expresivos mediante operaciones relativamente sencillas sobre escalares, distancias y desplazamientos.

En esta guía estudiaremos el funcionamiento de EGNN, sus ecuaciones matemáticas, el concepto E(n), las actualizaciones de coordenadas, las diferencias entre invariancia y equivariancia, las aplicaciones moleculares y su relación con GVP-GNN, ProteinMPNN, RoseTTAFold y otras arquitecturas geométricas.

También incluiremos ejemplos prácticos en Python y PyTorch, pruebas de equivariancia, limitaciones científicas, preguntas frecuentes, referencias oficiales y metadatos SEO preparados para WordPress.


¿Qué es la arquitectura EGNN?

EGNN es una red neuronal de grafos que procesa conjuntamente características de nodos y coordenadas.

Una Graph Neural Network convencional puede recibir:

[
G=(V,E)
]

Donde:

  • (V) representa un conjunto de nodos.
  • (E) representa las conexiones entre nodos.

EGNN añade información espacial:

[
X={x_1,x_2,\ldots,x_N}
]

Cada posición pertenece a un espacio euclidiano:

[
x_i\in\mathbb{R}^{n}
]

La letra (n) representa la dimensión espacial.

Para moléculas tridimensionales:

[
n=3
]

Para un sistema de partículas bidimensional:

[
n=2
]

El modelo mantiene dos estados principales por nodo:

[
(h_i,x_i)
]

Donde:

  • (h_i) es una representación de características.
  • (x_i) es su posición geométrica.

En cada capa, la red puede modificar ambos estados.

Podemos expresar el procedimiento general como:

EGNN_l(H^l,X^l,E)
]

La propiedad esencial es que las transformaciones espaciales de entrada producen transformaciones correspondientes de las coordenadas de salida.

Origen y desarrollo de EGNN

Antes de EGNN, diferentes arquitecturas habían abordado el aprendizaje geométrico utilizando representaciones especializadas.

Entre ellas se encontraban:

  • Tensor Field Networks.
  • SE(3)-Transformers.
  • Graph Neural Networks con características de distancia.
  • Redes basadas en representaciones irreducibles de grupos de rotación.

Algunas de estas arquitecturas utilizan armónicos esféricos y representaciones tensoriales.

Estos mecanismos permiten describir propiedades geométricas sofisticadas.

Sin embargo, también pueden introducir complejidad matemática y computacional.

Los autores de EGNN exploraron una alternativa más sencilla.

Su propuesta consistía en construir mensajes invariantes y utilizar esos mensajes para calcular desplazamientos equivariantes.

El resultado fue una arquitectura que podía aplicarse a diferentes dimensiones espaciales.

El artículo se presentó inicialmente en arXiv en febrero de 2021 y fue publicado formalmente en ICML ese mismo año.

Posteriormente, sus principios se utilizaron como base y referencia para diversas investigaciones sobre modelos generativos y aprendizaje geométrico.


¿Qué significa E(n)?

E(n) representa el grupo euclidiano de transformaciones rígidas en un espacio de (n) dimensiones.

Incluye:

  • Traslaciones.
  • Rotaciones.
  • Reflexiones.
  • Combinaciones de estas transformaciones.

Una transformación puede escribirse como:

[
x_i’=Qx_i+t
]

Donde:

  • (Q\in O(n)) es una transformación ortogonal.
  • (t\in\mathbb{R}^{n}) es un vector de traslación.
  • (x_i) es la posición original.

La matriz (Q) satisface:

[
Q^\top Q=I
]

Esta propiedad garantiza que se conservan las distancias euclidianas.

Para rotaciones propias, el determinante es:

[
\det(Q)=1
]

Para reflexiones o transformaciones ortogonales que invierten orientación, puede ser:

[
\det(Q)=-1
]

EGNN fue diseñada para respetar ambos tipos de transformación ortogonal.

Diferencia entre E(3) y SE(3)

E(3) incluye rotaciones, traslaciones y reflexiones en tres dimensiones.

SE(3) incluye rotaciones propias y traslaciones, pero no reflexiones.

PropiedadE(3)SE(3)
TraslacionesSíSí
Rotaciones propiasSíSí
ReflexionesSíNo
Conservación de distanciasSíSí
Conservación de orientación quiralNo necesariamenteSí

Esta distinción resulta importante en química.

Dos moléculas relacionadas mediante reflexión pueden ser enantiómeros con propiedades biológicas diferentes.

La EGNN original no distingue automáticamente todos estos casos.


¿Qué es invariancia?

Una propiedad es invariante cuando permanece igual después de una transformación.

Por ejemplo, la distancia entre dos puntos:

[
d_{ij}=|x_i-x_j|
]

Si aplicamos la misma transformación rígida a ambos:

[
x_i’=Qx_i+t
]

[
x_j’=Qx_j+t
]

Entonces:

|Q(x_i-x_j)|

|x_i-x_j|
]

La distancia permanece igual.

Este es un ejemplo de invariancia geométrica.

En modelado molecular, muchas propiedades globales deben ser independientes de la orientación de la molécula.

¿Qué es equivariancia?

Una operación es equivariante cuando su salida se transforma de manera coherente con la entrada.

Para una red que produce coordenadas:

[
f(QX+t)=Qf(X)+t
]

Esta ecuación significa que, si rotamos y trasladamos la estructura inicial, la estructura producida por la red se transforma exactamente de la misma forma, salvo diferencias numéricas de precisión.

Por ejemplo, si una red predice posiciones futuras de partículas, la predicción no debería depender de cuál de las direcciones espaciales llamamos eje X.

La equivariancia permite incorporar este principio directamente en la arquitectura.

¿Qué significa equivariancia ante permutaciones?

Los grafos no dependen de un orden arbitrario de numeración de sus nodos.

Si intercambiamos los identificadores de dos nodos y modificamos coherentemente sus aristas, el resultado debe intercambiarse de la misma manera.

Una formulación es:

Pf(H,X,E)
]

Donde (P) representa una matriz de permutación.

EGNN está diseñada para respetar también esta propiedad.

La agregación de mensajes mediante suma es importante porque no depende del orden en que aparecen los vecinos.


¿Cómo funciona EGNN paso a paso?

La arquitectura procesa un grafo geométrico mediante las siguientes etapas.

Paso 1. Preparar los nodos

Cada nodo recibe un vector de atributos.

Por ejemplo, un átomo puede representarse mediante características relacionadas con su elemento químico.

Paso 2. Introducir coordenadas

Cada nodo dispone de una posición espacial.

En una molécula tridimensional se utiliza una coordenada ((x,y,z)).

Paso 3. Construir aristas

Las conexiones pueden derivarse de enlaces químicos, vecindad geométrica o reglas del problema.

Paso 4. Calcular distancias invariantes

Para cada arista se calcula la distancia cuadrática entre las posiciones de sus nodos.

Paso 5. Crear mensajes

Una función neuronal combina características de nodos, aristas y distancia.

Paso 6. Actualizar coordenadas

Los mensajes controlan cuánto contribuye cada desplazamiento relativo al cambio de posición.

Paso 7. Actualizar características

Se agregan mensajes y se transforman los atributos de los nodos.

Paso 8. Repetir capas

La red puede apilar múltiples bloques EGNN.

Paso 9. Producir predicciones

La salida puede contener características globales, atributos de nodos o coordenadas actualizadas, dependiendo de la tarea.

Diagrama conceptual

        GRAFO CON COORDENADAS
         Nodos + Aristas
                |
                v
        Características h_i
        Coordenadas x_i
                |
                v
    Diferencias relativas x_i-x_j
                |
                v
     Distancias cuadráticas
                |
                v
       FUNCIÓN DE MENSAJES
               φ_e
                |
        +-------+-------+
        |               |
        v               v
 Actualización     Agregación de
 de coordenadas       mensajes
       φ_x               |
        |               v
        |          Actualización
        |          de atributos
        |               φ_h
        |               |
        +-------+-------+
                |
                v
        NUEVA CAPA EGNN
                |
                v
       Predicción final

La ecuación fundamental de los mensajes

La primera operación de una capa EGNN construye mensajes entre pares de nodos.

La formulación original utiliza:

\phi_e
\left(
h_i^l,
h_j^l,
|x_i^l-x_j^l|^2,
a_{ij}
\right)
]

Donde:

  • (m_{ij}) representa el mensaje desde el nodo (j) hacia el nodo (i).
  • (h_i^l) contiene las características actuales del nodo receptor.
  • (h_j^l) contiene las características del vecino.
  • (|x_i^l-x_j^l|^2) es la distancia cuadrática.
  • (a_{ij}) contiene atributos opcionales de la arista.
  • (\phi_e) representa una red neuronal aprendida.

La función (\phi_e) suele implementarse mediante un perceptrón multicapa.

La clave es que utiliza información geométrica invariante.

Por tanto, si rotamos o trasladamos todo el grafo, las distancias cuadráticas no cambian.

En consecuencia, los mensajes calculados mediante las mismas características escalares tampoco cambian.

¿Por qué utilizar distancias cuadráticas?

Porque contienen información geométrica y son invariantes respecto a transformaciones ortogonales.

La distancia cuadrática es:

\sum_{k=1}^{n}
(x_{ik}-x_{jk})^2
]

La operación no requiere construir armónicos esféricos ni representaciones tensoriales de orden elevado.

Además, puede calcularse mediante operaciones estándar de álgebra lineal.

Sin embargo, utilizar únicamente distancias también tiene limitaciones.

Por ejemplo, una configuración y su imagen reflejada comparten las mismas distancias internas.

Esto afecta a la representación de quiralidad.


La actualización de coordenadas de EGNN

Esta es la parte más importante de la arquitectura.

Los autores propusieron una actualización de la forma:

x_i^l
+
C\sum_{j\neq i}
(x_i^l-x_j^l)
\phi_x(m_{ij})
]

Donde:

  • (x_i^l) es la posición actual.
  • (x_i^{l+1}) es la nueva posición.
  • (x_i^l-x_j^l) es un desplazamiento relativo.
  • (\phi_x(m_{ij})) produce un coeficiente escalar.
  • (C) es una constante de normalización.

En la formulación original para un grafo completo, se utiliza:

[
C=\frac{1}{M-1}
]

Donde (M) representa la cantidad de nodos.

En implementaciones posteriores también pueden utilizarse normalizaciones y controles numéricos diferentes.

La idea esencial es que el modelo aprende cuánto debe contribuir cada dirección relativa a la actualización espacial.

¿Por qué esta ecuación es equivariante?

Consideremos una transformación:

[
x_i’=Qx_i+t
]

El desplazamiento relativo se transforma como:

Q(x_i-x_j)
]

El vector de traslación desaparece al calcular la diferencia.

Como los mensajes utilizan distancias invariantes, los coeficientes escalares permanecen iguales.

Por tanto:

Qx_i^{l+1}+t
]

La salida se transforma coherentemente con la entrada.

Esta propiedad se obtiene por construcción algebraica.

No es necesario entrenar la red con todas las rotaciones posibles para que aprenda aproximadamente esta simetría.

¿Por qué se actualizan las coordenadas?

En numerosas GNN tradicionales, las posiciones son atributos fijos.

La red utiliza distancias para calcular predicciones, pero no modifica las posiciones.

EGNN permite que las coordenadas evolucionen entre capas.

Esto resulta especialmente relevante en problemas como dinámica de partículas.

Si queremos predecir dónde estarán los objetos después de cierto intervalo, la salida debe incluir posiciones.

La arquitectura también puede utilizarse para tareas donde solo se necesita una propiedad escalar.

En esos casos, las representaciones geométricas ayudan a construir características para la predicción.


¿Cómo se actualizan las características de nodo?

Los mensajes de vecinos se agregan:

[
m_i=
\sum_{j\in\mathcal{N}(i)}m_{ij}
]

Después se calcula:

\phi_h(h_i^l,m_i)
]

Donde (\phi_h) es una función neuronal.

Esta actualización es similar a la utilizada por diferentes Message Passing Neural Networks.

La diferencia está en que EGNN también actualiza las coordenadas geométricas.

Los atributos (h_i) se mantienen como canales escalares invariantes.

La información direccional aparece principalmente en los desplazamientos utilizados por las actualizaciones espaciales.


¿Qué es Coordinate Equivariance?

La equivariancia de coordenadas significa que la red produce posiciones coherentes bajo transformaciones rígidas.

Imaginemos cuatro partículas formando un cuadrado.

La red predice una nueva configuración.

Después rotamos el cuadrado original 45 grados y volvemos a ejecutar la misma red.

Si la arquitectura es equivariante, el resultado debe corresponder a la predicción anterior rotada 45 grados.

No debería aparecer una estructura diferente simplemente porque modificamos los ejes de referencia.

La propiedad es especialmente importante en física, química y geometría computacional.


¿Por qué EGNN no necesita tensores de orden superior?

Algunas redes geométricas utilizan representaciones que se transforman según diferentes órdenes tensoriales.

Por ejemplo:

  • Escalares.
  • Vectores.
  • Tensores de segundo orden.
  • Representaciones irreducibles de grupos de rotación.

Estas técnicas pueden ofrecer una gran capacidad expresiva.

Sin embargo, también requieren operaciones matemáticas más complejas.

EGNN simplifica el procesamiento.

La red utiliza principalmente:

  1. Características escalares.
  2. Distancias invariantes.
  3. Desplazamientos relativos.
  4. Coeficientes escalares aprendidos.

Esto permite implementar transformaciones equivariantes sin construir explícitamente representaciones tensoriales de orden superior.

La simplificación es una de las aportaciones centrales del artículo.

Sin embargo, evitar representaciones complejas también puede limitar la expresividad en determinadas tareas.


¿Qué significa que EGNN funciona en E(n)?

Una de las ventajas de EGNN es que su formulación no está limitada a tres dimensiones.

La ecuación de actualización utiliza:

[
x_i-x_j
]

y:

[
|x_i-x_j|^2
]

Estas operaciones tienen sentido en cualquier espacio euclidiano.

Por ejemplo:

[
x_i\in\mathbb{R}^{2}
]

o:

[
x_i\in\mathbb{R}^{5}
]

La misma idea geométrica sigue siendo válida.

En cambio, algunas arquitecturas especializadas para SO(3) o SE(3) dependen de formulaciones concretas de las rotaciones tridimensionales.

Esta generalidad convierte a EGNN en una arquitectura interesante para problemas de geometría de distintas dimensiones.


Aplicaciones originales de EGNN

Los investigadores evaluaron la arquitectura en tres áreas principales.

1. N-body Motion Prediction

Consiste en predecir la evolución de sistemas de partículas que interactúan.

Por ejemplo, podemos considerar objetos con posiciones y velocidades.

La red intenta estimar posiciones futuras utilizando sus relaciones.

2. Molecular Property Prediction

Consiste en estimar propiedades de moléculas a partir de sus átomos y geometría.

La publicación utilizó el conjunto QM9 para estudiar diferentes propiedades moleculares.

3. Graph Autoencoders

Los investigadores estudiaron la utilización de EGNN para aprender representaciones latentes mediante autoencoders de grafos.

Estas aplicaciones muestran que la arquitectura no está limitada al modelado de proteínas.

Es una arquitectura geométrica general.

¿Qué es el problema N-body?

El problema N-body estudia sistemas formados por varios objetos que interactúan físicamente.

En un caso gravitacional, cada objeto puede influir en los demás.

En otros sistemas pueden utilizarse fuerzas electrostáticas o interacciones artificiales.

La posición de cada objeto cambia con el tiempo.

Podemos representar las posiciones como:

[
X(t)={x_1(t),\ldots,x_N(t)}
]

El objetivo es aproximar:

F(X(t),V(t),A)
]

Donde:

  • (V(t)) contiene velocidades.
  • (A) contiene atributos de interacción.

EGNN puede aprender una aproximación de esta función a partir de ejemplos.

La arquitectura original también estudió variantes que incorporan explícitamente información de velocidad.

¿Qué es QM9?

QM9 es un conjunto de datos de moléculas pequeñas utilizado ampliamente en aprendizaje profundo molecular.

Contiene estructuras y diferentes propiedades calculadas mediante métodos de química cuántica.

Entre las propiedades estudiadas se encuentran:

  • Momento dipolar.
  • Polarizabilidad.
  • Energías orbitales HOMO y LUMO.
  • Gap energético.
  • Energía interna.
  • Capacidad calorífica.

La geometría tridimensional puede aportar información importante para estas predicciones.

EGNN permite procesar las coordenadas junto con características de los átomos.

Sin embargo, el rendimiento obtenido en QM9 no demuestra automáticamente generalización a proteínas o moléculas grandes.


EGNN frente a GVP-GNN

GVP-GNN, estudiada en la Entrada 133, también incorpora equivariancia geométrica.

Sin embargo, utiliza una representación diferente.

CaracterísticaEGNNGVP-GNN
Publicación principalICML 2021ICLR 2021
ArquitecturaMPNN con actualización de coordenadasMPNN con Geometric Vector Perceptrons
Estados principalesEscalares y posicionesEscalares y canales vectoriales
Vectores ocultos explícitosNo como característica centralSí
Actualización de coordenadasSíNo como requisito de su bloque original
Grupo geométricoE(n)Rotaciones y transformaciones ortogonales relevantes
Aplicaciones originalesDinámica, QM9, autoencodersCalidad y diseño de proteínas
Principal innovaciónActualización equivariante de posicionesMezcla escalar-vectorial equivariante

EGNN utiliza desplazamientos relativos para modificar posiciones.

GVP-GNN transforma canales vectoriales como parte de sus representaciones internas.

Ambas arquitecturas incorporan simetrías geométricas, pero con mecanismos diferentes.

EGNN frente a ProteinMPNN

ProteinMPNN utiliza grafos de vecinos espaciales para predecir secuencias de aminoácidos a partir de estructuras.

EGNN es una arquitectura geométrica más general.

ProteinMPNN se centra en diseño inverso.

EGNN puede utilizarse en tareas donde sea necesario actualizar coordenadas.

La diferencia principal está en el objetivo y en la representación.

ProteinMPNN incorpora características geométricas del esqueleto proteico, pero no utiliza la actualización de coordenadas de EGNN como operación central de su diseño original.

EGNN frente a RoseTTAFold

RoseTTAFold utiliza una red de tres vías que combina secuencia, representaciones de pares y geometría tridimensional.

EGNN utiliza un grafo con estados de nodos y coordenadas.

CaracterísticaEGNNRoseTTAFold
Objetivo principalAprendizaje geométrico generalPredicción de estructuras proteicas
ProcesamientoMessage passingRed de tres vías
MSANo necesario por arquitecturaHabitual en el flujo original
CoordenadasActualizadas mediante mensajesProcesadas por módulos geométricos
DimensionesE(n)Principalmente 3D
Aplicación característicaDinámica y propiedades geométricasPlegamiento proteico

EGNN representa una arquitectura general que puede utilizarse como componente de sistemas más complejos.

RoseTTAFold es un sistema especializado en biología estructural.

EGNN frente a SE(3)-Transformer

SE(3)-Transformer utiliza mecanismos de atención especializados que respetan simetrías tridimensionales.

Puede utilizar representaciones tensoriales de diferentes órdenes.

EGNN evita esas representaciones en su formulación central.

CaracterísticaEGNNSE(3)-Transformer
GrupoE(n)SE(3)
ReflexionesEquivariante por diseñoNo garantizadas por SE(3)
DimensionesArbitrariasEspecializado en 3D
Tensores de orden superiorNo necesariosPuede utilizarlos
MecanismoMPNN + coordenadasAtención geométrica
Complejidad arquitectónicaRelativamente sencillaMás especializada

No existe un ganador universal.

La elección depende de la tarea, la precisión requerida y las propiedades geométricas que deben representarse.


Ejemplo práctico 1: calcular distancias invariantes en Python

Podemos comenzar con cuatro puntos tridimensionales.

import numpy as np
coordinates = np.array([
[0.0, 0.0, 0.0],
[1.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 0.0, 1.0],
])
difference = (
coordinates[:, None, :]
- coordinates[None, :, :]
)
distances_squared = np.sum(
difference ** 2,
axis=-1
)
print(distances_squared)

El resultado es una matriz de distancias cuadráticas.

Esta es una de las características geométricas principales utilizadas en EGNN.

Los puntos son sintéticos.

No representan átomos de una molécula real.

Ejemplo práctico 2: aplicar una rotación

Podemos rotar los puntos alrededor del eje Z.

import numpy as np
angle = np.pi / 3
rotation = np.array([
[np.cos(angle), -np.sin(angle), 0],
[np.sin(angle), np.cos(angle), 0],
[0, 0, 1],
])
rotated = coordinates @ rotation.T
difference_rotated = (
rotated[:, None, :]
- rotated[None, :, :]
)
distances_rotated = np.sum(
difference_rotated ** 2,
axis=-1
)
print(
np.allclose(
distances_squared,
distances_rotated
)
)

El resultado esperado es:

True

Las coordenadas cambian, pero las distancias cuadráticas permanecen iguales.

Ejemplo práctico 3: demostrar una actualización geométrica

Podemos construir una actualización ilustrativa basada en desplazamientos relativos.

import numpy as np
def coordinate_update(points, strength=0.05):
points = np.asarray(
points,
dtype=float
)
delta = (
points[:, None, :]
- points[None, :, :]
)
r2 = np.sum(
delta ** 2,
axis=-1
)
weights = np.exp(-r2)
np.fill_diagonal(weights, 0.0)
movement = np.sum(
delta * weights[:, :, None],
axis=1
)
movement /= max(len(points) - 1, 1)
return points + strength * movement
updated = coordinate_update(coordinates)
print(updated)

Esta implementación demuestra el principio matemático.

Los coeficientes están definidos mediante una función fija de distancia.

En EGNN real, los coeficientes proceden de una red neuronal entrenada.

Por tanto, el ejemplo no reproduce el modelo completo.

Ejemplo práctico 4: comprobar la equivariancia

Podemos aplicar una rotación y una traslación a las coordenadas.

translation = np.array([
2.0, -1.0, 3.0
])
transformed = (
coordinates @ rotation.T
+ translation
)
output_a = coordinate_update(
coordinates
)
output_b = coordinate_update(
transformed
)
expected = (
output_a @ rotation.T
+ translation
)
print(
"Equivarianza:",
np.allclose(
output_b,
expected,
atol=1e-10
)
)

El resultado esperado es:

Equivarianza: True

Este experimento comprueba una propiedad arquitectónica fundamental.

La actualización conmuta con la rotación y la traslación.

Ejemplo práctico 5: comprobar la equivariancia ante reflexiones

Como EGNN es E(n)-equivariante, también debe respetar reflexiones.

reflection = np.diag([
-1.0, 1.0, 1.0
])
reflected = (
coordinates @ reflection.T
)
updated_reflected = coordinate_update(
reflected
)
reflected_updated = (
coordinate_update(coordinates)
@ reflection.T
)
print(
np.allclose(
updated_reflected,
reflected_updated
)
)

El resultado esperado es True.

Esto demuestra que una operación construida exclusivamente a partir de distancias invariantes y desplazamientos relativos también respeta reflexiones.

La propiedad es útil en determinados problemas geométricos, pero implica limitaciones para tareas que necesitan distinguir quiralidad.

Ejemplo práctico 6: instalar la implementación oficial

El código original se encuentra en:

Podemos descargarlo mediante:

git clone https://github.com/vgsatorras/egnn.git
cd egnn

El repositorio original utiliza PyTorch 1.7.1.

Por tanto, antes de ejecutar sus scripts en una instalación moderna deben revisarse las dependencias y versiones compatibles.

La documentación incluye implementaciones para experimentos de dinámica, propiedades moleculares y autoencoders.

Ejemplo práctico 7: utilizar la versión limpia de EGNN

El repositorio contiene:

models/egnn_clean/egnn_clean.py

Podemos cargarla añadiendo su carpeta al entorno Python.

import sys
import torch
sys.path.insert(
0,
"models/egnn_clean"
)
from egnn_clean import (
EGNN,
get_edges_batch
)
batch_size = 2
n_nodes = 4
h = torch.ones(
batch_size * n_nodes,
1
)
x = torch.randn(
batch_size * n_nodes,
3
)
edges, edge_attr = get_edges_batch(
n_nodes,
batch_size
)
model = EGNN(
in_node_nf=1,
hidden_nf=32,
out_node_nf=1,
in_edge_nf=1
)
h_out, x_out = model(
h,
x,
edges,
edge_attr
)
print("Características:", h_out.shape)
print("Coordenadas:", x_out.shape)

Este ejemplo sigue el patrón publicado por los autores.

La salida contiene características y coordenadas actualizadas.

El modelo recién inicializado no está entrenado para una tarea específica.

Por tanto, las coordenadas obtenidas no representan una predicción física validada.

Ejemplo práctico 8: ejecutar un experimento N-body

El repositorio oficial incluye un script para experimentos de dinámica.

Un ejemplo documentado es:

python -u main_nbody.py \
--exp_name experimento_egnn \
--model egnn_vel \
--max_training_samples 3000 \
--lr 5e-4

Este comando presupone que se han preparado los datos y las dependencias.

El modelo egnn_vel incorpora información relacionada con velocidades.

La ejecución corresponde a un experimento de aprendizaje sobre dinámica de partículas, no a un simulador físico universal.

Ejemplo práctico 9: entrenar sobre QM9

El repositorio también contiene scripts de predicción de propiedades moleculares.

Un ejemplo es:

python -u main_qm9.py \
--num_workers 2 \
--lr 5e-4 \
--property alpha \
--exp_name experimento_alpha

La propiedad alpha representa polarizabilidad.

El código requiere disponer de los datos QM9 y sus dependencias.

Los resultados deben compararse utilizando la misma partición, normalización y métrica del benchmark.

Ejemplo práctico 10: comprobar permutaciones de nodos

Podemos comprobar que nuestra actualización educativa se comporta coherentemente al reordenar nodos.

permutation = np.array([2, 0, 3, 1])
reordered = coordinates[permutation]
result_original = coordinate_update(
coordinates
)
result_reordered = coordinate_update(
reordered
)
expected_reordered = (
result_original[permutation]
)
print(
"Equivarianza a permutaciones:",
np.allclose(
result_reordered,
expected_reordered
)
)

El resultado esperado es True.

La numeración arbitraria de los nodos no debe modificar el resultado geométrico, salvo reordenar las salidas correspondientes.


¿Cómo se demuestra matemáticamente la equivariancia?

Podemos resumir la demostración para una actualización de coordenadas.

Supongamos que:

[
x_i’=Qx_i+t
]

Primero calculamos la distancia:

|Q(x_i-x_j)|^2
]

Como (Q) es ortogonal:

[
|Qv|^2=|v|^2
]

Por tanto:

[
m’{ij}=m{ij}
]

Suponiendo que los atributos de entrada son escalares invariantes.

La actualización transformada es:

Qx_i^l+t+
C\sum_j
Q(x_i^l-x_j^l)\phi_x(m_{ij})
]

Podemos factorizar (Q):

Q
\left(
x_i^l+
C\sum_j
(x_i^l-x_j^l)\phi_x(m_{ij})
\right)
+t
]

Finalmente:

Qx_i^{l+1}+t
]

Esto demuestra la equivariancia geométrica de la actualización.

La derivación asume que las características y atributos utilizados para calcular los mensajes son invariantes bajo las transformaciones consideradas.


Ventajas de EGNN

Simplicidad matemática

Utiliza distancias, desplazamientos relativos y redes neuronales convencionales para calcular coeficientes.

Equivarianza geométrica

Respeta rotaciones, traslaciones y reflexiones por construcción.

Generalización dimensional

Puede aplicarse a espacios E(n) de diferentes dimensiones.

Actualización explícita de coordenadas

Resulta útil para problemas de movimiento y predicción geométrica.

Compatibilidad con grafos

Puede integrarse en arquitecturas basadas en message passing.

Sin armónicos esféricos obligatorios

Evita determinadas operaciones complejas de modelos equivariantes basados en representaciones tensoriales.

Implementación pública

Existe código oficial para reproducir los experimentos principales.

Aplicaciones variadas

Puede utilizarse como arquitectura de base para problemas físicos, geométricos y moleculares.


Limitaciones de EGNN

1. Quiralidad

La equivariancia ante reflexiones puede dificultar distinguir configuraciones espejo que tienen propiedades físicas o biológicas diferentes.

2. Expresividad direccional

Los canales ocultos escalares no representan directamente toda la información tensorial disponible en arquitecturas más complejas.

3. Estabilidad de coordenadas

Las actualizaciones espaciales pueden presentar problemas numéricos si los coeficientes o magnitudes no se controlan adecuadamente.

4. Calidad del grafo

La elección de aristas afecta a qué información puede intercambiarse.

5. Coste computacional

El procesamiento de grafos densos puede resultar exigente para sistemas de gran tamaño.

6. Física incompleta

La equivariancia no garantiza que la red conserve energía, momento o restricciones físicas específicas.

7. Validez química

Una predicción de coordenadas no garantiza automáticamente geometría molecular válida.

8. Generalización

El rendimiento depende de los datos y tareas utilizados durante entrenamiento.

9. Dependencias históricas

El repositorio original utiliza versiones antiguas de software.

10. Aplicaciones científicas

Los resultados deben contrastarse con métodos independientes y datos experimentales.


Importancia de EGNN en la evolución de Geometric Deep Learning

EGNN representa una contribución importante porque demuestra que es posible incorporar propiedades geométricas fundamentales mediante un conjunto relativamente sencillo de operaciones.

La arquitectura evita depender necesariamente de representaciones tensoriales complejas.

En su lugar, construye mensajes invariantes a partir de distancias.

Después utiliza esos mensajes para calcular desplazamientos equivariantes.

Este principio conecta tres conceptos:

Graph Neural Networks: aprendizaje mediante relaciones entre nodos.

Geometría euclidiana: utilización de distancias y desplazamientos.

Simetrías: conservación de propiedades ante rotaciones, traslaciones, reflexiones y permutaciones.

La arquitectura proporciona una base conceptual útil para comprender desarrollos posteriores de inteligencia artificial científica.

En particular, ayuda a estudiar cómo las redes neuronales pueden producir salidas geométricas sin depender de coordenadas absolutas arbitrarias.

También muestra que la elección de simetrías debe depender del problema.

La equivariancia ante reflexiones puede ser deseable para algunas tareas físicas.

Sin embargo, en tareas sensibles a quiralidad puede ser necesario utilizar representaciones que distingan orientaciones espejo.

Por ello, EGNN no debe interpretarse como una solución universal, sino como una arquitectura general importante dentro del aprendizaje profundo geométrico.


Preguntas frecuentes sobre EGNN

¿Qué es EGNN?

Es una red neuronal de grafos equivariante respecto a transformaciones euclidianas, diseñada para procesar atributos y coordenadas espaciales.

¿Qué significa E(n)-Equivariant Graph Neural Network?

Significa red neuronal de grafos equivariante respecto a rotaciones, traslaciones y reflexiones en un espacio de (n) dimensiones.

¿Quién desarrolló EGNN?

Víctor Garcia Satorras, Emiel Hoogeboom y Max Welling, vinculados a la Universidad de Ámsterdam.

¿Cuándo se publicó?

En ICML 2021.

¿Qué es E(n)?

Es el grupo euclidiano de transformaciones rígidas, incluidas rotaciones, traslaciones y reflexiones.

¿Qué diferencia existe entre E(3) y SE(3)?

E(3) incluye reflexiones; SE(3) contiene rotaciones propias y traslaciones.

¿Qué es equivariancia?

Es la propiedad de una operación cuya salida se transforma de manera coherente cuando transformamos su entrada.

¿Qué es invariancia?

Es la propiedad de permanecer igual bajo determinadas transformaciones.

¿Qué es equivariancia ante permutaciones?

Es la propiedad de conservar la correspondencia de los resultados cuando reordenamos los nodos de un grafo.

¿Qué información utiliza EGNN?

Características de nodos, atributos de aristas, coordenadas y relaciones geométricas.

¿Qué son los mensajes (m_{ij})?

Son representaciones aprendidas de la interacción entre nodos conectados.

¿Por qué utiliza distancias cuadráticas?

Porque son invariantes bajo transformaciones ortogonales.

¿Cómo actualiza coordenadas?

Mediante una suma ponderada de desplazamientos relativos entre nodos.

¿EGNN necesita armónicos esféricos?

No en su formulación principal.

¿EGNN utiliza tensores de orden superior?

No como requisito central de su arquitectura.

¿EGNN funciona en dos dimensiones?

Sí. Su formulación permite utilizar espacios de distintas dimensiones.

¿Puede utilizarse en cinco dimensiones?

Sí, siempre que la tarea, las coordenadas y la implementación sean compatibles.

¿Qué es N-body Motion Prediction?

Es la predicción de la evolución de posiciones de varios objetos que interactúan.

¿Qué es QM9?

Es un dataset de moléculas pequeñas y propiedades calculadas mediante química cuántica.

¿Qué es Graph Autoencoder?

Es un modelo que aprende representaciones latentes de grafos mediante objetivos de reconstrucción.

¿Qué diferencia existe entre EGNN y GVP-GNN?

EGNN actualiza coordenadas mediante desplazamientos relativos; GVP-GNN combina canales escalares y vectoriales explícitos.

¿Qué diferencia existe entre EGNN y ProteinMPNN?

EGNN es una arquitectura geométrica general; ProteinMPNN está especializada en diseño inverso de proteínas.

¿Qué diferencia existe entre EGNN y RoseTTAFold?

RoseTTAFold utiliza una arquitectura de tres vías para predicción estructural; EGNN utiliza message passing con actualización equivariante de coordenadas.

¿Qué diferencia existe entre EGNN y SE(3)-Transformer?

EGNN utiliza operaciones geométricas relativamente sencillas; SE(3)-Transformer incorpora atención y representaciones tensoriales especializadas.

¿Puede EGNN distinguir enantiómeros?

La formulación original no distingue automáticamente todas las configuraciones espejo, debido a su equivariancia ante reflexiones.

¿EGNN conserva energía?

No necesariamente. La equivariancia geométrica no implica conservación de energía.

¿Puede utilizarse EGNN para moléculas?

Sí. El artículo original incluye predicción de propiedades moleculares.

¿Puede utilizarse para proteínas?

Sí, como componente arquitectónico en aplicaciones geométricas adecuadas, aunque el artículo original no presenta EGNN como un predictor completo especializado en plegamiento de proteínas.

¿Funciona con Python?

Sí. La implementación oficial utiliza PyTorch.

¿Existe código abierto?

Sí. Los autores publicaron un repositorio bajo licencia MIT.

¿Por qué es importante estudiar EGNN?

Porque demuestra cómo actualizar coordenadas y aprender relaciones espaciales respetando simetrías geométricas sin recurrir necesariamente a representaciones tensoriales complejas.


Conclusión

La arquitectura EGNN representa un avance fundamental dentro del aprendizaje profundo geométrico.

Su principal innovación consiste en combinar redes neuronales de grafos con una regla de actualización de coordenadas que respeta transformaciones euclidianas.

Los mensajes se calculan utilizando características de nodos, atributos de aristas y distancias cuadráticas.

Posteriormente, la red utiliza coeficientes escalares aprendidos para combinar desplazamientos relativos entre posiciones.

Esta operación permite obtener coordenadas de salida que se transforman coherentemente bajo rotaciones, traslaciones y reflexiones.

Además, la arquitectura es equivariante ante permutaciones de nodos y puede aplicarse a espacios de diferentes dimensiones.

La investigación original demostró su utilidad en dinámica de partículas, propiedades moleculares y aprendizaje de representaciones de grafos.

Sin embargo, EGNN presenta limitaciones de expresividad, quiralidad y validación física.

Sus propiedades geométricas no garantizan automáticamente que las predicciones sean químicamente válidas o físicamente correctas.

Para estudiantes, investigadores y desarrolladores de inteligencia artificial, EGNN ofrece una lección fundamental:

Las simetrías del espacio pueden incorporarse directamente en las operaciones de una red neuronal, permitiendo aprender relaciones geométricas y actualizar coordenadas sin depender de orientaciones arbitrarias ni representaciones tensoriales complejas.

Comprender EGNN permite profundizar en Graph Neural Networks, message passing, equivariancia, geometría euclidiana, modelado molecular, dinámica de partículas y aprendizaje profundo científico.


Referencias y fuentes oficiales

  1. Satorras, V. G., Hoogeboom, E. y Welling, M. (2021). E(n) Equivariant Graph Neural Networks. Proceedings of the 38th International Conference on Machine Learning, PMLR 139, 9323–9332. https://proceedings.mlr.press/v139/satorras21a.html
  2. Satorras, V. G., Hoogeboom, E. y Welling, M. (2021). E(n) Equivariant Graph Neural Networks. arXiv. https://arxiv.org/abs/2102.09844
  3. Garcia Satorras, V. EGNN — Repositorio oficial. https://github.com/vgsatorras/egnn
  4. Hoogeboom, E. E(n) Equivariant Graph Neural Networks — Página de investigación. https://ehoogeboom.github.io/publication/egnn/
  5. Satorras, V. G. et al. (2021). E(n) Equivariant Normalizing Flows. NeurIPS. https://arxiv.org/abs/2105.09016
  6. Gilmer, J. et al. (2017). Neural Message Passing for Quantum Chemistry. ICML. https://arxiv.org/abs/1704.01212
  7. Fuchs, F. B. et al. (2020). SE(3)-Transformers: 3D Roto-Translation Equivariant Attention Networks. NeurIPS. https://arxiv.org/abs/2006.10503
  8. Thomas, N. et al. (2018). Tensor Field Networks: Rotation- and Translation-Equivariant Neural Networks for 3D Point Clouds. https://arxiv.org/abs/1802.08219
  9. Jing, B. et al. (2021). Learning from Protein Structure with Geometric Vector Perceptrons. ICLR. https://arxiv.org/abs/2009.01411
  10. Bronstein, M. M. et al. (2021). Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges. https://arxiv.org/abs/2104.13478

Solicitar Análisis Gratuito
Solicitar Análisis Gratuito

Visibilidad IA

Contact

Menu

(c) 2025-2026  Todos los derechos reservados | Designed by Benelux-IT