You are on page 1of 3

Introducción al reconocimiento de patrones

mediante redes neuronales


Emiliano Aldabas-Rubira
UPC-Campus Terrassa-DEE-EUETIT Colom, 1 08222 Terrassa Barcelona
e-mail: aldabas@eel.upc.es

Resumen
En el marco de las jornadas de conferencias de
ingeniería electrónica JCEE’02, se presenta un breve
resumen de una de las aplicaciones típicas de las redes
neuronales artificiales ANN (Artificial Neural Network).
En ella, un perceptrón multinivel MLP (Multilayer
Perceptron) se usa para el reconocimiento óptico de
caracteres OCR (Optical Character Recognition). Por
último, se simula una red neuronal en el entorno MATLAB,
entrenándola mediante el conocido algoritmo back capa de nodos capas de neuronas ocultas
capa de
neuronas de
propagation BP. de entrada salida

Fig. 1: Estructura de un perceptrón multinivel.


1. Introducción
En la bibliografía se pueden encontrar diferentes −1 θk
definiciones sobre lo que es una red neuronal, quizás la más
completa es la siguiente:
Una red neuronal artificial es un procesador x1 wk 1
distribuido en paralelo de forma masiva que tiene una
tendencia natural para almacenar conocimiento de forma
experimental y lo hace disponible para su uso.
x2 wk 2
Se parece al cerebro humano en dos aspectos: uk
• El conocimiento es adquirido por la red a través de un ∑ ϕ yk
proceso de aprendizaje. . .
• Los pesos sinápticos o fuerza con que están .
funcion de señal de
. activacion salida
interconectadas las neuronas se utilizan para almacenar la Sumador
. .
información.

Otras definiciones son: xp w kp


• Una nueva forma de computación, inspirada en señales de
pesos sinapticos
entrada
modelos biológicos.
• Un modelo matemático compuesto por un gran número Fig. 2: Modelo de una neurona.
de elementos procesales organizados en niveles.
• Un sistema de computación hecho por un gran numero
de elementos simples, elementos de proceso En este tipo de tarea hay un número fijo de categorías
interconectados, los cuales procesan información por medio en las cuales las muestras de entrada deben clasificarse.
de su estado dinámico como respuesta a entradas externas. Para ello primero se requiere una fase de entrenamiento en
• Redes neuronales artificiales son redes interconectadas la que se presenta a la red los patrones que debe aprender y
masivamente en paralelo de elementos simples (usualmente la categoría en cual clasificarlo. Entonces se le presenta a
adaptativos) y con organización jerárquica, las cuales la red un patrón nuevo y desconocido pero que pertenece a
intentan interactuar con los objetos del mundo real del alguna de las categorías aprendidas y esta debe decidir a
mismo modo que lo hace el sistema nervioso biológico. que categoría se parece más.

