Você está na página 1de 10

Respuestas

Ao 14 Reconocimiento de caracteres por medio de una red


No. 1 neuronal artificial
Junio 2009
ISSN 0122-820X

Reconocimiento de caracteres por


medio de una red neuronal artificial
Cesar Rivera Ordoez1, Jhon Jairo Santiago1, Julin Ferreira Jaimes2

Resumen
Recibido: En este trabajo se presenta la implementacin de un sistema de reconocimiento
12 de septiembre de caracteres en una tarjeta de desarrollo FPGA de propsito general. La
de 2007
clasificacin de los caracteres se realiza por medio de un modelo de red neuronal
Aceptado: conocido como Feed-forward backpropagation. Se utiliza la herramienta de
23 de abril de 2009 redes neuronales NNTool de Matlab, para crear, entrenar y simular este tipo de
Red Neuronal Artificial (RNA) con cinco diferentes patrones de entrenamiento.
Para realizar la implementacin, estas RNAs, son traducidas del modelo
computacional a un modelo realizable en hardware, el cual es descrito mediante
bloques en Matlab/Simulink y Xilinx System Generator (XSG). El archivo de
configuracin bitstream, necesario para la programacin del FPGA, es generado
por XSG para posteriormente ser implementado con Xilinx ISE foundation en
la FPGA.
Palabras Clave: FPGA, Matlab/Simulink, reconocimiento de caracteres, red
neuronal artificial, Xilinx System Generator.

Abstract

In this project we develop a characters recognition system implemented in a
general purpose FPGA card. First, The characters classification is executed bya
neuralnetwork model called feed-forward backpropagation. The Matlab toobox,
NNTool used for neural networks is used to create, training and simulate
this kind of Artificial Neural Network (ANN) with five different patterns
30 of training. For the implementation the ANN computer model is realizes as
hardware system, which is described in a block diagram using both Matlab/
Simulink and Xilinx System Generator (XSG). Subsequently, the bitstream
configuration file -necessary for the FPGA programming- is generated by XSG
Ingenieros Electrnicos,
1 for implementing with Xilinx ISE foundation.
Universidad Francisco
de Paula Santander.
Integrantes GIAC- UFPS, Keywords: FPGA, Matlab/Simulink, Characters recognition, Artificial
cesar@ingelectronico.
com, santiago@
neural network, Xilinx System Generator.
ingelectronico.com
2
Profesor Dpto.
Electricidad y Electrnica.
UFPS. Integrante
GIAC- UFPS,
jfereir@bari.ufps.edu.co
Respuestas
Reconocimiento de caracteres por medio de una red Ao 14
13
neuronal artificial No. 1
Junio 2008
2009
ISSN 0122-820X
0122820-X

Introduccin Uno de los retos dentro del contexto


de la ciencia y la tecnologa, es hacer que

