Voltar ao blog

Publicado em 13 de agosto de 2026

Construindo cérebros a partir de geometria não rotulada: O que o NeMoCo ensina a um engenheiro de IA

Um amigo me enviou recentemente um artigo. Ele faz parte da equipe por trás dele, e achou que eu o encontraria interessante considerando o trabalho com agentes de IA que tenho feito. Ele estava certo.

O artigo é NeMoCo: aprendizado contrastivo auto-supervisionado para morfologias de neurociência 3D ultrasstrutural, publicado no Graphical Models da Elsevier (agosto de 2026). O autor principal é Humaira Shaffique, supervisionado pelo Dr. Marco Agus na Hamad Bin Khalifa University, com co-autores Dr. Uzair Shah, Dr. Mahmood Alzubaidi, Dr. Jens Schneider, Dr. Pierre Julius Magistretti, Dr. Corrado Calì e o Prof. Mowafa H. O código é open-source no GitHub sob licença MIT.

Não sou neurocientista. Sou engenheiro de IA. Passo meus dias construindo a Aura — um assistente pessoal de IA que gerencia memória, roteia tarefas, recupera contexto e tenta ser genuinamente útil entre sessões. Mas ao ler o NeMoCo, continuo vendo os mesmos problemas estruturais com os quais lido na engenharia de agentes, apenas vestidos com dados de microscopia eletrônica e geometria espectral. Portanto, este é um writeup técnico desse ponto de vista — o que o NeMoCo faz, por que é interessante e o que espelha no trabalho de construção de sistemas de agentes.

O Problema: Rótulos São Caros, A Biologia Não os Usa

Neurocientistas utilizam microscopia eletrônica de volume (EM) para capturar imagens 3D de tecido cerebral com resolução nanométrica. A partir dessas imagens, eles reconstruem malhas 3D de estruturas subcelulares — neuritos (ramificações de axônio e dendrito), organelas como mitocôndrias, envelopes nucleares. Essas malhas são as morfologias: as formas reais 3D das estruturas neurais.

Para classificá‑los — será que este é um axônio, um dendrito ou uma espinha? — é necessário que neurocientistas especializados rotulem manualmente cada malha. Isso é lento, caro e não escala. Não é possível treinar um classificador supervisionado sem rótulos, e não se obtêm rótulos sem especialistas. A conectômica precisa processar milhões dessas estruturas. A rotulagem manual é um gargalo.

Aqui está o que me chamou a atenção: o cérebro também não recebe rótulos. Uma criança não precisa que alguém diga "esta é uma cadeira" toda vez que vê uma cadeira. Ela aprende o conceito observando cadeiras de diferentes ângulos, em diferentes iluminações, a diferentes distâncias — descobrindo as propriedades invariantes que fazem uma cadeira ser uma cadeira. Sem rótulos. Apenas experiência bruta e a descoberta de estrutura.

O NeMoCo pergunta: uma máquina pode fazer o mesmo com estruturas neurais?

O que o NeMoCo faz

NeMoCo é um pipeline de aprendizado contrastivo auto-supervisionado para classificação de malhas 3D. Ele aprende a reconhecer estruturas neurais sem um único exemplo rotulado durante o pré-treinamento. A arquitetura é um sistema de encoder duplo no estilo CLIP aplicado a malhas 3D.

Aqui está como funciona:

  1. Pegue uma malha 3D não rotulada de um neuríto ou organela.
  2. Crie duas visualizações da mesma malha: a original (ou levemente aumentada) e uma versão transformada — rotação aleatória (±60°), escala (0.6–1.4×), cisalhamento e, opcionalmente, decimação (50–75% a menos de faces).
  3. Passe ambas as visualizações por um DiffusionNet encoder — uma rede neural que opera diretamente em superfícies 3D usando geometria espectral (autovalores e autovetores da Laplaciana da malha).
  4. O encoder produz um vetor de incorporação de 32 dimensões para cada visualização.
  5. Uma CLIP-style contrastive loss treina o modelo para aproximar as duas visualizações da mesma malha enquanto afasta as incorporações de malhas diferentes.
  6. Uma ramificação do encoder é atualizada por retropropagação normal; a outra é um atualizado por momento "professor" (EMA, momentum=0.999) — a abordagem MoCo, que evita o colapso de representação.

A percepção-chave: ao aprender que uma malha rotacionada, escalonada e decimada é "a mesma coisa", o encoder descobre as características geométricas intrínsecas que definem cada tipo de estrutura neural — sem nunca ser informado quais são os tipos.

Por que o DiffusionNet importa aqui

