Vous êtes sur la page 1sur 59

IMPLEMENTACIN DE REDES

NEURONALES

Introduccin
Una red neuronal artificial puede simularse
mediante programas ejecutados en
computadores convencionales, lo que
constituye siempre el primer paso en el
desarrollo.
La tecnologa de implementacin ms
habitual es la microelectrnica VLSI (Very
Large Scale Integration).

Introduccin
Uno de los motivos ms importantes del resurgir de
las redes neuronales fue el desarrollo de la
tecnologa microelectrnica VLSI, debido a dos
circunstancias:
Posibilit el desarrollo de computadores potentes y
baratos.
La integracin VLSI posibilit la realizacin hardware
directa de RNAs, como dispositivos de clculo
paralelo aplicables a problemas costosos desde el
punto de vista computacional, como visin o
reconocimiento de patrones.

Alternativas para su realizacin


a) Simulacin software. Consiste en modelar el sistema
neuronal mediante un programa, que puede ejecutarse
en un computador secuencial convencional tipo von
Neumann, por ejemplo, una PC compatible.

b) Emulacin hardware (propsito general). Se utilizan


sistemas expresamente diseados para emular la RNA.
Dichos sistemas estn basados en una CPU de altas
prestaciones (RISC, DSP, ...).
c) Implementacin hardware especfica. Se trata de
realizar fsicamente la red neuronal en hardware,
mediante estructuras especficas que reflejen con mayor o
menor fidelidad la arquitectura de la red.

Tecnologias para realizacin de ANS


Los soportes o tecnologas ms utilizadas en
la realizacin de redes neuronales artificiales
son el lgico (software) y el microelectrnico.

Simulacin
Se denomina simulacin software de una
RNA a su realizacin en forma de un
programa ejecutable sobre un computador
de propsito general.
Es el procedimiento ms simple, rpido y
econmico de implementacin de una red
neuronal, por lo que constituye siempre la
primera etapa en el desarrollo de una RNA,

Simulacin
El Proceso de simulacin de una RNA comienza con su
modelado mediante programas de ordenador escrito en
lenguajes de alto nivel como C, Pascal o Visual Basic, que se
ejecutarn en computadoras convencionales .

for (i=0; i<N_OUTPUTS; i++)


{
/* actividad es un float que se usa como variable muda */ actividad = 0.0;
/* suma ponderada */
for (j=0; j<N_INPUTS; j++) actividad = actividad + w[i][j]*x[j];
/* f() es la funcin de activacin */
y[i] = f(actividad);
}

Emulacin de ANS
Se refiere a la utilizacin de una estructura
de procesamiento con ciertacapacidade
clculo paralelo, especialmente diseada
para el trabajo con ANS.
Normalmentese trata de utilizar una
tarjetacoprocesadora dependiente de un
cierto host construida tomando com base
microprocesadores de altas
prestaciones(RISC, DSP,..) o a procesadores
neuronales.

Emulacin (hardware) de ANS

Estructurahost-coprocesador neuronal, constituyendo


unneurocomputador.

Realizacin hardware de ANS


Consiste en construir fsicamente un sistema cuya
arquitectura refleje en cierta medida la estructura de la
redneuronal.
El sistema hardware debe soportar un gran nmero de
conexiones, en ocasiones globales, y un flujo elevado
de comunicaciones dedatos.
Este tipo de realizacin est especialmente indicado
para aplicaciones especiales donde se precisa un alto
rendimiento, ya que el diseo se realiza para un cierto
modelo de red neuronal y para una aplicacin concreta.

Realizacin hardware de ANS


La realizacin de un sistema neuronal puede llevarse
a cabo desde distintos niveles de abstraccin:
Nivel de sistema:Utilizacin decoprocesadores,DSP,..
Nivel de estructura funcional:ALU'sespecficas.
Nivel de puerta lgica:Lgica
depulsos,lgicaestocstica.
Nivel de puerta analgica: Redes deHopfield, Kohonen,
etc.
Nivel de transistor:Realizacin de chips de muy alta
densidad de integracin y elevado nmero de
neuronas.
Nivel de modelo:Distintos modelos de los transistores
CMOS.