E
el computador realice tareas que requieren
l tema de las RNAs es un campo inteligencia, razonamiento, sentido comn
bastante amplio e interesante, adems y/o manejo del conocimiento [9]. sta es
de tener muchas aplicaciones como el una caracterstica muy importante de una
reconocimiento de patrones, procesamiento RNA, su habilidad de aprender mediante la
de seales, optimizacin, prediccin, experiencia. Cada vez que una red neuronal
procesamiento de imgenes, etc [1-3]. es creada, un entrenamiento es necesario
Los avances que se han conseguido en para ensearle a dar una salida, como
los ltimos aos en este campo han sido respuesta a una entrada especfica. Las redes
notorios, permitiendo soluciones ms eficaces neuronales artificiales se pueden definir como
a problemas que antes eran casi imposibles de sistemas computacionales, tanto hardware
conseguir con los tradicionales sistemas de como software, que imitan las habilidades
computacin que trabajan bajo la filosofa de computacionales de los sistemas biolgicos
los sistemas secuenciales, desarrollados por usando un gran nmero de elementos simples
Von Neuman[4]. Por otra parte, en las ltimas llamados neuronas artificiales, donde su
dcadas, ha surgido una nueva tecnologa en funcin est determinada por las conexiones
el desarrollo de circuitos integrados que ofrece entre estas. Las neuronas artificiales son
caractersticas tales como alta velocidad de emulaciones sencillas de las neuronas
procesamiento, procesamiento concurrente y biolgicas; toman informacin desde sensores
diseo jerrquico. Esta tecnologa ha permitido u otras neuronas artificiales, realizan una
el desarrollo de los dispositivos lgicos operacin muy sencilla con estos datos, y
programables entre los cuales se encuentran pasan el resultado a otras neuronas artificiales
los dispositivos FPGA. [10]. La organizacin de estos elementos est
relacionada con la anatoma del cerebro,
Las RNAs han sido en su mayora donde cada elemento individual se conecta
implementadas en software. Esto trae a otros de forma paralela. El entrenamiento
beneficios, ya que el diseador no necesita de una red para que realice una funcin en
conocer el trabajo interno de los elementos de particular, se logra ajustando los valores de
la red neuronal. Sin embargo, una desventaja las conexiones o pesos entre sus elementos,
en las aplicaciones en tiempo real de la RNAs al igual que sus puntos de ajuste o ganancias
basadas en software, es su ejecucin ms lenta [11].
comparada con las RNAs implementadas en
hardware. La simulacin software siempre
ser el primer paso en la implementacin y Materiales y mtodos
es de gran ayuda para la prueba de diseos,
pero si se desea explotar la capacidad de El objetivo principal de este trabajo, es
procesamiento paralelo as como el manejo realizar la implementacin de una RNA en 31
de datos en tiempo real, las RNAs debern de hardware, con el fin de analizar su capacidad
implementarse a nivel hardware [5-6]. Los de responder de forma correcta a una seal
recientes avances en la lgica programable, de entrada con variaciones o distorsiones.
permiten la implementacin de grandes Esta caracterstica de las RNAs, de lograr dar
RNAs sobre un nico PLD. La principal razn una respuesta insensible, en cierto grado, a las
de esto, es la miniaturizacin en la tecnologa variaciones de la entrada, es conocida como
de fabricacin de los componentes, donde capacidad de generalizacin [12]. El proceso
la densidad de componentes electrnicos se que se lleva a cabo para la implementacin
dobla cada 18 meses, segn la ley de Moore de las redes neuronales que se tratan en este
[7-8]. proyecto se puede apreciar en la figura 1.
Respuestas
Ao 14 Reconocimiento de caracteres por medio de una red
No. 1 neuronal artificial
Junio 2009
ISSN 0122-820X
Figura 1. Metodologa para la implementacin de
redes neuronales artificiales Diseo de la red
neuronal
Seleccin del tipo de red. Con base en los
antecedentes que se tienen [1,2,4,9,12], en
cuanto a la capacidad de generalizacin se
refiere, se opta por utilizar la red neuronal
feedforward backpropagation, debido a que
este tipo de red es la que mejor se comporta en
Con la herramienta NNTool de Matlab se los problemas de reconocimiento de patrones.
realiza toda la parte netamente software del Para seleccionar el nmero de capas y el
proceso, en la cual se debe seleccionar un tipo nmero de neuronas por capa, se procedi a
de red neuronal y su configuracin de capas y la prueba y error, pasando por las tres primeras
neuronas, para posteriormente ser entrenada etapas de la implementacin (Ver figura 1),
y simulada de forma iterativa hasta que se adems de tener en cuenta que la capa de
consigue una caracterizacin deseada de los salida deba constar de cinco neuronas, ya que
patrones de simulacin. Una vez se tiene son necesarios cinco bits para representar las
entrenada la red neuronal, se crea un modelo 26 letras del alfabeto, excluyendo a la letra
de sta, por medio de bloques en Simulink, . De esta manera se le asigna a cada letra
para luego generar el archivo de configuracin el nmero que ocupa en el orden del alfabeto,
bitstream, necesario para la implementacin de modo que a letra A le corresponde el 1, y
en el FPGA. a la Z el 26. Despus de varias iteraciones y
pruebas, se opta por utilizar una configuracin
La idea inicial del sistema de reconocimiento de dos capas, 10 neuronas en la capa de
de caracteres consiste de una red neuronal entrada y 5 neuronas en la capa de salida.
que pudiera reconocer las letras del alfabeto Algunas configuraciones de ms de dos capas,
cuando estas le son presentadas, incluso si se arrojaron mejores resultados que los de la red
muestran de forma distorsionada. Para realizar seleccionada, pero no se escogi ninguna de
la representacin de las letras del alfabeto en estas porque se requeran un nmero mayor de
hardware, se crea una matriz de interruptores neuronas, lo que a su vez supone una cantidad
de 7 filas por 5 columnas, buscando formar mayor de recursos del FPGA, a tal punto que
con este arreglo, los patrones para las letras. estas redes no podran se implementadas
El estado de los interruptores (activado o con los recursos disponibles. El modelo
desactivado), es visualizado en una matriz de computacional de esta red creada en NNTool,
7x5 diodos LED (Diodo Emisor de Luz, del aparece en la figura 2.
ingls Light Emitting Diode), permitiendo
Figura 2. Arquitectura de la Red Neuronal Artificial
32 de esta manera visualizar la entrada a la red
implementada. Imagen tomada de NNTool
neuronal. Cuando un interruptor de la matriz
de entrada se encuentra cerrado, este fija un
estado lgico alto en la entrada de la red, lo cual
se visualiza en la matriz de LEDs, con un diodo
encendido en la posicin correspondiente a la
posicin del interruptor accionado. Al igual
que la entrada del sistema, la salida de este,
se presenta en una matriz de 7x5 LEDs para
En la figura 2 se muestra que la entrada
poder evaluar la respuesta de la red.
a la red neuronal consta de un vector de
Respuestas
Reconocimiento de caracteres por medio de una red Ao 14
13
neuronal artificial No. 1
Junio 2008
2009
ISSN 0122-820X
0122820-X
35 elementos, correspondientes a los 35 del alfabeto, para un total de 78 patrones de
interruptores de la matriz de entrada del entrenamiento, tal como se muestran en la
sistema. Buscando limitar las salidas de las figura 4.
neuronas a valores entre 0 y 1, ya que este es
el tipo de datos que se maneja en hardware, Entrenamiento de la red neuronal RC3.
se usa la funcin de transferencia logaritmo El juego de vectores de entrada para cada
sigmoidal. La funcin de aprendizaje utilizada letra, utilizados en este entrenamiento,
para el entrenamiento de la red es trainscg, esta conformado por un patrn con la letra
debido que esta utiliza uno de los mejores correctamente formada y dos ms, con errores.
algoritmos de entrenamiento para problemas En este caso, el ruido se introdujo a cada letra
de reconocimiento de caracteres [13]. adicionando bits en alto, a diferencia del
La funcin de desempeo se seleccion a entrenamiento de RC2, donde se adicionaron
prueba y error a partir de varias etapas de bits en alto y en bajo en la representacin
entrenamiento, entregando mejores resultados ideal del carcter. La figura 5 muestra los
la funcin de minimizacin del error medio patrones con errores introducidos en este
cuadrtico (MSE). entrenamiento.

