Vous êtes sur la page 1sur 6

Redes Neuronales. Reconocimiento de Imágenes.

Bien Guillermo1, Krein Diego1, Rambo Alice1


1
Analista de Sistemas de Computación Instituto Gastón Dachary Salta 1968 Posadas –
Misiones. www.dachary.edu.ar

Abstract. El presente trabajo, refleja la experiencia realizada al programar bajo


un lenguaje de entorno visual, los algoritmos que reflejan los fundamentos de
una Red de Hopfield, utilizada para el reconocimiento de imágenes. Para ello se
planteó el aprendizaje de tres patrones de 10 *10 ingresados por diferentes
métodos, para luego determinar el reconocimiento de un patrón de entrada
ingresado con niveles de corrupción o falencia de datos variables, para así poder
determinar el comportamiento de la Red Neuronal ante distintas contigencias y
su porcentaje de reconocimiento de patrones.

1 Intorduction

Las redes neuronales son estructuras pensadas para simular las estructura y el
comportamiento del sistema nervioso, por esta razón una neurona artificial posee
entradas, salidas y un estado además de estar conectadas a otras neuronas siendo las
salidas de estas entradas de las demás.
El modelo presentado por J. Hopfield, consiste en cuatro aspectos básicos:

1.1 Topología

Es una red monocapa con conexiones laterales no recurrentes, esto quiere decir que
solo se tiene una capa de neuronas que se encuentran conectadas entre si pero no con
ellas mismas.

1.2 Aprendizaje