Especificaciones del Neuroprocesador


Es un dispositivo con capacidad de
calculo paralelo, diseado para la
implementacin de redes neuronales
artificiales.
Puede ser de propsito general o
especifico y puede realizarse con un chip
neuronal o como una placa aceleradora
dependiente de un computador.
Carlos Jess Vera Hernndez.
1270187

Matricula:

Especificaciones del Neuroprocesador


Grado de Programabilidad del sistema:
Indica la versatilidad para la emulacin de
diferentes modelos neuronales.
Numero de unidades de Procesamiento:
Indica el paralelismo del neuroprocesador.
Complejidad de cada Procesador
Individual: Es un ndice de potencia de
calculo y versatilidad de una unidad
procesadora
Rendimiento el Sistema:
Carlos Jess Vera Hernndez.
1270187

Matricula:

Neuroprocesador de propsito general

Carlos Jess Vera Hernndez.


1270187

Matricula:

Neuroprocesador de propsito general y


especfico
a) De Propsito General: Son los
diseados para emular un gran
numero de modelos de redes
neuronales; constituyen por tanto
maquinas flexibles y verstiles.
b)De Propsito Especfico: se trata
de modelos limitados a la emulacin
de un nico modelo neuronal.
Carlos Jess Vera Hernndez.
1270187

Matricula:

Neuroprocesador de propsito general


Tendr un alto grado de programabilidad y
sus PU sern mas complejas; a partir de el
se construyen neurocomputadores, por lo
que a menudo se utiliza este ultimo termino.

Carlos Jess Vera Hernndez.


1270187

Matricula:

Neuroprocesador de propsito
especfico
Es simplemente un chip neuronal especfico,
estar constituido por PU mas simples, pero
menos flexibles, aunque podr incluir un
mayor numero de ellas.
Dentro de esta categora estarn incluidos
los desarrollados entorno a chips neuronales
de propsito especifico.

Carlos Jess Vera Hernndez.


1270187

Matricula:

Aspectos Generales de la Realizacin


VLSI
El aumento continuo de la densidad de
integracin hace que la tecnologa
VLSI se adapte muy bien a la
implementacin de sistemas paralelos,
como es el caso de los
neuroprocesadores.
Carlos Jess Vera Hernndez.
1270187

Matricula:

Los Problemas de diseo a la hora de


implementar estos sistemas en silicio son:
a) Los modelos neuronales precisan de
altos niveles de conectividad.
b) Se requiere alta velocidad de
procesamiento y de comunicacin
de datos.
c) Debe optimizarse la representacin
de los datos y el almacenamiento de
los pesos.
Carlos Jess Vera Hernndez.
1270187

Matricula:

El Diseo de Neuroprocesadores Caractersticas


de la integracin de VLSI
La complejidad de los diseos favorece el
desarrollo de estructuras simples, regulares y
replicables.
El cableado ocupa gran parte de un circuito
integrado.
Los retrasos en las comunicaciones degradan el
rendimiento.
Las tecnologas MOS, de bajo consumo, requieren
concurrencia para lograr muy altos rendimientos.
Debe haber una perfecta coordinacin entre la
entrada/salida con los clculos internos
Carlos Jess Vera Hernndez.
1270187

Matricula:

Buen diseo de VLSI de un Neuroprocesador


Propiedades Arquitecturales
Simplicidad del Diseo.
Modularidad
Diseo Expandible y Escalable.

Carlos Jess Vera Hernndez.


1270187

Matricula:

Bloques Bsicos en la Realizacin de


Neuroprocesadores Digitales
Los Bloques Bsicos de una implementacin
electrnica, tanto analgica como digital, de
una red neuronal son:
1) Sistema de Control
2) Unidad de Proceso
3) Unidad de Comunicacin
4) Unidad de Almacenamiento
Carlos Jess Vera Hernndez.
1270187

Matricula:

Sistema de Control
El sistema de control es el responsable
de controlar el flujo de instrucciones y
datos que llegan a las unidades de
proceso, verdaderos elementos de
calculo.

Carlos Jess Vera Hernndez.