DiffusionNet (Sharp et al., SIGGRAPH 2022) não é algo que o NeMoCo inventou. É uma arquitetura emprestada para aprendizado em superfícies 3D. Mas a escolha é significativa. Diferente das CNNs (que precisam de grades regulares) ou do PointNet (que trata os pontos independentemente), o DiffusionNet opera na geometria espectral de uma superfície — calculando autofunções de Laplacian (pense: modos de vibração da forma) e usando Assinaturas do Kernel de Calor (HKS) como descritores multiescala que capturam a forma local em diferentes escalas espaciais.

Isso importa porque os neurônios são fundamentalmente estruturas 3D. A geometria É a morfologia. Ao classificar estruturas neurais, a forma — sua curvatura, ramificação, espessura, textura da superfície — é o sinal. O DiffusionNet respeita isso. Ele não achata a malha em uma imagem nem a reduz a uma nuvem de pontos. Ele aprende na própria superfície.

No NeMoCo, o DiffusionNet recebe como entrada características HKS de 16 dimensões e produz um embedding de 32 dimensões, usando 4 blocos com largura=128. A arquitetura é emprestada, mas a aplicação é nova: essa combinação específica de DiffusionNet + MoCo + aprendizado contrastivo no estilo CLIP aplicado a morfologias de neurociência ultrasstrutural ainda não foi feita antes.

Enquadramento da Construção Cerebral

É aqui que o meu cérebro de engenheiro de IA começou a acender.

NeMoCo é, em um sentido real, construindo uma parte do que um cérebro faz — não biologicamente, mas computacionalmente. Está construindo um sistema que aprende a categorizar estruturas neurais da mesma forma que cérebros biológicos aprendem a categorizar o mundo: a partir de experiência bruta e não rotulada.

O paralelo está no nível do princípio, não do mecanismo. NeMoCo usa uma função de perda matemática específica (cross-entropy no estilo CLIP). O cérebro usa plasticidade dependente do tempo de disparo e neuromodulação — muito mais complexa e não diretamente análoga. O 'banco de memória' do NeMoCo é uma tabela de busca kNN. A memória biológica é associativa, reconstrutiva e constantemente reorganizada. O cérebro aprende continuamente a partir de um fluxo; o NeMoCo treina em épocas discretas em um conjunto de dados fixo.

Mas o princípio se mantém: rótulos não são necessários para aprender boas representações. É assim que os cérebros biológicos operam, e o NeMoCo é uma demonstração computacional disso.

Os Elementos de um Cérebro, Mapeados

Se você pensar sobre o que um cérebro faz — em um nível funcional, não biológico — você pode dividi-lo em elementos: percepção, memória, representação, aprendizado e raciocínio. O NeMoCo tem análogos para cada um deles:

  • Perception: A entrada sensorial bruta torna-se uma representação estruturada. No NeMoCo, os recursos HKS + DiffusionNet transformam uma malha bruta em um embedding geométrico. No cérebro, os sinais sensoriais brutos tornam-se características perceptuais.
  • Memory: Representações armazenadas, recuperáveis por similaridade. O banco de memória kNN congelado do NeMoCo armazena embeddings e recupera pelo vizinho mais próximo. O cérebro recupera por similaridade associativa.
  • Representation: Características invariantes extraídas de experiências variadas. O embedding 32D do NeMoCo mapeia a mesma malha sob diferentes transformações para o mesmo vetor. O cérebro mantém representações estáveis de objetos entre diferentes pontos de vista.
  • Aprendizagem: Atualização baseada na experiência. NeMoCo usa backpropagation + EMA de momento. O cérebro usa regras de plasticidade.
  • Raciocínio: Combinação de representações para tomar decisões. NeMoCo usa votação kNN e sondagem linear. O cérebro faz... bem, algo muito mais complexo, mas o papel funcional é o mesmo.

Não estou afirmando que o NeMoCo é um cérebro. É um pipeline matemático. Mas é um pipeline que constrói uma peça funcional do que os cérebros fazem: construir representações internas úteis a partir de experiência bruta e não rotulada.

Onde ele espelha a engenharia de agentes

Esta é a parte que mais me atingiu pessoalmente. Eu construo a Aura — um assistente de IA que gerencia memória, roteia tarefas, recupera contexto e mantém continuidade entre as sessões. Os paralelos estruturais com o NeMoCo são concretos o suficiente para que eu tenha ficado assentindo enquanto lia o artigo.

Pré-treinamento Auto-supervisionado ↔ Memória de Agente

