Informe Redes Neuronales
Informe Redes Neuronales
Informe Redes Neuronales
Reconocimiento de I m g e n e s
Articulacin Licenciatura en Sistemas. Facultad de Ciencias Exactas Qumicas y Naturales. Universidad Nacional de Misiones Posadas Misiones Materia: Sistemas Expertos, Inteligencia Artificial y Modelos y Simulacin Profesora: Ing. Sonia Mario Alumnas: Luthi Nancy Kolb Melissa Rambo Alice
Articulacin Licenciatura en Sistemas. Facultad de Ciencias Exactas Qumicas y Naturales. Universidad Nacional de Misiones Posadas Misiones.
ndice de contenidos
1 Introduccin .......................................................................................................... 3 2 Objetivos ............................................................................................................... 4 3 Desarrollo .............................................................................................................. 5 4 Conclusiones ....................................................................................................... 11 5 Anexos ................................................................................................................ 12 6 Bibliografa ......................................................................................................... 15 ndice de Figuras Figure 1 Representacin de la Red de Hopfield. HILERA, J. R. MARTINEZ, V. J. Redes Neuronales Artificiales. Fundamentos, modelos y aplicaciones. Alfaomega. 2000 (3) ........................................................................................................................ 4 Figure 2 Captura de la pantalla del programa, etapa de reconocimiento, patrones no ortogonales ................................................................................................................... 7 Figure 3 Captura de la pantalla del programa, etapa de reconocimiento, patrones 100 % ortogonales ........................................................................................................ 8 ndice de Ecuaciones Ecuacin 1 matrz de aprendizaje (3) ....................................................................... 5 Ecuacin 2 vector patron (3) .................................................................................... 5 Ecuacin 3 Concepto de matriz ortogonalidad......................................................... 5 Ecuacin 4 Comparativa de matrz ortogonal .......................................................... 5 ndice de Tablas Table 1 porcentajes de aciertos en las pruebas realizadas ........................................ 8 Table 2 Aciertos discriminados por convergencia y ortogonalidad ......................... 9 Table 3 Tabla de patrones ortogonales discriminada por convergencia, dispercin y acierto ........................................................................................................................... 9
Resumen: 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 imgenes. Para ello se plante el aprendizaje de tres patrones de 10 *10 ingresados por diferentes mtodos, para luego determinar el reconocimiento de un patrn de entrada ingresado con niveles de corrupcin o falencia de datos variables, para as poder determinar el comportamiento de la Red Neuronal ante distintas contingencias y su porcentaje de reconocimiento de patrones.
Fundamentacin
El presente trabajo busca estudiar y entender el tipo de comportamiento de una red de Hopfield en un caso especfico como el de reconocimientos de patrones de imgenes. Para lo cual se busca dentro de la bibliografa mencionada al final del presente documento y se encuentran referencias a pruebas realizadas sobre reconocimientos de caracteres. Se procede a buscar software similares y se encuentra un programa cuyos autores son Arturo Guzmn Guerra y Clara Bazn Jurez: de Mxico D.F., de la UNITEC sur (1). Este software permite reconocer patrones de caracteres ingresados a mano sobre una plantilla de pixels, pero no permite apreciar la creacin de la matriz patrn durante la etapa de entrenamiento ni del vector de reconocimiento. De todos modos sirve como estudio comparativo para el proyecto que pretendemos plantear. Para lo cual se procede a disear una representacin de un patrn de 10 x 10 pixels para simbolizar los caracteres y otros patrones a ser aprendidos.
1 Introduccin
Las redes neuronales son estructuras pensadas para simular las estructura y el comportamiento del sistema nervioso, por esta razn una neurona artificial posee entradas, salidas y un estado adems de estar conectadas a otras neuronas siendo las salidas de estas entradas de las dems. El modelo presentado por J. Hopfield, consiste en cuatro aspectos bsicos: 1.1 Topologa: 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 (2). El tipo de aprendizaje es Hebbiano, este ltimo, consiste en el ajuste de pesos de las conexiones de acuerdo con la correlacin (multiplicacin de los valores binarios +1 y 1) de los valores de activacin (salidas) de las neuronas conectadas. Es decir, si dos unidades son activas (positivas), se producen un reforzamiento de la conexin. Por el contrario, cuando una es activa y la otra es pasiva (negativa), se produce un debilitamiento de la conexin. La
modificacin de los pesos se realiza en funcin de los estados (salidas) de las neuronas obtenidas tras la presentacin de cierto estmulo (informacin de entrada de la red 1.3 Tipo de Asociacin entre la informacin de entrada y la salida: La funcin de activacin de cada neurona (i) de la red (f(x)) es de tipo escaln. Si se trabaja con los valores binarios 1 y +1 suele considerarse el valor nulo para i (umbral).
1 f ( x) = + 1
x < i x > i
1.4 Representacin de la Informacin: Previamente codificada y representada en forma de vector como una configuracin binaria red discreta.
Figure 1 Representacin de la Red de Hopfield. HILERA, J. R. MARTINEZ, V. J. Redes Neuronales Artificiales. Fundamentos, modelos y aplicaciones. Alfaomega. 2000 (3)
2 Objetivos
Basados en los parmetros prefijados por el titular de la Ctedra Inteligencia Artificial II, para una mejor comprensin 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 patrn el cual ser corrupto. El programa tomando est ltima entrada tendr que realizar un proceso de aproximacin a uno de los tres patrones aprendidos.
(v
m i = 1
T i
MI
El tercer mdulo 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
Ecuacin 2 vector patron (3)
En cuanto a ortogonalidad. Una matriz cuadrada A con matriz traspuesta AT y matriz inversa A 1 es ortogonal, siempre que AT = A 1.
Ecuacin 3 Concepto de matriz ortogonalidad
En cuanto a ortonormalidad. Es cuando esta matriz resultante es la unidad, una matriz ortonormal se llama as cuando el producto por su matriz transpuesta es igual a la
matriz unitaria. Es decir que su matriz inversa es la matriz transpuesta. Se calcula mediante un sistema de ecuaciones o a veces por el proceso de ortonormalizacin grant-smith. 1/2 A-1 + 1/2 AT = I (matriz identidad) La cantidad de patrones que puede aprender una red es de 0,138 N (4) donde N es el nmero de unidades de red.
3.2 Resultados
Se corrieron varias pruebas sobre el modelo bajo diferentes condiciones, las cuales se pasan a detallar en el Anexo 1 de este documento. La dispersin generada es aleatoria, pero se detecta en aquellos patrones ortogonales, que cuando el porcentaje de dispersin generada es del 50 % o superior, y el formato de la dispersin afecta a la figura o patrn desde el centro a la derecha o a la izquierda, no logra reconocer al patrn, o lo confunde con otro. Pero en aquellos casos que la dispersin se genera del centro hacia arriba o hacia abajo del patrn generado si logra se reconocido, pero a mayor iteraciones cuanto mayor es el nmero solicitado de convergencia. Se puede observar en la figura 3 la pantalla con los patrones ortogonales. Tambin se pudo observar que en algunos casos donde se peda una convergencia de uno con dispersiones mayores al 50% sola confundir al patrn con otro, pero al aumentar la convergencia valores de dos o tres, si se lo detectaba correctamente. Se inici la prueba del comportamiento del sistema, cargando patrones de entrada que respondan 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 nos enfrentamos a unas de las limitaciones de Hopfield, que indica como necesidad para la convergencia de la red en el momento de ingresar el patrn a reconocer es condicionante que los patrones aprendidos en un principio tengan la suficiente diferencia. La segunda limitacin del modelo se refiere a la cantidad de datos a aprender que segn las caractersticas de nuestro modelo (matriz de 10 * 10), tiene un limite de 13 patrones por lo cual nos encontramos dentro de un margen suficientemente aceptable al introducir nicamente tres patrones durante el proceso de aprendizaje. En cuanto al reconocimiento, se detecto que la convergencia de la red no se produca en los casos que la informacin del patrn de entrada era lo suficiente como para que el ojo humano lo reconozca, pero el modelo no lo haca. En segundo lugar al solicitar que el modelo realice la aproximacin paso a paso la evolucin del patrn no era una evolucin creciente, este patrn variaba significativamente y en ciertos casos se hacia notorio la representacin de los patrones aprendidos (las letras), en negativo (intercambiados los bits de informacin).
Otro factor detectado es que segn el mtodo de Hopfield, en el caso que los patrones sean ortogonales, cuando realiza el proceso de aproximacin, siendo que la cantidad de informacin ingresada es suficiente para distinguir entre los patrones aprendidos y el ingresado, la red tendera a estabilizarse, o sea una vez alcanzado un valor similar (el patrn ingresado se acerca al patrn mas similar entre los aprendidos), este valor no vuelve a cambiar.
Figure 3 ortogonales
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 utilizamos dos variables para estudiar este comportamiento, cantidad de iteraciones (cantidad de veces que se desea realizar el proceso de aproximacin), y convergencia (cantidad de veces que el patrn aproximado tiene que repetirse en forma consecutiva durante el proceso de aproximacin).
Table 1 porcentajes de aciertos en las pruebas realizadas
ortogonales no ortogonales
Por medio de estas variables determinamos que al aumentar el nmero destinado a la convergencia, siempre hablando de patrones aprendidos no ortogonales, era ms difcil llegar a un punto de estabilidad (convergencia) en el modelo, ya que al no ser ortogonales este proceso de aproximacin hacia que el vector de aproximacin vare de una iteracin a otra, esto suceda por ms que se aumente la cantidad de iteraciones.
Table 2 Aciertos discriminados por convergencia y ortogonalidad
Table 3 Tabla de patrones ortogonales discriminada por convergencia, dispercin y acierto SI 1 Total 0 20 Total 20 30 Total 30 40 Total 40 50 Total 50 60 Total 60 70 reconoce reconoce reconoce reconoce reconoce reconoce 0 reconoce 1 1 1 1 1 1 1 1 1 1 1 1 1
10
Total 70 80 Total 80 Total 1 2 Total 0 20 Total 20 30 Total 30 40 Total 40 50 Total 50 60 confunde no reconoce reconoce reconoce reconoce reconoce 0 reconoce confunde
Total 60
Total 70
Total 80 Total 2 3 Total 0 20 Total 20 30 Total 30 40 Total 40 50 Total 50 60 confunde no reconoce reconoce reconoce reconoce reconoce 0 reconoce
1 1 1 1 1 1 1 1 2 2 1 1 2
1 1 2
Total 70
11
reconoce
1 1 11
reconoce
1 1 1
reconoce
1 1 1 32
12
nro de prueba 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
Iteraciones 4 5 6 1 2 3 1 2 1000 1 1000 1000 18 1000 1000 2 3 1000 2 1000 1000 2 25 26 2 100 100 100 100 100 25 26 100 2 100 100 100
convergencia 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 1 2
dispercin 80 80 80 0 0 0 0 0 0 0 0 0 20 20 20 20 20 20 20 20 20 30 30 30 30 30 30 30 30 30 40 40 40 40 40 40 40
patrones ortogonales SI SI SI NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO
patron patron 2 patron 2 patron 2 letra A letra A letra A letra B letra B letra B letra C letra C letra C letra A letra A letra A letra B letra B letra B letra C letra C letra C letra A letra A letra A letra B letra B letra B letra C letra C letra C letra A letra A letra A letra B letra B letra C letra C
resultado confunde reconoce reconoce reconoce reconoce reconoce reconoce reconoce no reconoce reconoce no reconoce no reconoce reconoce no reconoce no reconoce reconoce reconoce no reconoce reconoce no reconoce no reconoce reconoce reconoce reconoce reconoce no reconoce no reconoce no reconoce no reconoce no reconoce reconoce reconoce no reconoce reconoce no reconoce no reconoce no reconoce
14
nro de prueba 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
Iteraciones 2 3 19 2 100 100 100 18 100 100 100 100 100 47 100 2
convergencia 1 2 3 1 2 3 1 1 2 1 2 1 2 1 1 1
dispercin 50 50 50 50 50 50 50 60 60 60 60 70 70 80 80 80
patrones ortogonales NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO
patron letra A letra A letra A letra B letra B letra B letra C letra A letra A letra B letra B letra C letra C letra A letra B letra C
resultado reconoce reconoce reconoce reconoce no reconoce no reconoce no reconoce reconoce no reconoce no reconoce no reconoce no reconoce no reconoce reconoce no reconoce reconoce
15