1270187

Matricula:

Arquitecturas de Computo
SISD: maquinas en las que una instruccin opera
sobre un nico dato.
SIMD: en ellas, una nica instruccin se aplica
sobre mltiples datos a la vez.
MISD: un conjunto de instrucciones operan a la vez
sobre un nico dato.
MIMD: mltiples instrucciones actan sobre
mltiples datos.
Carlos Jess Vera Hernndez.
1270187

Matricula:

Unidad de Proceso
La Unidad de Proceso o PU, tambin
denominado procesador elemental o
PE, es el elemento de la arquitectura
encargado de efectuar las operaciones
aritmticas con los datos que se le
suministran.

Carlos Jess Vera Hernndez.


1270187

Matricula:

Tipos bsicos de unidades de


procesamiento
a) Unidades CISC: Son procesadores
con un elevado conjunto de
instrucciones que incluyen
operaciones complejas.
b)Unidades RISC: contienen un
reducido numero de instrucciones
sencillas, que, como norma general,
no consumen mas de un ciclo de
reloj para su ejecucin.
Carlos Jess Vera Hernndez.
1270187

Matricula:

Unidad de Almacenamiento
Es 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.

Carlos Jess Vera Hernndez.


1270187

Matricula:

Esquemas
1) Memoria de Pesos Distribuida: cada PU dispone de
su propia unidad de memoria local.
2) Memoria de Pesos Duplicada: 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.
3) Memoria de pesos Centralizada: una nica unidad
de almacenamiento proporciona los datos
necesarios a todas las unidades de procesamiento.
Carlos Jess Vera Hernndez.
1270187

Matricula:

Unidad de Comunicacin
Se encarga de la transmisin de
datos entre las unidades de proceso,
entre PU y memorias de
almacenamiento, o entre las PU y las
unidades de control.

Carlos Jess Vera Hernndez.


1270187

Matricula:

Arquitecturas
Arquitecturas Orientadas a Bus o a
BBA
Arquitecturas sistlicas
Arquitecturas Fractales

Carlos Jess Vera Hernndez.


1270187

Matricula:

Arquitecturas reconfigurables
Pertenecientes a la misma familia de dispositivos
que las pld, PROM, PAL o epkd las
fpga (field programmable gate array) son
elementos programables de elevado numero de
puertas, constituidos por una matriz de celdas
lgicas o CLB, altamente interconectables a
travs de una malla de conexiones.
Cada una de estas celdas contiene tanto logica
combinacional como biestables, proporcionando
as la capacidad de generar lgica secuencial.

Estructura bsica de un CLB de las FPGA de la compaa Xilinx

Dentro de este tipo de dispositivos lgicos


programables, podemos encontrar a su vez
dos variantes distintas, las FPGA de anti
fusibles y las FPGA de tipo RAM,
comnmente llamadas LCA(Logic Cell Array).
Mientras que en las primeras la estructura
de operacin interna se programa mediante
la eliminacin de fusibles, resultando un
proceso irreversible, la interconexin entre
los componentes lgicos una LCA viene
determinada por una memoria RAM 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 aritmetico-logicas mas o menos
sofisticadas, que realizan las operaciones
propias de la undad de proceso.

Algunos diseos digitales se


hallan inspirados en el modo en
el que el sistema nervioso
codifica y procesa los pulsos
elctricos que llegan a las
neuronas a travs de sus axones.
Este es el caso de los basados en
lgica de pulsos, cuyo
fundamento es la codificacin de
la informacin en la frecuencia de
los trenes de pulsos que viajan
por las lneas de datos, en lugar
de codificarla como nmeros

Neurona de lgica de pulso y ejemplo de la funcin no


lineal realizada por una simple puerta OR

Bloques bsicos en la realizacin de


neuroprocesadores analgicos
Unidad de control
Unidad de comunicaciones
Procesadores elemental
Almacenamiento de datos

Unidad de control

Depender del modo en que las


neuronas del modelo formal se
conecten y efecten sus tareas;
muy a menudo su operacin ser
de tipo asncrono, como sucede en
las neuronas biolgicas.

Unidad de proceso:

