- Explora cómo hacer ingeniería inversa de patrones complejos a partir de reglas locales simples
- Un enfoque que combina la capacidad de aprendizaje de los Neural Cellular Automata (NCA) con Differentiable Logic Gate Networks para obtener reglas locales discretas mediante aprendizaje
- "¿Se pueden aprender las reglas de Conway's Game of Life?"
- "¿Se pueden reproducir patrones complejos como en NCA y aprender estructuras recurrentes espaciotemporales?"
Introduction
- Los Cellular Automata (CA) forman patrones complejos e impredecibles a partir de reglas locales simples
- Tradicionalmente, en los CA las reglas eran diseñadas directamente por humanos, pero aquí se presenta un método para “aprender” en sentido inverso reglas locales que satisfagan un patrón o comportamiento objetivo dado de antemano
- En particular, Neural Cellular Automata (NCA) se han diseñado para combinar la estructura de los CA con técnicas de deep learning y permitir aprendizaje en un espacio continuo
- Differentiable Logic Gate Networks es una técnica que aproxima de forma continua compuertas lógicas (AND, OR, XOR, etc.) para entrenarlas y luego volver a convertirlas en circuitos lógicos discretos
- Al combinar estas dos ideas, se propone DiffLogic CA, un modelo de CA completamente discreto y entrenable
- Puede verse como un pequeño paso hacia la materia programable (Programmable Matter) o el Computronium
- Este texto sigue el siguiente flujo
- Resumen de Neural Cellular Automata
- Resumen de Differentiable Logic Gate Networks
- Estructura de DiffLogic CA que combina ambas metodologías
- Experimento de aprendizaje de las reglas de Conway’s Game of Life
- Experimentos de aprendizaje para generar patrones complejos (tablero ajedrezado, lagartija, imágenes a color, etc.)
Recap – Neural Cellular Automata(NCA)
- Concepto
- Un sistema que reemplaza las reglas tradicionales de CA por una forma entrenable mediante redes neuronales
- Cada celda tiene múltiples canales (estado) y forma patrones complejos mediante interacciones locales
- Usa filtros Sobel y otros para obtener información del entorno, y la red neuronal decide los cambios de estado
- Características
- Todo el proceso de cálculo es diferenciable, por lo que puede entrenarse para crear el patrón deseado
- Conserva los elementos clave de los CA, como paralelismo, localidad y cálculo basado en estados, mientras incorpora técnicas de deep learning
Recap – Differentiable Logic Gate Networks(DLGNs)
- Idea central
- En lugar de una NN tradicional, se entrenan compuertas lógicas (AND, OR, XOR, etc.) aproximadas de forma continua (soft gates)
- Durante la etapa de entrenamiento, las compuertas operan de forma continua, y en la inferencia final ejecutan operaciones binarias reales
- Proceso de aprendizaje
- Se aprende una distribución de probabilidad sobre las 16 operaciones lógicas posibles de una compuerta, que finalmente converge a una operación específica
- La aproximación continua la hace diferenciable, y cuando termina el entrenamiento se convierte en compuertas lógicas totalmente discretas
- Ventajas
- El circuito final está compuesto completamente por compuertas lógicas binarias, lo que lo hace muy eficiente en hardware
- Al estar basado en lógica discreta, tiene ventajas en interpretabilidad y eficiencia energética
Differentiable Logic Cellular Automata (DiffLogic CA)
- Estructura
- En una cuadrícula 2D, cada celda tiene un estado de n bits y la simulación se realiza en etapas de Perception → Update
- Etapa de Perception
- La información de los vecinos (por canal) se procesa con kernels de circuitos lógicos
- Etapa de Update
- El estado actual y el resultado de Perception se integran con otro circuito lógico para determinar el estado del siguiente instante
- Características
- Cada celda funciona como un procesador pequeño e independiente que se mueve de forma distribuida
- Entrena con soft (aproximación continua) y hace inferencia con compuertas hard (binarias), logrando alta eficiencia
- Tiene una filosofía similar a arquitecturas de cómputo basadas en CA como CAM-8
Experiment 1: Learning Game of Life
- Objetivo
- Aprender las reglas de Conway's Game of Life con DiffLogic CA y comprobar si puede reproducirlas por completo
- Configuración
- Estado de celda de 1 bit
- 16 kernels en Perception (cada uno con estructura de compuertas 8→4→2→1)
- 23 capas en Update (las primeras 16 capas con 128 nodos, luego [64, 32, 16, 8, 4, 2, 1])
- Se entrenan todos los estados posibles (512) en una cuadrícula 3x3 para predecir con exactitud el estado del siguiente paso
- Resultados
- La pérdida de entrenamiento se acerca a 0 y aprende perfectamente la regla local de Game of Life
- En cuadrículas más grandes reproduce todos los patrones, como gliders y bloques, igual que el Game of Life real
- En el circuito final se usan muchas compuertas AND y OR
Experiment 2: Pattern Generation
- Ejemplo de tablero ajedrezado (Checkerboard)
- Celdas con estado de 8 bits forman un tablero ajedrezado de 16x16 en 20 pasos
- 16 kernels en Perception y 16 capas en Update (hasta 256 compuertas)
- La pérdida se calcula comparando solo el canal final con el patrón objetivo
- Resultados
- Forma el tablero ajedrezado con precisión, y la regla se implementa de manera compacta con apenas unas cuantas compuertas
- La misma regla escala sin problemas a una cuadrícula 4 veces más grande
- Incluso si algunas celdas se desactivan de forma permanente, el patrón no se rompe demasiado, y al restaurarlas se autocura automáticamente
- Asincronía
- Incluso entrenando con actualizaciones asíncronas, aprende el patrón ajedrezado sin problema
- Las reglas entrenadas de forma síncrona también funcionan bien en inferencia asíncrona
- Las reglas entrenadas de forma asíncrona tienden a recuperarse un poco más rápido ante ruido o daño
Experiment 3: Growing a Lizard
- Objetivo
- Entrenar la formación de la silueta de una lagartija de 20x20 en solo 12 pasos para comprobar la posibilidad de generar formas complejas
- Configuración
- Estado de 128 bits
- Perception con 4 kernels (cada uno con estructura de compuertas [8, 4, 2, 1]), Update con 10 capas (las primeras 8 capas con 512 compuertas, luego [256, 128])
- Una sola celda activa en el centro de la cuadrícula y condiciones de frontera periódicas
- Resultados
- La lagartija crece correctamente incluso en una cuadrícula más grande (40x40)
- Se usan muchísimas compuertas, pero el entrenamiento es posible con el ajuste adecuado de hiperparámetros
Experiment 4: Learning the G with colors
- Objetivo
- Generar una imagen a color de 16x16 con 3 canales RGB a lo largo de 15 pasos para validar la generación de patrones multicanal
- Configuración
- Estado de 64 bits (los primeros 3 canales se usan como RGB, y cada canal es 0 o 1)
- Perception con 4 kernels (cada uno [8, 4, 2]), Update con 11 capas (las primeras 8 capas con 512 compuertas, luego [256, 128, 64])
- La imagen objetivo es un patrón de G de 16x16 rellenado con uno de 8 colores posibles
- Resultados
- La pérdida se entrena hasta quedar cerca de 0, y tras 15 pasos reproduce con precisión la G objetivo a color
- El circuito usa muchas compuertas TRUE y FALSE, y las compuertas OR destacan especialmente
Summary and Discussion
- Qué se hizo
- Se propuso DiffLogic CA, un modelo de CA completamente discreto y entrenable
- Reproduce reglas clásicas como Game of Life y muestra capacidad para generar patrones como tablero ajedrezado, lagartija y G a color
- Al estar compuesto por circuitos lógicos discretos, se espera buena interpretabilidad y eficiencia en hardware
- Importancia
- Demuestra que los patrones autoorganizados que muestra NCA también pueden aprenderse con compuertas lógicas discretas
- Considerando propiedades como recuperación ante daño o actualización asíncrona, tiene alto potencial para aplicaciones en cómputo distribuido y tolerante a fallos (robust)
- Limitaciones y trabajo futuro
- Al aprender imágenes o patrones complejos, se requiere un ajuste apropiado de hiperparámetros
- Hay margen para explorar compuertas tipo LSTM o estructuras que olviden estado de forma eficiente, permitiendo formar patrones más ricos
- Puede ampliarse optimizando el tamaño del circuito y mejorando la estabilidad del entrenamiento
- Conclusión
- DiffLogic CA es un enfoque prometedor que puede conectarse con direcciones teóricas de cómputo distribuido como la materia programable (Programmable Matter) o el Computronium
- Al ser completamente discreto y entrenable, tiene potencial para convertirse en base de futuros sistemas distribuidos
1 comentarios
Comentarios en Hacker News