17 septiembre 2009

Nuevas Matemáticas para Neuronas Artificiales

Procesadores de punto flotante sobre FPGAs hacen a las neuronas artificiales suficientemente rápidas para comunicarse con neuronas reales.

Artículo de Neil Savage:

IEEE SPECTRUM 09.09

Computadoras que pueden simular el funcionamiento del cerebro podrían brindar un entendimiento de cómo el cerebro se desarrolla y trabaja, e incluso nos conduzcan a las formas de cómo reparar daños cerebrales causados por lesiones o enfermedades. Debido de que la actividad de cada neurona es muy complicada, ha sido difícil de simular con gran detalle o en tiempo real.
Actualmente, investigadores de la Universidad de Bristol, en Inglaterra, dijeron que llegaron a un método que modela la actividad neuronal con suficiente detalle y velocidad para que células vivas conversen con neuronas sintéticas.
“Nosotros deseamos crear un cerebro artificial que pueda comunicarse con un cerebro real”, dijo José Núñez Yañez, profesor titular en Ingeniería Electrónica en Centro para Investigación de Comunicaciones de Bristol (Bristol’s Centre for Communicactions Reserch). Núñez Yáñez dijo que esfuerzos anteriores para modelar la actividad neuronal habían dependido de supercomputadoras y en general de procesadores que no necesariamente trabajaban bien en paralelo. Lo que estas máquinas modelan es tan complejo que podía tomar 30 días para procesar 1 segundo de actividad. En vez de eso, Núñez Yáñez usó FPGAs (Field Programmable Gate Array) que dependen de procesadores de punto flotante, con tal vez 1000 procesadores corriendo en paralelo. (Las matemáticas de punto flotante representan números en una computadora en el sentido de que permite que el punto decimal pueda estar en diferente posición – o “flotante” – en relación con los dígitos significativos en el número, como por ejemplo en los números 1,23456 y 12345,6. Comparados con la representación de punto fijo, donde el decimal está dado en una posición particular en una cadena de dígitos, la representación de punto flotante se traduce en errores de redondeo más pequeños, y por lo tanto pueden ser más precisos.) La precisión es importante para modelar neuronas, dice Núñez Yáñez. Las neuronas se comunican por intercambios de picos de voltaje, que duran unos pocos milisegundos y donde el pico pueda estar en unos 70 milivoltios. Los científicos no saben realmente como los picos de voltaje transmiten información, pero ellos creen que la duración de los picos es importante. En un modelo de punto fijo, los errores de redondeo se acumulan, generando un significativo corrimiento en el tiempo de los picos. El modelo de punto flotante, dice Núñez Yañez, es mucho más preciso. En adición a esto, la precisión ganada usando la aritmética de punto flotante permite la creación de modelos neuronales tridimensionales más complejos y morfológicamente precisos. Núñez Yáñez y sus colegas describen la simulación de una neurona artificial en un chip esta semana en la 19va Conferencia Internacional de Lógica Programable y Aplicaciones (19th International Conference on Field Programmable Logic and Aplications), en Praga. El siguiente paso es tener una neurona biológica conversando con una artificial. La idea es tomar partes de un cerebro de ratón e incubarlo luego sobre un sensor. Luego de casi dos semanas de crecimiento, las neuronas comenzarán a comunicarse tal como si estuvieran en el cerebro. El sensor, un detector de imagen Aptina de Semiconductor de Metal Óxido Complementario (Complementary Metal Oxide Semiconductor - CMOS) alterada para medir voltaje en vez de luz, enviaría estas mediciones a través de un conversor análogo-digital, que a su vez alimentan los datos hacia los FPGAs. En la computadora, la actividad eléctrica de diferentes partes de las células neuronales es representada matemáticamente, y un conjunto de ecuaciones diferenciales toma los datos de entrada y simula la actividad de cada parte.

ESTA VIVO! Una neurona artificial basado sobre un FPGA [centro] produce picos de voltaje que se asemejan con las neuronas reales. Investigadores planean tener neuronas artificiales comunicadas con neuronas reales [ubicadas en la izquierda].
Foto: Centre for Communicatios Reserch/University of Bristol


Las neuronas simuladas pueden incluso crear nuevas dentritas o nuevas sinapsis en respuesta de los estímulos de las células de cerebro reales. La actividad de las neuronas simuladas puede entonces ser alimentada por las neuronas vivas en la forma de picos de voltaje entregadas a través del sensor CMOS. En adición, para enseñar a los científicos sobre la evolución del cerebro, el proyecto puede, por ejemplo, permitir a los doctores el límite del daño por la enfermedad de Parkinson, dice Joe McGeehan, director del Centro para Investigación de Comunicaciones de Bristol. El daño cerebral pude empeorar, dice él, cuando células sanas no obtienen una retroalimentación esperada, porque las neuronas vecinas han sido dañadas. Artificialmente proporcionando la retroalimentación se prevendría que el daño se extienda. Ted Carnevale, un científico investigador de la Escuela de Medicina de Yale (Yale’s School of Medicine), dice que un modelo sobre FPGA de la actividad neuronal tiene sus limitaciones. “No es particularmente útil como herramienta para el estudio de cómo en detalle anatómico y propiedades biofísicas de neuronas forman la operación entre células y circuitos neuronales”, dice él. Pero lo que si puede hacer es proveer resultados en tiempo real, permitiendo la conexión de neuronas reales y sintéticas. “Modelos sobre FPGA ciertamente permitirían extensos y mucho más complejos circuitos. Tales trabajos aún se encuentran en una fase temprana, pero estos están probablemente donde la rentabilidad se encuentra”, dice Carnevale.

New Math for Artificial Neurons

Traducido por Marlon Luján Paredes

Revisado por el Ing. Marcial López T.

1 comentario:

  1. La teoría de las redes neuronales no es nueva pero ver la forma de como implementarlas (lo que sería una red neuronal artificial) si es reciente, y mas aún ahora si se cuenta con elementos que pueden ser capaz de realizar cálculos en paralelo. A diferencia de los tradicionales CPUs o microcontroladores, sean estos multicore, el procesamiento es serial. Entonces para acelerar las cosas en donde se necesita capacidad de cómputo en paralelo, se pueden usar los FPGAs. El tema es que aún no se puede hace algo a gran escala, sino unas pocas neuronas artificiales, ya que cada una recibe información de otras y varias veces hay realimentaciones, ocasionando una gran cantidad de procesamiento simultáneo que debe ser realizado en paralelo. Si se piensa en neuronas artificiales continuas, la cantidad de recursos a usar dentro de FPGA se consumen rápido, se necesitan muchos bloques DSP para realizar multiplicaciones y sumas. Pero si las neuronas artificiales son digitales, es mas fácil su implementación, en lugar de multiplicaciones solo se tendrán sumas. Pueden consultar el siguiente enlace: http://www.intercon2009.org/CD/PDF/Electronica/p35.pdf sobre una implementación basica de una red neuronal artificial digital.
    Lamentablemente el articulo presentado en Praga no es accesible, pero aquí está el enlace para que vean otros trabajos presentados en dicho congreso: http://fpl2009.org/index.php?p=program

    Bien por al artículo, compartiendo novedades tecnológicas del quehacer académico.

    Saludos,
    MSc. Aurelio Morales Villanueva
    Profesor Asociado
    FIEE-UNI

    ResponderEliminar