Entrenamiento. Para realizar el entrenamiento, Figura 3. Patrones de entrenamiento de la red RC1


se crearon cinco redes neuronales con las
caractersticas mencionadas anteriormente.
Cada una de estas se entren con un juego de
patrones de entrada diferentes, con el fin de
poder comparar y analizar las diferencias en
el aprendizaje de cada una de estas y medir de
esta manera su capacidad de generalizacin,
tanto en software, as como en hardware en la
etapa de validacin. Para diferenciar cada una
de las RNA se les asignaron los nombres RC1,
RC2, RC3, RC4 y RC5. Cada una de estas
redes, fue entrenada durante 1000 pocas y
con una meta de error (goal) de 1x10exp-4.

Entrenamiento de la red neuronal RC1. Figura 4. Patrones de entrenamiento con ruido de la


Para esta RNA se utiliz un patrn de red RC2
entrenamiento por cada letra del alfabeto,
siendo este la representacin ideal de la letra
(sin errores), para un total de 26 patrones de
entrenamiento. El mapa de bits para cada
uno de estos patrones de entrenamiento, se 33
muestra en la figura 3, donde el bit que se
encuentra en la esquina superior izquierda
corresponde al bit ms significativo (MSB), y
el bit menos significativo (LSB), en la esquina
inferior derecha.

Entrenamiento de la red neuronal RC2.