Aunque cada definición aporta información sobre lo que La ventaja de usar redes neuronales está en el hecho que
es una red neuronal, para saber como funcionan y en que se pueden separar regiones no lineales de decisión tan
consisten es necesario desarrollar una explicación extensa. complicadas como se desee dependiendo del número de
Sin embargo, en este trabajo se describirá una aplicación neuronas y capas. Por lo tanto, las redes neuronales
típica de las redes neuronales multicapa, concretamente el artificiales sirven para resolver problemas de clasificación
reconocimiento de patrones. de alta complejidad.
2. Perceptrón multinivel La combinación de estas características, hace que la
Dentro de las redes neuronales, las que más utilizadas habilidad de esta red para aprender a partir del
son las redes con múltiples capas que funcionan hacia entrenamiento sea muy potente, por ejemplo es capaz de
delante. Esta red esta compuesta por un conjunto de nodos resolver el problema de la OR-exclusiva a diferencia del
de entrada que componen la capa de entrada, un conjunto perceptrón.
de una o más capas ocultas de neuronas y una capa de
neuronas de salida. La señal de entrada se propaga hacia De todas formas, este comportamiento hace que sea
adelante desde la capa de entrada por la oculta hasta la difícil conocer a priori la respuesta de la red. Esto se debe
salida; este tipo de configuración se conoce como MLP o a dos motivos, el comportamiento no lineal de las neuronas,
“MultiLayer Perceptrons” (figura 1) [1],[2],[3]. las cuales están muy interconectadas, (lo que hace difícil un
análisis teórico de la red) y la existencia de neuronas
El hecho de que este tipo de red se aplique para resolver ocultas, que impide poder “ver” como se produce el
con éxito multitud de problemas se debe a la utilización del aprendizaje y determinar cuales son las características que
algoritmo de aprendizaje que actualmente está más mejorarían el aprendizaje.
extendido, el algoritmo o regla back propagation, el cual es
una generalización de la regla LMS “Least Mean Square”, El desarrollo del algoritmo back propagation
por lo tanto también se basa en la corrección del error. proporciona un método eficiente para entrenar este tipo de
redes. Aunque no es capaz de resolver todos los
Básicamente el proceso back propagation consiste en problemas, se ha demostrado como el mejor de todos. Su
dos pasadas a través de las diferentes capas de la red, una importancia está en su capacidad de autoadaptar los pesos
pasada hacia adelante y una pasada hacia atrás. En la de las neuronas intermedias para aprender la relación que
pasada hacia adelante, se aplica en la capa de entrada un existe entre el conjunto de vectores o patrones de entrada y
patrón o vector de entrada, este propaga su efecto a través su correspondiente salida, y poder aplicar esa relación
de las diferentes capas y como consecuencia produce un después del entrenamiento a nuevos vectores de entrada
vector de salida. Durante este proceso, los pesos sinápticos imperfectos o con ruido. Esta capacidad se conoce como
de la red son fijos y no se modifican. generalización. La red debe encontrar una representación
interna que le permita generar las salidas deseadas durante
Durante la pasada hacia atrás en cambio, los pesos si se la etapa de entrenamiento, y posteriormente durante el
modifican de acuerdo con la regla de corrección del error. funcionamiento ser capaz de generar salidas para entradas
La señal de salida real se compara con la señal deseada y que no le fueron mostradas durante el aprendizaje pero que
como resultado se obtiene una señal de error, que se se asemejan a alguna de las que si le fueron mostradas.
propaga en dirección contraria a través de la red
modificando los pesos, de forma que, al volver a pasar el 3. Ejemplo de aplicación
vector de entrada hacia adelante, la respuesta obtenida se Para simular el funcionamiento de un perceptrón
asemeje más a la salida deseada. Concretando, se puede multinivel entrenado mediante el algoritmo back
decir que un perceptron multicapa tiene tres características: propagation, se plantea un sencillo problema de
reconocimiento de óptico de caracteres. Su descripción es
1. El modelo de cada neurona (figura 2) incluye una la siguiente:
función no lineal. En este caso, a diferencia del perceptrón
donde es la función escalón, y debido a la necesidad de que Dado un panel de entrada compuesto por una matriz de
sea una función continua y derivable, es la función 7x5 puntos, se consideran 12 clases diferentes donde se
sigmoide, donde uk es la suma total de la actividad interna pretenden clasificar las muestras que se introducen. Los
en la neurona k (la señal de entrada) e yk la salida que se patrones que definen correctamente a cada una de las clases
produce en la neurona. son los números del 0 al 9, el punto y el guión (figura 3).
Cuando a la entrada se presente una muestra distinta de los
1 patrones correctos, el sistema presentará a su salida la
yk = (1) información decodificada de la clase a la que pertenece la
1 + exp( −u k ) muestra, o bien, de la clase a la cual se aproxima más.