En implementaciones analgicas,
el estudio de la unidad de
proceso se centra en especial en
el diseo de estructuras que
realicen las operaciones
matemticas propias del modelo,
en general, productos sumas y
funciones de activacin.

En el caso de productos, la intensidad


que circula por la resistencia no es mas
que el producto del voltaje entre sus
extremos por su conducta.
Otros dispositivos analgicos, con el fin
de reducir la complejidad del elemento
multiplicador, realizan el producto de
cuatro cuadrantes en dos partes:
primero: proporcionan dos magnitudes
de saluda, de forma que una
corresponde a un valor positivo y otra
a negativo.

En segunda parte, un bloque


sumador se encarga de sumar las
dos intensidades, dando como
resultado una intensidad positiva o
negativa, segn el caso.

La funcin no lineal necesaria en la


implementacin de la activacin
neuronal puede realizarse empleando
un simplificador operacional que sume
los productos realizados por una etapa
previa.
Sin embargo, la construccin de
circuitos con transistores capaces de
efectuar no-linealidades es
relativamente simple, con tal de
aprovechar precisamente esa
caracterstica consustancial a los
transistores.

Unidad de almacenamiento

Otro aspecto importante a la hora de


disear un neuro-procesador analgico
es la manera de almacenar los
parmetros de la red, en concreto los
pesos asociados a cada neurona.
El mtodo mas simple es la
implementacin en silicio de
resistencias, cuyo valor este
relacionado con los pasos sinpticos
de cada neurona.

Los dispositivos CCD son lneas


de retardo o registros de
desplazamiento dinmicos
analgicos, en los que los datos
son representados por paquetes
de carga elctrica.
Las cargas son inyectadas sobre
un sustrato semiconductor por
mtodos elctricos u pticos,
pudiendo ser almacenadas o
transferidas como en un registro.

Otro mtodo de almacenar de forma analgica


datos es como la tensin en los extremos de un
condensador.

Realizacin analgica o digital?


Pros y contras de la realizacin
analgica.
Una neurona puede implementarse
fcilmente utilizando dispositivos
analgicos, aprovechando las leyes
fsicas para la realizacin de clculos.
Adems, las caractersticas no lineales
de los dispositivos facilitan la realizacin
de funciones de activacin de tipo
sigmoideo.

Por otra parte, merece la pena sealar


que el procesamiento de seal en modo
corriente presenta ventajas interesantes
para la realizacin de circuitos
neuronales analgicos, como la facilidad
para realizar la suma de corrientes, el
aumento en el rango dinmico,
incremento del ancho de banda etc.
El mayor problema atribuible a la
integracin analgica es la no
escalabilidad con la tecnologa, lo que
significa que cuando la tecnologa de
integracin cambia, se debe rehacer la
mayo parte del diseo.

Pros y contras de la realizacin digital:


La realizacin digital de redes neuronales
se basa en el almacenamiento de los
pesos y activaciones neuronales en
registros, as como en la utilizacin de
estructuras de calculo clsicas, como
sumadores, multiplicadores o ALU, para la
realizacin de las operaciones que
requieren los ANS. Es decir, las estructuras
en las que se basa la realizacin digital
son complejas y costosas y, en principio,
no permiten un nivel de paralelismo tan
alto como las analogas.

Realizaciones Mixtas
Las operaciones tpicas en un ANS (sumas, productos
y no linealidades) son fciles de realizar mediante
dispositivos
analgicos,
mientras
que
el
almacenamiento de pesos y el control del sistema se
resuelven mas eficientemente en digital, una
solucin de tipo mixto parece interesantes.
De esta manera, mediante circuitos neuronales
mixtos analgico-digitales puede conjugarse la alta
velocidad de procesamiento y densidad de
integracin de los circuitos analgicos, con la
precisin que proporciona el almacenamiento digital
de los pesos.

Realizaciones Analgicas de ANS


A
continuacin
veremos
algunas
realizaciones analgicas, que emulan con
mayor o menor fidelidad la arquitectura de
la red. Aunque los diseos analgicos
trabajan
con
parmetros
elctricos
continuos, pueden ser implementados
mediante circuitos en tiempo continuo o
discreto.