Para esta red se utilizaron los mismos patrones
de entrenamiento de la red RC1, adicionando
dos entradas distorsionadas por cada letra
Respuestas
Ao 14 Reconocimiento de caracteres por medio de una red
No. 1 neuronal artificial
Junio 2009
ISSN 0122-820X
Figura 5. Patrones de entrenamiento con ruido de la Entrenamiento de la red neuronal RC5.
red RC3 En este entrenamiento buscando mejorar
la generalizacin, se introdujeron al lote de
26 letras, dos caracteres ms, a los cuales le
fueron asignadas las salidas 27 y 28 de la red.
Uno de estos caracteres es el espacio, el cual se
pretende lo clasifique correctamente la red en
aquellos casos donde todos o la mayora de los
bits de entrada estn en cero. El otro carcter
introducido en el lote de caracteres, es el
inverso del carcter anterior, el cual se forma
colocando todos los bits de la matriz de entrada
en alto. Siendo as, en este entrenamiento se
utilizaron 36 patrones por cada uno de los 28
caracteres, para un total de 1008 patrones de
entrenamiento.

Entrenamiento de la red neuronal RC4. En


este entrenamiento se utilizaron 36 patrones Modelamiento en XSG de la red neuronal.
por cada letra, un patrn con la letra ideal y 35 La estructura de la red neuronal (ver figura 2),
ms con ruido, para un total de 936 patrones. se implementa en XSG por medio de bloques
El ruido introducido es de 2.86%, equivalente Constant (constante) para los pesos y las
a un bit de la matriz, ya sea en bajo cuando ganancias; bloques Mult (multiplicadores),
la representacin ideal de la letra tiene un para realizar el producto de las entradas con
determinado bit en alto, o en alto cuando el los pesos; bloques AddSum (sumadores),
bit esta en bajo. La figura 6 muestra el caso de para realizar la adicin de todas las entradas
los 35 patrones con errores producidos para la multiplicadas por sus respectivos pesos, y
letra E. bloques ROM (memorias), las cuales se
utilizan para las funciones de transferencia. El
Figura 6. Patrones de entrenamiento con ruido para
total de bloques utilizados en la red neuronal
la letra E de la red RC4
sin tener en cuenta los bloques de la funcin
de transferencia es de 1215, a los cuales se
le deben modificar 4060 parmetros para
configurarlos adecuadamente. Aqu surge
el inconveniente de modificar esta cantidad
tan elevada de parmetros en cada una de
34 las cinco RNAs, cada vez que se requera
implementar y verificar en hardware. Para
solucionar este problema, se cre un cdigo
en Matlab que permite ajustar estos 4060
parmetros de forma automtica a partir de los
valores para los pesos y ganancias obtenidos
en el entrenamiento en NNTool, brindando
una alternativa para probar en hardware las
redes neuronales entrenadas.
Respuestas
Reconocimiento de caracteres por medio de una red Ao 14
13
neuronal artificial No. 1
Junio 2008
2009
ISSN 0122-820X
0122820-X

Implementacin partir de la lectura secuencial de las 7 filas


de 5 bits de la matriz de interruptores. Este
mdulo tambin realiza el multiplexado de las
La implementacin del sistema de matrices de LEDs de entrada y salida. La salida
reconocimiento de caracteres se realiza en la Data de este bloque, corresponde al vector de
tarjeta de desarrollo Spartan 3 de Digilent, la 35 bits de entrada de la RNA. La frecuencia
cual contiene un FPGA XC3S1000 de Xilinx. con que se realiza la lectura de la matriz de
Adicionalmente se disea la tarjeta que se interruptores esta determinada por el reloj de
emplea como perifrico para la Spartan 3, la entrada al bloque (Clk). La entrada fila es el
cual consta de la matriz de interruptores y vector de 5 bits que indica el estado de la fila
las dos matrices de diodos LED. Adems de del teclado que se est leyendo (Ver figura 8).
la RNA se deben disear otros subsistemas
que se utilizan para acondicionar la seal de Bloque de memorias. La funcin de este
entrada y la seal de salida. El diagrama de bloque es guardar las matrices de bits para las
bloques del sistema implementado se muestra letras del alfabeto y permitir la visualizacin
en la figura 7. de la letra que la red neuronal indique. Esto es
necesario debido a que la red tiene como salida
Figura 7. Diagrama de bloques del sistema de
reconocimiento de patrones
un vector de 5 bits para representar dichas
letras, en lugar de una matriz de 7x5 bits, que
es lo que se requiere para la visualizacin de la
salida del sistema. Para representar en la matriz
de LEDS, las salidas de la red correspondientes
a los valores 27 al 31 y el 0, se crea otra
matriz de bits que guarda el valor del signo
de interrogacin ?. Este subsistema esta
conformado por bloques de memorias ROM
de 5 bits de salida y 7 posiciones de memoria.
Acondicionador de la seal de entrada. El modelo en XSG del diseo implementado
El objetivo de este subsistema es conformar se muestra en la figura 8.
la entrada de 35 bits de la red neuronal, a