No supervisado (off line), no requiere influencia externa para ajustar los pesos, puede
autoorganizarse. El tipo de aprendizaje es Hebbiano, este último, consiste en el ajuste
de pesos de las conexiones de acuerdo con la correlación (multiplicación de los
valores binarios +1 y –1) de los valores de activación (salidas) de las neuronas
conectadas. Es decir, si dos unidades son activas (positivas), se producen un
reforzamiento de la conexión. Por el contrario, cuando una es activa y la otra es
pasiva (negativa), se produce un debilitamiento de la conexión.
La modificación de los pesos se realiza en función de los estados (salidas) de las
neuronas obtenidas tras la presentación de cierto estímulo (información de entrada
de la red

1.3 Tipo de Asociación entre la información de entrada y la salida

La función de activación de cada neurona (i) de la red (f(x)) es de tipo escalón.


Si se trabaja con los valores binarios –1 y +1 suele considerarse el valor nulo para θi
(umbral).

⎧− 1 x < θi (1)
f ( x) = ⎨
⎩+ 1 x > θi

1.4 Representación de la Información

Previamente codificada y representada en forma de vector como una configuración


binaria “red discreta”.
Fig. 1. Representación gráfica del modelo de Red de Hopfield. HILERA, J. R.
MARTINEZ, V. J. Redes Neuronales Artificiales. Fundamentos, modelos y
aplicaciones. Alfaomega. 2000.

2 Objetivos

Basados en los parámetros prefijados por el titular de la Cátedra Inteligencia Artificial


II, para un mejor comprensión del Modelo de Hopfield se realizó el siguiente trabajo:
Desarrollar un programa que por medio del aprendizaje de tres patrones iniciales
pueda realizar el reconocimiento de un cuarto patrón el cual será corrupto. El
programa tomando está última entrada tendrá que realizar un proceso de
aproximación a uno de los tres patrones aprendidos.

3 Desarrollo

3.1 Materiales y métodos

Para el desarrollo del presente programa, se recurrió dada la facilidad de la interfase


visual al lenguaje Visual Basic 6.0 y para guardar los patrones que se van a ingresar
se utilizó Microsoft Acces 2000.
Basados en el Modelo de Hopfield se diseñaron tres módulos principales:
El primer se llama “Comparar” y verifica la condición de ortogonalidad de los
patrones, esta condición no es necesaria para continuar con el proceso aunque de
cumplimentarla se asegura convergencia de la entrada corrupta.
El segundo se llama “Aprender”, y en el mismo se desarrolla el algoritmo de la
siguiente forma

∑ (v )
m (2)
W = i ∗ v T
i − MI
i = 1

El tercer módulo llamado “Aproximar”, realiza el proceso presente en la siguiente


formula, hasta tanto se converja o se cumpla la cantidad de iteraciones predefinidas.

V = Vi ∗ W
(3)
3.2 Resultados

Se inició la prueba del comportamiento del sistema, cargando patrones de entrada que
respondían a los objetivos planteados en el momento de desarrollo del sistema,
reconocimiento de letras, en este caso A, B y C.
Al someter a estos patrones de ortogonalidad por medio del proceso “comparar”, se
determino, que estos patrones no eran ortogonales entre sí, por lo tanto se detecto una
de las limitaciones de Hopfield, citada en la bibliografía, que indica como necesidad
para la convergencia de la red en el momento de ingresar el patrón a reconocer es
condicionante que los patrones aprendidos en un principio tengan la suficiente
“diferencia”
La segunda limitación del modelo se refiere a la cantidad de datos a aprender que
según las características de nuestro modelo (matriz de 10 * 10), tiene un limite de 13
patrones por lo cual se estimo actuar dentro de un margen suficientemente aceptable
al introducir únicamente tres patrones durante el proceso de aprendizaje.
Se detecto que la convergencia de la red no se producía en los casos que la
información del patrón de entrada era lo suficiente como para que el ojo humano lo
reconozca, pero el modelo no lo hacía.
En segundo lugar al solicitar que el modelo realice la aproximación paso a paso la
evolución del patrón no era una evolución creciente, este patrón variaba
significativamente y en ciertos casos se hacia notorio la representación de los patrones
aprendidos (las letras), en negativo (intercambiados los bits de información).
Fig. 2. Captura de la Pantalla del programa durante el proceso de Aproximación

Otro factor detectado es que según el método de Hopfield, en el caso que los
patrones sean ortogonales, cuando realiza el proceso de aproximación, siendo que la
cantidad de información ingresada es suficiente para distinguir entre los patrones
aprendidos y el ingresado, la red tendería a estabilizarse, o sea una vez alcanzado un
valor similar (el patrón ingresado se acerca al patrón mas similar entre los
aprendidos), este valor no vuelve a cambiar. En el caso en que los patrones
aprendidos no son ortogonales, se detecto que la estabilidad de la red está sujeta a la
cantidad de iteraciones que se realicen, por ello se utilizo dos variables para estudiar
este comportamiento, cantidad de iteraciones (cantidad de veces que se desea realizar
el proceso de aproximación), y convergencia (cantidad de veces que el patrón
aproximado tiene que repetirse en forma consecutiva durante el proceso de
aproximación).
Por medio de estas variables se determino que al aumentar el número destinado a la
convergencia, siempre hablando de patrones aprendidos no ortogonales, era más
difícil llegar a un punto de estabilidad (convergencia) en el modelo, ya que al no ser
ortogonales este proceso de aproximación hacia que el vector de aproximación varíe
de una iteración a otra, esto sucedía por más que se aumente la cantidad de
iteraciones.
4 Conclusion

Una forma muy sencilla de conseguir la asociación entre patrones es mediante una
memoria lineal
Si los patrones son ortonormales mediante una matriz NxN podemos almacenar N
patrones y recuperarlos sin error
Si los patrones no son ortogonales existe interferencia entre ellos en el proceso de
recuperación
Para solucionar los inconvenientes planteados en este trabajo surgen las redes de
propagación hacia atrás (BPN – Back Propagation Network).

5 Referencias

Esta es la bibliografía utilizada como referencia para el desarrollo de presente trabajo

1. HILERA, J. R. MARTINEZ, V. J. Redes Neuronales Artificiales. Fundamentos, modelos y


aplicaciones. Alfaomega. 2000.
2. RICH, E. KNIGHT K. Inteligencia Artificial. Mc Graw Hill. 1996.
3. RUSSELL, S. NORVIG, P. Inteligencia Artificial, Un Enfoque Moderno. Prentice Hall.
1996.

Vous aimerez peut-être aussi