Egregore v5.0: motor cognitivo autónomo homeostático de geometría topológica de alta dimensión basado en PyTorch
(github.com/PJHkorea)Como investigación personal, desarrollé y documenté un proyecto de capa cognitiva (Egregore v5.0) que fusiona recursos de física matemática/teoría cuántica de campos con funciones objetivo de deep learning y estructuras de variedades.
Como suelo adoptar primero un enfoque cognitivo y luego complementarlo, es muy probable que haya actualizaciones de versión adicionales con frecuencia.
Más allá de un simple prototipo, reuní el proceso de troubleshooting y las mejoras arquitectónicas que experimenté al evolucionarlo desde la v1.0 hasta la v5.0 para construir una infraestructura que realmente pueda operar en entornos de entrenamiento distribuido a gran escala.
En cada documento README agregué además mis limitaciones y el proceso para superarlas.
Puntos clave de implementación y refactorización
-
Morphing de variedades diferenciable en todo el recorrido: sin condicionales (If-Else), mapeé perfectamente la transición topológica entre las variedades esfera (Sphere) y toro (Torus) mediante combinaciones de funciones continuas Sigmoid/Tanh.
-
Introducción de una función de pérdida topológica de acoplamiento de 3 elementos (Advanced Topological Loss): para evitar el colapso topológico y el mode collapse, donde los pesos se sesgan y adhieren a un plano específico, combiné de forma polinómica la pérdida de alineación de curvatura, la entropía de información de Casimir (maximización de Shannon Entropy) y la longitud del arco geodésico de variedades riemannianas (
torch.acos). -
Establecimiento de guardrails de Zero-NaN y memoria para uso real: forcé el uso de
torch.clamppara evitar la divergencia de derivadas en funciones trigonométricas inversas, la inyección de EPSILON para prevenir la explosión de derivadas de raíz, la prevención de explosiones ainfen la funciónexp, y el casteofloat(loss.item())para bloquear memory leaks. -
Aislamiento de tasa de aprendizaje por capa (LLRD): mediante rastreo de direcciones de memoria basado en
id(), aseguré la estabilidad del entrenamiento aislando y controlando la tasa de aprendizaje de los parámetros de compuerta topológica a un nivel 100 veces menor que el backbone general.
También documenté en coreano e inglés el análisis de las causas de falla de los “paradigmas de física matemática rechazados” (Rejected Paradigms) que intenté implementar, como la integral de trayectoria de Feynman o la igualdad de Jarzynski.
Espero que sea una buena referencia para quienes estén interesados en implementaciones prácticas en PyTorch de geometría de la información (Information Geometry) o IA basada en física (PINN).
Este proyecto sigue la licencia GPLv3, un sólido principio open source de copyleft.
4 comentarios
Me pareció interesante. Quisiera preguntar por algunos puntos de los detalles de implementación.
Zona muerta de la pérdida geodésica con
acos+clampCalculan la longitud del arco geodésico con
torch.acos, pero la derivada deacosdiverge cuando la entrada se acerca a ±1. Mencionaron que lo controlaron conclamp. Sin embargo, en la zona de transición topológica donde la esfera y el toro casi coinciden, el valor del producto interno tenderá a ±1; en ese momento, si entra elclamp, ¿no se vuelve 0 el gradiente de ese término y desaparece la señal de aprendizaje? Justo en la frontera topológica más significativa parecería que el aprendizaje se detiene. ¿Cómo manejaron esa zona muerta?Conflicto de signo entre el término de alineación de curvatura y el término de maximización de entropía
La presión por alinear y hacer converger la curvatura, y la presión entrópica por extender la distribución de manera plana, son objetivos que compiten directamente sobre el manifold. Dependiendo de la proporción entre sus pesos, la solución óptima podría cambiar por completo. ¿Cómo determinaron esa proporción? ¿No ocurre que uno de los lados termina dominando y el otro funciona, en la práctica, solo como una regularización ruidosa? ¿Tienen resultados de ablación quitando cada término por separado?
Definición de la "entropía de información de Casimir"
Casimir pertenece al contexto de la física, mientras que la entropía de Shannon es una magnitud de teoría de la información; pero en el código, al final, parece verse como un cálculo estándar de entropía de Shannon sobre la distribución de pesos. ¿El nombre "Casimir" corresponde a algún término adicional real en la formulación matemática, o es solo una etiqueta puesta a una regularización entrópica general? Si es lo primero, ¿podrían mostrar la fórmula en forma cerrada de ese término?
acos+ zona muerta declampmargin = 0.95
leaky_slope = 0.01
leaky_cos = torch.where(
torch.abs(x) < margin * bound,
x, # 1. en la zona segura (por debajo de 0.95), preservación lineal perfecta de la distancia geodésica
torch.sign(x) * (margin * bound + leaky_slope * (torch.abs(x) - margin * bound)) # 2. al entrar en la superficie límite, soft bending
)
return torch.clamp(leaky_cos, min=-bound, max=bound)
conflicto de signos entre el término de alineación de curvatura y el término de maximización de entropía
Con una distribución de equilibrio dinámico 2:1 entre atracción y repulsión, y en la estructura más reciente, se cambió a una cadena de operaciones
F.log_softmaxque garantiza una estabilidad numérico-analítica extrema, para que incluso bajo la presión del conflicto de signos el valor de la pérdida no se dispare y ambos puedan coexistir.entropía de información de Casimir
La fórmula en sí efectivamente corresponde a la entropía de Shannon.
Aun así, la razón por la que a este término se le dio el nombre de "Casimir" es que la fuente de la distribución de probabilidad sobre la que se calcula esta entropía es la salida de un filtro que modela el efecto físico de Casimir.
La fórmula en forma cerrada la dejé desarrollada y corregida en el README.
https://github.com/PJHkorea/Egregore/blob/main/README.md
Muchísimas gracias. Gracias a que lo revisaste, volví a introducir cambios en la implementación.
https://github.com/PJHkorea/Egregore/…
La corregí a esa versión. De verdad, muchísimas gracias. Me diste una inspiración enorme.
Últimamente veo mucho este tipo de cosas; ¿será que hay alguien haciendo spam con un agente al que le metieron un prompt como "crear algo que suene más o menos experto y publicarlo en sitios comunitarios"?
Lo siento. Como trabajé por mi cuenta, fui algo dogmático.
Lo corregiré