Figura 8. Modelo en XSG del sistema de reconocimiento de caracteres

35
Respuestas
Ao 14 Reconocimiento de caracteres por medio de una red
No. 1 neuronal artificial
Junio 2009
ISSN 0122-820X

Resultados y discusin una vez se descarga el archivo bitstream en


el FPGA. En esta etapa se observa y analiza
el comportamiento de la RNA en tiempo
Simulacin. Para analizar el comportamiento
real, ante entradas diferentes a los patrones
de las cinco redes despus de sus respectivos
de entrenamiento, permitiendo comparar
entrenamientos, se simula cada una de estas
estos resultados, con los de la simulacin en
con un lote de 2626 vectores entrada-salidas
software. Los datos obtenidos durante la etapa
esperadas, para producir un error con respecto
de verificacin en hardware y la informacin
a la salida real. Para esto, se generan de forma
contenida en la tabla 2, sirven de gran ayuda
aleatoria, por medio de una funcin creada
para evaluar la capacidad de generalizacin de
en Matlab, 101 patrones de simulacin por
las RNAs implementadas en este proyecto. La
cada carcter, con un error aleatorio que
respuesta de la red RC5, ante una entrada con
puede variar entre un rango especfico, lo cual
ruido de la letra J se muestra en la figura 9.
permite realizar la simulacin con diferentes
porcentajes de ruido en la seal de entrada. Figura 9. Verificacin en Hardware

Las entradas correspondientes a los


caracteres 27 y 28 de la red neuronal RC5,
no son tenidos en cuenta por esta funcin de
Matlab. Cada una de las 5 RNAs se simul 11
veces, variando el rango de ruido de la entrada.
En la tabla 2 se muestra el resultado de la
simulacin para las 5 redes con porcentajes
de ruido de entrada diferentes, expresado en
nmero de bits a la izquierda y en porcentaje
de error a la derecha. El desempeo de la red
se mide de acuerdo con el nmero de entradas
de la simulacin, clasificadas errneamente.
En la tabla 2 se muestra este parmetro en la
casilla de error (e).
En la tabla 2 se puede apreciar que la
Verificacin en circuito. La etapa de red RC1, que fue entrenada con solo un
verificacin en hardware se puede realizar patrn por cada carcter, tiene un mejor

Tabla 2. Resultados de la simulacin expresados nmero de errores y porcentaje de error

