
CoDi es un modelo de autómata celular (CA) para redes neuronales con picos (SNN). [1] CoDi es un acrónimo de Recopilar y distribuir, que hace referencia a las señales y picos en una red neuronal.
CoDi utiliza un vecindario de von Neumann modificado para un espacio tridimensional; cada célula observa los estados de sus seis vecinos ortogonales y su propio estado. En una fase de crecimiento, se desarrolla una red neuronal en el espacio CA en función de un cromosoma subyacente . Hay cuatro tipos de células: cuerpo neuronal , axón , dendrita y espacio en blanco. La fase de crecimiento es seguida por una fase de señalización o procesamiento. Las señales se distribuyen desde los cuerpos neuronales a través de su árbol axonal y se recogen de las dendritas de conexión. [1] Estas dos interacciones básicas cubren todos los casos y se pueden expresar de forma sencilla, utilizando una pequeña cantidad de reglas.
Interacción celular durante la señalización

Las células del cuerpo neuronal recogen señales neuronales de las células dendríticas circundantes y aplican una función definida internamente a los datos recopilados. En el modelo CoDi, las neuronas suman los valores de las señales entrantes y se activan una vez que se alcanza un umbral. Este comportamiento de los cuerpos neuronales se puede modificar fácilmente para adaptarse a un problema determinado. La salida de los cuerpos neuronales se transmite a las células axónicas circundantes . Las células axónicas distribuyen los datos que se originan en el cuerpo neuronal. Las células dendríticas recogen datos y, finalmente, los transmiten al cuerpo neuronal. Estos dos tipos de interacción entre células cubren todo tipo de encuentros celulares.
Cada célula tiene una compuerta, que se interpreta de forma diferente según el tipo de célula. Una célula neuronal utiliza esta compuerta para almacenar su orientación, es decir, la dirección en la que apunta el axón. En una célula axónica, la compuerta apunta al vecino del que se reciben las señales neuronales. Una célula axónica acepta la entrada solo de este vecino, pero pone su propia salida a disposición de todos sus vecinos. De esta manera, las células axónicas distribuyen información. La fuente de información es siempre una célula neuronal. Las células dendríticas recopilan información al aceptar información de cualquier vecino. Proporcionan su salida (por ejemplo, una operación OR booleana en las entradas binarias) solo al vecino especificado por su propia compuerta. De esta manera, las células dendríticas recopilan y suman señales neuronales, hasta que la suma final de las señales neuronales recopiladas llega a la célula neuronal.
Cada célula axonal y dendrítica pertenece a una única neurona. Esta configuración del espacio CA está garantizada por la fase de crecimiento precedente.
Sinapsis
El modelo CoDi no utiliza sinapsis explícitas, porque las células dendritas que están en contacto con un rastro axonal (es decir, que tienen una célula axonal como vecina) recogen las señales neuronales directamente del rastro axonal. Esto es resultado del comportamiento de las células axonal, que distribuyen a cada vecina, y del comportamiento de las células dendritas, que recogen de cualquier vecina.
La fuerza de una conexión neurona-neurona (una sinapsis) está representada por el número de sus pares axónicos y dendritas vecinos. La estructura exacta de la red y la posición de los pares axón-dendrita vecinos determinan el retraso temporal y la fuerza (peso) de una conexión neurona-neurona. Este principio infiere que una única conexión neurona-neurona puede constar de varias sinapsis con diferentes retrasos temporales con pesos independientes.
Codificación genética y crecimiento de la red

El cromosoma se distribuye inicialmente por todo el espacio CA, de modo que cada célula del espacio CA contiene una instrucción del cromosoma, es decir, una instrucción de crecimiento, de modo que el cromosoma pertenece a la red en su conjunto. La técnica de cromosomas distribuidos del modelo CoDi aprovecha al máximo el espacio CA disponible y permite el crecimiento de cualquier tipo de conectividad de red. La conexión local del circuito desarrollado con su cromosoma permite combinar el aprendizaje local con la evolución de las redes neuronales desarrolladas.

