Paso 1: Arquitectura del sistema
Componentes básicos del sistema:
FPGA
Reloj de caos
Unidad de control del conectoma
Unidad de control del universo
Componentes del sistema de soporte de periféricos:
Puente de USB a serial FT232H
Regulador de voltaje
Dragón AVR (AVR ISP)
Blaster USB (JTAG FPGA)
Hub USB
Este lío todo comenzó porque estaba pensando en cómo libre albedrío en el ser humano podría aducirse for.* el argumento terminó que implica continuidad de tiempo.
Si ese argumento tiene agua (no: sin argumentos: sólo prueba empírica datos pasa reunir para mí), me llevó a preguntarme si se podría hacer una red neuronal artificial que continuo en el tiempo. Redes neuronales más se implementan en software en sistemas de tiempo discretizar (aunque memristores, PAAs y su índole permiten una arquitectura Neuromórficos en tiempo continuo) y tengo curiosidad si efectos caóticos interesantes ocurren cuando la red neuronal puede ser asincrónico.
La neurona digital asincrónica individual fue desarrollada en una Altera EP4CE6E22C8N. Después de agregar la lógica requiere de multiplexación, la red de 36 neuronas ocupa aproximadamente 4000 elementos de la lógica, el 65% de la viruta. Pero eso es sólo para los 36 neuronas y sinapsis asociadas multiplexores, es decir, una red en blanco que puede ser renovada sin embargo basado en comandos externos, con líneas de E/S que se asignan directamente a líneas de entrada (p. ej. nerve_splice_into_layer_0_axon_in_0) de la sinapsis y a líneas de salida del axón (e.g. nerve_tap_from_layer_5_axon_out_3). Hay 6 líneas de salida, 1 DTACK (transferencia de datos reconozca) línea y 18 líneas de entrada. "Suena como neat hardware" dices. De hecho es, lector imaginario! Sin embargo, para realmente usarlo es necesario tener alguna forma de interfaz con la cosa (yo lo nombre Xenolux!), y así comienza nuestra saga...
¿Qué es necesario el uso de las redes neuronales sintéticas? Para entrantes, una unidad de Control del conectoma. Debe haber un procesador externo que le dice la red cómo alambre. Cada neurona tiene 6 sinapsis; hay una excitadora y una sinapsis inhibitoria de cada uno de los siguientes pesos: 0.17, 0.5 y 1.0. Cada sinapsis tiene un poquito (4 bits, por lo que un nibble, realmente) de RAM. Bitcode en controles de RAM de la sinapsis la sinapsis 's multiplexor, que decide que está conectado. Cada sinapsis pueden conectarse a nada (null, ninguna señal y tierra), a cualquiera de los 6 axones provenientes de la capa anterior de neuronas sintéticas, o a un "stim_line", que provee una constante estimulación señal (clase de lo contrario a una conexión nula).
Las sinapsis se acceden individualmente por los pedacitos de dirección 9 ajuste que están formateados como sigue: 3 bits para seleccionar que la capa 6 neuronas 3 bits para seleccionar qué neurona cada 6 dentro de la capa seleccionada y 3 bits para seleccionar qué sinapsis de los 6 dentro de la neurona. La línea de datos "mux_write_enable" (que hace exactamente lo que dice en la lata) se afirmó un poco después de la dirección de la sinapsis y la sinapsis deseada bitcode se aplican.
* basado en nondeterminism causada por la ausencia de variables ocultas locales
manera que los momentos precisos en que colapso de wavefunctions sería verdaderamente al azar, y que este cambio en el tiempo permitiría la modificación del funcionamiento de la red de manera no lineal y caótico.