Circuitos Neuromorfos: retina y cclea


La retina es una estructura neuronal en el ojo
encargada de recoger los fotones y de realizar un
reprocesamiento de la imagen percibida para ser
posteriormente enviada al rea visual del crtex
cerebral.
La
retina
de
silicio
construida
presenta
funcionalidades similares a la biolgica, como
acentuacin
de
contrastes,
deteccin
de
contornos, respuesta a movimientos o habituacin
a estmulos persistentes, incluso se han observado
algunas de las ilusiones pticas conocidas.

ETANN 80170NX
ETANN es un chip neuronal creado por Intel
hacia 1991. En las siglas ETANN el trmino
entrenable hace referencia nicamente a la
posibilidad de reprogramar los pesos.
El aprendizaje de ETANN no est incluido en el
chip, sino que se realiza en un ordenador
convencional, para utilizar para ello el software
desarrollado por otras casas comerciales.
ETANN permite implementar varios algoritmos,
como BP, Madalina y BO recurrente.

Circuitos comerciales actuales


En este punto trataremos algunas realizaciones
analgicas de ANS comercialmente disponibles en
la actualidad. Muchas de estas realizaciones se
basan en redes neuronales celulares o CNN,
modelo utilizado en tareas de visin.
En [Fang 00] se describe el desarrollo de un
sistema de visin en tiempo real completo en un
mdulo multichip, que incluye sensores y
procesamiento mediante una red neuronal CNN,
que ser empleado por la NASA en sondas
espaciales de exploracin planetaria.

Realizaciones Digitales de ANS


Mediante integracin digital VLSI se
construyen chips neuronales de propsito
general y especfico; los primeros se utilizan
en el desarrollo de neurocomputadores.
Chips neuronales de propsito especfico se
utilizan en la actualidad en el desarrollo de
reconocedores de voz y de caracteres
escritos en productos comerciales.

Lneuro
Se trata de un circuito totalmente
digital para redes neuronales y
procesamiento de seal en general,
que integra un chip. Se explica su
aplicacin
a
tareas
como
el
procesamiento
de
imagen
para
clasificacin de naranjas y deteccin
de eventos en fsica de altas energas.

CNAPS
Es una arquitectura neuronal de
propsito general, construida a finales
de los aos ochenta, que utiliza
tecnologa ULSI y ha estado disponible
comercialmente durante los aos
noventa. Su arquitectura consiste en
una
clsica
estructura
SIMD
unidimensional de nodos procesadores
o PN.

Bloques bsicos del coprocesador neuronal


reconfigurable
Los bloques que conforman la
tarjeta
neuroprocesadora
realizada
poseen
las
siguientes caractersticas:
Procesador Elemental (PE). El procesador
elemental, efecta las operaciones propias de
las neuronas del mapa de Kohonen.
Unidad
de
Comunicaciones.
Las
comunicaciones entre los dispositivos que
conforman la plaza se realizan mediante una
arquitectura orientada a bus constituida por 5
buses internos, y 3 externos, propios de
cualquier microprocesador.

Bloques bsicos del coprocesador neuronal


reconfigurable
Unidad de Control (CU). Secuencia las
distintas
fases
y
operaciones
que
constituyen cada fase, genera la direccin
de la RAM que utilizarn los PE, configura los
PE para que simulen la neurona virtual
adecuada, controla el flujo de datos entre el
host y cada uno de los PE, determina cuando
deben decrementarse los valores del radio
de vecindad y del valor de actualizacin y
determina la neurona ganadora.

Bloques bsicos del coprocesador neuronal


reconfigurable
Unidad de Almacenamiento. En ella se
almacenan los valores de los pesos sinpticos
de las neuronas.
Configuracin
de
las
FPGA.
La
configuracin de los PE y la CU viene descrita
en fichero de bits, que informa a los LCA que
componen las FPGA sobre la estructura
hardware que deben adoptar. Este fichero es
enviado en serie a la direccin del mapa de
E/S del bus del PC donde se encuentran
conectadas las lineas de configuracin.

Vous aimerez peut-être aussi