Las señales de crecimiento se transmiten a los vecinos directos de la célula neuronal de acuerdo con su información cromosómica. Los vecinos en blanco, que reciben una señal de crecimiento neuronal, se convierten en una célula axónica o en una célula dendrítica. Las señales de crecimiento incluyen información que contiene el tipo de célula que se va a cultivar a partir de la señal. Para decidir en qué direcciones deben crecer los rastros axónicos o dendríticos, las células cultivadas consultan su información cromosómica que codifica las instrucciones de crecimiento. Estas instrucciones de crecimiento pueden tener una codificación direccional absoluta o relativa. Una codificación absoluta enmascara los seis vecinos (es decir, las direcciones) de una célula 3D con seis bits. Después de que una célula crece, acepta señales de crecimiento solo de la dirección de la que recibió su primera señal. Esta información de dirección de recepción se almacena en la posición de la puerta del estado de cada célula.
Implementación como una CA particionada

Los estados de nuestros CA tienen dos partes, que se tratan de diferentes maneras. La primera parte del estado de la célula contiene el tipo de célula y el nivel de actividad y la segunda parte sirve como interfaz con el vecindario de la célula al contener las señales de entrada de los vecinos. Una característica de nuestro CA es que solo una parte del estado de una célula se pasa a sus vecinos, es decir, la señal, y luego solo a los vecinos especificados en la parte fija del estado de la célula. Este CA se llama particionado , porque el estado está particionado en dos partes, la primera es fija y la segunda es variable para cada célula.
La ventaja de esta técnica de partición es que la cantidad de información que define el nuevo estado de una celda CA se mantiene al mínimo, debido a que evita el intercambio de información redundante.
Implementación en hardware
Dado que las CA solo están conectadas localmente, son ideales para su implementación en hardware puramente paralelo. Al diseñar el modelo de redes neuronales basado en CA de CoDi, el objetivo era implementarlas directamente en hardware (FPGA). Por lo tanto, la CA se mantuvo lo más simple posible, con una pequeña cantidad de bits para especificar el estado, pocas reglas de CA y pocos vecinos celulares.
El modelo CoDi fue implementado en la máquina CAM-Brain (CBM) basada en FPGA por Korkin. [2]
Historia
Gers et al. introdujeron CoDi en 1998. [1] Korkin et al. desarrollaron una máquina paralela especializada basada en hardware FPGA (CAM) para ejecutar el modelo CoDi a gran escala. [2] De Garis realizó una serie de experimentos en la máquina CAM para evaluar el modelo CoDi. El modelo original, en el que el aprendizaje se basa en algoritmos evolutivos, ha sido ampliado con una regla de aprendizaje local a través de la retroalimentación de picos dendríticos por Schwarzer. [3]
Véase también
Referencias
- ^ abc Gers, Felix; Hugo Garis; Michael Korkin (1998). "CoDi-1Bit: Un modelo neuronal basado en autómatas celulares simplificado" . Evolución artificial . Apuntes de clase en informática. Vol. 1363. págs. 315–333. CiteSeerX 10.1.1.2.17 . doi :10.1007/BFb0026610. ISBN. 978-3-540-64169-8.
- ^ ab de Garis, Hugo; Michael Korkin; Gary Fehr (2001). "La máquina CAM-Brain (CBM): una herramienta basada en FPGA para desarrollar un cerebro artificial de 75 millones de neuronas para controlar un robot gatito de tamaño natural". Autonomous Robots . 10 (3): 235–249. doi :10.1023/A:1011286308522. ISSN 0929-5593. S2CID 28589336.
- ^ Schwarzer, Jens; Müller-Schloer, Christian (5 de agosto de 2004). Lernverfahren für evolutionär optimierte Künstliche Neuronale Netze auf der Basis Zellulärer Automaten. Logos Verlag Berlín. págs.125–. ISBN 9783832506285. Recuperado el 7 de enero de 2013 .