2. La red contiene una o más capas ocultas de neuronas En base a este planteamiento, la red neuronal dispone de
que no forman parte ni de la entrada ni de la salida. Estas 35 entradas que se corresponden con los puntos de la matriz
neuronas ocultas capacitan a la red para aprender numerados en la figura 4. El valor de cada entrada puede
progresivamente cualquier correspondencia entre la entrada ser 0 si el punto es blanco y 1 si el punto es negro. Por
y la salida y almacenar internamente esta información. otro lado, dispone de 12 salidas, una por cada clase.
Cuando se introduzca una muestra a la entrada únicamente
3. La red posee un gran número de conexiones, estas se activará la salida de la clase a la que pertenezca,
vienen determinadas por los pesos de la red. Un cambio en permaneciendo las 11 restantes desactivadas con valores
la conexión entre las neuronas equivale a un cambio en los próximos a cero. Se considera que una salida está activada
pesos. cuando su valor es próximo a la unidad.
Patrón "0" Patrón "1" Patrón "2" Patrón "3" Patrón "4" Patrón "5"

Patrón "6" Patrón "7" Patrón "8" Patrón "9" Patrón "10" Patrón "11"

Fig. 3: Representación gráfica de los patrones de los caracteres numéricos en el formato de matriz de puntos 7x5.

Muestra "1" Salida Patrón “1” Patrón “1” con error


Columnas ideal. sin error. en el punto 32.
incompleta
1 2 3 4 5 0 0.00000000038246 0.00000000022760
1 1 2 3 4 5 1 0.97094634494005 0.93598496351919
0 0.00483116118854 0.00425679820665
2 6 7 8 9 10
F 0 0.00000007267857 0.00000003653425
i 3 11 12 13 14 15 0 0.00001815880785 0.00001549628867
l 4 16 17 18 19 20 0 0.00000000010405 0.00000000001916
a 5 21 22 23 24 25
0 0.00000098764700 0.00000340726166
s 0 0.00038787588951 0.00012976360904
6 26 27 28 29 30 0 0.00016876462031 0.00008967151863
7 31 32 33 34 35 32 0 0.00127029941580 0.00051591379971
0 0.02144501839329 0.01084408021869
0 0.01863962414026 0.06933193518770
Fig. 4: Numeración de los puntos del display 7x5 y ejemplo de
una muestra del patrón “1” con un punto erróneo. Tabla I: Resultados de simulación.

4. Resultados de simulación De la misma manera, cuando se introduce una muestra


Se ha desarrollado el programa BP5.m para el entorno con error en un punto (figura 4), la red clasifica
MATLAB 5.0 Student Edition. En él se ha programado un perfectamente dicha muestra en la clase correcta. Este
perceptrón multinivel con 35 entradas y 12 salidas. sencillo ejemplo sirve para confirmar que los perceptrones
También dispone de dos capas ocultas a las cuales se les multinivel resuelven excelentemente el problema de
puede modificar el número de sus neuronas. La red clasificación de muestras, compitiendo con otros métodos
neuronal se ha entrenado con el algoritmo back propagation como puedan ser los estadísticos.
fijando el valor del momento en 0.8 y el factor de
aprendizaje en 0.2. En este proceso únicamente se han Referencias
usado doce muestras diferentes, es decir, los doce patrones [1] J. R. Hilera; V. J. Martínez; "Redes neuronales artificiales.
sin ningún punto erróneo. Fundamentos, modelos y aplicaciones”. Ed. Rama, 1995.

En la tabla I se muestran los resultados obtenidos para [2] S. Haykin; "Neural networks. A comprehensive foundation".
IEEE Press, 1994.
una red neuronal de tamaño 35-30-20-12. Se aprecia que
tras el proceso de entrenamiento, el sistema responde de [3] Joan Cabestany Moncusí, Sergi Bermejo Sánchez; “Xarxes
forma casi ideal cuando se introduce un patrón sin error. Neuronals”. http://petrus.upc.es/~microele/neuronal/xn/

You might also like