IMPLEMENTACIÓN DE REDES NEURONALES
Introducción •
•
Una red neuronal artifcial puede simularse mediante programas ejecutados en computadores convencionales, lo que constituye siempre el primer paso en el desarrollo. La tecnología de implementación más habitual es la microelectrónica microelectrónica VL! " Very Large Scale Integration#.
Introducción •
Uno de los motivos más importantes del resurgir de las redes redes neuronales neuronales $ue el desarrollo desarrollo de la tecnología microelectrónica VL!, debido a dos circunstancias% &osibilitó
el desarrollo de computadores potentes y
baratos. La
integración VL! posibilitó la reali'ación hard(are directa de )*+s, como dispositivos de cálculo paralelo aplicables a problemas costosos desde el punto de vista computacional, como visión o reconocimiento de patrones.
Alternativas para su realización a) Simulación software. onsiste en modelar el sistema neuronal mediante un programa, que puede ejecutarse en un computador secuencial convencional tipo von *eumann, por ejemplo, una & compatible.
general) . e utili'an b) Emulación hardware (propósito general). sistemas e-presamente e-presamente diseados para emular la )*+. /ichos sistemas están basados en una &U de altas prestaciones ")!, /&, ...#.
c) Implementación hardware especíca . e trata de reali'ar $ísicamente la red neuronal en hard(are, mediante estructuras específcas que re0ejen con mayor o menor fdelidad la arquitectura de la red.
Tecnologias cnologias para realización realizac ión de ANS ANS •
Los soportes o tecnologías más utili'adas en la reali'ación de redes neuronales artifciales son el lógico "so$t(are# y el microelectrónico.
Simulación •
•
e denomina simulación so$t(are de una )*+ a su reali'ación en $orma de un programa ejecutable sobre un computador de propósito general. 1s el procedimiento más simple, rápido y económico de implementación de una red neuronal, por lo que constituye siempre la primera etapa en el desarrollo de una )*+,
Simulación •
1l &roceso de simulación de una )*+ comien'a con su modelado mediante programas de ordenador escrito en lenguajes de alto nivel como , &ascal o Visual 2asic, que se ejecutarán en computadoras convencionales .
for (i=0; i
Emulación de ANS •
•
e refere a la utili'ación de una estructura de procesamiento con cierta capacida de cálculo paralelo, especialmente diseada para el trabajo con +*. *ormalmente se trata de utili'ar una tarjeta coprocesadora dependiente de un cierto host construida tomando com base microprocesadores de altas prestaciones")!, /&,..# o a procesadores neuronales.
Emulación (hardware) de ANS
6'trctra 7o't8co.roce'a%or neronal9 con'tityen%o n neroco.ta%or,
Realización hardware de ANS •
•
•
onsiste en construir $ísicamente un sistema cuya arquitectura re0eje en cierta medida la estructura de la red neuronal. 1l sistema hard(are debe soportar un gran n4mero de cone-iones, en ocasiones globales, y un 0ujo elevado de comunicaciones de datos. 1ste tipo de reali'ación está especialmente indicado para aplicaciones especiales donde se precisa un alto rendimiento, ya que el diseo se reali'a para un cierto modelo de red neuronal y para una aplicación concreta.
Realización hardware de ANS •
La reali'ación de un sistema neuronal puede llevarse a cabo desde distintos niveles de abstracción%
Ni$el %e 'i'tea: Utili'ación de coprocesadores,/&,.. Ni$el %e e'trctra fncional: +LU5s específcas. Ni$el %e .erta l4gica: Lógica de pulsos,lógica estocástica. *ivel de puerta analógica% )edes de 6opfeld, 7ohonen, etc. Ni$el %e tran'i'tor: )eali'ación de chips de muy alta densidad de integración y elevado n4mero de neuronas. Ni$el %e o%elo: /istintos modelos de los transistores
Especificaciones del Neuroprocesador 1s un dispositivo con capacidad de calculo paralelo, diseado para la implementación de redes neuronales artifciales. &uede ser de propósito general o especifco y puede reali'arse con un chip neuronal o como una placa aceleradora dependiente de un computador. arlos :es4s Vera 6ernánde'.
8atricula%
Especificaciones del Neuroprocesador •
•
•
•
Grado de Programabilidad del sistema: !ndica la versatilidad para la emulación de di$erentes modelos neuronales. Numero de unidades de Procesamiento: !ndica el paralelismo del neuroprocesador. Complejidad de cada Procesador Individual: 1s un índice de potencia de calculo y versatilidad de una unidad procesadora Rendimiento el Sistema: arlos :es4s Vera 6ernánde'.
8atricula%
Neuroprocesador de propósito general
arlos :es4s Vera 6ernánde'.
8atricula%
Neuroprocesador de propósito general espec!fico a) De Propósito General: on los diseados para emular un gran numero de modelos de redes neuronales@ constituyen por tanto maquinas 0e-ibles y versátiles. b)De Propósito spec!"co: se trata de modelos limitados a la emulación de un 4nico modelo neuronal. arlos :es4s Vera 6ernánde'.
8atricula%
Neuroprocesador de propósito general Aendrá un alto grado de programabilidad y sus &U serán mas complejas@ a partir de el se construyen neurocomputadores, por lo que a menudo se utili'a este ultimo termino.
arlos :es4s Vera 6ernánde'.
8atricula%
Neuroprocesador de propósito espec!fico 1s simplemente un chip neuronal específco, estará constituido por &U mas simples, pero menos 0e-ibles, aunque podrá incluir un mayor numero de ellas. /entro de esta categoría estarán incluidos los desarrollados entorno a chips neuronales de propósito especifco.
arlos :es4s Vera 6ernánde'.
8atricula%
Aspectos "enerales de la Realización #$SI 1l aumento continuo de la densidad de integración hace que la tecnología VL! se adapte muy bien a la implementación de sistemas paralelos, como es el caso de los neuroprocesadores. arlos :es4s Vera 6ernánde'.
8atricula%
$os %ro&lemas de dise'o a la hora de implementar estos sistemas en silicio son
a# Los modelos neuronales precisan de altos niveles de conectividad. b# e requiere alta velocidad de procesamiento y de comunicación de datos. c# /ebe optimi'arse la representación de los datos y el almacenamiento de los pesos. arlos :es4s Vera 6ernánde'.
8atricula%
El ise'o de Neuroprocesadores *aracter!sticas de la integración de #$SI •
•
•
•
•
La complejidad de los diseos $avorece el desarrollo de estructuras simples, regulares y replicables. 1l cableado ocupa gran parte de un circuito integrado. Los retrasos en las comunicaciones degradan el rendimiento. Las tecnologías 89, de bajo consumo, requieren concurrencia para lograr muy altos rendimientos. /ebe haber una per$ecta coordinación entre la entradaBsalida con los cálculos internos arlos :es4s Vera 6ernánde'.
8atricula%
+uen dise'o de #$SI de un Neuroprocesador %ropiedades Ar,uitecturales •
implicidad del /iseo.
•
8odularidad
•
/iseo 1-pandible y 1scalable.
arlos :es4s Vera 6ernánde'.
8atricula%
+lo,ues +-sicos en la Realización de Neuroprocesadores igitales Los 2loques 2ásicos de una implementación electrónica, tanto analógica como digital, de una red neuronal son% ;# istema de ontrol <# Unidad de &roceso C# Unidad de omunicación D# Unidad de +lmacenamiento arlos :es4s Vera 6ernánde'.
8atricula%
Sistema de *ontrol 1l sistema de control es el responsable de controlar el 0ujo de instrucciones y datos que llegan a las unidades de proceso, verdaderos elementos de calculo.
arlos :es4s Vera 6ernánde'.
8atricula%
Ar,uitecturas de *omputo SISD: maquinas en las que una instrucción opera sobre un 4nico dato. SI#D: en ellas, una 4nica instrucción se aplica sobre m4ltiples datos a la ve'. #ISD: un conjunto de instrucciones operan a la ve' sobre un 4nico dato. #I#D: m4ltiples instrucciones act4an sobre m4ltiples datos. arlos :es4s Vera 6ernánde'.
8atricula%
.nidad de %roceso La Unidad de &roceso o &U, tambiEn denominado procesador elemental o &1, es el elemento de la arquitectura encargado de e$ectuar las operaciones aritmEticas con los datos que se le suministran.
arlos :es4s Vera 6ernánde'.
8atricula%
Tipos &-sicos de unidades de procesamiento a) $nidades CISC: on procesadores con un elevado conjunto de instrucciones que incluyen operaciones complejas. b)$nidades RISC: contienen un reducido numero de instrucciones sencillas, que, como norma general, no consumen mas de un ciclo de reloj para su ejecución. arlos :es4s Vera 6ernánde'.
8atricula%
.nidad de Almacenamiento 1s la unidad Funcional responsable de alojar los valores de pesos, resultados intermedios o errores, para ser suministrados en ele momento adecuado a la unidad de proceso.
arlos :es4s Vera 6ernánde'.
8atricula%
Es,uemas ;# 8emoria de &esos /istribuida% cada &U dispone de su propia unidad de memoria local. <# 8emoria de &esos /uplicada% cada unidad de memoria asociada a cada unidad de proceso dispone de una copia completa de todo el mapa de los pesos de la red. C# 8emoria de pesos entrali'ada% una 4nica unidad de almacenamiento proporciona los datos necesarios a todas las unidades de procesamiento. arlos :es4s Vera 6ernánde'.
8atricula%
.nidad de *omunicación •
e encarga de la transmisión de datos entre las unidades de proceso, entre &U y memorias de almacenamiento, o entre las &U y las unidades de control.
arlos :es4s Vera 6ernánde'.
8atricula%
Ar,uitecturas •
+rquitecturas 9rientadas a 2us o a 22+
•
+rquitecturas sistólicas
•
+rquitecturas Fractales
arlos :es4s Vera 6ernánde'.
8atricula%
Ar,uitecturas reconfigura&les •
•
&ertenecientes a la misma $amilia de dispositivos que las GpldH, G&)98H, G&+LH o GepIdH las G$pgaH "feld programmable gate array# son elementos programables de elevado numero de puertas, constituidos por una matri' de celdas lógicas o GL2H, altamente interconectables a travEs de una malla de cone-iones. ada una de estas celdas contiene tanto logica combinacional como biestables, proporcionando así la capacidad de generar lógica secuencial.
Estructura bsica !e un CL" !e las #P$A !e la c%&pa'(a )ilin*
•
•
/entro de este tipo de dispositivos lógicos programables, podemos encontrar a su ve' dos variantes distintas, las F&J+ de anti $usibles y las F&J+ de tipo )+8, com4nmente llamadas L+"Logic ell +rray#. 8ientras que en las primeras la estructura de operación interna se programa mediante la eliminación de $usibles, resultando un proceso irreversible, la intercone-ión entre los componentes lógicos una L+ viene determinada por una memoria )+8 interna, reprogramable tantas veces como sea necesario.
Realizaciones especiales logica de frecuencia de pulsos/
La gran mayoria de las implementaciones digitales hacen uso de diseos de unidades aritmeticoKlogicas mas o menos sofsticadas, que reali'an las operaciones propias de la undad de proceso.
•
•
+lgunos diseos digitales se hallan inspirados en el modo en el que el sistema nervioso codifca y procesa los pulsos elEctricos que llegan a las neuronas a travEs de sus a-ones. 1ste es el caso de los basados en lógica de pulsos, cuyo $undamento es la codifcación de la in$ormación en la $recuencia de los trenes de pulsos que viajan por las líneas de datos, en lugar de codifcarla como n4meros
Neurona de lógica de pulso e0emplo de la función no lineal realizada por una simple puerta 1R
+lo,ues &-sicos en la realización de neuroprocesadores analógicos •
Unidad de control
•
Unidad de comunicaciones
•
&rocesadores elemental
•
+lmacenamiento de datos
.nidad de control
/ependerá del modo en que las neuronas del modelo $ormal se conecten y e$ect4en sus tareas@ muy a menudo su operación será de tipo asíncrono, como sucede en las neuronas biológicas.
.nidad de proceso
•
1n implementaciones analógicas, el estudio de la unidad de proceso se centra en especial en el diseo de estructuras que realicen las operaciones matemáticas propias del modelo, en general, productos sumas y $unciones de activación.
1n el caso de productos, la intensidad que circula por la resistencia no es mas que el producto del voltaje entre sus e-tremos por su conducta. 9tros dispositivos analógicos, con el fn de reducir la complejidad del elemento multiplicador, reali'an el producto de cuatro cuadrantes en dos partes% primero% proporcionan dos magnitudes de saluda, de $orma que una corresponde a un valor positivo y otra a negativo.
•
•
•
1n segunda parte, un bloque sumador se encarga de sumar las dos intensidades, dando como resultado una intensidad positiva o negativa, seg4n el caso.
•
•
La $unción no lineal necesaria en la implementación de la activación neuronal puede reali'arse empleando un simplifcador operacional que sume los productos reali'ados por una etapa previa. in embargo, la construcción de circuitos con transistores capaces de e$ectuar noKlinealidades es relativamente simple, con tal de aprovechar precisamente esa característica consustancial a los transistores.
.nidad de almacenamiento
•
•
9tro aspecto importante a la hora de disear un neuroKprocesador analógico es la manera de almacenar los parámetros de la red, en concreto los pesos asociados a cada neurona. 1l mEtodo mas simple es la implementación en silicio de resistencias, cuyo valor este relacionado con los pasos sinápticos de cada neurona.
•
•
Los dispositivos / son líneas de retardo o registros de despla'amiento dinámicos analógicos, en los que los datos son representados por paquetes de carga elEctrica. Las cargas son inyectadas sobre un sustrato semiconductor por mEtodos elEctricos u ópticos, pudiendo ser almacenadas o trans$eridas como en un registro.
1tro m2todo de almacenar de forma analógica datos es como la tensión en los e3tremos de un condensador/
4Realización analógica o digital5 •
&ros y contras de la reali'ación analógica. –
–
Una neurona puede implementarse $ácilmente utili'ando dispositivos analógicos, aprovechando las leyes $ísicas para la reali'ación de cálculos. +demás, las características no lineales de los dispositivos $acilitan la reali'ación de $unciones de activación de tipo sigmoideo.
•
•
&or otra parte, merece la pena sealar que el procesamiento de seal en modo corriente presenta ventajas interesantes para la reali'ación de circuitos neuronales analógicos, como la $acilidad para reali'ar la suma de corrientes, el aumento en el rango dinámico, incremento del ancho de banda etc. 1l mayor problema atribuible a la integración analógica es la no escalabilidad con la tecnología, lo que signifca que cuando la tecnología de integración cambia, se debe rehacer la mayo parte del diseo.
•
•
&ros y contras de la reali'ación digital% La reali'ación digital de redes neuronales se basa en el almacenamiento de los pesos y activaciones neuronales en registros, así como en la utili'ación de estructuras de calculo clásicas, como sumadores, multiplicadores o +LU, para la reali'ación de las operaciones que requieren los +*. 1s decir, las estructuras en las que se basa la reali'ación digital son complejas y costosas y, en principio, no permiten un nivel de paralelismo tan alto como las analogías.
Realizaciones 6i3tas Las operaciones típicas en un +* "sumas, productos y no linealidades# son $áciles de reali'ar mediante dispositivos analógicos, mientras que el almacenamiento de pesos y el control del sistema se resuelven mas efcientemente en digital, una solución de tipo mi-to parece interesantes. /e esta manera, mediante circuitos neuronales mi-tos analógicoKdigitales puede conjugarse la alta velocidad de procesamiento y densidad de integración de los circuitos analógicos, con la precisión que proporciona el almacenamiento digital de los pesos.
Realizaciones Analógicas de ANS + continuación veremos algunas reali'aciones analógicas, que emulan con mayor o menor fdelidad la arquitectura de la red. +unque los diseos analógicos trabajan con parámetros elEctricos continuos, pueden ser implementados mediante circuitos en tiempo continuo o discreto.
*ircuitos Neuromorfos retina cóclea La retina es una estructura neuronal en el ojo encargada de recoger los $otones y de reali'ar un reprocesamiento de la imagen percibida para ser posteriormente enviada al área visual del córtecerebral. La retina de silicio construida presenta $uncionalidades similares a la biológica, como acentuación de contrastes, detección de contornos, respuesta a movimientos o habituación a estímulos persistentes, incluso se han observado algunas de las ilusiones ópticas conocidas.
ETANN 789:8N; 1A+** es un chip neuronal creado por !ntel hacia ;;. 1n las siglas 1A+** el tErmino entrenable hace re$erencia 4nicamente a la posibilidad de reprogramar los pesos. 1l aprendi'aje de 1A+** no está incluido en el chip, sino que se reali'a en un ordenador convencional, para utili'ar para ello el so$t(are desarrollado por otras casas comerciales. 1A+** permite implementar varios algoritmos, como 2&, 8adalina y 29 recurrente.
*ircuitos comerciales actuales 1n este punto trataremos algunas reali'aciones analógicas de +* comercialmente disponibles en la actualidad. 8uchas de estas reali'aciones se basan en redes neuronales celulares o **, modelo utili'ado en tareas de visión. 1n MFang >>N se describe el desarrollo de un sistema de visión en tiempo real completo en un módulo multichip, que incluye sensores y procesamiento mediante una red neuronal **, que será empleado por la *++ en sondas espaciales de e-ploración planetaria.
Realizaciones igitales de ANS 8ediante integración digital VL! se construyen chips neuronales de propósito general y específco@ los primeros se utili'an en el desarrollo de neurocomputadores. hips neuronales de propósito específco se utili'an en la actualidad en el desarrollo de reconocedores de vo' y de caracteres escritos en productos comerciales.
$neuro e trata de un circuito totalmente digital para redes neuronales y procesamiento de seal en general, que integra un chip. e e-plica su aplicación a tareas como el procesamiento de imagen para clasifcación de naranjas y detección de eventos en $ísica de altas energías.
*NA%S 1s una arquitectura neuronal de propósito general, construida a fnales de los aos ochenta, que utili'a tecnología UL! y ha estado disponible comercialmente durante los aos noventa. u arquitectura consiste en una clásica estructura !8/ unidimensional de nodos procesadores o &*.
+lo,ues &-sicos del coprocesador neuronal reconfigura&le Los bloques que con$orman la tarjeta neuroprocesadora reali'ada poseen las siguientes características% Procesador lemental %P). 1l procesador elemental, e$ect4a las operaciones propias de las neuronas del mapa de 7ohonen. Las $nidad de Comunicaciones. comunicaciones entre los dispositivos que con$orman la pla'a se reali'an mediante una arquitectura orientada a bus constituida por O buses internos, y C e-ternos, propios de cualquier microprocesador.
+lo,ues &-sicos del coprocesador neuronal reconfigura&le $nidad de Control %C$). ecuencia las distintas $ases y operaciones que constituyen cada $ase, genera la dirección de la )+8 que utili'arán los &1, confgura los &1 para que simulen la neurona virtual adecuada, controla el 0ujo de datos entre el host y cada uno de los &1, determina cuando deben decrementarse los valores del radio de vecindad y del valor de actuali'ación y determina la neurona ganadora.