O NeMoCo faz pré-treinamento em 4,235 malhas de crânio de camundongo não rotuladas (o conjunto de dados MouseFinal), construindo uma representação geométrica de propósito geral. Esse encoder pré-treinado pode então ser congelado e reutilizado para várias tarefas downstream — classificação, recuperação, agrupamento — sem retreinar o núcleo.

A memória de agente funciona da mesma forma. Os arquivos de memória da Aura — memória de longo prazo, notas diárias, notas de ferramentas — constroem uma compreensão de propósito geral do usuário, dos projetos e do ambiente sem rótulos específicos de tarefa. Essa memória persiste entre as sessões e pode ser consultada para qualquer tarefa. É um "contexto pré-treinado" que não precisa ser reconstruído a cada vez.

A avaliação kNN congelada é o paralelo mais nítido. O encoder do NeMoCo, pré-treinado sem rótulos, atinge ~70–80% de acurácia em uma tarefa de classificação para a qual nunca foi explicitamente treinado — apenas encontrando os vizinhos mais próximos no espaço de embutimento. Uma memória de agente bem mantida permite que um assistente de IA responda a perguntas sobre projetos dos quais não foi explicitamente informado na sessão atual — apenas encontrando entradas semanticamente semelhantes. O mecanismo é diferente (kNN no espaço vetorial versus busca semântica sobre texto), mas o princípio é o mesmo: uma boa representação, construída a partir da experiência bruta, transfere-se para tarefas para as quais nunca foi projetada.

Aprendizado de Representação ↔ Estrutura de Conhecimento do Agente

O embutimento de 32 dimensões do NeMoCo é uma representação comprimida da identidade geométrica de uma malha. Embutimentos que estão próximos no espaço vetorial representam morfologias semelhantes. O espaço de embutimento surge dos dados — ninguém projetou quais dimensões correspondem a quais características.

A memória do agente é uma representação comprimida de fatos, decisões e contexto. O agente não armazena transcrições brutas; ele armazena significado destilado. E a estrutura dessa memória surge do uso, não de um esquema pré-definido. Não projetei a taxonomia de memória da Aura antecipadamente. Descobri o que era importante através da interação — quais projetos surgem, quais decisões importam, quais preferências se repetem. A memória agrupa naturalmente conceitos relacionados, da mesma forma que o espaço de embutimento do NeMoCo agrupa naturalmente estruturas neurais semelhantes.

A percepção contrastiva

Este é mais especulativo, mas eu acho que é real. A perda contrastiva do NeMoCo funciona puxando coisas semelhantes para junto e empurrando coisas diferentes para longe. O modelo aprende o que faz duas visualizações serem "a mesma malha" também aprendendo o que as faz serem "não alguma outra malha".

Há uma lição aqui para o design de agentes. Um agente que armazena apenas fatos — exemplos positivos — não tem como saber o que é distinctive sobre aqueles fatos. Tenho experimentado o rastreamento de contrastes na memória da Aura: "este projeto usa SQLite, não Postgres"; "este usuário prefere respostas diretas, não explicações." A enquadramento contrastivo torna a representação mais rica. Não basta saber o que algo é; também é preciso saber o que ele não é.

O encoder de momento é outro exemplo. O ramo de professor lentamente atualizado (EMA, τ=0.999) impede que a representação oscile selvagemente durante o treinamento. A memória do agente poderia usar um princípio semelhante de "atualização lenta". Não reescrevo a memória de longo prazo a cada novo fato. Deixo que padrões importantes acumulem peso ao longo do tempo antes de promovê-los. Anotações diárias são logs brutos; a memória de longo prazo é curada. A promoção de um para o outro é uma atualização semelhante ao momento — lenta, deliberada, resistente ao ruído.

Os Resultados

NeMoCo avalia as representações aprendidas em três níveis:

  1. Frozen kNN (k=20): O codificador está completamente congelado. As malhas de teste são classificadas encontrando seus 20 vizinhos mais próximos em um banco de memória de embeddings de treinamento e votando. Zero treinamento adicional. Resultado: ~70–80% de acurácia na tarefa de classificação de estrutura neural de seis classes, após pré-treinamento no MouseFinal — um conjunto de dados que o codificador nunca viu rótulos.
  2. Linear probing: Uma única camada linear é treinada sobre o codificador congelado. Isso testa se os recursos aprendidos são linearmente separáveis — as classes formam clusters limpos no espaço de embeddings?
  3. Fine-tuning: O codificador + classificador inteiro é treinado de ponta a ponta. Este é o teto supervisionado: ~87% de acurácia.

