Máquina de Pensamento Contínuo
(pub.sakana.ai)- Continuous Thought Machine (CTM) é uma nova arquitetura que incorpora explicitamente dinâmicas neurais temporais ao cálculo de redes neurais, tentando implementar dentro do modelo o “desenrolar do pensamento”, algo difícil de capturar apenas com processamento feed-forward estático
- No centro da estrutura estão internal ticks separados da ordem dos dados, modelos em nível de neurônio em que um MLP por neurônio processa o histórico recente de pre-activation, e uma forma de usar a sincronização temporal entre pares de neurônios como representação
- Em experimentos com ImageNet, labirintos 2D, parity, Q&A MNIST, CIFAR-10/100, ordenação de números reais e aprendizado por reforço, o trabalho mostrou aplicabilidade mantendo a estrutura central e trocando apenas os módulos de entrada e saída
- No experimento de labirinto, o modelo previu diretamente caminhos em L/R/U/D/W sem embeddings de posição, e mostrou casos em que um modelo treinado em labirintos 39×39 e caminhos de até 100 passos generalizou para labirintos 99×99 e trajetos cerca de 6 vezes mais longos
- O CTM mostrou comportamentos como evocação de memória, computação adaptativa, deslocamento de atenção interpretável e formação de modelo interno do mundo por meio de representação por sincronização, mas não é um modelo que tenta reproduzir neurônios reais de forma literal
O problema que o CTM busca resolver
- Redes neurais tradicionais simplificaram deliberadamente as dinâmicas neurais temporais observadas no cérebro biológico, processando principalmente valores de ativação estáticos, mais adequados ao deep learning em larga escala
- No cérebro existem spike-timing-dependent plasticity (STDP), oscilações neurais e codificação temporal baseada em spike timing e synchrony, mas as redes neurais modernas priorizam sobretudo simplicidade e eficiência computacional
- A IA atual ainda carece de parte da flexibilidade e generalidade da cognição humana, e parte disso pode estar relacionada ao processamento temporal
- A contribuição do CTM é resumida em três elementos
- Dimensão interna separada: um eixo temporal no qual o pensamento pode se desenrolar em um sistema neural artificial
- neuron-level models (NLMs): cada neurônio é ativado processando o histórico de sinais de entrada, em vez de usar uma função estática como uma ReLU fixa
- neural synchronization: uma representação latente usada diretamente para observação e previsão
Modelos de inferência e recurrence
- Escalar modelos existentes trouxe grandes avanços, mas o custo computacional e a exigência de dados cresceram, o que deixa dúvidas sobre a sustentabilidade de longo prazo
- Em dados sequenciais, famílias de RNN foram usadas por muito tempo, mas foram amplamente substituídas por abordagens baseadas em Transformer; recentemente, recurrence voltou a ganhar atenção como caminho para expandir a complexidade dos modelos
- Os reasoning models de geração de texto usam uma forma de recurrence ao aumentar a computação em tempo de teste por meio de gerações intermediárias
- O CTM vê como ponto central não a recurrence em si, mas a interação entre temporização precisa e atividade neural que ela possibilita
- Há três diferenças em relação a abordagens anteriores
- O pensamento sequencial pode ocorrer em uma dimensão interna separada da modalidade dos dados
- Um modelo privado por neurônio lida com temporização neural precisa
- A sincronização neural é usada diretamente como representação para resolver tarefas
Os três mecanismos centrais do CTM
- O CTM é uma estrutura que, ao processar dados, desdobra internamente a atividade neural ao longo de vários ticks
- Em um internal tick, coleta-se o histórico recente de pre-activation, e os NLMs o processam para produzir a post-activation
- O histórico de post-activation ao longo do tempo é usado para calcular a sincronização entre neurônios, e o resultado se torna a Synchronization Representation
- Os detalhes técnicos estão no Technical Report, e o repositório no GitHub também foi publicado
-
Internal ticks: a dimensão interna em que o pensamento se desenrola
- O CTM introduz uma dimensão interna contínua na forma
t ∈ {1, …, T} - Em vez de processar seguindo a ordem dos próprios dados, como palavras ou frames, como em RNNs ou Transformers, ele opera segundo internal ticks gerados por si mesmo
- Graças a esse desenrolar interno, até dados estáticos ou não sequenciais, como imagens e labirintos, podem ter suas representações produzidas e refinadas iterativamente
- A demonstração interativa de labirinto no topo da página usa 75 ticks
- O CTM introduz uma dimensão interna contínua na forma
-
Recurrent weights e neuron-level models
- O modelo de sinapse do CTM é um MLP recorrente em formato U-NET, que gera a pre-activation a cada tick
- As
Mpre-activations mais recentes formam o histórico de entrada de cada neurônio - Cada neurônio
dprocessa seu próprio histórico de pre-activation com uma MLP privada com parâmetros própriosθd, gerando a post-activation - As post-activations de todos os neurônios são combinadas com a saída de attention e entram no cálculo recorrente do tick seguinte
-
Synchronization representation
- O CTM foi projetado para consumir entradas e produzir saídas com base não em um snapshot do estado dos neurônios em um instante específico, mas nas dinâmicas da atividade neural ao longo do tempo
- A matriz de sincronização entre neurônios é calculada como o produto interno do histórico de post-activation
Zt,St = Zt · (Zt)^T - Como essa matriz cresce em
O(D²), no uso prático faz-se amostragem parcial de pares de neurônios(i, j)para formar as representaçõesSouteSaction Souté projetada no espaço de saída para produzir previsões como logits, eSactioné usada para ações de observação, como uma attention query- À medida que a largura do modelo
Dcresce, as representações de sincronização possíveis crescem para uma escala deD × (D+1) / 2
-
Forma de entrada dos dados
- Os dados são observados por attention em cada internal tick com base na sincronização atual
- Na maioria dos experimentos, foi usada cross attention padrão
- O FeatureExtractor produz características locais dos dados para uso como key e value, e a query projetada da sincronização consulta essas informações
- A saída de attention é usada junto com a post-activation no próximo ciclo de recurrence
Função de perda: otimização de todos os internal ticks
- O CTM gera uma saída em cada internal tick
- Para a previsão de cada tick, calcula-se uma perda padrão como cross-entropy, e a certeza é calculada como
1 - normalized entropy - A perda final faz a média de dois ticks escolhidos dinamicamente
- o tick com menor perda,
t1 = argmin(L) - o tick com maior confiança,
t2 = argmax(C)
- o tick com menor perda,
- Esse método não depende apenas de um único step final, fazendo com que computações significativas ocorram em vários internal ticks
- O desenho da perda cria naturalmente um efeito de curriculum e permite ajustar a quantidade de computação à dificuldade do problema
Experimento com ImageNet
- O objetivo do experimento com ImageNet não é alcançar um novo state of the art, mas mostrar como o CTM interage com os dados
- O CTM observa a imagem enquanto constrói previsões, usando diretamente a neural synchronization como representação
- Como os internal steps podem ser interrompidos no meio, isso permite adaptive compute
- depois de certo ponto, o ganho de acurácia é pequeno, mas ainda existe benefício adicional
- Na demo, são mostrados os attention weights de 16 attention heads, a previsão de classe e a certeza ao longo do tempo
- A atividade neural é visualizada em 2D com projeção UMAP; cada neurônio aparece como um ponto, cujo tamanho representa o valor absoluto e cuja cor indica o sinal e a magnitude do valor
Experimento de labirinto 2D
- Resolver labirintos foi configurado como uma tarefa em que o modelo precisa construir passo a passo um caminho do ponto de partida até o destino
- O CTM foi treinado para prever diretamente o caminho como uma sequência de etapas L/R/U/D/W, e não como imagem
- No topo da página há uma versão pequena da demo interativa, e também é apresentada uma demo de um modelo maior
- A demo mostra o processo de construção do caminho ao longo de 75 internal ticks, e previsões que atravessam paredes são excluídas da indicação de caminho válido
- Os pesos de 16 attention heads e a attention média são mostrados juntos, permitindo ver onde o modelo está focando
-
Generalização e modelo de mundo
- Um CTM treinado para resolver, em labirintos 39×39, caminhos de até 100 passos foi aplicado a labirintos maiores de 99×99
- O caminho completo do labirinto de exemplo é cerca de 6 vezes mais longo que as condições de treinamento
- O CTM não usou embeddings de posição e precisou prever diretamente o caminho como string de classes
- Sem embeddings de posição, o CTM precisa criar um modelo interno do mundo para consultar os dados e explorar o labirinto
- Os pesquisadores disseram querer ver como o CTM encontra caminho sem codificação explícita de posição em ambientes mais complexos, como jogos ou vídeos
Experimento de parity
- A parity task foi definida como uma tarefa de prever a parity cumulativa em cada uma de 64 posições de uma sequência binária
- O vetor binário completo de comprimento 64 é dado de uma só vez, o que torna o cenário mais difícil do que uma entrada simplesmente sequencial
- O CTM foi treinado com diferentes números de internal ticks e comparado com um LSTM de mesmo número de parâmetros
- CTMs com mais de 75 internal ticks conseguiram resolver a tarefa de forma estável, e algumas execuções chegaram a 100% de acurácia
- O LSTM mostrou dificuldade de treinamento acima de 10 internal ticks, sugerindo não ser adequado para desdobrar uma dimensão interna de pensamento
- Na demo, surgem comportamentos interpretáveis, como algumas attention heads varrendo os dados de trás para frente, e a primeira attention head attendendo apenas às posições de parity negativa
- Dois exemplos de CTM aprenderam estratégias diferentes
- um attendia os dados em ordem inversa e depois previa de uma vez a parity cumulativa
- outro attendia em ordem direta e previa a parity gradualmente
- ambos chegaram a acurácia perfeita
Experimento Q&A MNIST
- Q&A MNIST é uma tarefa para avaliar a capacidade de memória e evocação do CTM
- O modelo primeiro vê uma sequência de dígitos MNIST e depois recebe embeddings de índice e operador que especificam qual dígito deve ser recordado e qual operação modular deve ser aplicada
- Depois que todos os dígitos e os embeddings de índice/operador são apresentados, um zero-tensor flag instrui a geração da resposta final
- No experimento, o memory length do CTM foi configurado para que os dígitos MNIST ficassem fora da janela de histórico de ativação dos neuron-level models
- Portanto, para recordar mais tarde um dígito, o CTM precisou organizar suas ativações para preservar a informação
-
Resultados e generalização
- O LSTM tem desempenho melhor que o CTM quando há um internal tick por entrada, mas fica mais instável à medida que os internal ticks aumentam
- O CTM ficou mais forte à medida que os internal ticks aumentaram e atingiu mais de 95% de acurácia na tarefa in-distribution mais difícil
- O CTM conseguiu recordar o valor de um dígito visto em um timestep muito anterior, o que é interpretado como resultado da organização e sincronização dos neurônios
- Em experimentos de generalização, a acurácia foi medida quando entravam mais dígitos ou mais embeddings de índice-operador do que no treinamento
- Tanto o CTM quanto o baseline LSTM conseguiram generalizar ao aumento no número de operações
- Nos resultados empíricos, sempre que um novo embedding de índice era apresentado, o modelo calculava e armazenava o resultado da operação especificada, podendo continuar o processamento sem esperar o final answer flag
- O CTM melhorou com mais internal ticks, enquanto o LSTM mostrou a tendência oposta
Experimentos adicionais
-
CIFAR-10: comparação com humanos, feed-forward e LSTM
- O experimento com CIFAR-10 foi configurado para comparar o CTM com desempenho humano, um baseline feed-forward e um baseline LSTM
- Para evidenciar as diferenças, foi usado um backbone limitado
- Foram usados os conjuntos com rótulos humanos CIFAR-10D e CIFAR-10H
- O CIFAR-10D está relacionado ao ajuste do nível de dificuldade
- O CIFAR-10H é um dataset usado para quantificar a incerteza humana
- O CIFAR-10D está aqui e o CIFAR-10H está aqui
- As probabilidades do CIFAR-10H foram usadas no cálculo de calibration, e o CTM mostrou a melhor calibration mesmo em comparação com humanos
- A atividade neural do CTM foi rica, diversa e apresentou dinâmicas complexas, com comportamento periódico surgindo mesmo sem periodic driving function
- A diferença entre a atividade neural de CTM e LSTM serve como evidência de que neuron-level models e synchronization representation permitem dinâmicas neurais como mecanismo computacional
-
Ablation em CIFAR-100
- No experimento com CIFAR-100, o número de neurônios, isto é, a largura do modelo, foi alterado enquanto outras condições e o tempo de treinamento foram mantidos fixos
- Redes mais largas podem exigir mais tempo de treinamento ou outros hyper-parameters, por isso apareceu alguma queda de acurácia
- Para ver quão únicos os neuron-level models se tornam, foi medida a cosine similarity das dinâmicas entre neurônios
- Observou-se que, à medida que a largura do modelo aumenta, a diversidade entre neurônios não diminui, mas cresce
- Também foi analisada a relação entre o número de internal ticks e as previsões
- Nas configurações de 25, 50 e 100 internal ticks, foi observada a distribuição do step em que o CTM estava mais confiante
- Em cada configuração apareceram duas regiões de concentração, interpretadas como sinal de que o CTM segue processos internos distintos dependendo dos dados
-
Ordenação de números reais
- O CTM foi treinado para ordenar 30 números reais extraídos de
N(0, I30) - O objetivo era observar, em um ambiente controlado, quando o CTM aplica mais ou menos computação e verificar se saídas sequenciais podiam ser treinadas com CTC loss
- Esse CTM conseguiu ordenar uma lista de 30 números reais com probabilidade de cerca de 80%
- O CTM foi treinado para ordenar 30 números reais extraídos de
-
Aprendizado por reforço
- O CTM foi além do processamento de dados não sequenciais com uma continuous thought dimension e também foi aplicado a tarefas que interagem com ambiente externo
- Com proximal policy optimization, foram treinadas uma navigation task e variantes parcialmente observáveis de CartPole e Acrobot
- Nessa configuração, o CTM recebe a observação, processa-a com um número fixo de internal thought steps e então produz a próxima action
- O histórico de ativação é mantido continuamente entre os environment steps, permitindo que ativações de steps anteriores do ambiente influenciem a decisão atual
- Como resultado, o CTM teve desempenho comparável ao baseline LSTM e mostrou que também pode aprender em ambientes contínuos
Conclusão e limitações
- O CTM substitui pointwise activation functions por private neuron-level models para criar dinâmicas neurais mais ricas, e usa neural synchronization como nova representação em vez de vetor de ativação
- Essa abordagem possibilita construir representações ao longo do tempo em classificação de imagens, fazer attention em labirintos sem embeddings de posição e formar mapas internos, usar adaptive computation e armazenar e recordar memórias fora do histórico de ativação
- A arquitetura central do CTM foi em geral mantida em várias tarefas, exigindo principalmente apenas ajustes nos módulos de entrada e saída
- Em cenários complexos como navegação em labirinto, o CTM funcionou com pouca adaptação, enquanto o LSTM teve dificuldades mesmo após bastante tuning
- O CTM não é um modelo que busca reproduzir neurônios biológicos de maneira estritamente literal
- neurônios reais podem não ter acesso ao histórico de ativação como no CTM
- ainda assim, surgem fenômenos emergentes como traveling waves
- O CTM toma conceitos emprestados da biologia e faz um compromisso entre praticidade e inspiração biológica, podendo se tornar uma direção de pesquisa para abrir capacidades que faltam à IA atual
Ainda não há comentários.