Egregore v5.0: motor cognitivo autônomo de homeostase em geometria topológica de alta dimensão baseado em PyTorch
(github.com/PJHkorea)Como pesquisa pessoal, desenvolvi e documentei o processo de um projeto de camada cognitiva (Egregore v5.0) que integra truques de física matemática/teoria quântica de campos a funções objetivo de deep learning e estruturas de variedades. Como muitas vezes adoto primeiro uma abordagem cognitiva e depois faço complementações, é bem provável que haja atualizações de versão frequentes.
Além de um simples protótipo, o projeto registra o troubleshooting e as melhorias arquiteturais vivenciados ao evoluí-lo da v1.0 à v5.0 para construir uma infraestrutura capaz de funcionar de fato em ambientes de treinamento distribuído em larga escala. Em cada documento README, também escrevi sobre minhas limitações e o processo para superá-las.
Principais pontos de implementação e refatoração
-
Morphing de variedades diferenciável de ponta a ponta: sem condicionais (If-Else), mapeei perfeitamente a transição topológica entre variedades de esfera (Sphere) e toro (Torus) usando uma combinação de funções contínuas Sigmoid/Tanh.
-
Introdução de uma função de perda topológica de 3 componentes (Advanced Topological Loss): para evitar a depressão topológica (Topological Collapse), em que os pesos ficam enviesados e aderidos a um plano específico, e o colapso de modos, combinei polinomialmente a perda de alinhamento de curvatura, a entropia de informação de Casimir (maximização da entropia de Shannon) e o comprimento do arco geodésico de uma variedade riemanniana (
torch.acos). -
Estabelecimento de guardrails práticos Zero-NaN e de memória: forcei o uso de
torch.clamppara impedir a divergência da diferenciação de funções trigonométricas inversas, a injeção de EPSILON para evitar explosão da derivada da raiz, a prevenção de explosões parainfna funçãoexpe o castingfloat(loss.item())para bloquear vazamentos de memória (Memory Leak). -
Isolamento de taxa de aprendizado por camada (LLRD): por meio do rastreamento de endereços de memória baseado em
id(), controlei isoladamente a taxa de aprendizado dos parâmetros do gate topológico em um valor 100 vezes menor que o do backbone comum, garantindo estabilidade no treinamento.
Também documentei em coreano e inglês a análise das causas de falha dos “paradigmas de física matemática rejeitados” (Rejected Paradigms) durante tentativas de implementação, como a integral de caminho de Feynman e a igualdade de Jarzynski.
Espero que sirva como uma boa orientação para quem se interessa por implementações práticas em PyTorch de geometria da informação (Information Geometry) ou IA baseada em física (PINN).
Este projeto segue a licença GPLv3, um forte princípio copyleft de código aberto.
4 comentários
Achei interessante. Tenho algumas dúvidas sobre os detalhes de implementação.
dead-zone do
acosgeodésico +clampVocês calculam o comprimento do arco geodésico com
torch.acos, mas a derivada deacosdiverge quando a entrada se aproxima de ±1. Vocês disseram que bloquearam isso comclamp. Porém, na faixa de transição topológica em que a esfera e o toro quase coincidem, o valor do produto interno deve convergir para ±1; nesse momento, se oclampentrar em ação, o gradiente desse termo não vira 0, fazendo o sinal de aprendizado desaparecer? Parece uma estrutura em que o aprendizado para justamente na fronteira topológica mais significativa. Como vocês trataram essa dead-zone?Conflito de sinal entre o termo de alinhamento de curvatura e o termo de maximização de entropia
A pressão para alinhar e fazer convergir a curvatura e a pressão entrópica para espalhar a distribuição de forma plana são objetivos que competem diretamente sobre a variedade. Dependendo da proporção dos pesos, a solução ótima pode mudar completamente; como vocês definiram essa proporção? Será que um dos lados não acaba dominando, enquanto o outro termo na prática funciona apenas como regularização ruidosa? Vocês têm resultados de ablação removendo cada termo?
Definição de "entropia informacional de Casimir"
Casimir vem de um contexto da física, enquanto entropia de Shannon é uma grandeza da teoria da informação; no código, porém, no fim das contas isso parece ser apenas um cálculo padrão de entropia de Shannon sobre a distribuição dos pesos. Existe de fato algum termo adicional na fórmula que justifique a nomenclatura "Casimir", ou isso é apenas um nome dado a uma regularização entrópica comum? Se for a primeira opção, vocês poderiam mostrar a fórmula em forma fechada desse termo?
acos+ dead-zone doclampmargin = 0.95
leaky_slope = 0.01
leaky_cos = torch.where(
torch.abs(x) < margin * bound,
x, # 1. na zona segura (abaixo de 0,95), preservação perfeitamente linear da distância geodésica
torch.sign(x) * (margin * bound + leaky_slope * (torch.abs(x) - margin * bound)) # 2. soft bending ao entrar na superfície de fronteira
)
return torch.clamp(leaky_cos, min=-bound, max=bound)
conflito de sinal entre o termo de alinhamento de curvatura e o termo de maximização de entropia
Com a distribuição de equilíbrio dinâmico de 2:1 entre atração e repulsão, e na estrutura mais recente, mudamos para uma cadeia de operações
F.log_softmaxque garante estabilidade numérica extrema do ponto de vista da análise numérica, permitindo que os termos coexistam sem que o valor da perda dispare mesmo sob a pressão do conflito de sinais.entropia de informação de Casimir
A fórmula em si é, de fato, a entropia de Shannon
Mesmo assim, o motivo de esse termo receber o nome "Casimir" é que a origem da distribuição de probabilidade na qual essa entropia é calculada vem da saída de um filtro que simula o efeito físico de Casimir
A fórmula em forma fechada foi revisada e expandida no README.
https://github.com/PJHkorea/Egregore/blob/main/README.md
Muito obrigado mesmo. Graças à sua revisão, fiz mais uma mudança na implementação.
https://github.com/PJHkorea/Egregore/…
Foi corrigido para essa versão. Muito, muito obrigado. Você me deu uma inspiração enorme.
Ultimamente tenho visto muito esse tipo de coisa; será que tem alguém fazendo spam com um agente ao qual foi dado um prompt tipo “criar algo que soe especializado e postar em sites de comunidade”?
Desculpem. Como fiz um trabalho por conta própria, acabei sendo um pouco dogmático.
Vou corrigir.