A descoberta principal: self-supervised and supervised approaches reach comparable accuracy. Não idêntico — o teto supervisionado é maior — mas suficientemente próximo para que você possa classificar estruturas neurais sem grandes conjuntos de dados rotulados. A acurácia de recuperação do CLIP durante o pré-treinamento é 200–400× melhor que o acaso aleatório (aleatório = 0.024% para 4,235 malhas), o que indica que o codificador está aprendendo estrutura real, não apenas memorizando ruído.

Esses números vêm do README da Fase 4 do projeto — intervalos esperados, não números finais publicados. O artigo está atrás de paywall no ScienceDirect, então não posso verificar os números finais exatos. Mas a direção é clara: o pré-treinamento auto-supervisionado fecha a maior parte da diferença para o treinamento totalmente supervisionado, e faz isso sem um único rótulo.

Por Que Isso Importa

Conectômica precisa de escala. O gargalo não é a imagem — a tecnologia EM pode capturar terabytes de dados. O gargalo é a anotação. Se você precisar de neurocientistas especializados para rotular manualmente cada malha, você está limitado pelo throughput humano. A abordagem do NeMoCo — pré-treinar em dados não rotulados, transferir para tarefas rotuladas com fine-tuning mínimo — é um caminho para romper esse gargalo.

A transferência entre domínios é particularmente interessante. O NeMoCo pré-treina em malhas de crânio de camundongo e transfere para classificação de estruturas neurais. Domínio diferente, formas diferentes, mesmos primitivos geométricos. O encoder aprendeu características gerais de forma 3D que foram transferidas. Essa é a promessa do auto-supervisionado: aprender a estrutura do mundo, depois especializar-se baratamente.

O código é de código aberto. Os conjuntos de dados são descritos no repositório. A arquitetura é reproduzível em uma RTX 3090 (com tamanho de lote reduzido) ou em uma A100 para treinamento em escala total. Isso não é um sistema corporativo fechado — é um projeto de pesquisa que você pode executar por conta própria.

A Equipe

Isso surgiu da Universidade Hamad Bin Khalifa, no Catar. Humaira Shaffique liderou o trabalho como parte de sua tese de mestrado. Dr. Marco Agus supervisionou. Dr. Uzair Shah (o dono do repositório e mentor), Dr. Mahmood Alzubaidi, Dr. Jens Schneider, Dr. Pierre Julius Magistretti, Dr. Corrado Calì e o Prof. Mowafa H. completam a lista de co-autores. O artigo está em Graphical Models (Elsevier), publicado por volta de agosto de 2026.

Meu amigo faz parte da equipe. Ele me enviou porque achou que as paralelas com a engenharia de agentes fariam sentido. E fizeram.

O que estou levando

Construindo a Aura, tenho resolvido o mesmo problema fundamental que o NeMoCo resolve, apenas em um domínio diferente: como você constrói representações internas úteis a partir de experiência bruta e não rotulada?

Resposta do NeMoCo: aprendizado contrastivo na geometria intrínseca. Mostre ao sistema a mesma coisa de ângulos diferentes, diga-lhe 'isso é o mesmo' e ele descobrirá o que importa. Minha resposta para a Aura: acumule memória a partir da interação, deixe a estrutura emergir do uso, promova padrões lentamente. Mecanismos diferentes, mesmo princípio.

A estrutura de construção cerebral não é uma metáfora que estou forçando. É a estrutura real do problema. Quando você constrói um agente — percepção (roteamento de entrada), memória (armazenamento e recuperação), representação (contexto comprimido), aprendizado (atualizações de memória), raciocínio (seleção de ferramentas e planejamento) — você está construindo algo semelhante a um cérebro a partir de componentes. Não biologicamente. Funcionalmente. Da mesma forma que o NeMoCo constrói um sistema que categoriza estruturas neurais da maneira como os cérebros categorizam o mundo: sem ser informado quais são as categorias.

Essa é a lição. Os rótulos são um atalho. A estrutura é o que importa. E você pode aprender a estrutura a partir da experiência bruta — seja você um cérebro, um classificador de malha ou um agente de IA tentando ser útil.

NeMoCo no GitHub: github.com/Uzshah/NeMoCo

Artigo: Elsevier, Graphical Models (~August 2026)

DiffusionNet: Sharp et al., SIGGRAPH 2022 — github.com/nmwsharp/diffusion-net

MoCo v2: He et al., CVPR 2020 — arxiv.org/abs/2003.04297

CLIP: Radford et al., ICML 2021 — arxiv.org/abs/2103.00020

#AI#MachineLearning#Neuroscience#SelfSupervisedLearning