- Explora como fazer a engenharia reversa de padrões complexos a partir de regras locais simples
- Uma abordagem que combina a capacidade de aprendizado de Neural Cellular Automata (NCA) com Differentiable Logic Gate Networks para obter regras locais discretas por meio de aprendizado
- "Será que é possível aprender as regras do Conway's Game of Life?"
- "Será que dá para reproduzir padrões complexos como no NCA e aprender estruturas recorrentes espaço-temporais?"
Introduction
- Cellular Automata (CA) partem de regras locais simples, mas formam padrões complexos e difíceis de prever
- Tradicionalmente, no CA as regras eram projetadas manualmente por humanos, mas aqui é apresentada uma forma de "aprender" no sentido inverso regras locais que satisfaçam um padrão ou comportamento-alvo previamente definido
- Em especial, Neural Cellular Automata (NCA) foram projetados para permitir aprendizado em espaço contínuo ao combinar a estrutura de CA com técnicas de deep learning
- Differentiable Logic Gate Networks é uma técnica que aproxima continuamente portas lógicas (AND, OR, XOR etc.) para treinamento e depois as converte novamente em circuitos lógicos discretos
- Combinando essas duas ideias, é proposto o DiffLogic CA, um modelo de CA totalmente discreto e treinável
- Isso pode ser visto como um pequeno passo em direção a Programmable Matter ou Computronium
- Este texto segue o fluxo abaixo
- Resumo de Neural Cellular Automata
- Resumo de Differentiable Logic Gate Networks
- Estrutura do DiffLogic CA que combina as duas metodologias
- Experimento de aprendizado das regras do Conway’s Game of Life
- Experimentos de aprendizado para gerar padrões complexos (xadrez, lagarto, imagens coloridas etc.)
Recap – Neural Cellular Automata(NCA)
- Conceito
- Um sistema que substitui regras tradicionais de CA por uma forma treinável com redes neurais
- Cada célula possui múltiplos canais (estado) e forma padrões complexos por meio de interações locais
- Usa filtros como Sobel para obter informações da vizinhança, e a rede neural decide as mudanças de estado
- Características
- Todo o processo de cálculo é diferenciável, permitindo treinamento para gerar o padrão desejado
- Combina técnicas de deep learning preservando os elementos centrais do CA, como paralelismo, localidade e computação baseada em estado
Recap – Differentiable Logic Gate Networks(DLGNs)
- Ideia central
- Em vez de uma NN tradicional, portas lógicas (AND, OR, XOR etc.) são aproximadas continuamente (soft gate) para treinamento
- Na fase de aprendizado, as portas operam de forma contínua; na inferência final, executam operações binárias reais
- Processo de aprendizado
- Aprende uma distribuição de probabilidade sobre as 16 operações lógicas possíveis da porta, convergindo ao final para uma operação específica
- A aproximação contínua torna o sistema diferenciável e, ao fim do treinamento, ele é convertido em portas lógicas totalmente discretas
- Vantagens
- O circuito final é composto inteiramente por portas lógicas binárias, o que traz alta eficiência em hardware
- Por ser baseado em lógica discreta, oferece vantagens em interpretabilidade e eficiência energética
Differentiable Logic Cellular Automata (DiffLogic CA)
- Estrutura
- Em uma grade 2D, cada célula tem um estado de n bits, e a simulação ocorre nas etapas Perception → Update
- Etapa Perception
- As informações da vizinhança (por canal) são processadas por kernels de circuitos lógicos
- Etapa Update
- O estado atual e o resultado de Perception são integrados por outro circuito lógico para determinar o estado do próximo instante
- Características
- Todas as células funcionam de forma distribuída como pequenos processadores independentes em movimento
- Aprende no modo soft (aproximação contínua) e faz inferência com portas hard (binárias), garantindo alta eficiência
- Compartilha uma filosofia semelhante à de arquiteturas de computação baseadas em CA como o CAM-8
Experiment 1: Learning Game of Life
- Objetivo
- Aprender as regras do Conway's Game of Life com DiffLogic CA e verificar se é possível reproduzi-las completamente
- Configuração
- Uso de estado de célula com 1 bit
- 16 kernels em Perception (cada um com estrutura de portas 8→4→2→1)
- 23 camadas em Update (primeiras 16 camadas com 128 nós, depois [64, 32, 16, 8, 4, 2, 1])
- Em uma grade 3x3, todos os estados possíveis (512) são usados no treinamento para prever exatamente o estado do próximo passo
- Resultados
- A perda de treinamento se aproxima de 0, aprendendo perfeitamente a regra local do Game of Life
- Em grades maiores, reproduz todos os padrões como no Game of Life real, incluindo gliders, blocos etc.
- No circuito final, portas AND e OR são muito usadas
Experiment 2: Pattern Generation
- Exemplo do tabuleiro xadrez (Checkerboard)
- Células com estado de 8 bits formam um tabuleiro 16x16 ao longo de 20 passos
- 16 kernels em Perception, 16 camadas em Update (máximo de 256 portas)
- A perda é calculada comparando apenas o canal final com o padrão-alvo
- Resultados
- Forma exatamente o padrão xadrez, com a regra implementada de forma concisa usando apenas poucas portas
- Em uma grade 4 vezes maior, a mesma regra escala e funciona sem problemas
- Mesmo desativando permanentemente algumas células, o padrão não se degrada muito; ao restaurar as células desativadas, ocorre autocura automaticamente
- Asynchronicity
- Mesmo com treinamento por atualização assíncrona, o padrão xadrez é aprendido sem problemas
- Regras treinadas de forma síncrona também funcionam bem quando aplicadas em inferência assíncrona
- Regras treinadas de forma assíncrona tendem a se recuperar um pouco mais rápido em cenários com ruído ou dano
Experiment 3: Growing a Lizard
- Objetivo
- Treinar a formação do contorno de um lagarto 20x20 em 12 passos, verificando a possibilidade de gerar formas complexas
- Configuração
- Estado de 128 bits
- Perception com 4 kernels (cada um com estrutura de portas [8, 4, 2, 1]), Update com 10 camadas (primeiras 8 camadas com 512 portas, depois [256, 128])
- Uma única célula ativa no centro da grade, usando condições de contorno periódicas
- Resultados
- O lagarto cresce normalmente até em uma grade maior (40x40)
- Muitas portas são usadas, mas o treinamento é viável com o ajuste adequado de hiperparâmetros
Experiment 4: Learning the G with colors
- Objetivo
- Gerar uma imagem colorida 16x16 com 3 canais RGB ao longo de 15 passos, validando a geração de padrões multicanais
- Configuração
- Estado de 64 bits (os 3 primeiros canais são usados como RGB, e cada canal é 0 ou 1)
- Perception com 4 kernels (cada um com [8, 4, 2]), Update com 11 camadas (primeiras 8 camadas com 512 portas, depois [256, 128, 64])
- A imagem-alvo é um padrão 16x16 da letra G preenchido com uma entre 8 cores possíveis
- Resultados
- Aprende com perda próxima de 0 e reproduz exatamente a letra G colorida-alvo após 15 passos
- No circuito, portas TRUE e FALSE são muito usadas, com destaque para portas OR
Summary and Discussion
- O que foi feito
- Foi proposto o DiffLogic CA, um modelo de CA totalmente discreto e treinável
- Ele replica regras clássicas como Game of Life e demonstra capacidade de gerar padrões como xadrez, lagarto e G colorido
- Como é composto por circuitos lógicos discretos, pode oferecer interpretação intuitiva e eficiência em hardware
- Significado
- Demonstra que padrões auto-organizados observados em NCA também podem ser aprendidos com base em portas lógicas discretas
- Considerando características como recuperação de danos e atualização assíncrona, há alto potencial de aplicação em computação distribuída e tolerante a falhas (robust)
- Limitações e trabalhos futuros
- Ao aprender imagens ou padrões complexos, ainda é necessário ajuste adequado de hiperparâmetros
- Há espaço para explorar portas do tipo LSTM ou estruturas que esqueçam estado com eficiência, permitindo formação de padrões mais ricos
- Também é possível expandir o trabalho na direção de otimização da escala do circuito e estabilização do treinamento
- Conclusão
- DiffLogic CA é uma abordagem promissora que pode levar a direções teóricas de computação distribuída como Programmable Matter ou Computronium
- Por ser totalmente discreto e ainda assim treinável, tem potencial para servir de base a futuros sistemas distribuídos
1 comentários
Comentários no Hacker News