36
Respuestas
Reconocimiento de caracteres por medio de una red Ao 14
13
neuronal artificial No. 1
Junio 2008
2009
ISSN 0122-820X
0122820-X
comportamiento que las redes RC2 y RC3 en capacidad de generalizacin para altos niveles
todas las simulaciones, excepto en la ltima, de error, se debe comprobar en la etapa de
lo cual hace pensar que cuando se utiliza verificacin ya que estos, no son tenidos en
ms de un patrn de entrenamiento por cada cuenta por la funcin creada en Matlab para
carcter (situacin presentada en las redes realizar la simulacin.
RC2 y RC3), existe una relacin directa entre
el nmero de patrones de entrenamiento y la El error mostrado en la tabla 2, resulta
similitud entre estos, para conseguir buena ser relativo por cuanto en la verificacin en
generalizacin. hardware, la respuesta de la red RC5 es la mejor
de todas las redes, dejando ver que a mayor
La deficiente generalizacin de las redes nmero de patrones de entrenamiento se
RC2 y RC3 se debe a que estas utilizan patrones logra una mayor capacidad de generalizacin,
de entrenamiento aleatorios, con errores muy siempre y cuando exista cierta similitud entre
altos en cada uno de ellos, haciendo que en estos, y los valores de salida esperados.
el aprendizaje no se marque la tendencia de
la red que debe producir la salida correcta a Se debe tener en cuenta que aunque
valores cercanos al patrn de entrenamiento. la ltima red entrenada tiene un buen
Incluso en la red RC3, debido a que solo se comportamiento en cuanto a la capacidad de
introducen errores colocando bits en alto, generalizacin se refiere, esta se puede mejorar
esta no puede responder adecuadamente a realizando un entrenamiento para un juego
entradas que contienen errores con bits en de vectores de entrada y salida ms grande,
bajo, siendo por esta razn la RNA con la peor ya que en este caso solo se utilizaron 2.626
respuesta. patrones de entrenamiento, equivalentes al
76,43x10exp-9 %, un valor insignificante
La red RC5 tiene para vectores con ruido en comparacin con las 34.359738.368
de entrada bajo, un desempeo bastante posibilidades de entrada al sistema.
notorio en comparacin con las redes RC1,
RC2 y RC3, y un comportamiento muy Recursos utilizados en la implementacin.
parecido para todos los niveles de ruido con la La cantidad de recursos del FPGA utilizados
red RC4. A pesar de esto, la red RC5 mostr en la implementacin (ver tabla 3), se obtiene
un menor desempeo que la red RC4 en las compilando en Project Navigator de Xilinx,
ltimas tres simulaciones y el peor resultado el proyecto ISE que crea XSG durante la
de las 5 redes en la ltima simulacin, compilacin bitstream. La cantidad de
marcando una tendencia en el error de recursos totales del diseo se expresa de una
salida de crecer a medida que se incrementa forma general con el nmero equivalente en
el error de la entrada; esto es debido a que, compuertas. Este parmetro es muy importante
para estas entradas con errores elevados, esta a la hora de comparar entre varios diseos
red clasifica muchos de estos valores dentro que realizan la misma funcin pero que su
de los 2 nuevos caracteres creados para el descripcin y por tanto su implementacin se 37
entrenamiento de esta red. La influencia de hace de manera diferente.
estos caracteres en el mejoramiento de la
Tabla 3. Cantidad de recursos utilizados
Respuestas
Ao 14 Reconocimiento de caracteres por medio de una red
No. 1 neuronal artificial
Junio 2009
ISSN 0122-820X
Con base en la tabla 3, se puede determinar que no haba visto antes, resultando en una
la densidad de neuronas de la implementacin. deficiente generalizacin.
Para este caso, la densidad es de 20.905
compuertas por neurona. En este punto, se Para obtener un nivel de generalizacin
puede decir que, en el mejor de los casos, mayor, todas las salidas esperadas de una red
es posible realizar implementaciones en el neuronal deben quedar definidas utilizando el
FPGA XC3S1000 de Xilinx, con un nmero menor nmero de bits para su codificacin,
de neuronas cercano a 45, diferente de lo a fin de evitar que la red converja a valores
que se pens, cuando se empez a desarrollar no deseados, que se pueden presentar en
este proyecto. Se deja para futuros proyectos las salidas binarias de la red, que no estn
construir una RNA con un nmero mayor de definidas como una salida deseada.
neuronas.
Para el entrenamiento de una red neuronal
se debe seleccionar un nmero de patrones
Conclusiones de entrada-salida coherente con el total de
posibles entradas que se pueden presentar y
La herramienta Matlab/Simulink junto con que a su vez represente el comportamiento
Xilinx System Generator ofrecen un ambiente que se desea de la red.
de diseo amigable y conveniente para
desarrollar RNAs, ya que la red es diseada
por medio de bloques e interconexiones entre
estos, con un alto nivel de abstraccin, puede
Bibliografa
ser simulada en software e implementada sobre
[1] CHAPMAN, Rob. SUTANKAYO,
FPGAs, los cuales gozan de caractersticas
Steven. Implementing Artificial Neural
tales como: robustez, velocidad y paralelismo,
Network Designs. Abril, 1998.
que para las RNAs son esenciales.
[2] LAU, Tsz Hei. Implementation of Artificial
Aunque no existe un mtodo o criterio
Neural Network on FPGA Devices.
establecido que permita a los diseadores de
Nueva Zelanda, 2005. Universidad de
Redes Neuronales Artificiales seleccionar entre
Auckland, Departamento de ingeniera
uno u otro tipo de red, ya que este es definido
de sistemas de computo.
por el diseador con base en su experiencia,
la facilidad en la creacin y el entrenamiento
[3] RESTREPO, H. F. HO_MAN, R.
de las mismas mediante NNTool de matlab,
PEREZ-URIBE, A. TEUSCHER, C. y
permite, si no se tiene mucha experiencia en
SANCHEZ E. A networked fpga-based
este tipo de diseos, elegir mediante ensayo y
hardware implementation of a neural
error la red que mejor se ajuste a la solucin
network application. En: Proceedings
del problema.
38 of the IEEE Symposium on Field
Programmable Custom Computing
Uno de los factores que permiten que una
Machines (FCCM00), pginas 337-338,
red tenga mayor capacidad de generalizacin,
Napa, California, USA, Abril 17-19 del
es utilizar el menor tamao posible de la red,
2000.
que proporcione un adecuado comportamiento
(clasifique correctamente todos los patrones
[4] ACOSTA, Maria Isabel. ZULUAGA,
de entrenamiento), ya que entre ms grande,
Camilo Alfonso. Tutorial sobre redes
la funcin que esta puede crear en forma de
neuronales aplicadas en Ingeniera
informacin entre sus neuronas, se vuelve ms
Elctrica y su implementacin en
compleja, la cual solo es capaz de reconocer los
un sitio Web. Pereira, 2000. p. 342.
patrones de entrenamiento y no da respuestas
Universidad Tecnolgica de Pereira.
coherentes cuando se le presenta una entrada
Respuestas
Reconocimiento de caracteres por medio de una red Ao 14
13
neuronal artificial No. 1
Junio 2008
2009
ISSN 0122-820X
0122820-X
Disponible en Internet: http://ohm.utp. [11] RIVERA, Cesar Alexander. SANTIA-
edu.co/neuronales. GO, Jhon Jairo. Metodologa de diseo
para la implementacin de Redes
[5] MOCTEZUMA EUGENIO, Juan Neuronales Artificiales en Dispositivos
Carlos. TORRES HUITZIL, Cesar. Lgicos Programables. Ccuta, 2007. p.
Estudio sobre la implementacin de redes 290. Trabajo de grado en la modalidad de
neuronales artificiales usando Xilinx proyecto de investigacin. Universidad
System Generator. Puebla, Mxico. Francisco de Paula Santander. Plan de
2005. P.1. Benemrita Universidad estudios de Ingeniera Electrnica.
Autnoma de Puebla.
[12] SMACH, F. ATRI, M. MITRAN, J.
[6] MOUSSA, M. AREIBI, S. y NICHOLS ABID, M. Design of a Neural Networks
K. Arithmetic precision for bp networks. Classifier for Face Detection. En: Journal
En: Amos Omondi and Jagath Rajapakse, of Computer Science 2. Tnez, Francia,
editors, FPGA Implementations of 2006. p. 257-260.
Neural Networks. Kluwer Academic
Publishers, Diciembre de 2003. [13] MOLLER, M.F. A Scaled Conjugate
Gradient algorithm for fast supervised
[7] MOORE, G.E. Cramming more learning, Neural Networks. Vol. 6, 1993.
components onto integrated circuits. p. 525-533.
En: Readings in computer architecture.
2000. p. 5659. Disponible en
Internet: http://portal.acm.org/citation.
cfm?id=333074

[8] TOMMISCA, M.T. Efficient digital


implementation of the sigmoid function
for reprogrammable logic. En: Computers
and Digital Techniques. Finlandia. Vol
150, no. 6 (Nov. 2003); p.403-411

[9] VIVAS, Rosa Liliana. Estudio de


mtodos de inteligencia artificial y
desarrollo de cdigos y aplicativos en
Matlab para el modelamiento de sistemas
basados en rboles de decisin, lgica
difusa y redes neuronales. Ccuta, 2005.
P.193. Trabajo de grado en la modalidad
pasanta. Universidad Francisco de 39
Paula Santander. Plan de estudios de
Ingeniera Electrnica.

[10] HAMILTON, Alberto Francisco.


Estrategias de control ptimo basadas
en programacin dinmica y redes
neuronales para sistemas MIMO
continuos no lineales. Espaa, 2002.
Tesis doctoral. Universidad de la
Laguna.

Você também pode gostar