127
sa abierta al tiempo NIVERSIDAD AUTONOMA METROPOLITANA c. &*L. c Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,ciasBásicas e Ingeniería

REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

  • Upload
    leminh

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

sa abierta al tiempo

NIVERSIDAD AUTONOMA METROPOLITANA c. & * L .

c

Reconoclmlento de Caracteres Por

REDES IlEUROllIlLES

Depto. de Cien,cias Básicas e Ingeniería

Page 2: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

RECONOCIMIENTO DE PATRONES POR MEDIO DE REDES NEURONALES """"""""""""""""""""""""""~,"~""""""""""""""-"""""---

N E U R O C A P

~ E R N A N D E Z LEYTE VIRGINIA.

RAMIREZ GONZALEZ JOEL.

SALGADO CALLEJAS JOSE LUIS.

SOLIS CRUZ PEDRO.

L L L COW(7U L . C ' O - - - 1

Asesor : . , I" #I _I' *_

,," i

"

MC. RENE MACKINNEY ROMERO.

Page 3: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

CAPITULO

UNO

En la historia de la ciencia, hay ciertos momentos claves en lo que el ingenio e inteligencia de ciertas personas, aunados a toda una situación social e ideológica propicias. les permiten percibir algo que nadie antes había sido capaz de ver. En muchas ocasiones esta revolución en los conceptos viene acompañada de innovaciones tecnológicas que constituyen grandes saltos en el desarrollo de nuevos aparatos. De esta manera, nos encontramos con que en general el avance científico-tecnológico tiene dos tipos de etapas: en la primera surge una idea o descubrimiento innoiador muy importante. y la segunda comprende los tiempos durante los cuales se maduran y establecen las ideas. Durante estos periodos, se constituyen aparatos cada vez más elaborados con base en estos principios. Este proceso continúa hasta que surge una nueva idea que permite de nueva cuenta un avance significativo.

1.1. SURGIMIENTO DE LAS COMPUTADORAS NEURONALES

La historia reciente de la computación se ha divjdido en las llamadas generaciones de computadoras, cada una de las cuales esta caracterizada por un desarrollo o una innovación importante.

1.1.1. Primera generación: bulbos

ÉSta es la era de las computadoras construidas con bulbos; se inicia en 1951 con la primera computadora industrial, la llamada UNlVAC 1. Las computadoras de esta generación eran muy grandes y de funcionamiento costoso Los bulbos eran de gran tamaño y consumían mucha energia eléctrica, por lo que generaban mucho calor y se fundían con frecuencia. Por lo anterior, estas computadoras deblan ser instaladas en cuartos con aire acondicionado, con el propósito de mantener el sistema lo más frío posible para disminuir la ocurrencia de fallas.

1.1.2. Segunda generación: el transisfor

La segunda generacihn de computadorals se inició, a finales de los años cincuenta, con el remplazo de los bulbos por transistores. Los transistores son dispositivos electrónicos útiles para generar, amplificar y controlar señales eléctricas. Si cornpararnos los bulbos con los transistores. podemos ver que estos últimos son mucho más pequeños, más confiables, generan menos calor y requieren menos energía para1 su operación. Todo esto contribuyti a cr-ear cornputadoras m& pequerias baratas y confiables. En esta época comenzó el auge de las

Page 4: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

computadoras desde el punto de vista comercial. se crearon muchas compañías dedicadas a SU

diseño y construcción.

1.1.3. Tercera generación: las familias de computadoras y los circuitas integrados

Las máquinas de la tercera generación se distinguen por dos aspectos importantes por un lado. su componente fundamental lo constituyen los circuitos integrados. y por otro. se forman las familias de computadoras caracterizadas por tener compatibilidad hacia arriba.

Los circuitos integrados están formados por un elemento base de silicio (chip). con un gran número de transistores y otras componentes integradas, interconectadas, que ocupan ur, espaclo aproximado de 2.5 cm de largo por 1.25 cm de ancho. El uso de estos circuitos hizo a las computadoras más económicas. confiables, compactas y con un costo de operaclón mucho más bajo. Todo esto, con respecto a computadoras de generaciones anteriores.

Las familias de computadoras fueron creadas en un intento para lograr compatibilidad entre máquinas de modelos dlferentes. construidas por un mismo fabricante. las computadoras de la segunda generación tenían el problema de que los programas escritos por máqulnas pequeñas no podían ser utilizados por máquinas más grandes (ni viceversa), aunque ambas fuesen producidas por la mlsrna firma comercial. AI construirse máquinas compatibles se dlo un paso muy Importante desde el punto de vista comercial y práctico, ya que permitió a pequeñas empresas en desarrollo el ir adquiriendo máquinas cada vez más poderosas según el aumento de sus necesidades. De esta manera. los programas escritos para las máquinas pequeñas podrían ejecutarse en máquinas más grandes de la misma familia, haciendo. en el peor de los casos. tan sdo pequeñas modificaciones.

l . l . 4. Cuarta generación : el microprccesador

La cuarta generación de computadoras se caracteriza por el uso del microprocesador. Éste consiste en un solo circuito integrado, el cual contiene en su totalidad a la unidad central de procesamiento (CPU), o cerebro de la computadora. En esta generación, el mayor logro consistió en hacer computadoras cada vez más pequeñas, con mayor poder y menor volumen y costo.

1.1.5 Quinta generación: proces,amiento en paralelo, redes neuronales y computadoras ópticas

Actualmente se trabaja en la creación cle la quinta generación de computadoras. Esta nueva generación segtirarnente incluirá dos cambios importantes. El primero consiste en un cambio fundamental en la manera de efectuar el procesamiento de la información, y por tanto, Implica el diseño de arquitecturas conceptualmente diferentes. El segundo cambio que esperamos, consiste en el desarrollo y adaptación de nuevas tecnologías.

Las computadoras convencionales procesan la informacion en serie, esto es. efectúan una lrlstrucción despties de otra. Corno consecuencia. la mayor parte de las computadoras y sus per-iféricos están ociosos gran parte del tiempo mientras esperan instrucciones del procesador central. Con el objeto de acelerar este proceso, han sido diseñadas grandes máquinas, llamadas supercomputadoras, cuyo propósito es llevar a cabo el procesamiento de la mformaclón en paralelo: esto es, constan de varios elementos procesadores, cada una de los cuales efectila

Page 5: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

tareas de manera independiente y simultánea. De esta forma, el trabajo se divide en subtrabajos independientes, los cuales son asignados a diferentes elementos procesadores. Un ejemplo de estas máquinas es la computadora modelo CRAY 1, la cual consta de 64 elementos procesadores.

Estas supercomputadoras paralelas tienen un costo de producción muy alto, que se I-efleja en su costo de uso comercial; de manera que existen muy pocas en el mundo. Dibido a esto, en los Estados Unidos de América se han organizado centros de supercomputación en los cuales se da servicio a un gran número de usuarios, a través de la linea telefónica.

Ademas de su elevado costo, este tipo de computación presenta algunas inconveniencias: es difícil programar una computación paralela, ya que el programador debe fraccionar el problema en pequeñas tareas independientes, y optimizar la manera de asignarlas. Además, la mayor parte de los problemas no son paralelos paralelos por naturaleza; es decir, no siempre es posible dividlr un trabajo en subti-abajos independientes, o hacerlo de manera eflciente. pues algunos procesadores requieren de los resultados obtenidos por otros para poder continuar sus cálculos. Como consecuencia, a menudo nos encontramos con que la más veloz supercomputadora opera casi a la misma velocidad que un procesador en serie. Este problema es conocido como .el cuello de botella de Neumann.

En los últimos años. ha aparecido un nuevo concepto en la computación. que probablemente proporcionará una solución a algunos de los problemas recibn indicados. Este nuevo concepto, coriocldo con e¡ nombre de redes neuronales, es radicalmente diferente al anterior: se utilizan elementos electrónicos que emulan neuronas simplificadas, los cuales se conectan entre sí formando redes similares a las que se encuentran en el cerebro, aunque a una escala mucho menor. Recientemente. los investigadores dedicados al desarrollo de las redes neuronales han logrado resdtados sorprendentes, y todo parece indicar que, en el futuro, estos dispositivos podrán dotar a las computadoras de capacidades similares a las humanas para la solución de problemas complejos.

El segundo cambio que creemos caracterizará a la quinta generación de computación consiste en el desarrollo y adaptación de nuevas tecnilogías. No es posible continuar reduciendo indefinidamente el tamaño de los circuitos integrados, ni lograr que disipen menos energía, como tampoco es posible conseguir que los electrones se transporten con mayor rapidez. Si se desea hacer una mejora substancial, es necesario recurrir al desarrollo y adaptación de nuevas tecnologías que ofrezcan ventajas sobre las actuales. En este terreno, se avecina la era de las computadoras ópticas, las cuales utilizarán fuentes de luz coherentes (rayos láser), lentes, y flbras ópticas para transportar a los fotones a lo largo de trayectorias no rectas. Por conslguiente. funcionarán con base en el transporte de fotones y no de electrones, como sucede en la actualidad. Por últtmo. tal vez pronto veremos reflejado en las nuevas computadoras el hallazgo reciente de materiales que no son superconductores a temperaturas relativamente altas (hasta ahora del orden de -150 C). Lo cual significa que si estos materiales se mantienen por debajo de una cierta temperatura, sus electrones son capaces de viajar sin disipar energia y por lo tanto. stn producir calor

1.2. MEMORIAS: UNIDAD BÁSICA DE: LAS COMPUTADORAS

Una de las funciones más importantes de las computadoras es el almacenamiento de grandes bancos de datos. Pew las memorias no sirven únicamente para este propósito. Ellas son parte esencial de las computadoras, sin IEI cual no sería posible el procesamiento de la tntol-mación. ya que funcionan como gavetas en las cuales se guarda, de una manera ordenada, todo el material mientras este no sea utilizado. Las memorias pueden clasificarse con base en su funcicin y conforme a sus caracteristicas. De acuerdo con la primera clasificacih~, se dividen (31) memoria prlncipnl o de trabajo v memoria secundaria o auxiliar.

Page 6: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

La memoria principal almacena temporalmente los programas que se están "ejecutando" o están en proceso de hacerlo. así como los datos, antes y después de se1 procesados. Esta memoria puede ser complementada con memoria secundaria o auxiliar, generalmente en forma de cintas o discos magnéticos, los cuales se etxuentran físicamente fuera de la computadora. Este tipo de memoria puede guardar de manera semipermanente, y por un tiempo indefinido, toda la informacion que deseemos conservar. Por lo general se utiliza para guardar grandes cantidades de información. La cantidad de información almacenable mediante el uso de memorias auxiliares es prácticamente ilimitada, sin embargo ésta se recupera con mucha lentitud en comparación con la almacenada en l a memoria principal.

Por otro lado. de acuerdo con sus caraclerísticas, existen varios tipos de memorias. cad uno de los cuales ofrece ventajas frente a los otros, por lo cual resultan ser más apropiados para una u otra tarea, Generalmente en estas memorias se puede leer y escribir información, aunque tlay memorias en las cuales la información almacenada no puede ser, esto es, únicamente puede leerse. Entre las memorias mejor conocidas, se encuentran las memorias de aniñños magnéticos, las memorias semiconductoras y las memorias de burbujas magnéticas.

Todas estas memorias guardan la información de manera conceptualmente igual. aunque técnicamente la forma de construlrlas sea difernte. Las memorias están formadas por un ruimero de celdas individuales de almacenamiento. cada una de las cuales es capaz de retener un número binario. Estas celdas se agrupan en localidades o palabras, constituidas por un cierto tumero de celdas básicas. este número varia (!e una máquina a otra, siendo las palabras de ocho bits las más comúnmente utilizadas. Por últlmo a cada palabra se elasigna una Identificación númerica, o dirección. la cual sirve para señalar la posición de la palabra dentro del dispositivo, para así tener acceso a la información en ella contenida. La capacidad o tamaño tipico de las memorias de las computadoras personales de hoy en día es del orden de kilobytes, K, por ejemplo 16 K. 32 K, 64 K. etc.

I 3. EL HOMBRE Y LAS MÁQUINAS "PENSANTES"

En esta sección se comenta un poco acerca del camino que debemos recorrer para lograr la construccion de máquinas con ciertas capacidades propias del hombre; es decir, con habilidad para la solución de problemas complejos como la toma de decisiones para la planeación de empresas, la evaluación de riesgos para las compañías de seguros, pruevas de eflciencia de motores, detección de arritmias cardiacas, análisis y evaluación de encefalogramas. sismogramas, espectros de luz emitida o absorbida por estrellas o por materiales, etc. Todos estos problemas consisten en optimización o toma de decisiones no Imada en reglas concretas.

Entre el tipo de trabajos que estas miiquinas podrían realizar, el de aplicación más flirecta es el de reconocimiento y procesamiento de imágenes. Esto engloba desde tareas I elativamente simples y específicas. como la idlentificación de firmas, voces, huellas dactilares, I econstrucción de imágenes con mucho ruido, etc., hasta tareas de gran complejidad como la identificación y clasificación de personas y objetos. Este último tipo de tareas representa una lrlayor dificultad debido a que se debe lograr invariancia de la detección con respecto a rotación. I:ambios de escala, perspectiva, oclusión parcial. cambio en las condiciones de iluminación. etc.

Una computadora con las habilidades que acabamos de describir podría utilizarse de \ IIla manera limitada únicamente por la ir'laginación. Por ejemplo podrian construirse ~llspositivos provistos de visión artificial cuyo objetivo fuese la identificación de huellas digitales. IIIlrlas o voces. Estos dispositivos podrían utili;<arSe en cajas automáttcas de banco, donde la I ttllca identificación necesaria para tener acceso a una cuenta sería la flrrna del asuario. 0 el 'xmodo de su voz. Este mismo metodo tambllin podna utilizarse en lugar de un r l h e r o de

Page 7: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

combmación para las cajas de seguridad a Tin de tener acceso a claves de usuario de computadoras. como substituto de llaves para la casa, aficlna. automóvil, para ayudar a la identificación de personas buscadas por la pollcia. También, el procesamiento de imágenes seria de utilidad para el análisis de imágenes médicas, de señales obtenidas a través de percepción remota. para el procesamiento de datos experimentales, y por últlmo, para la construcción de robots "inteligentes".

Page 8: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

1.3.1. Robótica

Conceptualmente, exlsten dos ttpos diflerentes de robots: los robots con trayectorias programadas, y los robots "inteligentes". Los primeros son programados para llevar a cabo una y otra vez la misma función; los segundos, en cambio, serían capaces de aprender con base en la experiencia y de tornar decisiones basadas en la información con que contasen.

En la actualidad un gran número dt: robots con trayectoria programada se ha incorporado a la planta productiva en los países desarrollados. Estos robots ofrecen grandes ventajas a los patrones, ya que efectúan su trabajo con gran precisión y rapidez. Por otro lado, no causan problemas laborales. no requieren de seguro social, no padecen enfermedades industriales, no faltan a su trabajo y no pierden e¡, tiempo platicando.

El segundo grupo de robots estaría formado por aquéllos dotados de inteligencla. Estos robots aún no existen como tales, pero se encuentran en sus primeras etapas de desarrollo y las perspectivas para la constrllcción de rcbots inteligentes destinados a tareas específicas son buenas. Sin embargo. ignor-amos hasta dónde podrá llegar el hombre en la construcción de este tipo de máquinas.

Dentro de los robots "no inteligentes" existen un subgrupo constituido por robots que aunque "aparentan" :;el- lntellqenles en realidad no lo son. Estos robots están dotados de ciertas capacidades de procesamlc;.:llo de imágenes y ajuste a las condiciones externas. trenen arquitecturas convencionales y basan su funcionamiento en el uso de algoritmos o en el seguimiento de reglas concretas. La construcción de un robot con estas características no es un trabajo fácil, ya que la imjgen "visual" recibida es bidimencional, por lo cual se necesita idear una estrategia que les permita diferenciar entre los objetos y el fondo, y que los dote de la capacidad de evaluar profundldades y distancias. La disciplina que estudia el desarrollo de este tipo de robots, y de dispositlvos con algunas de estas capacidades, se denomina inteligencia artificial.

En los últimos años. el desarrollo de esta rama de la computación ha cobrado una particular impotancia, y se han logrado grandes avances dentro de este terreno. A simple vista, estas máquinas podrían ser confundidas con máquinas inteligentes, ya que un hombre. para poder jugar, necesita manejar conceptos abstractos. Sin embargo, estos programas se basan, por lo general. en el empleo de la llamada "fuerza bruta", esto es; en la evaluación exhaustiva de todas y cada una de las posibles secuencias de n jugadas, junto con las posibles respuestas de su rival. Otros algoritmos. más eficientes, desechan algunas de las posibilidades antes de evaluar- la secuencia completa. por considerar-lals malas jugadas. En cualquier caso. el cálculo está lejos de poder ser calificado como "ini:eligente", ya que la computadora suple las capacidades humanas de análisis y planeación con su gran rapidez para evaluar todas las pos¡ bilidades.

Una estrategia tipica. comúnmente utiltzada en el desarrollo de inteligencia artificial en computadoras convencionales. es la siguiente: dado un problema concreto, se proporctona un árbol de decisiones en el cual se jerarquizan los diferentes criterios a considerar y quedan definidos explícitamente cuáles criterios de evaluaclón son más importantes que otros Para esto. a cada criterio se le astgna un peso que intenta reflelar su importancia relativa. Despues se resuelve el problema considelando distintas alternativas y evaluándolas cuantitativamente de acuerdo con este arbol. Este procedimiento pi-oporciona resultados razonablemente buenos, pero pobres con respecto al desempeño de un hombre entrenado en este tipo de tareas. pues la I-apiclez y eficacia de so funclonamiento estan limitadas por el tipo de mecanismos que las cornputadoras convencionales utilizan pat-a evaltlar situaciones y para recuperar información

En suma, para evaluar situaciones en las cuales intervienen muchos factcres tenemos q l J e I) un hombre capaz y "entrenado" en I I I M cierta tares es mucho más ef:clentt: que las

Page 9: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

computadoras y ii) para efectuar estas tareas el hombre no utiliza /os mismos procedimientos qtle las computadoras. Creemos que para lograr construir máquinas cuya eflclencia en estas estas labores sea compatible con la del hombre, no basta con hacer computadoras más pandes, más veloces o mas economlcas. Es necesario cambiar el procedimlento utilizado por estas. y este cambio de procedimlento debe verse reflejado en su arquitectura.

Dado que el hombre es mucho más eficiente que las computadoras en la solución de problemas complejos, ofrece un modelo inmejorable a imitar, de ahí que sea importante encontrar las estrategias por éI utilizadas y tratar de imitarlas. Es razonable suponer que si fuesernos capaces de diseñar una máquina con arquitectura similar a la del cerbro humano, esta seria más efeiciente que 12s actuales para resolver este tipo de problemas.

1.3.2. Sistemas sensoriales. La perce,pción

En los seres vivos, toda la información que recibe el sistema nervioso provenlente del exterlor es adquirida a traves de los órganos sensoriales. En el ser humano la percerción sensorial está siempre asociada a un proceso cognoscitivo, lo cual significa que no basta con "vet"' o escuchar algo, sino que también hace falta un cierto procesamiento previo de la Intormación antes de que esta sea guardada e interpretada.

Existe una diferencla suttl. y rnuy importante, entre las funciones de "sentlr" y "perclbir" Nuestros órganos sensoriales captan las señales provenientes del exterior, y las someten a un c:lerto procesamiento que las convlette en percepciones; es hasta entonces que nosotros nos percatamos de la existencia de esa información. Dicho en otras palabras. "sentlr" es una operación simple a nivel de los sentidos, "percibir" es una función compleja a nivel cerebral. SI tlernos de crear máquinas inteligentes, es necesario dotarlas de un sistema cognoscitivo. para lo c:~~al es necesario comprender mejor cuáles son los procesos cognoscitivos del hombre, o diseñar otros procesos artificiales que cumplan 6:ste mismo propósito, pues en principio podrían existir problemas para los cuales alguna solución artificial pudiese ser más eficiente que las soluciones biológicas, o al menos, factible de construir desde el punto de vista tecnológico.

Las imágenes mentales que almacenamos son copias directas de experiencias reales, las cuales han sido simplificadas y promediadas. Estas imágenes corresponden a estereotipos que han sido el resultado de desechar los detalles no esenciales y promediar con base en las características principales. Por ejemplo. nosotros somos capaces de recordar un gran número de imágenes, sin embargo. éstas no contienen toda la información original. sino únicamente la Irltormaclón relevante. Así resulta que podemos recordar "perfectamente" bien a una persona y r l o tener problema alguno para identificarla. Sin embargo si necesitáramos hacer una clf:scl.ipción detallada o un dibujo de ésta, con base en la imagen memorizada. muy [mbablemente seríamos incapaces de hacerlo, aunque tuviésemos la habilidad verbal o manual rwcesarias para hacerlo

Otro ejemplo interesante es el siguiente: en el centro de nuestro campo visual tenernos I I I I ~ pequeña región "ciega", la cual no puede percibir luz. Sin embargo nosotros subsanamos (:.,te problema utilizando la Información proveniente de las zonas vecinas del punto ciego y c:ompletando la imagen, de mane1.a que no somos capaces de darnos cuenta de que esta zona 1:xlste.

La percepción es un trabajo de sintetización y procesamiento de información que implica (Irla combinación de elementos simples en un- "todo". Las personas perciben casas, árboles. [Jf;ffOS, etc.. en vez de percibir puntos, lineas, colores, texturas, etc., por separado. Tambien es IIc;cesario establecer una relación entre las imágenes observadas y varios contextos. en cjlfcrentes grados de abstracción. pal-a hacer una apr-eciación Selectiva.

Page 10: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

1.3.3. N "sentido común"

Otra importante diferencia entre el homlDre y las computadoras es el llamado "sentido * ' " I I I I ) " . El hombre. en su vida diaria, se enfrenta continuamente a la necesidad de tomar un

'"' Irnero de declslones con base en una gran cantidad de información y opciones alternativas. ' ' Irlayoría de estas declsiones son tomadas sin siquiera concederles unos segundos de

lv;lón, esto es, de manera automática.

Existen momentos en los cuales es necesario tomar decisiones más importantes o 11:11 ~ t e s , para lo cual es preciso elegir, en el nivel consciente, entre varias alternativas y razonar . 1 Itcitamente la conveniencia de una sobre otra. La mayor parte de las elecciones que el ' ' . qll!u-e enfrenta a lo largo de su vida las resuelve con base en su sentido común, el cual está

' l t~ado por un número extenso de experiencias acumuladas durante su vida. El sentido común ' ' ' I t ? naturaleza cualitativa, en el sentido de que raramente involucra relaciones numéricas

' - I f ( % conceptos; en cambio, ofrece perspectivas múltiples de un problema, a veces 'de manera . 1 1 6 1 1 1 Iltánea.

Alguien ha dicho que "el menos cornún de los sentidos es el sentido común", I * 'lqrwidose al hecho de que las decisiones personales no siempre son adecuadas según los ' " ' " ~ i o s de otras personas. o de acuerdo con las consecuencias directas de llevarlas a cabo.

a 1'; son otras características importantes del hombre: su manera de razonar es individual y tllpre existe la posibilidad de que cometa errores de juicio. Sin embargo, aunque a veces

110 sentido común nos lleva por caminos equivocados, constituye una herramienta ' " I 3-l.lrnental para nuestra supervivencia. Para poder construir computadoras que emulen ciertas ' * I !(:idades mentales del hombre como el sentido común, es de importancia primordial ',',,rider de qué manera se logra la organización de la información en el cerebro humano. y

' ' ' ~ ' ~ I Y X la forma en que se ileva a cabo el razonamiento.

I , I , .

1.3.4. Nuevas direcciones

Hasta el momento, una de las diferencias básicas que existen entre computadoras y . lltJlnarlos tiene que ver con la utilidad prálctica del material memorizado. Esta diferencla

~ ' 8 ' c.l le en que mientras una computadora almacena información que únicamente puede ser

1 1 Il#;lci&) de nueva información modifica su comportamiento, en la medida ql_ce le aporta ' ' I ,S criterios para la torna de desiciones, tanto a nivel consciente como inconsciente El

I 1 b u I ; 1 de manera explícita por un programa. el ser humano "aprende". En el hombre. la

Page 11: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

I

hombre debe su gran capacidad de adaptaqción, también llamada plasticidad, a su habilidad para aprender.

~~

Anteriormente mencionamos que para poder construir máquinas que tengan Ciertas caracteristicas de inteligencia es necesario el diseño de arquitectura radical y conceptualmente .. diferentes. ÉSta es la filosofía presupuesta en el estudio de las llamadas redes neuronales (artificiales). Estas redes constituyen un concepto totalmente nuevo y diferente de la ~

computación, el cual se basa en un modelo sirmplificado de la manera en que las neuronas se organizan en redes dentro del cerebro.

" . .

Las "redes neuronales" (artificiales) se encuentran en sus primeras fases de rlesarroltS;-- sin embargo, se ha encontrado que tienen capacidades autónomas de aprendizaje, y que la intorrnación que almacenan es recuperable con base en su contenido. También se ha observado que estos sistemas pueden "recordar" a partir de información incompleta o con mucho ruido. Todas éstas son características análogas a las de la mente humana.

Recientemente ha habido un gran auge de la investigación en redes neuronales y neurocomputadoras, y como consecuencia se han logrado grandes avances de carácter fundamental. Estos avances comienzan a verse reflejados en el plano tecnológico, ya que se empiezan a desarrollar computadoras que funcionan con base en estos principios. En estos momentos ya existen en el mercado algunos programas que operan en computadoras convencionales y que funcionan "imitando" est.as nuevas arquitecturas. Estos programas son ejemplos modestos de lo que tendremos en los años por venir.

1.4. EL CEREBRO Y LA MENTE

Los propósitos principales de todo sistema nervioso son el control centralizado de las funciones biológicas y el control de la interacción del organismo, como un todo, con el ambiente. En el primer grupo de funciones tenemos la regulación de procesos como el metabolismo, la respiración, el sistema cardiovascular, las funciones de emergencia, etc.. los cuales se llevan a cabo mediante mecanismos fisiológicos innatos. Por otro lado, la interaccion del organismo con el medio incluye tareas muy diversas que van desde acciones elementales instintivas, hasta acciones muy complejas como el comportamienlo social en los seres más desarrollados.

En organismos inferiores el sistema nervioso es muy rudimentario; por ejemplo, en los invertebrados el centro de aprendizaje está formado tan solo por ganglios constituidos por agrupaciones de cuerpos celulares. De acuerdo con su estructura podríamos dividir el sistema nervioso en dos partes llamadas sistema nervioso centra) (SNC) y sistema nerviosa periférico (SNP). El SNP se encarga de transmitir hacia el centro la información proveniente del interior y del exterior del organismo. y en sentido contrario. Por su parte. el SNC lleva a cabo el procesamiento de la información y emite señales como respuesta El SNC está integrado por la médula espina1 contenida en la columna vertebral, el tallo cerebral y el cerebro. El cerebro es el órgano maestro del sistema nervioso, y es allí donde se llevan a cabo las funciones más complejas.

El estudio del cerebro humano se ha llevado a cabo desde diferentes puntos de vista, en diversas disciplinas, y a diferentes niveles. Estos estudios podrían dividirse, a grosso modo, en dos ramas principales que incluyen, respectivamente, los aspectos fisicos y los llamados aspectos mentales del cerebro. Por otro lado, todos los conocimientos que tenemos acerca del cerebro se encuentran enmarcados por el conjunto de concepciones filosóficas que la sociedad tiene del hornbre y de su relación con el rest0 del Universo.

Entre los aspectos físicos del cerebro tenemos todos aquellos relacionados con un punto (ir vista biologlco. los cuales pueden reducirse a términos físicos y químicos. Estas disciplinas

Page 12: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

describen al cerebro, ya sea desde su punto dtt vista de la operaclón de sus componentes a partir de primeros principios.

Por otro lado, tenemos que los aspectos mentales del cerebro son examinados por otras disciplinas como la psicología y la psiquiatría. La psicología estudia el comportamiento del hombre y la manera de percibir. pensar,razonar, etc. Algunas corrientes de esta dlsciplina estudian el cerebro como si fuese una "caja negra", esto es, estudian su funcionamiento con base en el análisis de la conducta de los individuos. La psiquiatría estudia los fenómenos psíquicos o de la mente y las desviaciones conductuales de Individuos con respecto al comportamiento del individuo promedio, etc. Por otro lado, la filosofía desempefia un papel muy importante, ya que examina críticamente las bases de las creencias fundamentales y analiza los conceptos básicos empleados en la expresión de tales creencias.

1.4.7. La percepción

La capacidad de tener sensaciones es una capacidad innata. Esto es, nacemos con ella. Por otro lado, la percepción es una capacidad individual y de indole personal, ya que es fruto de un aprendizaje. y como tal, depende de las experienclas individuales, del entorno y de las características personales.

Como muestra de lo antenor podemos hablar de los slguientes experimentos. Se han hecho estudios en personas ciegas de nacimiento a causa de la presencia de cataratas, quienes en la edad adulta han obtenido el don de la vista. En un principio, cuando recién han adquirido sensibilidad a cambio de iluminación y color, en 'dichas personas se observa que aunque puede decir cuándo hay una figura presente, no pude tliscriminar aún entre formas simples. Después de varios meses de haber recobrado la vista. estas personas pueden diferenciar entre un cuadrado y un. triángulo con sólo observarlos; antes de esto, necesitan contar las esquinas de las figuras para poder hacer la discriminación. Lo anterior nos indica que aunque estas personas poseen el concepto de las diferentes figuras (jeométricas. ya que las pueden identificar si cuentan las esquina, ese concepto no lo tiene relacionado con las imágenes respectivas. Esto es. tienen que aprender a "percibir" imágenes visl_rales.

De la misma manera, se han encontrado que no existen conexiones innatas entre la identificación auditiva del sonido producido por un objeto y su identificación visual. Todas estas asociaciones de ideas deben establecerse a través de la experiencia y forman una parte Importante del aprendizaje que se lleva a cabo en niños pequeños. De aquí la importancia de que los niños crezcan en ambientes enriquecidos. ya que la experiencia temprana tiene una gran importancia en el desarrollo perceptual, intelectual y emocional.

1.4.2. El punto de vista biológico

En este renglón hablaremos acerca de 10s estudios del cerebro y sistema nervioso que suelen clasificarse bajo el nombre de neurociencias. Esto abarca aspectos que pueden reducirse a términos físicos y quimicos e incluye disciplinas que estudian al cerebro desde su punto de vista morfológico y funcional, a diferentes niveles, que van desde el estddio integral de sus componentes hasta estudios de tejidos, o celula'res Todos estos aspectos son de importancia fundarnental y son indispensables para comprender el funcionamiento del cerebro.

Desde finales del siglo XVII, el hombre tenía un conocimiento muy amplio acerca de la anatomía del cerebro y de sus diversas partes. Slrl embargo, el conocimiento del slstema nervloso a nivel celular se inició hasta principios del siglo. En parte esto fue una consecuencia natural de la falta de técnicas e instrumentos ap,-oplados que permitiesen llevar a cabo clertas

Page 13: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

observaciones y expenmentos. A lo largo del siglo XX esta sltuación se ha Ido modlftcando, y con ello las neurociencias han tenido un impulso muy importante. Entre el gran número de técnicas y tecnologias desarrolladas durante este tlempo tenemos la autorradiografía, la tomografía de emisión de positrones, y la resonancia magnética nuclear. Gracias a las nuevas técnicas podemos en la actualidad observar el cerebro en funcionamiento e identificar cuáles grupos de neuronas están activas mientras realizamos diversas actividades como hablar, escuchar, soñar, mover alguna parte de nuestro cuerpo, etc.; lo cual ha permitido hacer mapas de las conexiones entre las neuronas y las diferntes partes del sistema nervioso.

Otra técnica que sirve para "marcar" a las neuronas que intervienen activamente en alguna función específica del cerebro, se basa en el uso del análogo radioactivo de la glucosa, ya que la glucosa es la fuente de energia de las neuronas y por tanto es requerida durante las funciones celulares. Si se inyecta esta substancla y después se aplica un estímulo . las células activas toman la glucosa radioactiva pero no la pueden metabolizar. Por lo anterior estas neuronas quedan marcadas y pueden detectarse y seguirse desde fuera del cerebro.

A nivel del análisis del tejido nervioso tenemos otro grupo de técnicas que han sido fundamentales para el nacimiento y desarrollo de las neurociencias. Éstas son las técntcas de tenido selectivo, las cuales permiten teñir o marcar células individuales, o partes de ellas con propiedades en común, de manera que contrastan con respecto al fondo y permiten hacer observaciones selectivas. Algunas de estas tlicnicas son útiles para'obtener mapeos por transporte retrógrado o anterógrado. Otra técnica permite teñir únicamen?e las terminaclones sinápticas. esto es. los puntos de contacto entre neuronas o entre neuronas y órganos. lo cual permite apreciar las rarnificaclones neuronales. También tenernos que en la etapa enibriológica es posible teñir a las neuronas con substancias que se diluyen conforme se lleva a cabo la bipartición de las células, lo cual permite estudi.sr la migración y edad de las neuronas. Todos estos métodos han contribuido al estudio de diversos aspectos de la morfología y la fisiología del sistema nervioso y han permitido obtener una idea adecuada acerca de la geometría de las neuronas y de sus conexiones.

1.4.3. Las neuronas: unidad básica de/ sistema nervioso

En la práctica ha sido muy difícil estudiar la estructura del tejido nervioso debido a que las células que lo constituyen, llamadas neuronas, están densamente empacadas y poseen un gran número de ramificaciones. Algunas de estas extenciones llegan a tener más de un metro de largo y son tan delgadas que ocupan un volumen muy pequeño.

Las neuronas son células altamente especializadas cuya función central consiste en la generación y transmisión de señales. esto es, con el objeto de comunicarse con las demás neuronas del sistema nervioso y con el exterior del organismo. Debido al alto grado de especialización, las neuronas han perdido la capacidad de reproducirse. Así que en el momento del nacimiento, el ser humano cuenta con el máximo numero de neuronas que tendrá en su vida, aunque la mayoría de las conexiones entre ellas no están aún establecidas. Sin embargo aunque las neuronas que mueren no son substituidas por nuevas neuronas, en general sí pueden ser remplazadas, desde el punto de vista funcional, por otras neuronas ya existentes

Las dendritas son extensiones del cuerpo celular con ramificaciones cortas y tubulares. a través de los cuales cada neurona recibe señales provenientes de un número muy grande de otras neuronas. Estas señales son sumadas o promediadas, y en caso de que la intensidad total del estímulo recibido sea mayor que un cierto umbral caracteristico de la neurona en cuestión, esta generará y emitirá una señal eléctrica de respuesta.

1.5. COMPUTADORAS NEURONALES

Page 14: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Como introducción se expllcan las bases d e los modelos de física estadistlca. los cuales describen algunas de las propledades colectivas de un arreglo de neuronas Interconectadas. características de las memorias asociativas.

7 . 5 . 7 . Modelo de vidrio de espín para redes neuronales

Se denomina red neuronal a un conjunlo compuesto por un número muy grande de neuronas interconectadas.

Aunque existe una gran variedad de formas y especializaciones entre las neuronas. básicamente su función puede resumirse en la generación y envío de señales eléctricas: por esto tomaremos a cada una de las neuronas como entes con dos estados posibles, ya que pueden estar activas o inactlvas. Estas neuronas están en contacto, unas con otras. de nlanera que reciben señales provenlentes de otras neuronas a través de las sinapsis. La Interacción entre las neuronas podrá ser excitadora. si incita a la neurona a la actividad. o inhlbidora si tiende a mantenerla en reposo Finalmente la red neuronal recibe señales del exterior a través de las células receptoras. De esta manera. cada neurona, promediará las señales que recibe. y si la señal resultante bene una magnitud mayor que ur1 cierto umbral carac!erístico. entonces aystará su estado emitiendo una señal de respuesta. En caso contrario permanecer$ en reposo. esto es. no emitirá ninguna señal de respuesta.

Físicamente, el hecho de que para una red de neuronas se prediga una energía con muchos mínimos, se debe a que cada neurona recibe señales provenientes de un nurnero muy grande de otras neuronas. algunas de las cuales pueden ser excitadoras y otras inhibldoras. Sin embargo, la neurona no puede excitarse e inhibirse simultáneamente. por lo que suma las señales de entrada. Si la señal total es más fuerte que un cierto umbral, entonces la neurona se excita y emite una señal de respuesta; en caso contrario, la neurona permanece inactiva. De esta manera, podemos decir que siempre habrá un gran número de "pares frustrados" de neuronas. debido a que dichos pares no contribuyen a reducir la energía total de la red.

La frustración existente en la red ocasiona que haya muchos estados "naturales" o de energía minima. En un momento dado, la evolución hacia uno y otro de estos estados naturales dependerá. en gran medida, del estada neurofisiológico previo.

Continuamente nuestro cerebro recibe una gran cantidad de Información. Esta intormación es adquirida a través de las neurona:; receptoras, y su función es llevar al cerebro a un cierto estado al que llamaremos "estado inicial". A partir de ese momento se lleva a cabo el proceso de "relajamiento". por medio del cual e l cerebro evoluciona hacia estados cada vez "más naturales". hasta llegar hasta a algún estado cercano de energía minima; esto es, reconocemos. De esta manera. ciertas imágenes vlsuales, sensaciones táctiles. sonodos. olores, nos evocan personas. hechos. situaciones: conoclmentos adquiridos anteriormente y relacionados de alguna manera con la señal que los "provocó". Mientras esto sucede. las "montarias". "collados", "valles" de nuestro espacio de estados se modifican a traves de un proceso continuo de aprenalzale y ajuste a las condiciones externas, ya que en todo momento estamos interactuando cor1 el medio ambiente y somos re!r'oalimentados por este Esto es el aprendizaje consiste en el pr-oceso por medio del cual las interacclones sinápticas se rnodlflcnn. de lnarlera que un estado en particular se convierte en un estado de energía minlma. y por lo tanto, en un estado "atractivo"

Este modelo nos permite tener una vision cualitativa acerca del caráctu de los rnecanisrnos relacionados. a nivel global. en los procesos de aprendizaje y remembranza

Page 15: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

1.5.2. Mecanismos de reconocimiento y aprendizaje

Se puede resumir esta tesis de la siguiente manera:

1) Cada percepción o evocación mental está 1-elacionada con unestado neurofisiológico, en el cual participan, colectivamente, un gran nljmero de neuronas; por lo cual basta con repetir el estado neurofisiológico para evocar la percepción correspondiente.

2) El proceso de evocación mental remembranza consiste en un proceso de relajamiento, regido por las leyes de la física. en el cual el estado del cerebro evoluciona hacia estados de "energía libre" cada vez menor.

3) La geografía del espacio de estados está determinada por el conjunto de las interamones sinápticas y los estados memorizados corresponden a estados de energía minima. Es por lo anterior que al cerebro "le gusta" encontrarse en dichos estados.

4) El proceso de aprendizaje consiste en el establecimiento de nuevas conexiones sinápticas entre las neuronas. y la modificación funcional o estructural de las ya existentes. De manera que la "geografía" del espacio de estados cambia, 'con lo cual se crean nuevos minllnos o varía el tamaño de sus cuencas. Esto es, se adquiere nueva información o se refuerza u olvida la ya almacenada.

5) Las conductas no aprendidas, esto es, innatas, reflejas o instintivas, corresponden a conexiones determinadas por la herencia.

6) Las sensaciones son un vehículo utilizado para "colocar" al cerebro en un estado neurofisiológico, a partir del cual se inicia el proc,eso de relajamiento que lleva a recordar.

7) La estructura del espacio de estados se rnodifica constantemente, debido a la continua interacción con el medio y a los procesos de ajuste a éste.

1.5.3. Redes neoronales artificiales

Algunas personas califican a los modelos de física estadística para redes neuronales de meras metáforas. Sin embargo creernos que se trata de más que una metáfora, ya que se ha demostrado que la frustración puede actuar como un mecanismo que permite el almacenamiento de información en una red constituida por elementos simples, con dos estados posibles. que interactúan entre sí. La prueba más. palpable de que esto sucede la constituyen los logros recientes en la construcción de redes neuronales artificiales.

Existen mucha variantes de redes neuronales, también llamadas "modelos conexionistas". Sin embargo, todas tienen una estructura similar: están formadas por un gran número de procesadores simples, ya sea con dos estados posibles o con varios niveles de actividad. Estos elementos están agrupados, de manera que los elementos en un grupo se encuentran interconectados entre sí; por otro lado existen conexiones entre diferentes grupos, o capas Todas estas conexiones son modificables, con el objeto de que la red presente el comportamiento deseado.

La operación de las redes neuronales consiste de dos etapas, que pueden presentarse solas o combinadas. Éstas son: i) la etapa de aprendizaje, durante la cual el valor de las interacciones es variado de acuerdo con la experiencia o "entrenamiento" proporcionado, con base en alguna regla de aprendizaje; y ii) una vez que las conexiones están establecidas, la red

Page 16: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Además del tipo de computadoras con arquitectura "neuronal", existe la posibilidad de "simular" estas redes mediante el uso de programas que operan en computadoras convencionales. Esto es. se hace un programa en el que se defrnen los elementos base tipo neurona, y se propone una regla de aprendizaje; esta regla da un valor para las interacciones entre las neuronas. como función de los datos administrados a la máquina. La rapidez de operación y capacidad obtenidas mediante el uso de estos programas son mucho menores que las que se lograrían mediante el uso de una computadora neuronal (red neuronal implementada en circuitería). Sin embargo, aunque estos programas son lentos, dan resultados más satisfactorios que los logrados con algoritmos complicados. Por otro lado, constituyen una opción económica con respecto a las computadoras con arquitectura neuronal, ya que no es necesario comprar una nueva computadora de uso específico.

Un ejemplo concreto de la eficiencia de las redes neuronales nos lo dan los programas cuyo propósito es la conversión de textos escritos a inglés hablado. En este sentido el idioma inglés presenta un gran reto. ya que aunque cuenta con muchas reglas fonéticas. estas reglas tienen un gran número de excepciones y casos particulares. Por otro lado lo ideal seria que la computadora "leyese de corrido". lo cual hace que se requiera gran rapidez en el procesamiento de la Información.

Con respecto a las arqultecturas neuronsles. ya han sido patentados varios modelos de éstas. En estas computadoras, cada "neurona" xtificial constituye un elemento procesador que funciona independiente y simultáneamente a los demás.

Page 17: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

CAPITULO

DOS

NEUROFISIOLOGIA ELEiMENTAL

2.1. COMPARACI~N DEL SISTEMA NE:RVIOSO CON UNA COMPUTADORA

Cuando se montaron por vez prirnera en diversos laboratorios computadoras electrónicas, por ingenieros que trabajaban independientemente, pronto se comprobó que todas estas máquinas tenian caracteristicas comunes con el sistema nervioso. En primer lugar, todas tenian circuitos de entrada comparables a la porción sensitiva del sistema nervioso, y circuitos de salida comparables a la porción motora del mismo. En la vía conductora entre la entrada y la salida había mecanismos destinados a efectuar diversos tipos de computaciones.

En computadoras sencillas. las señales de salida eran controladas directamente por las señales de entrada, operando en forma similar a como lo hacen reflejos simples. Pero en las computadoras mas complejas la salida dependia de señales de entrada y de información que ya se habían almacenado en la computadora. en forma Similar a como ocurre en mecanismos reflejos más complejos de nuestro sistema nervioso. Además a medida que las computadoras se hicieron más y más complejas fue necesario añadir otra unidad. denominada UNIDAD DE PROGRAMA CENTRAL. que rige la sucesión de operaciones. Esta unidad es analoga al mecanismo de nuestro cerebro. que nos permite dirigir la atención primero hacia un pensamiento, luego hacia otro. y as¡ sucesivamente hasta llegar a crear sucesiones complejas. El hecho de que los componentes básicos de la computadora de empleo general sean análogos a los del sistema nervioso del hombre demuestra que el cerebro es , básicamente, una computadora que recaba continuamente información sensorial y la emplea simultaneamente con la información que tiene ya almacenda para corrlputarizar la evolución de la actividad corporal.

2.2. FlSlOLOGlA DE UNA NEURONA. INDIVIDUAL

La Figura 2.1 representa los componentes principales de una célula nerviosa típica perteneciente al sistema nervioso central. La membrana de la neurona separa el plasma intracelular del fluido intersticial que se encuentra fuera de la célula. La membrana es permeable para ciertas especies iónicas, y actúa de tal forma que se mantenga una diferencia de potencial entre el fluido intracelular y el fluido extracelular. Este efecto se consigue pnrnordialmente mediante la acción de una bomba de sodio-potasio. Tambien están presentes otras especies iónicas como son los iones cloruro y los orgánicos negativos.

Page 18: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 2.1

Todas las especies iónicas se pueden difundir a través de la membrana. con la excepción de los iones orgánicos, que son demasiado grandes. Dado que los iones orgánlcos no pueden salir de la célula por difusión, su carga negativa neta dificulta la entrada en la célula de iones cloro por difusión; por tanto, habrá una concentración mas alta de iones cloro fuera de la célula. La bomba de sodio-potasio determina una concentración más alta de potasio dentro de la célula y una concentración más alta de sodio fuera de ella.

La membrana celular es selectivamente más permeable para los iones de potasio que para los iones de sodio. El gradiente químico del potasio tiende a hacer que los iones de potasio salgan de la célula por difusión, pero la fuerte atracción de los iones orgánicos negativos tiende a mantener dentro el potasio. El resultado de estas fuerzas opuestas es que se alcanza un equilibrio en el cual hay más iones de sodio y cloro fuera de la célula, y más iones orgánicos y de potasio dentro de ella. Además, el equilibrio resultante produce una diferencia de potencial a traves de la membrana de la célula de unos 70 a 100 milivoltios (mV), siendo el más negativo el fluido intracelular. Este potencial, que se denomina potencial de reposo de la célula. se ha representado esquemáticamente en la Figura 2.2.

Page 19: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGUR:A 2.2

Las entradas excitatorias que llegan a l a célula reducen la diferencia de potencial que existe entre los dos lados de la membrana celular. La despolarización resultante en el montículo del axón altera la permeabilidad de la membrana celular a efectos de los iones de sodio. Como resultado hay un fuerte flujo entrante de iones sodio positivos, que penetran en la célula, contribuyendo aún más en la despolarización. Este efecto autogenerado da lugar al potencial de acción.

Las fibras nerviosas en sí son malos conductores. La transmisión del potencial de acción a lo largo del axón es el resultado de una serie de despolarizaciones que tienen lugar en los nodos de Ranvier. Cuando uno de los nodos se despolariza, se desencadena la despolarización del siguiente nodo. El potencial de acción viaja 21 lo largo de la fibra en forma discontinua. de un nodo a otro. Una vez que un potencial de accibn ha pasado por un cierto punto, ese punto no puede volver a ser excitado durante cosa de 1 milisegundo, que es el tiempo que tarda en volver a su potencial de reposo. Este periodo refractario limita la frecuencia de transmisión de los impulsos nerviosos a unos 1.000 por segundo.

Page 20: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

El pico del potencial de acci6n se prolonga

FIGURA 2.3

2.2.1. La unión sináptica

La informacion en el sistema nervioso central se transmite en forma de impulsos nerviosos por una serie de neuronas una despues de otra sin embargo el impulso puede quedar bloqueado en su transmisión de una neurona a otra, cambiarse de impulso Único a impulsos repetitivos, o ser integrado por impulsos de otras neuronas para crear tipos muy complejos de impulsos en neuronas sucesivas. Todas estas funciones pueden clasificarse como funciones sinápticas de las neuronas.

Las señales nerviosas se transmiten desde una neurona hacia la siguiente por medio de uniones interneuronaies que es llaman SINAPSIS. La comunicación entre las neuronas tiene lugar como resultado de la liberación de unas sustancias llamadas neurotransmisores por parte de la célula presinaptica, al ser absorbidas estas sustancias por la célula postsináptica. La figura 2.4 muestra esta actividad. Cuando el potencial de acción llega a la membrana presináptica, los cambios de permeabilidad de la membrana dan lugar a un flujo entrante de iones de calcio. Estos iones dan lugar a que las vesículas que contienen los neurotransmisores se fundan con la membrana sináptica, liberando así neurotransmisores en la separación sináptica.

Page 21: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 2.4

Los neurotransmisores se difunden a travks de la unión y se unen a la membrana postsináptica en ciertos lugares llamados receptores. La acción química que se produce en los receptores da lugar a cambios de permeabilidad de la membrana postsináptica para ciertas especies iónicas. Un flujo entrante de especies \positivas hacia la célula tenderá a despolarizar el potencial de reposo; este efecto es excitatorio. Si entran iones negativos, se producirá un efecto hiperpolarizante; este efecto es inhibitorio. Estcls dos efectos son locales, y actúan tan sólo a lo largo de una pequeña distancia hacia el interior de la célula; se suman en el montículo del axón. Si la suma es mayor que un cierto valor umbral se genera un potencial de acción.

2.3. ALMACENAMIENTO DE LA INFORMACI~N : MEMORIA

Sólo una pequeña parte de la información sensorial importante provoca una respuesta motora inmediata. El resto es almacenado para futuro control de actividades motoras. y para ernpleo en procesos intelectuales. La mayor parte de este almacenamiento de la información ocurre en la corteza cerebral, pero no toda, pues incluso las regiones basales, y quizá la médula espinal, puede almacenar cantidades menores de información.

El almacenamiento de la información es el proceso que llamamos MEMORIA; y esta también es función de la sinápsis. O sea que cada vez que una seiíal sensorial determinada atraviesa una serie de sinapsis. dichas sinapsis se vuelven cada vez más capaces de transmitir la misma señal la proxima vez, lo cual recibe el nombre de facilitación. Despues que la señal sensorial ha pasado a través de la sinápsis un gran número de veces, las sinapsis resultan tan facilitadas que las señales pueden causar transmisión de impulsos a través de la misma secuencia de sinapsis aun cuando no se h.aya excitado la recepción de experimentar la serlsación original, cuando en realidad se trata !;ólo de la memoria que tiene la dicha sensación.

Page 22: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Por desgracia, no se conoce el Inecanisrno exacto por virtud del cual se produce facilitación de las sinapsis en el proceso de la memoria.

Una vez que los diferentes recuerdos se han almacenado en el sistema nervioso. forman parte del mecanismo de elaboración. Los procesos del pensamiento en el encefalo comparan nuevas experiencias sensoriales con 10s recuerdos almacenados; la memoria ayuda a seleccionar la información sensorial nueva de importancia y a derivarla hacia zonas adecuadas de almacenamiento, para empleo futuro o hacia zonas motoras con el fin de orlginar respuestas corporales.

2.4. TRANSMICI~N Y ELAVORACI¿IN DE SEÑALES DE FONDOS COMUNES NEURONALES

El sistema nervioso central está formado por cientos o incluso miles de fondos comunes neuronales, de los cuales algunos contienen muy pocas neuronas en tanto que otros contienen muchas. Por ejemplo, toda la corteza cerebral pudiera considerarse como un solo fondo común neuronal voluminoso. Tiene muchos haces separados de fibras que llegan hasta éI (fibras aferentes) y otros que salen de éI (fibras eferentes. Además conserva la misma calidad de orientación espacial que se observa en los haces nerviosos. puntos industriales de la corteza conectados con puntos específicos en otras partes del sistema nervloso o a través de los nervios periféncos con puntos específicos del cuerpo Sin embargo dentro de este fondo común de neuronas hay gran número de fibras nerviosas cortas. gracias a las cuales las señales se difunden horizontalmente de neurona a neurona dentro del propio conjunto.

Otros fondos comúnes neuronales incluyen los diferentes ganglios basales, y los núcleos específicos en tálamo. cerebelo, mesencéfalo. lprotuberancia y bulbo. También la sustancia gris dorsal de la mkdula espina1 pudiera considerarse un fondo común alargado de neuronas, y toda la sustancia gris anterior otro fondo común neuronal largo. Cada fondo cumún tiene sus propias caracteristicas especiales de organización que le hacen procesar las señales a su propia manera especial, lo que permite que estas características logren la multitud de funciones del sistema nervioso. Sin embargo. a pesar de sus diferencias de función, tales fondos comunes también tienen muchas similitudes de función.

Page 23: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

: 5. RELEVO DE SEkALES A TRAVÉS DE LOS FONDOS COMUNES

FIGURA 2.5

1 1 I-lgura 2.5 constituye uri esquema de organlzación de neuronas en un fondo común ~euronal ll?mostrando el ingreso de fibras a la izquierda y las fibras que salen a la derecha. Cada filJlcI ' I C : entrada se divide en cientos o miles de veces, y da lugar a un promrdio de mil o más f i t ~ l l l l : ~ ~ terminales que se extienden sobre una gran superficie del conjunto neuronal estable~.11~tvln sinapsis con las dendritas o cuerpos celulares de las neuronas del fondo común. Las del~611i l :~~ de algunas neuronas tambier1 se ramifican y diseminan en el fondo común. El area n ~ l l f ~ ~ ~ ~ q l estimulada por cada fibra nerviosa aferente se denomina campo de estimulación. Cada f l l ~ , ~ que ingresa se arboriza, de manera que hay un número elevado de botones sinaPtic-:cb" 'VI las neuronas más centrales del campo, y un número progresivamente menor de botones 1 1 IFIS neuronas cada vez más alejadas del centro del campo.

I ' ' ,ILITACIÓN: La descarga de una terminal presináptica única casi nunca estimula a la neur('l1,l (Instsináptica. Lo que debe ocurrir es que descarge numerosas terminales sobre la misma 11' orla, la, ya sea en manera simultanea o en sucesión rápida para producir la excitación.

1 ¡-¡gura 2.5 representa una versión muy condensada de un fondo común neural. Puesto ( 1 1 ~ ~ ~ ;Ida fibra nerviosa que llega suele brindar terminales a cientos o miles de neuronas seParatl<( "1 I su campo de distribucion.

11 1 1 IIBICIÓN: Algunas fibras que llegan inhiben a las neuronas antes de excitarlas. Esto es 10 Ccllltl,uio de la facilitación. y todo el campo de las ramas inhibitorias se llama zona inhibitol-~l( ' ~ I I embargo. el grado de inhibición en el centro de esta zona es muy elevado a c a z a ( 1 1 - ¡:IS numerosas terminaciones que hay en el centro, y se vuelve progresivamente menor Iim I , \ 10s bordes.

1 / I RGENCIA: Las setiales que entran en un fondo común neuronal excitan a un gran número I I ~ ~ ~ ~ ) I - de fibras que dejan dicho fondo. Se preducen dos tipos mayores de divergencia que tier11 1 1 IIItalidades totalmente diferentes. Un tipo amplificador de divergencia frecuente se ilustra t:ll 1 1 1-igura 2.5 A. Significa que una serial de ingreso se difunde a un número creciente de n e ~ l l 1 ~ f ~ 1 . ;j medida que atraviesa fondos :;ucesivos de una vía nerviosa. Este tipo de diverCJe?lII 1 1 < ' S caracteristico de la via corticosplrlal en su control de músculos esqueldicos. Un segund(J I ~ I J ~ I de divergencla ilustrado en la Figul-a 2.5 B. es la divergencia en haces múltiples.

Page 24: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

En este caso. la señal es transmitida desde el fondo común en dos direcciones separadas a las distintas partes del sistema nervioso en que se necesita. Por ejemplo la información transmitida en los cordones posteriores de la médula toma dos caminos en la parte baja del encéfalo: 1) hacia el cerebro, y 2) a traves de las regiones balas del cerebro, para el tálamo y la corteza cerebral Análogamente, en el tálamo casi toda la información sensorial pasa varias etapas hacia estructuras profundas del tálamo y hacia regiones aisladas de la corteza cerebral.

CONVERGENCIA: A menudo es importante que las señales provenientes de diversas neuronas exciten a la misma neurona. Esto es tales fibras que llegan convergen sobre esta misma neurona. AI igual que ocurre con la divergencia, tambien existen dos tipos básicos de convergencia .

La Figura 2.5 C indica convergencia desde una sola fuente. Esto es múltiples terminales de un haz de fibras que llegan terminan en la misma neurona. La importancia de este fenomeno es que las fibras no se excitan casi nunca por un solo potencial de acción proveniente de alguna termlnal Única. Pero los potenciales de acción cle muchas terminales estimulatorias brindarán sumación suficiente para hacer que la neurona llegue al umbral requerido para la descarga. Sin embargo la convergencia también puede resultar de seriales de ingreso (excrtadoras o inhibidoras) de diversos orígenes, lo cual se ilustra en la Figura 2.5 D. Por ejemplo las células internunciales de la médula espinal reciben señales convergentes de : a) fibras nerviosas penféricas que penetran en la médula; b) fibras propiospinales que pasan de un segmento medular a otro: c) fibras corticospinales procedentes de la corteza cerebral, y d) probablemente otras vias largas que bajan desde el encéfalo hacia la médula espinal. Luego las señales de las interneuronas convergen en las motoneuronas para controlar la función muscular

Tal convergencia permite la sumación de información de diversos origenes. la respuesta resultante es un efecto sumado de todos estos tipos diferentes de información. Evidentemente la convergencia es uno de los medios importantes gracias a los cuales el sistema nervioso central relaciona. suma y distingue diferentes tipos de información.

CIRCUITO NEURONAL que produce señales de salida tanto excitatorias como inhibitorias. A veces la señal que llega de m fondo común neuronal produce una señal excitatoria de salida va en una dirección , y al mismo tiempo una señal inhibidora que va hacia otro sitio. Por ejemplo, al mismo tiempo que se transmite una señal excitadora desde un grupo de neuronas en la médula espinal para producir movimiento de una pierna hacia adelante, se transmite una señal inhibitoria para un grupo separado de neuronas para inhibir los músculos del dorso de la pierna, de modoque no se opongan al movimiento de esta hacia adelante. Este tipo de circuito es caracteristico de la regulación de todos los pares de músculos antagonistas. y se llama circuito de inhibición recíproca.

Page 25: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

CAPITULO

TRES

INTRODUCCIóN A LA TECNOLOGíA ANS (Sistemas Neuronales Artificiales)

3.1 CIRCUITOS NEURONALES Y COMPUTACI~N

La Figura 3 1 muestra varios circuitos neuronales básicos que se encuentran en el sistema nervioso central. La Figura 3.1 a y b ilustra los principios de convergencia y divergencla en la circuiteria neural. Cada neurona envía impulsos a muchas otras neuronas (divergencia) y recibe impulsos procedentes de muchas neuronas (convergencia). Esta sencilla idea parece ser el fundamento de toda la actividad del sistema iewioso central. y forma la base de la mayoría de los modelos de redes neuronales.

FIGURA 3.1

Page 26: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Obsérvese las vias de realimentación que aparecen en los circuitos de la Figura 3.1 b, C

y d. Dado que las conexiones sinápticas pueden ser tanto excitatorias COmO inhibitorias, estos circultos hacen posible que los sistemas de control puedan tener tanto realimentación positiva como realimentación negativa. Estos circuitos tan sencillos no describen adecuadamente la gran complejidad de la neuroanatomía .

McCulloch y Pitts, fueron los primeros en tratar al cerebro como un organismo computacional, su teoría se basa en cinco suposiciones:

l . La actividad de una neurona es un proceso de todo-nada. 2. Es preciso que un número fijo de sinapsis ( >I ) sean excitadas dentro de un periodo de

3. El llnico retraso significativo dentro del sistema nervioso es el retardo sináptico. 4 La actividad de cualquier sinapsis inhibitoria impide por completo la excitación de la neurona en

5. La estructura de la red de interconexiones no Icambia en el transcurso del tiempo.

adición latente para que se excite una neurona.

ese momento.

La primera suposición indica que las nedronas son binarias: o bien estan activas o bien estar) desactivas. Por tanto. se puede defmir un predicado Ni(t), que denota la afirmación conslstente en que la ¡-ésima neurona dispara en el instante t. La notación -N,(t) denota la firmación consistente en que la ¡-ésima neurona no ha disparado en el instante t. Empleando esta notación, se puede describir la acción de ciertas redes empleando la lógica de proposiciones. Se pueden escribir expresiones proposicionales sencillas para describir el comportamiento de los cuatro primeros. La expresión es N2(t) = Nl( t - 1). De manera singular, las expresiones de las partes desde la b) hasta la d) de la Figura son las que siguen:

N3(t) = N l ( t - 1) V N2( t - 1) (disyunción),

N3(t) = Nl ( t - 1) & N2(t - 1) (conjunción) y

N3(t) = Nl( t -1) & -N2(t - 1) (conjunción Icon negación)

Una de las pruebas más potentes de esta teoría consiste en que cualquier red que no tenga conexiones de realimentación se puede describir en trérminos de combinaciones de estas cuatro expresiones sencillas. y viceversa. La Figura 3.2e es un ejemplo de red construida a partir de una combinación de las redes que aparecen en las partes de la a) a la d).

Page 27: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 3.2

A ~ I I ~ I I IO la teoría de McCulloch-Pitts ha resultado no ser un modelo preciso de la actividad 0 . 1 r1l)ral , la importancia de este trabajo no debe infravalorarse.

La tría a ayudado a dar forma a los pensamientos de muchas personas que han tenido imp(1I 1 . 1 1 )cia en el desarrollo de las ciencias de la computación en la actualidad. Tal como indican An(lt.t-;on y Rosenfeld, hay una idea fundamental que no se manifestaba en el artículo de McCUIIO( 1 1 Pitts: Aunque las neuronas son dispositivos sencillos, se puede obtener una gran potencia (h. 1 :’~lculo cuando se interconectan .adecuadamente estas neuronas y se imbrican dentro del st..ti,rna nervioso.

3.2 I~PRENDIZAJE DE HEBB

LOS ‘,l..temas neuronales biológicos no rlacen preprogramados con todo el conocimiento y capacida(lt ‘ ‘lue llegarán a tener eventualmente. Un proceso de aprendizaje que tiene lugar a lo largo periodo de tiernpo modifica cle alguna forma la red para incluir la nueva inforrnacih I

U l ~ l I r ,!ria básica de como es que aprendemos procede de un libro de Hebb escrito en 1949. y t l ~ c : c

Page 28: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Cuando un axbn de !a célula A cbc; l i i Suficientemente próximo para excitar a una célula B o toma parte en su disparo de fornw p(?l'SlStente. tiene lugar algún proceso de crecimiento o algún camblo metabolic0 en una de las celulas, CI en las dos, de tal modo que la eficiencia de A. como una de las células que desencaderla el disparo de B, se ve incrementada.

AI igual que el modelo de McCulloch-Pitts, esta ley de aprendizaje no cuenta toda la historia. Sin embargo, aparece de una forma o de otra en muchos de los modeios de redes neuronales que existen en la actualidad.

Entrada \!?, de sonido

FIGUFLA 3.3

Para ilustrar la idea básica. se considera el ejemplo clásico de condicionamiento, empleando el experimento de Pavlov. La Figura 3.3 muestra tres neuronas. Idealizadas que toman parte en el proceso.

Supongamos que la excitación de C, causada por la visualización de la comida, es suficiente para excitar a B. que da lugar a la sali'vación . Además supongamos que, en ausencia de estimulación adicional, la excitación de A, que se debe a oir una campanilla, no basta para dar lugar al disparo de B.

Permitamos que C dé lugar a que B dispare mostrando comida al sujeto. y, mientras B sigue disparando, estimulemos a A haciendo sonar una campanilla. Dado que B sigue disparando. A participa ahora en la excitación de B. aun cuando por sí sola A no sería suficiente para dar lugar a que B disparase. En esta situación, la suposición de Hebb determina que se produce algún cambio entre A y B. de tal modo que la influencia de A sobre B se ve incrernentada. Si el experimento se repite con frecuencis suficiente, A será capaz de lograr, eventualmente, que se dispare B incluso en ausencia de la estimilación visual procedente de C. Entonces. si se hace sonar la campanilla, pero no se muestra la comida, seguirá produciendose salivación, por que la excitacion debida únicameiite a A es ahora suficiente para lograr que B se dispare

Dado que la conexión entre neuronas :se hace a través de la sinapsis, es razonable suponer que cualesquiera cambios que puedan tener lugar durante el aprendizaje deberán produclrse en ellas. Hebb sostenía la teoria de que aumentaba el area de la unión sináptlca. Teorías más recientes afirman que el responsable es el incremento de la velocidad con que se libera el neurotransrnisor en la cdula presináptica. En todo caso. ciertamente hay carnbios que se producen en la sinapsis. Tanto si la célula preslnáptica como la postsináptica resultaran

Page 29: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

3.3. DE LAS NEURONAS AL ANS

En esta sección se hace una transición de algunas ideas tomadas de la neurobiología a las estructuras idealizadas que constirtuyen la base de la mayoria de los modelos ANS

3.3.1. El elemento general deprocesamiento

Los elementos individuales de cálculo que forman la mayoría de los modelos de sistemas neuronales artificiales no suelen denominarse NEURONAS ARTIFICIALES: lo más frecuente es darles el nombre de nodos, unidades o elementos de procesamiento (FEs).

Otro detalle que hay que tener en cuenta es que no siempre es correcto pensar que los elementos de procesamiento poseen una relacitin biunívoca con neuronas biológicas reales. A veces es mejor tomar los elementos de procesamiento individuales como representantes de la actividad colectiva de un grupo de neuronas. Esta interpretación nos ayudará a evitar el error consistente en hablar como si nuestros sistemas fueran modelos reales del cerebro. además hará más tratable el problema cuando realmente intentemos modelar la conducta de alguna estructura biológica

Page 30: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 3.4

La Figura 3.4 muestra el modelo general de PE. Cada PE está numerado, siendo el i - ésimo el que aparece en la figura. Al igual que una neurona verdadera. el PE tiene muhas entradas pero tiene una sola salida, que se puede aplicar a michos otros PES de la red. La entrada que recibe el i-ésimo PE procedente del j-ésimo PE se indica en la forma Xj (observese que este valor es también la salida del j-ésimo nodo, del mismo modo que la salida generada por el i-ésimo nodo se denota Xi. Cada conexiljn con el i-ésimo PE tiene asociada a éI una magnitud llamada peso o intensidad de conexión. El peso de la conexión prócedente del j-ésimo nodo y que llega al i-ésimo nodo se denota mediante Wij. Todas estas cantidades trenen sus analogos en el modelo de una neurona estandar: la salida del PE se corresponde con la frecuencia de disparo de la neurona, y los pesos corresponden a la intensidad de las conexiones sinápticas entre neuronas. En nuestros modelos estas cantidades se van a representar mediante números reales.

Obsérvese que las entradas que llegan a un PE están desglosadas en varios tipos. Este desglose refleja el hecho consistente en que cada conexión de entrada puede tener uno de entre vanos efectos. Una conexión de entrada puede ser excitatoria o inhibitoria, por ejemplo. En estos modelos. las conexiones excitatorias tienen pesos positivos, y las conexiones inhibitorias tienerr pesos negativos. También son posibles otros tipos. Los términos ganancia. amortiguamiento, y disparo fortuito aluden a oiras conexiones de propósitos especiales. Las conexiones excitatorias e lnhibitorias suelen corlsiderarse conjuntamente, y son las más comime, de entrada de los PE.

Cada PE determina un valor de entrada neto basándose en todas las conexiones de entrada. En a~~sencia de conexiones especiales, lo típico es calcular el valor de entrada neto sumando los valores de entrada, ponderados (multiplicados) mediante sus pesos correspondientes. En otras palabras la entrada neta de la i-ésima unidad se puede escribir en la forma

En donde el índice j recorre todas las conexiones que posea el PE. Obsérvese que la excitación y la inhibición se tienen en cuenta automáticamente mediante el signo de pesos. Este cálculo de sumas de productos tiene un papel importante en las similaciones de redes. Dado que es frecuente que haya un número de interconexiones muy elevado en las redes, la velocldad con la que se puede llevar a cabo este cálculo suele ser determinante para el rendimiento de la simulación de cualquier red dada.

Una vez que la entrada neta es calculada, se transforma en el valor de activación. o activaclón simplemente. para ese PE se puede escribir ese valor de activación en la forma

ai(t) = F;(ai(t - I ) , netai(t)) (1.2)

para denotar que la activación es una función explícita de la entrada neta. Obsérvese que la activacidn actual puede depender del valor anterior de la activación, a(t - 1). Se incluye esta dependencia en la definicidn por generalidad. I 3 la mayoria de tos casos, la activación y la entrada neta son idénticas, y los términos suelen emplearse de manera intercambiable. En algunas ocasiones, la activación y la entrada neta son iguales no son iguales, y es preciso prestar atenci6n a la diterencia. En general. sin embargo, siempre podremos utilizar la acttvmdn para denotar la entrada neta, y viceversa.

IJna vez que se ha calculado la activación del PE, se puede determinar el valor de : ; :IIKI~ aplicando la funcicin de salida:

X, = fl(ai)

Page 31: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Dado que normalmente es al = netal, esta función suele escribirse en la forma

Una de las razones por las cuales se estudia cuidadosamente el tema de la activación frente a la entrada neta es que el término funcióll de activación se utiliza en algunas ocasiones para aludir a la funcion fi, que transforma el valor de la entrada neta, neta;, en el valor de salida del nodo, X,. En este texto se empleará el término función de salida para aludir a la fi()de las ecuaciones (1.3) y (1.4). Téngase en cuenta sin embargo, que la literatura no siempre sigue a rajatabla esta convención.

Cuando es están describiendo las bases matemáticas de los modelos de redes. suele resultar útil pensar que la red es un sistema dinámico, esto es, que un sistema que evoluciona a lo largo del tiempo. Para describir una red de estas caracteristicas, se escriben ecuaciones diferenciales que describen el ritmo del cambio temporal de las salidas de los distintos PES. Por ejemplo. X ' i = g,(xi,netai) representa una ecuación diferncial general para la salida del ,-ésirno PE. en donae el apostrofe que hay encima de la X denota la derivación con respecto al tiempo. Dado que neta, depende de las salidas de muchas otras unidades, lo que se tiene realmente es un sistema de ecuacines diferenciales acopladas.

Como ejemplo, se examina la ecuación siguiente:

que corresponde a la salida del i-ésimo elemento de procesamiento. Se aplican unos cuantos valores de entrada al PE para que neta; > O. Si Izs entradas quedan estables durante un periodo de tiempo suficiente, el valor de la salida alcanzará un valor de equilibrio, cuando sea Xi = O, dado por

X, = fi(netai)

que es identic0 a la ecuación (1.4). Frecuentemente, se puede suponer que los valores de entrada permanecen constantes hasta que se ha logrado el equilibrio.

Una vez que la unidad tiene un valor de salida no nulo, la eliminación de las entradas dará lugar a que la salida vuelva a cero. Si netai = O, entonces

lo cual significa que X se aproxima a cero

También resulta útil ver la colección de valores de los pesos como un sistema dinámico. Se puede escribir un sistema de ecuaciones difelrenciales para los pesos,

w'ij = Gi(vvlj, xi, xj, . . . )

en donde Gi representa la ley de aprendizaje. Eil proceso de aprendizaje consiste en hallar los pesos que codifican ese conocimiento que deseamos que aprenda el sistema. Papa la mayor parte de los slstemas reales, no es fácil determinar una solución en forma cerrada para este sistema de ecuaciones. Existen técnicas, sin embargo, que dan lugar a una aproximación 1-azorlable d e la solución. Probar la existencia de soluciones estables para estos tipos de sistorrlas es objeto de intensas investigaclones en la actualidad, y es probable que siga siendolo durante a l g h tiempo

Page 32: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

3.3.2. Formulación vectorial

Suponiendo que el vector n-dimensional proporciona los valores de entrada de todas las urilcl,ldes de una capa m-dimensional (una capa de m unidades). Cada una de las unidades de la c:;-rpa m-dimensional poseerá n pesos asociaidos a las conexiones procedentes de la capa arltcwor. D e esta manera hay m vectores de pesos n-dimensionales para cada una de las m ut ll(l~ldes. El vector de- pesos de la ,-ésima unidad se puede escribir en la forma

wi = (wi l . wi2. . . . , w;n)t

Se puede añadir un índice a la notación de los pesos para distinguir entre los pesos de dltc:t cntes capas.

La entrada neta de la ¡-ésima unidad se puede escribir en términos del producto interno, o Iuoducto escalar, del vector de entradas por el vector de pesos. Para vectores de iguales dlttlcvlsiones. el producto interno se define como la suma de los productos de los componentes C(JI I clspondientes de ambos vectores. En la notación

neta, = xjwij

e l l clonde n es el número de conexiones que haya en la i-ésima unidad. Esta ecuación se puede es(.lll)lr en forma resumida en notación vectorial de la forma

neta¡ = x . wi

netai = xt wi

TCII I r lase en cuenta que, como consecuencia de las reglas de multiplicación de vectores.

xt wi = wit x

Se hablará a menudo de vectores de entrada, vectores de salida y vectores de peso, ~ C I I I \e tiende a reservar la notación vectorial para aquellos casos en que resulta especlalmente a(1c.l .I lada.

3.3.3. El perceptrón

Page 33: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Una notacion para describir un modelo de red neuronal que ha tenldo un luyal- importante en la historia es el perceptrón que fue inventado por el psicólogo Frank Rosenblatt a finales de los años cincuenta. Era su intento de ilustrar algunas de las propiedades fundamentales de los sistemas inteligentes en general , sin entrar en demasía en ciertas condlciones especiales, y muchas veces desconocidas. que son válidas para organismos biológicos concretos. Rosenblatt creía que la conectividad que se desarrolla en las redes biológicas tiene un elevado porcentaje de aleatoliedad. Por tanto desaprobaba los análisis anteriores, tales corno el modelo de McCulloch-Pitts, en los cuales se empleaba lógica simbólica para analizar unas estructuras batante idealizadas. En realidad, Rosenblatt opinaba que la herramienta de análisis más apropiada era la teoría de probabilidades. Desarrollh una teoría de separabilidad estadística que utilizaba para caralcterizar las propiedades más visibles de estas redes de interconexión ligeramente aleatoria

Zona sensorial Z o n a de asociaciijn Zona de resouesta

-,-, Conexión inhibitoria - Conexión excitatoria -a

- Excitatoria o inhibitoria

FIGURA 3.5

El fotoperceptrón es un dispositivo que responde a señales ópticas. Se muestra un ejemplo en la figura 3.5. En este dispositivo 1.3 luz incide en los puntos sensibles (S) de la estructura de la retina. Cada punto S responde en forma todo- nada a la luz entrante. Los impulsos generados por los puntos S se transmlten a las unidades de asociación (A)de la capa de asociación. Cada midad A está conectada a un conjunto aleatorio de puntos S, denominados conjunto fuente de la unidad A , y las conexiones pueden ser tanto excitatorias como inhibitorias. Las conexiones tienen los valores posibles +I , -1 y O. Cuando aparece una trama de estímulos en la retina , una unidad A se activa SI la suma de sus entradas sobrepasa algún valor umbral. Si est5 activada, la unidad A produce una salida que se envía a la siguiente capa de unidades.

Page 34: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

- -, - conexidn inhibitoria

--m conexibn excitatoria

- conexidn excitatoria o inhiDitOrid

FIGUR:A 3.6

De forma slmilar las unldades A estan conectadas a unidades de respuesta (R) dentro de la capa de respuesta. La trama de conectiviclad vuelve a ser aleatoria entre capas. pero se añaden conexiones inhibitonas de realimentaciim procedentes de la capa de respuesta y que llegan a la capa de asociación. y también hay conexiones inhibitorias entre las unidades R. Todo el esquema de conexiones está descrito en forma de diagrama de Venn en la Figura 3.6, para un perceptrón sencillo con dos unidades R.

Este dibujo muestra que cada una de las unidades R inhibe a las unidades A en el complementto de su proplo conjunto fuente. Además, cad una de las unidades R inhibe a la otra. Estos factores ayudan a establecer una sola unidad R que sea la ganadora para cada trama de estimulos que aparezca en la retina. Las unidades R responden de una forma muy similar a la de las unidades A. S ¡la suma de sus entradas sclbrepasa un umbral, producen un valor de salida de + I : en caso contrario su salida vale -1. Un mecanismo alternativo de realimentación conectaría conexiones excitatorias de realimentación procedentes de cada unidad R a los respectivos conjuntos fuentes de esa unidad R dentro de la capa de asociaci6n.

Se puede utilizar un sistema como el que se acaba de describir para clasificar tramas que aparezcan en la retina por categorias, de acuerdo con el número de unidades de respuesta que haya en el sistema. Las tramas que sean suficientemente parecidas deberían excitar a la rnisma unldad R. Por tanto. se trata de un problema de separabilidad.

El perceptrón era un dispositivo de aprendizaje. En su configuración inicial. el perceptrbn no era capaz de distinguir las tramas interesantes: sin embargo, mediante un proceso de aprendizaje. era capaz de adquirir esta capacidad. En esencia , el entrenamiento implicaba un proceso de refuerzo mediante el cual la salida de las unidades A se incrementaba o se decrementaba dependiendo de SI las unldadies A contribuian o no a las respuestas correctas del perceptrón para una trama dada. Se aplicaba una trama a la retina, y el estímulo se propagaba a través de las capas hasta que se activase una unidad de respuesta. SI se había activado la unidad de respclesta correcta, se incrernentaba la salida de las rrnidades A que hublel-an contribuido. Si se activaba una unidad R incorrecta, se hacia disminuir la salida de las (midades A que hubiesen contribuido.

Page 35: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Los trabajos de Rosenblatt dieron lugar a que se demostrase un importante resultado conocido con el nombre de teorema de convergencia del perceptrón. El teorema se demuestra para un perceptrón con una unidad R que está aprendiendo a diferenciar tramas de dos clases diferentes. Afirma en esencia. que si la clasificación puede ser aprendida por el perceptron. entonces el procedimiento descrito garantiza que será aprendida en un número finito de ciclos de entrenamiento.

Desafortunadamente. los perceptrones dieron lugar a una considerable controversia en el momento de su aparición. El resultado final fui: que el campo de las redes neuronales arttficlales fui? abandonado casi en su totalidad, s.31~0 por unos pocos investigadores.

En 1969 aparecló un libro que, para algunas personas, significaba el final definitivo de las redes neuronales. El libro se titulaba, ( Ferceptrons: An Introduction to Computational Geometry), y había sido escrito por Marvin blinsky y Seymour Papert. Se presentaba un perspicaz y datallado anális!s del perceptrón. en términos de sus capacidades y limitaciones. El que su Intención fuer-a o no la de termlnar con el apoyo popular para la investigacibn acerca de las redes neuronales slgue slendo una cuestión opi,3able. Sln embargo el análisis sigue slendo tan vrilido en la actualidad como lo era entonces.

En particular Mlnsky y Papert, trataban el tema de ciertas restricciones para las clases de problemas para los cuales es adecuado 131 perceptrón. Los perceptrones solo pueden dlstinguir tramas si las tramas son linealmente separables.

Minsky y Papert se apartaban de la aproximación probabilistica que propugnaba Rosenblatt, y volvían a las ideas de cálculo de predicados en su análisis del perceptrón. su perceptrón idealizado aparece en la Figura 3.7.

Zona sensorial Zona de asociación Zona de respuesta

- o Conexión inhibitoria - Conexión excitatoria

"II,

"

Excitatoria o inhibitoria

FlGU RA 3.7

Page 36: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

El conjunto I = ( & I , 8.2. . . . m ) es un conjunto de predicados. En SU forma mas sencilla. los predicados cumplen &i = 1 cuando el i-ésimo punto de la retina está activado, y &i = O en caso contrario. Cada uno de los predicados de entrada viene ponderado mediante un número de conjunto (a , a . . . . , a ). La salida , es 1 si y solo si na &n > O, en donde O es el valor umbral.

8 X1 X2 salida

1 1 o 1 1 O

entradas x1 2: 2

FIGURA 3.8

Uno de los ejemplos más sencillos de problemas que no se pueden resolver mediante un perceptrón es el problema XOR. Ilustrado en la Figura 3.8.

En la red de la Figura 3.8, la función de salida de la unidad de salida es una función um brat

f (neta) = Is i neta > = O O si neta < O

en donde O es el valor umbral. Este tipo de nodo se denomina "unidad de umbral lineal"

La activación del nodo de salida es

neta = w l x l -+ w2x2

y el valor de salida es

o = f (neta) = 1 SI w l x l + w2x2 > = o o si w l x l + w2x2 c o

El problema consiste en seleccionar unos valores de los pesos tales que todos los pares de valores de entrada den lugar a los valores de salida correctos. No es posible harzr esto.

Page 37: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Examinemos la ecuacion

o = wl x1 + vu2x2 (1.5)

Esta ecuación es la ecuación de una linea en el plano X I , x2. Este plan0 Se ilustra en la Figura 3.9, junto con los cuatro puntos que son las posibles entradas de la red. Se puede pensar que el problema consiste en subdividir este espacio e11 regiones. y asignar despues rótulos a estas regiones de tal modo que correspondan a la respuesta correcta para los puntos a la respuesta correcta para los puntos de esa region. Se representa la ecuación (1.5) para ciertos valorse de O, wl y w 2 , como en la Figura 3.9. La linea parte del plano en dos regiones distintas como máximo. Entonces se puede clasificar los puntos de una región como pertenecientes a la clase que posee una salida de 1 , y los de la otra regiórl como pertenecientes a la Clase que posee una salida nula; sin embargo, no hay ninguna forma de disponer la situación de la línea de tal forma que los dos puntos correctos para cada clase se encuentren en la misma región. La sencilla unidad de umbral lineal no es capaz de llevar a cabo correctamente la función XOR.

t

FlGU RA 3.9

Antes de mostrar la forma de resolver esta dificultad, nos referiremos al concepto de hiperplanos. Esta idea aparece ocasionalmente en la literatura, y puede ser útil para evaluar el rendimiento de ciertas redes neurales.

En el espacio tridimensional que no5 es familiar, un plano es un objeto de dos dimensiones. Un único plano puede descomponer el espacio tridimensional en dos regiones distintas; dos planos pueden dar lugar a tres c) cuatro regiones distintas, dependiendo de sus orientaciones relativas, y así sucesivamente. Por extensión, en un espacio n-dimensional , los hiper-planos son objetos de (n - 1) dimensiones. (Los espacios n-dimensionales suelen recibir el nombre de hiperespacio). Una colocacih adecuada de los hiperplanos permite descomponer los espacios n-dimensionales en varias regiones diferentes.

Hay muchos problemas reales que implican la separación de regiones de puntos de un hiperespacio en categorias individuales o clases. que deben distinguirse de otras clases. Una forma de hacer estas distinciones corisiste en seleccionar hiperplanos que descompongan el espacio en regiones adecuadas. Esta tarea poclria parecer dificil de realizar en un espacio de muchas dimensiones. y lo es . Afortunadamente. como se verá más adelante, ciertas redes neuronales pueden aprender la descomposiciOn adecuada.

En un espacio general n-dimensinal, la ecuación de un hiperplano se puede escribir en la forma

Page 38: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

aixl = C

en donde los ai son constantes. con al menos un ai = o, y 10s Xi son las ~ ~ ~ K k n a d a s del espacio.

Volvamos al problema XOR para ver la forma en que nos podemos aproximar a una solución. El grafo de la Figura 3.9 sugiere que se podria descomponer correctamente el espacic si se tuvieran tres regiones. Una región pertenecería a una de las clases de salida, y las otras dos pertenecerían a la segunda clase de salida. No hay razón por la cual regiones disjuntas no puedan pertenecer a una misma clase. La Figura 3.10 muestra una red de unidades de umbral lineal que lleva a cabo la descomposición correcta, junto con el diagrama correspondiente en el hiperespacio.

La adición de dos unidades de capa oculta, o capa intermedia. dan a la red la flexibllidad necesaria para resolver el problema. De hecho la existencia de esta capa oculta nos tía la capacidad de construir redes que puedan resolver problemas complejos.

Este ejemplo no implica que todas las criticas del perceptrón puedan tener respuesta añadiendo capas ocultas a la estructura. Lo que se pretende sugerir es que las técnlcas siguen avanzando hasta sistemas-cuyas capacidades de cálculo son cada vez mayores. Sin embargo rnuhas objeciones de las que planteaban Minsky y Papert no deberían tomarse a

FIGURA 3.10

I ligera

El tema de un segundo problema es el escalado. Hay muchas demostraciones de redes neuronales que se basan en la resoluci6n de lo que Minsky y Papert denominan problemas de .jug[,ete’. esto es, problemas clue son solamente remedos de las situaciones del mundo real. El /)aso de estos problemas de juguete a problemas del mundo real suele pensarse que es sólo c:uestlOn de tlempo; únicarnente es cuestión dl? esperar que se puedan construir redes mas glandes y rnas rápidas. Minsky y Papert afirman que muchas redes sufren efectos secundarios

Page 39: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

indeseables cuando se arnplian hasta alcanzar un gran tamaño. Ponemos aquí de manifiesto el problema porque el escalado es un problema que todavía no esta resuelto, quizá la SOlUCión esté en la sugerencia de la propia arquitectura del cerebro. Parece pausible que el cerebro esté compuesto por 1nucho.s sistemas diferentes paralelos. distribuidos. que llevan a cabo funciones bien definidas, pero bajo el control de un sistema secuencia1 de procesamiento con uno o más niveles. Para resolver el problema del escalado, quizá necesitemos aprender a combinar redes pequeñas, poniendolas bajo el control de otras redes.

Por su puesto, una "pequeña" red del cerebro sobrepasa las capacidades actuales de nuestras simulaciones, así que no se sabe exactamente cuales son las limitaciones. Esta tecnología aunque tiene 30 años, sigue emergiendo.

3.4. S IMULACI~N DE ANS

Se consideran a continuación varias técnicas para simular los modelos de procesarniento ANS empleando metodologías convencionales de progranmación. Una vez presentadas las lineas maestras de diseño y los objetos que se deben considerar cuando se rea lm un simulador propio de redes neuronales, se describirá la estructura de datos que se van a utlllrar como base para los algoritmos de simulación de redes que se presentan. '

Page 40: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

3.4.1 Necesidad de la simulación

La mayoria de los modelos de ANS que se examinarán comparten los conceptos b;:slcos de unos PES distribuidos y fuertemente interconectados. Todos los modelos de red se construirán a partir de estos conceptos, dando vida a una ley de aprendizaje única, en un esclrlerna de interconexiones ( por ejemplo, completamente interconectadas, debilmente irllolconectadas, unidireccional y bidireccional) y a una estructura, para proporcionar sistemas q t t c ' estén adaptados a clases concretas de problemas.

Si se van a explorar las posibilidades de la tecnología ANS, y a determinar sus bt.rwticios prácticos y sus limitaciones, se debe desarrollar alguna forma de probar el mayor nr1trlel-o posible dde modelos de red distintos. Sólo entonces será posible determinar con ploslción si un cierto ANS se puede ulilizar para resolver un problema dado. D(:satortunadamente. no se tiene acceso a un sistema diseñado específicamente para llevar a cabo un procesamiento masivamente paralelo, tal como el que se tiene en todos los modelos ANS que st' van a estudiar. Sin embargo, sí que tenemos acceso a una herramienta que se pucde programar rápidamente para llevar a cabo cualquier tipo de proceso algorítmico, inc:lityendo la simulación de un sistema de procesamiento paralelo. Esta herramienta es el colwcido computador de procesamiento secuencial.

3.4.2 Lineas maestras para el diseño {de simuladores

En el comierlzo de la simulación de redes neuronales se hace la observación de que frec:rlc:ntemente resulta necesario diseñar el software de simulación de tal modo que el tamaño de 13 red se pueda determinar dinámicamente. Otra observación es que en el momento de la ejccmón, la unidad central de procesamiento CPU invertirá la mayor parte de su tiempo en el cal(:rtlo de netai, el cálculo que produce el valor de neta, es normalmente un cálculo de sumas de ~~oduc tos : se trata de una operación que consumirá mucho tiempo si hay un elevado número de entradas en cada nodo.

Para empeorar las cosas, el cálculo de las sumas de productos se hace empleando n ~ J l T l ~ l ~ O S de coma flotante, puesto que la simulación de la red es en esencia una representación digtlal de sañales analógicas. Por tanto, la CPU tendrá que realizar dos operaciones de coma flot;lnte ( una multiplicación y una adición) por cada entrada de cada una de las unidades de red. Dado el gran número de nodos que poseen algunas redes, cada uno de los cuales podria tener cielllos o miles de entradas. es fácil ver que el computador debe ser capaz de realizar varios rntllorles de operaciones en coma flotante por segundo (MFLOPS) para simular una ANS de tarn;lllo moderado en un espacio de tiempo razonable. Incluso si se supone que el computador disporie del hardware de coma flotante necesario para mejorar el rendimiento del simulador , el pro!)~.amador debe optimizar la capacidad del computador para realizar este cálculo, diseñando ad(v:rlcldamente sus estructuras de datos.

Una última linea maestra es que en su rnayor parte. la filosofía del diseño de sirr~rtladores está basada en redes que poseen una estrategia uniforme de interconexión; esto es, (lrte las unidades de una capa están conectafclas todas ellas por completo con unidades de ot l ;~ (.;]pa. Sin embargo muchas de las redes de este trabajo van a basarse en otros métodos de intetlc'onexión

3.4.3. Estructuras de datos basadas e n arrays

Page 41: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Como los datos van a ser procesados como una Suma de Productos ( 0 como el Ilrclducto escalar de dos vectores) implica que lOS datos de la red deberian estar dispuestos en !jrupos de matrices (arrays) secuenciales lineales, cada uno de los cuales debería contener (latos homogéneos. La razón ultima de este argumento consiste en que es mucho más rápido locorrer un array de datos secuenciales que tener que buscar la dirección de cada uno de los I I U ~ V O S valores, que es lo que se haría si se emplease una aproximación de lista enlazada Esta lorma de agrupación, además, es mucho más eficiente que una estructura de datos basada en lula lista enlazada. puesto que no hay necesidad de almacenar punteros en los arrays. Sin Illnbargo , esta eficiencia se obtiene a costa de la generalidad del algoritmo.

Como ilustración de la razón por la cual los arrays son más eficientes que los registros cvllazados, se considera el modelo de red neurinal mostrado en la Figura 3.1 1. El valor de la cllltrada que está presente en el i-ésimo nodo de la capa superior es la suma de las salidas Irloduladas que se reciben de todas las unidades de capa inferior. Para simular esta estructura llllllzando datos organizados en arrays, se puede modelar las conexiones y las salidas de los rlodos como valores almacenados en dos arrays, a los cuales llamaremos pesos y salidas Iclspectivamente. Los datos de estos arrays estarán dispuestos secuencialmente. para que se (.orrespondan homólogamente con el objeto que se está modelando. Concretamente, la salida I I C I la primera unidad de entrada estará almacenada en la primera posición del array salidas. la ..lqunda estará en la segunda . y así sucesivamente. De manera similar, el peso asociado a la 1 orlexión entre la primera unidad de entrada y la unidad que interesa, wil, estará situado en el IItImer valor de la i-ésima matriz de pesos, pesos (i). Observese el índice que ahora se asocia a 1 . 1 matriz de pesos. Este índlce indica que habrá muchos arrays como este en la red. cada uno 1 1 1 ' los cuales va a contener un conjunto de pesos de conexión. El indice indica que este array es lrllo de esos arrays; para ser exactos, el que esth asociado a las entradas de la ¡-ésima unidad ¡Ir> la red

FIGURA 3.11

El proceso necesario para calcular la entrada conjunta de la i-ésima unidad de la capa ..I rpenor, neta,, es como sigue. Primero se crean dos punteros que señalan la primera posición ( 1 1 % las matrices salidas y pesos [i], y se pone a 'cero un acumulador local. Despues se lleva a 1 . ho e1 cálculo multiplicando los valores situados en la memoria en cada uno de los dos I 1 1 lrlteros de los arrays. añadiendo el resultado del producto al acumulador local. se incrementan 1 1 I , ; dos punteros, y se repite esta secuencia para todos los valores de los arrays.

En la mayoria de los sistemas de computadores modernos, esta secuencia de 4 1 1 Ic!raciones dará lugar. al compilar, a un bucle de dos instrucciones a nivel del código máquina I I,clatro instrucciones, si se cuentan las instrucciones de comparación y salto necesarias para Ic..llizar el bucle). porque el proceso de incremelntar los punteros de los arrays pl.ede hacerse . II Itomáticamente como parte del modo de direccionamiento de instrucciones. Observese que si

Page 42: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

alguno de los arrays contiene una estructura de datos Como elementos. en k l a l - de conocer Un Único valor. el cálculo necesario para tener acceso al elemento siguiente del array no es ya simplemente una operación de 'incremento de puntero'. Por tanto, el computador debe ejecutar instrucciones adicionales para calcular la posición del siguiente valor de array, en lugar de limitarse a incrementar un registro como parte idel modo de direccionamiento. Pra pequeñas aplicaciones de redes, el coste temporal asociado a estas instrucciones adicionales es despreciable. Para aplicaciones que utilicen redes neuronales muy grandes, sin embargo. el coste temporal requerido para cada conexión, repetido cientos de miles ( o incluso millones ) de veces puede desbordar, incluso, a un supercomputador dedicado. Por tanto, esta estructura de los arrays iría muy bien en el caso general de una red completamente interconectada. pero ¿cómo se puede adaptar para tener en cuenta aquellas redes en las que las unidades no están completamente interconectadas? Para resolver este dilema se pueden emplear dos estrategias:

Construir un array de indices paralelo qLie especifique las conexiones. Utilizar un valor <cero> universal para que haga de reserva de espacio para las

conexiones.

En ? I primer caso. se construye un array de la misma longitud que pesos [i] y que coexlste con el arrav de pesos [I]. Este array contiene un indice entero que especifica el desplazamiento mediante el cual se puede encontrar la salida de la unidad transmisora dentro del array salidas. Esta estructura, junto con la red que describe, se ilustra en la Figura 3.12 .

pesos indices salidas

Iz

FIGURA 3.12

En el segundo caso, si se pudiera especificar a la red que una cierta conexion tenla un peso nulo, la contribución a la entrada total del nodo al que llegase esa conexión seria cero, Por tanto, la únlca razón por la cual existe esta conexión es la de actuar como reserva de espacio, [)erniltierldo que el array pesos (i) mantenga su correspondencia biunívoca entre posiciones y conexiones. El costo de esta realización es la cantidad de tiempo que se invierte realizando una operación in<ltil de multiplicación y adicibn y. en redes cuyas conexiones sean muy dispersas, la

Page 43: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

gran cantidad de espacio de memorla que se desperdicia. Además. cuando se escribe el código necesario para realizar la ley de aprendizaje asociada a los distintos modelos de redes, nuestros algoritmos deben tener en cuenta un valor nulo universal y no deben permitir que participe en el proceso de adaptación; e n caso contrario, la conexión mantenida como reserva de espacio será modificada cuando se adapte la red, y llegará eventualmente a ser un participante activo en el proceso de propagación de la señal.

No hay una regla absoluta que sea valida para la extensa variedad de computadores que serán el blanco de todas las aplicaciones ANS El punto de inflexión se alcanza cuando en una red falta aproximadamente la mitad de las interconexiones. La aproximación deseada. por tanto. depende mucho del grado de interconexión de la red que se esté simulando. Aunque la aproximación de las reservas consume menos memoria y tiempo de CPU cuando sólo faltan relativamente pocas conexiones, la idea del array de indices es mucho más eficiente en redes que estén muy escasamente interconectadas.

3.4.4. Estructuras de datos ANS y linleas enlazadas

Hay muchos lenguajes de computadores. que están diseñados para construir estructuras dinámicas en memoria en forma de listas de registros que contienen distintos tipos de datos. Un tipo datos común para todos los registros es el puntero. Cada registro de lista enlazada contendrá ur, puntero del siguiente regstro de la cadena . creando de este modo una lista enlazada de registros. Cada lista queda entonces descrita en su totalidad en la forma de un conjunto de registros tal que cada uno de ellos contiene punteros que apuntan a otros registros similares, o bien contiene punteros nulos. Las listas enlazadas ofrecen una ventaja de procesamiento en lo tocante a la generalidad del algoritmo que permiten emplear para la sirnulación de redes neuronales. con respecto a las estructuras dinámicas de arrays que se describeron. Desafortunadamente tambren poseen dos desventajas de importancia suficiente para limitar su aplicabilidad a nuestro simulador: un consumo excesivo de memoria y un ritmo de procesamiento significativamente menor para la propagación de la señal.

Para ilustrar las desventajas de la aproximación de listas enlazadas, se considera el método de red de dos capas y la estructura de datos asociada representada en la Figura 4.3. En este ejemplo, cada unidad de la red esta representada mediante un registro Ni. y cada conexión se ha denotado mediante ur) registro Cij. Dado que cada conexión forma parte simultaneamente de dos listas únicas (la lista de entrada de una unidad de la capa superior y la lista de salida de una unidad de la capa inferior), cada registro de conexión debe contener al menos dos punteros distintos para mantener las listas. Evidentemente. sólo la memoria necesaria para almacenar estos punteros supondra el doble de memoria que el necesario para almacenar los valores de los pesos de conexión. Esta necesidad de memoria adicional tiene como resultado reducir aproximadamente a la tercera parte el tamaño de la simulación de red que se puede realizar en comparación con el modelo basado en arrays. De forma similar, la necesidad de almacenar punteros no se limita a esta estructura particular: es común para todas las estructuras de datos basadas en las lineas enlazadas.

La aproximación de listas enlazdas es también menos eficiente que el modelo de arrays durante la ejecución. La CPU debe tomar muchos más datos en la aproximación de listas enlazadas ( para conseguir los punteros). mientras que en la estructura de arrays el modo de direccionamlento con postincremento se puede emplear para llegar de forma implícita a la conexlón siguiente. Para redes conectadas de forma rnuy dispersa { opara redes muy pequeñas), este coste adicional de tiempo no es slgnificativo. Para grandes redes, el número de ciclos de memoria adicionales que se necesitan .debido al gran número de conexiones de la red desbor-dará rápidamente al sistema de computadores empleado para la mayoria de las sitnulaclones ANS.

Page 44: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

El lado bueno consiste en que la estructura de'datos formada por listas enlazadas es mucho más tolerante a efectos de esquemas <r;Iros> de interconexión de redes, esto es. una vez que se ha descrito el código rlecesario para, recorrer una lista estandar, no es necesaria ninguna modificación del código para recorrer listas que no sean estándar. En este caso. el coste adicional de tiempo afecta al software que construye la estructura original de datos para que sea simulada la red. Una vez construida. la CPU no sabe (ni le importa) si la lista de conexiones está realizando una red completamente interconectada o bien una red escasamente interconectada. Se limita a recorrer la lista hasta el final, y después pasa a la unidad siguiente y repite el proceso.

3.4.5. Extensión de estructuras de datos para ANS

Una vez que se han definido dos posibles estructuras para llevar a cabo los cálculos de entrada en todos los nodos de la red, se puede extender estas estructuras básicas para realizar toda una red. Dado que la estructura de arrays tiende a ser más eficiente para calcular valores de entrada en el momento de la ejecución y en la mayoria de los computadores, realizaremos los pesos de conexión y las salidas de los nodos en forma de arrays reservados dinámicarnente. De manera similar, cualquier parámetro adicional que pueda ser necesario para las distintas redes y que esté asociado a conexiones individuales también se modelará empleando arrays que coexistan con los arrays de pesos de conexión.

Ahora hay que conseguir una estructura de alto nivel que nos permita llegar a los distintos ejemplos de estos arrays de una forma lógica y eficiente. Es fácil crear un modelo adecuado para nuestra estructura integrada de red si se adoptan unas cuantas reglas acerca de la forma en la cual se procesa la información en una red neuronal <estándar>:

Las unidades de la red siempre se pueden ver como capas de unidades que poseen características similares, incluso en el caso de que haya una sola unidad en algunas capas.

.Todas la unidades de cualquier capa deben haber sido procesadas completamente antes de que la CPU pueda empezar a simular unidades de cualquier otra capa.

.El número de capas que admitirá el simulador es indefinido. y estará limitado unicamente por la memoria disponible.

.El procesamiento que se haga en todas las capas implicará normalmente a las conexiones de entrada de un nodo, y sólo excepcionalmente implicará a las conexiones de salida de un nodo.

Basandonos en estas reglas. supongamos que va a ser la capa la estructura de la red que ligará a las unidades entre sí. Entonces una capa va a estar formada por un registro que contiene punteros de los distintos arrays que la información acerca de los nodos de esa capa. Este modelo de capas se presenta en la Figura 3.4. Observese que aunque el registro de capa -va a localizar directamente la salida de cada nodo, se llega indirectamente a las matrices de conexiones a través de un array intermedio de punteros. La razón por la cual se utiliza esta estructura intermedia esth relacionada con el deseo de optimizar las estructuras de datos para un cálculo eficiente del valor neta, para cada nodo. Dado que todos.los nodos de la capa producirán exactamente un valor de salida, las salidas de todos los nodos de cualquier capa se pueden almacenar en un Único array. Sin embargo, cada nodo tendrá también muchas conexiones de entrada, cada una de las cuales poseerá unos pesos únicos para ese nodo. Por tanto. debemos construir nuestras estructuras de datos para permitir que los arrays de pesos de entradas sean identificados de manera única con ciertos nodos concretos de la capa. El array intermedio ptrntero-pesos satisface la necesidad de asociar los pesos de las entradas con el rlodo apropiado ( a través de la posición del puntero dentro del array intermedio). y al mismo

Page 45: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

1

Por illtimo, consideremos la forma en que podría modelarse una red completa. Dado que se ha decidido que cualquier red se podrá construir a partir de un conjunto de capas. modelaremos la red en la forma de un registro que contiene tanto datos globales como punteros para localizar los primeros y últlmos elementos de un array de registros de capas reservado mediante asignación dinámica. Esta aproximacion nos permite crear una red de profundidad arbitraria al mismo tiempo que ofrece una forma de acceso inmediato a las dos capas a las que se llega con más frecuencia dentro de la red: la capa de entrada y la capa de salida.

Se ha representado en la Figura 3.5 una de estas estructuras de datos. junto con la estructura de red que representa. AI modelar los datos de esta manera, se harán posibles redes de cualquier tamaño y complejidad. optimizando las estructuras de datos para un func,ionamien!o eficiente del bucle interno durante la ejecución, esto es, para calcular el termino neta, para cada nodo de la red.

Antes de pasar a examinar modelos ANS concretos, es preciso indicar que la descripción anterior de las estructuras de datos de un simulador ANS solo pretende ofrecer una visrorl general acerca de la forma de slfnular redes neuronales en computadores convencionales Se ha evitado deliberadamente toda descripción detallada de las estructuras de datos necesarias para realizar un simulador . De la misma manera, se ha evitado analizar hasta que punto es una tecrlica más eficiente que otra.

Page 46: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

" ."

CAPITULO

CUATRO

ADALINE Y MADALINE

El procesamiento de señales pasó a ser una rarna de la ingeniería con el advenimtento de las comunicaciones electronicas. En un princtpio. se diseñaban filtros analóglcos empleando circuitos RLC (resistencia, autoinducciones y capacidades) para eliminar el ruido de las señales empleadas en la comunicación. En la actualidad, el procesamiento de señales se ha transformado en una tecnología de múltiples facetas. y el énfasis ha pasado de la construcción de circuitos sintonizados a los procesadores digi.tales de señales (DSP), que pueden llevar a cabo los mismos tipos de apllcacciones de filtrado ejecutando filtros de convolución realizados mediante programas. La base de la lndustrta sigue siendo el diseño y realización de filtros para llevar a cabo la eliminación del rudo en señales portadoras de información.

Este capítulo esta dedicado al estudlo cle un filtro. llamado Adalme (y en el Adalina múltiple o Madaline). que fue desarrollado por Bernard Widrow de la Universidad de Stanford. Este modelo es parecido al de un único Elemento de Procesamiento (PE) en un Sistema Neuronal Artificial (ANS).

4.1. REVISIÓN DEL TRATAMIENTO DE SEÑALES

Es de vital importancia, hacer una revisión del tratamiento de señales, para poder apreciar el funcionamiento y las aplicaciones de estas redes.

4.1.1. Tratamiento de senales y filtros

El tratamiento de señales es una rama dl: la ingeniería que trata fundamentalmente de la realización de filtros para eliminar o reducir componentes frecuenciales no deceados de una señal portadora de información.

Los dispositivos físicos que procesan información analógica permiten transformarla de múltiples maneras. Sin embargo, algunas de (?stas transformaciones son muy difíciles de realizar, no son fácilmente reproducibles y dependen del tiempo de vida que se asocia con el funcionamiento adecuado de los elementos que las realizan. La Introducción del procesamiento digital de señales ha superado con creces estos problemas. En este modelo de procesamiento, las variables analógicas o señales son representadas (bajo ciertas condiciones) como secuencias de números que pueden manipularse matemáticamente. Una transformación digital es un algoritmo que trabaja sobre estas secuencias. y como tal es completamente reproducible y no tiene una vida útil finita. Más aún. a1guna.s transformaciones analógicas que son casi imposibles de realizar, o muy complicadas. pueden efectuarse con un algoritmo relativamente sencillo en forma digital.

Page 47: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Las señales están nol-malmente en contlnua transformación. LOS elernentos que realizan las transformaciones se conocen en general como sistemas. Como en el dominlo discreto las señales son secuencias numericas un sistema discreto es realmente un algoritmo que las torna como entradas y las transforma en otras. Un sistema discreto puede ser entonces descrito en términos de ecuaciones de transformación que clefinen al algoritmo.

Una variable fisica de la naturaleza que &?a sea, que provee de información sobre el estado o evolución de un sistema se conoce con el nombre genérico de "señal". Para un análisis formal, una señal se representa con una función matemática de una o varias variables: esta funclón representa un "modelo" de la señal.

Filtros: se puede decir en terminos generales, que un filtro es una caja negra con un conjunto de entradas y un conjunto de salidas. La caja contiene alguna forma de procesamiento que genera las salidas a partir de las entradas.

Un filtro es un circuito que se diseña para permitir el paso de una banda de frecuencia

Existen cuatro tipos de filtros: filtro pasa bajas, filtro pasa altas, filtro pasa banda y filtro especificada, mientras atenúa todas las señales fuera de esta banda.

rechaza banda.

Para que se justifique el costo de un filtro la salida o sahdas deben ser. en alguna forma, más uttles o interesantes que la entrada o las entradas del filtro. En general. existen dos fuertes motivaciones para efectuar operaclones de fillraje. Una es la (fe mejorar la calidad de las entradas. la otra es el procesamlento o extracclon de informaclon a partir de las entradas Para ilustrar lo dicho se dan dos ejemplos.

El primer ejemplo se toma del campo de la medicina. El electrocardioyrama(ECG) es una importante herramienta en el diagnóstico y tratamiento de los desórdenes cardiacos. La señal ECG es simplemente el potencial eléctrico generado por los latidos del corazón: a partir de esta representación eléctrica. el especialista puede inferir muchas condiciones asociadas con el desorden cardiaco. Como podemos recordar, toldos los músculos, no sólo el corazón. generan potenclales eléctricos; por tanto. la señal ECG e:; el agragado de potencial eléctrico del corazón y los músculos que le rodean. Este ruido muscular no es de utilidad e interfiere con el dlagnóstlco. por lo que sería de mucha utilidacl para el especialista y, por supuesto. para el paciente. que se pudiera construir un filtro que removiera. o por lo menos, atenuara la componente de ruido rnuscular en la señal ECG. La salida del filtro tendría mucho menos ruido muscular que su entrada. En esta forma, el proceso de filtraje ha mejorado la calidad de los datos de los que se extrae la información para un diagnóstico más preciso en el desorden cardiaco.

El segundo ejemplo nos permite ilustrar cómo los filtros son usados para extraer información a partir de las entradas. El propclsito es construir una estación meteorológica automatica en la que, vista 6sta corno un filtro. se pronostique el clima, la temperatura, el viento y la lluvla de mañana a partir de las mediciones de la temperatura, viento, lluvia y presión barométrica anteriores. En esta aplicación se as.ume que todas las mediciones (entredas) son exactas, de rnodo que no hay razón para mejorar la calidad de las mismas. El Único propósito del filtro, en este caso. es extraer tnformaclón a partir de los datos El procesamiento para este tipo de filtro se ve realmente complicado. Sin embargo. una forma de procesamiento slrnplificado podría ser la de predecir el clima de mañana como una copia del clima de hoy. cuestlón que, por otra parte. es lo que la generalidad de las personas hacemos

4.1.2. Análisis de Fourier y dominio de la frecuencia

Page 48: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Para analizar problemas de tratamento de señales que requieran la utillzación de un filtro. es preciso abandonar el dominio del tiempo y buscar una herramienta para traducir ai dominio de la frecuencia los modelos de filtros, porque la mayoría de las señales que se manejan no se podrán comprender en el dommio del tiempo. Por ejemplo. la mayoría de las señales constan no sólo de luna frecuencia fundamental, sino también de armcjnicos que es preciso tener en cuenta, o bien están formadas por muchos componentes fl-ecuenciales discretos que deben ser tomados en cuenta por los filtros que diseñamos. Una de las herramientas que se emplean con más frecuencia es la serie de Fourier. Se ha demostrado que toda señal periódica se puede modelar en forma de una serie infinita de senos y cosenos La serie de Fourier, que describe la naturaleza dl: las señales periódicas en el dominio de la frecuencia, esta dada por la ecuación:

x(t) = an cos(2 nf,t) + bn sen(2 nf,t) n=O

en donde f, es la frecuencia fundamental de la señal en el dominio del tiempo. y los coeflcientes an y bn se necesitan para modular la amplitud de los términos individuales de la serie.

Esta serie es importante para describir los componentes frecuenciales discretos que constituyen las señales periódicas no triviales.

4.1.3. Realización de filtros y tratamiento digital de señales

Se supone que la realización de un filtro en un computador es un sistema temporal discreto, lineal e invariante con el tiempo. Los sistemas que satisfacen estos requisistos puden llevar a cabo una transformación en la señal de entrada. basada en algún criterio predefinido. para producir una salida que corresponde a la enlrada como si esta hubiese pasado por un filtro analógico. De esta forma un computador, ejecutando un programa que aplique una operación de transformación dada, R. a unas aproximaciones discretas, digitalizadas, x(n), de una señal de entrada continua, puede producir un valor de salida y(n) para cada muestra introducida, en donde n es la variable de paso temporal discreto.

Para nuestro propósito. basta tener en cuenta que la suma de convoluaón es una operación de suma de productos similar al tipo de operación que lleva a cabo un PE de un ANS cuando calcula su señal de entrada de activación. El Adaline utiliza exactamente este cálculo de suma de productos. sln los retrasos de tiempo de muestreo, ni las operaciones de desplazamiento. para determinar cuánta estimulación de entrada recibe a partir de una señal instantánea de entrada.

La capacidad del Adaline para adaptar su!; coeficientes ponderales es enormemente util. Cuando el programador emplea un Adaline, el problema pasa a ser el consistente en ser capaces de especificar la señal de salida deceada, dada una señal de salida especifica. El Adaline torna la entrada y la salida deceada, y se ajusta a sí mismo para ser capaz de llevar a cabo la transformación deceada. Además, si cambian las características de la señal, el Adaline puede adaptarse autornáticarnente.

4.2. ADALINE Y EL COMBINADOR LINEAL ADALINE

El Adaline es un dispositivo que consta de un Único elemento de procesamiento: como tal. tecrlrcarnertte no es una red neuronal. Sln embargo. se trata de una est;uctura muy Impol-tante. merecedora de un estudio detallado

Page 49: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

El término Adaline es una sigla; sin ernbargo, su significado ha cambiado ligeramente el paso de los años. Inicialmente se llasmaba ADAptive Llnear NEuron (Neurona Llneal

.\,iaptativa); pasó a ser el ADAptive LlNear Element (Elemento Lineal Adaptativo) cuando las ~ocles neuronales cayeron en desgracia al final de los años sesenta. Tiene una estructura casi IriCIItIca a la del PE general. La figura 4.1 muestra la estructura del Adaline. Es necesario hacer t l o s rnodificaciones básicas a la estructura del FE general para transformarlo en un Adaline. La I'Itruera consiste en añadir una conexión de peso wo, q ue se conoce con el nombre de término t h y tendencia. Este término es el peso de una conexión que siempre tiene un valor de entrada 1!1tmI a 1. La inclusión de este término se debe fundamentelmente a la experiencla.

I /

I I I

Umbral I

I

FIGURA 4.1

La segunda modificación consiste en añadir una condición bipolar a la salida. El cuadro ( I ( . Irazos que se ve en la figura 4.1 encierra una parte del Adaline que es lo que se denomina 1 4 )Illbinador adaptativo lineal (ALC). Si la salida del ALC es positiva, la salida del Adaline es + l . ' * I I t I salida del ALC es negativa, entonces la salida del Adaline es -1,

El ALC lleva a cabo el cálculo de una suma de productos empleando los vectores de 1.1 111;lda y de peso, y aplica una función de salida para obtener un linico valor de salida. f tllldeando la notación de la figura 4.1,

! n

y=w,+ wlxl

j=O

n

Y = wlx,

j=O

Page 50: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

y = w ' x

La función de salida en este caso es la función unidad, así como la función de activación. El uso de la función identidad como función de salida y como función de aCtiVaLiÓn significa que la salida es igual a la activación. que es lo mismo que la entrada neta de la unidad.

El Adaline (o el ALC) es ADAptativo en el sentido de que existe un procedimiento bién definido para modificar los pesos con objeto de hacer posible que el dispositivo proporcione el valor de salida correcto para la entrada dada. El significado de correcto a efectos del valor de salida depende de la función de tratamiento de señales que esté siendo llevada a cabo por el dispositivo. El Adaline (3 el ALC) es Llneal porque la salida es una función lineal sencilla de los valores de entrada. Es una NEurona tan sólo en el sentido (muy limitado) del PE descrito anteriormente. Tambien se podría decir que el Adaline es un Elemento LINeal. evitando por completo el tema de la NEurona.

."

4.2.1. La regla de aprendizaje de mínimos cuadrados (LMS)

Dado un vector de entrada x, resulta sencillo determinar un conjunto de pesos w que de lugar a un valor de salida concreto y. Supongamos que se dispone de un conjunto de vectores '

de entrada (x;, x,. . . . , xL}, cada uno de los cuales posee su propio valor correcto dk. k = 1 , L. que quizá sea Único. El problema de hallar un Único vector de pesos que pueda asociar con exito cada vector de entrada con el valor de salida deseado ya no es sencillo. En esta parte se desarrolla un método llamado regla de aprendizaje de mínimos cuadrados (LMS), que es el método para hallar el vector de peso deseado. La regla de aprendizaje se puede incorporar al propio dispositivo. que entonces se puede autoadaptar a medida que se le vayan presentando las entradas y salidas deseadas. Se hacen pequeños ajustes a los valores de los pesos cada vez que se procesa una combinación entrada-salida. hasta que el ALC da unas salidas correctas. En cierto sentido. este proceso es un verdadero proceso de entrenamiento. porque no necesitamos calcular explícitamente el valor del vector de pesos. Antes de describir con detalle el proceso de entrenamiento. vamos a llevar a cabo el cálculo manualmente.

Cálculo de w*. Dados los ejemplos (x,, d,), (x2, dJ, ..., (xL, dL), de alguna función de procesamiento que asocia a los vectores de entrada xk a los valores de salida deseados, dk. ¿cuál es el mejor vector de pesos, P. para un ALC que lleve a cabo esta proyección?

Para responder a esta pregunta, primero se define lo que constiruye el mejor vector de pesos. Una vez que se haya encontrado el mejor, desearíamos que al aplicar todos los vectores de entrada se obtuviese como resultado un valor de salida que fuese, con precisión, el valor correcto. Por tanto, es nesesario eliminar. o por I o menos minimizar, la diferencia entre la salida deseada y la salida real para todos los vectores de entrada. La aproximación que se emplea aquí consiste en minimizar el error cuadrático mesdio para el conjunto de valores de entrada.

Si el valor de salida es yk para el k-esirno vector de entrada, entonces el termino de error correspondiente es E, = d, - yk.

Page 51: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

A

FIGURA 4.2

Otra forma de hacer el cálculo de w* es mediante el método de descenso más pronunclado. Para describlr este cálculo empezarlos por asignar unos valores arbitrarios de los pesos. A partir de ese punto de la superficie de pesos, se determina la dirección de la pendiente más pronunciada en dirección hacia abajo. Luego se modifican ligeramente los pesos para que el nuevo vector de pesos se encuentre un poco más abajo en la superficie. Este proceso se repite hasta haber alcanzado el mínimo. El procedimiento se muestra en la figura 4.2. En este método se encuentra implicitame.nte la suposición consistente en que sabemos por anticipado el aspecto que va a tener la superficie de pesos.

Típicamente, el-vector de pesos no se desplaza al principio directamente hacia el punto mínimo. La sección transversal de la superficie paraboloidal de pesos suele ser elíptica, de modo que el gradiente negativo puede no apuntar directamente hacia el punto mínimo. al menos al principio.

Dado que el vector de pesos de este procedimiento es variable, lo escribimos como función explícita del paso temporal, t. El vector inicial de pesos se denota en la forma N O ) , y el vector de pesos del instante t es w(t). En cada paso, el próximo vector de pesos se calcula según

w(t + 1) = w(t) + w(t)

en donde w(t) es el cambio que sufre w e n el t-ésimo instante.

Estamos buscando la dirección del descenso más pronunciado en cada punto de la superficie, así que necesitamos calcular el grad~ente de la superficie (que proporciona la dirección de la pendiente más pronunciada hacia arrlba). La dirección opuesta del gradiente es la dirección de descenso más pronunciado. Para obtener la magnitud del carnbio, se multiplica

Page 52: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

el gradiente por una constante apropiada. . El valor apropiado de se tratara más adelante. Este procedimiento da lugar a la expresión siguiente:

Los cambios del vector de pesos deben hacerse relativamente pequeños en cada iteración. Si los cambios son demaciado grandes, el vector de pesos podría vagar por la superficie, sin encontrar nunca el mínimo, o podría alcanzarlo sólo por accidente en lugar de ser el resultado de una convergencia sostenida hacia él. La misión del parámetro es evitar esta búsqueda sin tino.

Considerando un aspecto práctico. Si existe un numero de entradas bien definido (procedentes, digamos de multiples sensores) entonces habría un peso por cada entrada. La pregunta sería entonces si se añade o no un peso de tendencia. La figura 4.3 ilustra este caso, habiéndose añadido el término de tendencia, en una forma relativamente estándar que muestra la variabilidad de los pesos. el término de error y la realimentación de la salida de los pesos. En cuanto al término de tendencia en si, su inclusion ayuda ocasionalmente a la convergencia de los pesos a m a solución aceptable

xo = 1 (entrada de tendencia)

FIGURA 4.3

Se puede usar un ALC para eliminar el ruido de la señal de entrada del ECG con objeto de obtener una señal más limpia a la salida. En un caso como éste, el ALC se dispone en una configuración que se conoce con el nombre de filtro transversal. En esta configuración, la señal de entrada se muestra en varios instantes de tiempo, en lugar de hacerlo a partir de varios sensores a la vez. Este tipo de filtro transversal se muestra en la figura 4.4. Para este filtro, cada muestra temporal adlcional representa otro grado de libertad que se puede utilizar para

Page 53: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

ajustar la señal de er-lti-,jda a la señal de salida deseada. De este modo, si no se puede obtener un buen ajuste con un pequeño número de muestras. se intenta con unos cuantos más,

m

2 =error

FIGURA 4.4

4.3. EL MADALINE

La figura 4.5muestra muchos Adalines (el madaline) donde se calcula la función XOR de dos entradas.

Page 54: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 4.5

4.3.1. Arquitectura del Madaline

Madaline son las siglas de Muchos Adalines. Cuando se organiza con una arquitectura 11I t Ilticapa como la que se muestra en la figura 4.6, El Madaline se asemeja a la estructura de I I I 13 red neuronal. En esta configuración se le potlria presentar al Madaline un vector de entrada a b grandes dimensiones (digamos los valores de los pixels procedentes de una exploración de I1:vrldo). Con un entrenamiento apropiado, sería posible enseñar a la red a responder con un + I Iutlario en uno de entre varios nodos de salida, cada uno de los cuales correspondiese a una 1 :Itegoria distinta de imágenes de entrada. Ejemplos de estas categorías son {gato, perro, . I I Irladillo, jabalina} y {Canelo, Zapirón, Aguila, FlAcro}. En una red como ésta, cada uno de los 4 ~latro nodos de la capa de salida corresponde a una sola clase. Para una trama de entrada Il.rda. un cierto nodo tendria la salida +1 SI la trama de entrada correspondiese a la clase I I1lyesentada por ese nodo concreto. Los otros tres nodos tendrían una salida de -1. Si la trama I I ( ' entrada no fuera miembro de ninguna clasl? conocida, los resultados de la red podrían I I w l t a r ambiguos.

Page 55: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

capa de salida de madalincs

* m e

capa oculta de Madalines

FIGURA 4.6

Papa entrenar una de estas redes, podríamos sentirnos tentados de empezar con el ;tlgoritmo LMS en la capa de salida. Dado que I E I red va a ser entrenada, como cabe suponer, crnpleando tramas de entrada definidas previamente, el vector de salida deseado es conocido Lo que no sabemos es la salida deseada para un nodo dado en una de las capas ocultas. Más aún, el algoritmo LMS funcionaría en las salid,ss analógicas del ALC, y no en los valores bipolares de salida del Adaline. Por estas razones, se ha desarrollado una estrategia de cwtrenamiento para el Madaline.

4.3.2. El algoritmo de entrenamiento FZegla I1 del Madaline (MRII)

Es posible diseñar un método para entrenar una estructura del tipo del Madaline tmsándose en el algoritmo LMS; sin embargo, el método se fundamenta en sustituir la función l í e salida con umbral h e a l por una funcibn derivable con continuidad(1a función umbral es {Irscontinua en cero: por tanto. no se puede derivar allí).

EL MRll se parece a un procedimiento de acierto y error, con una inteligencia adicional ( : I ) forma de un principio de mínima perturbación Dado que la salida de la red es una serie de llrlidades bipolares, el entrenamiento equivale a reducir el número de nodos de salida III(:orrectos para cada trama de entrenamiento que se dé corno entrada. El principio de mínima I)ttlturbaciÓn establece que aquellos nodos que pueden afectar el valor de salida y que sufran los carnbios más pequeños en sus pesos deberían tener prioridad en los procesos de .~prendlzaje Este principio se plasma en el algOritln0 siguiente:

Page 56: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

2. Se cuenta 8 ~ ~ ~ ~ n e r o de valores incorrectos que haya en la capa de salida; se denomina error a este ,,cro.

3. Para todas l i h . ~ ~ ~ ~ 1 1 l a d e s de la capa de salida:

a. Se 'I 1 P I prlmer nodo que no haya sido seleccionado antes y cuya salida

b. Se camblalt it's. pesos de la unidad seleccionada de tal modo que cambie la salida

c. Se hace ' i c l s , <t= propague el vector de entrada hacia adelante, partiendo de las

d . si el cambl'' ~ W S O S da lugar a una reducción del número de errores, se admite el

analógica esté más pro.kllt! cero,

bipolar de la unidad.

entradas y en dirección I I l.: salidas, una vez mhs,

cambio de Pesos; en Ca.**. + ivltrario, se restauran 10s pesos originales.

4. repite el I ' . I ' 1 1 1 para todas las capas, salvo la de salida.

a. Se seleccl"l' 1 1.1 par de unidades que no haya sido seleccionado anteriormente y

b. Se " ' 1 . 1 lwrrección de pesos a ambas unidades, con objeto de modificar la

c. Se hace ' I L t 4 > propague hacia adelante el vector de entradas, partiendo de las

d. si el [le pesos da lugar a una reducción del número de errores, se

cuyas salidas analógic:i.. . I , , , , más próximas a cero,

salida bipolar de ambas

entradas y hasta llegar t . ( . : M d a s

admite el cambio de pe:,~. ' ' 11 caso contrario, se restauran 10s pesos originales.

6. Se repite el 1''' " para todas las capas salvo la de entrada.

si es ' I . Inlede repetir la secuencia de los pasos 5 y 6 con terna de unidades, o grupos de unida('i. 1 1 incluso formando combinaciones aun mayores, hasta que se Obtengan resultados , 1 , 1 1 lorios. Hay indicaciones preliminares que afirman que las parejas son apropiadas para re"' ' , 1 1 8 dimensiones modestas, con un máximo de 25 unidades por capa.

En et momen''' escribir estas lineas, MRll seguía en experimentación para determinar sus propied""* ( I r ? convergencia y otras características. Además, se ha desarrollado un nuevo algoritmo de C ' ~ Q * ficllzaje, MRIII. Este es similar a MRII, pero las unidades individuales poseen una función co"t ' l lL l 1 [ l e salida, en lugar de la función bipolar de umbral,

Page 57: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 4.7

La figura 4.7 muestra una parte de una red que se utiliza para realizar el reconocimiento de una trama con invariancia frente a traslaciones. La retina es un array de 5 x 5 pixels en la cual se pueden situar representaciones de tramas en formas de mapas de bits , como pueden ser las letras del alfabeto. La parte de la red que se presenta aquí se denomina plancha. A diferencia de las capas. las planchas no se comunican con otras planchas de la red. Cada Adaline de la plancha recibe las mismas 25 entradas procedentes de la retina, y calcula una salida bipolar en la forma habitual; sin embargo, los pesos de los 25 Adalines comparten una relación única.

Considerense los pesos del Adaline superior izquierdo como si estuviesen dispuestos en una matriz cuadrada que duplicase la disposicion de los pixels en la retina. El Adaline que se encuentra inmediatamente a la derecha del pixel superior izquierdo tiene el mismo conjunto de pesos, pero trasladado un pixel a la derecha: la columna de pesos del extremo derecho de la pnmera unidad de la vuelta hacia la izquierda, pasando a ser la columna situada más a la izquierda dentro de la segunda unidad. De manera similar. la unidad que se encuentra por debajo de la unidad superior izquierda tambien tiene los mismos pesos. pero están trasladados un pixel hacia abajo. La fila inferior de pesos de la primera unidad pasa a ser la fila superior de la unidad que se encuentra por debajo de ella. Esta traslación prosigue a lo largo de todas las filas y columnas de manera similar. Como consecuencia de la relación entre las matrices de pesos, una cierta trama de la retina dará lugar a respuestas idénticas por parte de la plancha, Independieriternente de la posición de la trama (por traslación) dentro de la retina.

Page 58: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

El nodo de rnayoria es el únice Adalina que Calcula una salida binaria basada en la salidas de la mayoría de 10s Adalines que están conectados Con d . Como COIIrjecuencia de la relación de traslación que existe entre los vectores de peso, la situación de una trama concreta en cualquier posición de la retina dará lugar exactamente a la misma Salida por parte del elemento de mayoría. Por supuesto. una trama distinta de la primera pude dar lugar a una respuesta distinta por parte del elemento de mayoría. Dado que s610 hay dos respuestas posibles, la plancha pude distinguir dos clases de tramas de entrada. En terminos de hiperespacios, una plancha es capaz de dividir en dos regiones a un hiperespacio

FIGURA 4.8

Para superar las limitaciones de tener sólo dos clases posibles, la retina se puede conectar a múltiples planchas, cada una de las cuales tendrá disrtintas matrices clave de pesos. Dada la naturaleza binaria de la salida de todas las planchas. un sistema de n planchas podría distinguir entre 2" clases de tramas distintas. La figura 4.8 muestra cuatro de estas planchas, que producen una salida de cuatro dimensiones. capaz de distinguir 16 clases distintas de tramas de entrada con invariancia por traslación.

4.4. S IMULACI~N DEL ADALINE

4.4.7 Estructura de datos del Adaline

Corno ya se ha visto. el Adaline es solamente una unidad de procesamiento Por tanto, hay una parte de generalidad que se ha incluldcl en las estructuras de la red que no va a ser necesaria. Sin embargo, incluiremos el uso de estas estructuras, porque desearíamos tener la posibllldad de extender fácilmente el Adaline para llegar al Madaline.

Page 59: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Comenzamos por definir nuestro registro de red como una estructura que va a contener todos los parárnetros que se utilizarán globalrnente, así como punteros para localizar las rnatrices dinarnicas que contendrán los datos de la red. En el caso del Adaline, un buen posible candidato a esta estructura es el que tiene la estructura siguiente:

record Adaline = mu : float: {espacio para el término de estabilidad} entrada : "capa: {puntero de la capa de entrada} salida : "capa {puntero de la capa de salida}

end record

Obsérvese que, aunque sólo hay una unidad en el Adaline, se mplearán dos capas para modelar la red. De esta manera, los punteros entrada y salida apuntarán a diferentes capas de registros. Hacemos esto porque utilizaremos la capa entrada como espacio para almacenar el vector de señales de entrada del Adaline. No habrá conexiones asociadas a esta capa puesto que la entrada será proporcionada por algún otro proceso.

A la inversa. la capa salida contendrá una matriz de pesos para modelar las conexiones entre la entrada y la salida. Teniendo en cuenta que desearíamos extender con faciltdad esta estructura para gestionar la red Madaline. mantendremos la indirección en la estructura de la matriz de pesos de conexión que proporciona la matriz puntero-pesos sólo contendrá un valor. que es el puntero de la matriz de conexión de entrada.

Una cosa más debe tenerse en cuenta, que puede variar entre unidades de Adallne Como se ha visto anteriormente, en la estructura Adaline hay dos partes: el ALC lineal y las unidades Adaline bipolares. Para distinguir entre ellas, definimos un tipo enumerado para clasificar las neuronas Adaline:

type TIPO-NODO : {lineal, binario}:

Ahora tenemos todo lo que se necesita para definir la estructura del registro capa para el Adaline. Prototipo de estructura para este registro:

record capa = activación : TYPO-NODO; {tipo de nodo del Adaline} sals : *float [ 1; {puntero de la matriz de salida de la unidad} pesos : ""float [ 1; {acceso indirecto a las matrices de pesos}

end record

Page 60: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

.. ,

t

salidas

FIGURA 4.9

Por Cltimo, se necesitan tres arrays reservados danámicamente para almacenar la salida de la unidad Adaline. los punteros-pesos y los valores de los pesos de conexión. No especificaremos las estructuras de estas matrices, salvo que para indicar que las matrices salidas y pesos contendrán ambas valores de como flotante, mientras que la matriz puntero-pesos contendrá direcciones de memoria. y debe, por tanto, contener tipos de punteros de memoria. La estructura de datos comple?a correspondiente al simulador Adaline se representa en la figura 4.9.

4.4.2. Propagación de la serial a través de/ Adaline

Para que las seriales se propaguen correctamente a través del Adaline. deben tener lugar dos actividades: es preciso obtener el vector de señal de entrada para estimular al Adaline y el Adaline debe desempeñar sus funciones cle suma de entradas y de transformación de salidas. Dado que e1 origen del vector de señal de entrada es bastante dependiente de la aplicación, supondremos que el usuario suministrará el código necesario para mantener actualizados los datos situados en la matriz sals cle la capa Adaline . entradas.

Ahora nos concentraremos en el problema de calcular el valor de la estimulación de entrada y en transformarlo en la salidaadecuada. Podemos llevar a cabo esta tarea a traves de la aplicación de dos funciones algorítmicas, que llamaremos suma-entradas y calcular-salida. Los algoritmos de estas funciones son:

function suma-entradas

retul n float

(ENTRADAS : 'float [ 1; PESOS: ""float [ 1)

val- suma . float; {acumulador local} temp . float: {memoria borrador}

Page 61: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

ents : "float [ 1, {puntero local} psos : "float [ 1: {puntero local} I : integer; {contador de rteraciones}

begin suma = O : .[se pone a cero el acumulador} ents = ENTRADAS; ,[se localiza la matriz de entradas} psos = PESOS; {se locaiiza la matriz de conexiones)

for i =I to longitud (psos) do .[para todos los pesos de la matriz}

temp = ents [i] * psos [i]; {se modula la entrada} suma = suma + temp; {se suman las entradas moduladas}

end;

end function: return (suma); {se proporciona la suma modulada}

function calcular-salida (ENTRADA: float; ACT: TIPO-NODO) return float

begin if (ACT =: lrneal) {si el Adaline es una unidad lineal} then return (ENTRADA) .(entonces se proporcrona la entrada nada mas}

else [en caso contrario} if (ENTRADA > = O) {si la entrada es positiva} then return ( 1 . O ) {entonces proporciona el valor binario

verdadero} else

return ( -1 . O ); (y si no proporciona el valor falso} end function:

Page 62: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

4.4.3. Adaptación del Adaline

Ahora que el simulador puede programar hacia adelante información acerca de la señal, llevemos nuestra atención a la realización de algoritmos de aprendizaje.

Se puede utilizar la misma función de entrenamiento para adaptar el Adaline inicialmente o mientras está en funcionami,ento. La generalidad del algoritmo es una característica especialmente útil, en tanto el programa de aplicación sólo necesita detectar una condición que requiera la adaptación. Entonces puede muestrear la entrada que haya causado el error y generar la respuesta correcta sobre la marcha, suponiendo que se tenga alguna forma de saber que el error está creciendo, y que se puedan generar los valores deceados correctos para hacer posible el nuevo entrenamiento.

Algoritmos para calcular el térmlno de error cuadrático, la aproximación del gradiente de la superflcie de error y para actualizar los pesos de conexión al Adaline. Se puede simplificar de nuevo el asunto cambiando el cálculo de error 'y la actualización de los pesos de conexión en una sola función, puesto que no hay necesidald de calcular lo primero sin llevar a cabo lo segundo. Se presentan ahora los algoritmos para alcanzar estos objetivos:

function calcular-error (A: Adaline; BL.ANCO : float)

return float

var templ : float: {memori.a de borrador} temp2 : float. (mem0ri.a de borrador} err : float; {término de error para la unidad}

begin temp1 : suma-entradas (A.entradas.salidas, A.sa1ida.peso.s); temp2 : calcula-salida (templ, ,4.salidaA.activación); err = absoluto (BLANCO-temp2); {error rápido} return (err); {se proporciona el error}

end function:

function actuaiizar-pesos (A: Adaline; EF!R: float) return void

var grad ; float; {gradiente del error} ents : "float [ 1; {puntero de la matriz entradas) psos : "float [ 1; {puntero de la matriz pesos} I : integer: {contador de iteraciones}

begin ents = A.entrada.salidas; {se localiza el comienzo del vector de

entrada} = A.salida.pesos; {se localiza el comienzo de las conexiones}

for i = 1 to longitud (pesos) do {para todas las conexiones} grad = -2 *err* ents [I]; {gradiente aproximado} psos [i] = psos [i] grado*A.mu: {se actualiza la conexion}

end; end function;

Page 63: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

4.4.4. Terminación del simulador del Adaline

Los algoritmos que acabamos de definir bastan para realizar un simulador de Adaline tanto en el modo de aprendizaje como en el objetivo. Para ofrecer un ivterfaz limpio a todo programa externo que deba invocar a nuestro1 simulador para que realice una funcion de Adaline, podemos cambiar los módulos que acabamos de describir en dos funclones de nivel superior. Estas funciones llevaran a cabo los tlos tipos de actividades que debe realizar el Adaline: propagar-adelante y adaptar-Adaline.

function propagar-adelante (A : Adaline) return void

var templ : float: {memoria de borrador}

begm templ = suma-entradas (A.entradas.salidas, A.salidas.pesos); A.salidas.sala [I] = calcular-salida (templ. A.tipo-nodo);

. end function:

function adaptar-Adaline (A: Adaline; BL,4NCO : float) return float

var err' : float: (se estrena hasta que es pequeño)

begin propagar-adelante (A); {se aplica la señal de entrada} err = calcular-error (A, BLANCO); {calcular error} actualizar-pesos (A, err); return err;

end function:

4.4.5. Realización del simulador de M'adaline

Tal como se ha descrito anteriormente, la red Madaline es simplemente una colección de unidades Adaline binarias. conectadas entre sí en una estructura de capas. Sin embargo, aunque comparten el mismo tipo de unidad de procesamiento, las realizaciones de la estrategia de entrenamiente para el Madaline son significativamente diferentes.

En este aspecto, se debe tener en cuenta que la estructura en capas del Madaline se adapta directamente a nuestras estructuras de datos para el slmulador Según se ilustra en la figura 4.10, podemos realizar una capa de unidades Adaline con tanta facilidad como se creaba un Único Adaline. Las diferencias principales habidas aquí serán la longitud de la matriz sals en los registros capa y la longitud y número de las matrices de conexión.

De manera similar. habrá más regisiros de tipo capa a medida que cresca la profundidad del Madaline; para cada capa, se producira el correspondiente aumento del número de matrices sals, pesos y puntero-pesos. Basándose en estas observaclones, hay un hecho que resulta apreciable de inmediato: se trata del crecimiento combinatorio tanto de la memoria consumida corno del tiempo de computador que se requiere para admitir un crecimlento lineal

Page 64: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

I

de tamaño de la red. Esta relación entre los recursos del computador y el tarnaño del rnodelo es cierta no sólo para el Madaline, sino también para todos los modelos ANS.

FIGURA 4.10

Page 65: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

CAPiTULO

CINCO

PROPAGACIóN HACIA ATRAS

Son muchas las posibles aplicaciones de los computadores que resultan difíciles de realizar por que hay muchos problemas cuya resolución no es adecuada mediante procesos secuenciales. Las aplicaciones que deben realizar complejas traducciones de datos, y sin embargo nc poseen una función de correspondencia predefinida que describa el proceso de traducción, o aquellas que deben proporcionar una mejor aproximación como salida cuando se les presentan unos datos de entrada con ruido son sólo dos ejemplos de problemas de este tipo.

Un ANS de mucha utilidad para atacar estos problemas que requieren del conocimiento de tramas complejas y la realización de funciones de correspondencia no triviales es la red de propagación hacia atras (BPN). Esta red que se ilustra de forma general en la Figura 6.1, está diseñada para que funcione como red multicapa con propagación hacia adelante, ernpleando el modo supervisado de aprendizaje.

5.1 LA RED DE PROPAGACIóN HACIA ATRÁS

En la figura 5.1 se muestra la arquitectura general de una red de propagación hacia atras.

U

Page 66: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 5.1

5.1.1 La aproximación de propagacián hacia atras

Los problemas tales como la conversión de una imagen con ruido en un código ASCII son difíciles de resolver, debido a la incompatibilidad básica existente entre la máquina y el problema. La mayoría de los sistemas actuales de co.nputadores se han diseñado para llevar a cabo funciones matemáticas y lógicas con velocidades que resultan incomprensibles para un ser humano. Incluso los microcomputadores de sobremesa relativamente poco sofisticados. pueden realizar cientos de miles de comparaciones numéricas o combinaciones por segundo.

Sin embargo, la destreza matemática no es lo que se necesita para reconocer tramas complejas en entornos ruidosos. De hecho. la búsqueda algorítmica, incluso dentro de un espacio de entrada relativamente pequeño, puede llegar a consumir mucho tiempo. El problema es la naturaleza secuencia1 del propio computador: el ciclo "tomar- ejecutar" de la arquitectura de Von Newmann sólo permite que la máquina realice una operación a la vez. En la mayoría de los casos, el tiempo que necesrta la máquina para llevar a cabo cada instruccibn es tán breve que el tiempo total necesario incluso para un programa grande es insignificante para los usuarios humanos. Sin embargo, para aquellas apllcaciones que deban explorar un gran espacio de entrada. o que intentan correlaclonar todas !as permutaciones posibles de una trama compleja. el tiempo necesarlo pLlt?de voíverse Insoportable con gran I-apidez

Lo que se necesita es un nuevo sistema de procesamiento que sea capaz de examinar todos los pixels de una imagen en paralelo. Idealmente ese sistema no tendría que ser programado explícitamente, lo que haría es adalptarse a sí mismo para "aprender" la relación entre un conjunto de tramas dadas como ejemplo, y sería capaz de aplicar la misma relación a nuevas tramas de entrada. Este sistema sería capaz de concentrarse en las caracteristicas de una entrada arbitraria que se asemejase a otras tramas vistas previamente, tal como los pixels de una imagen ruidosaque se parecen a un carácter conocido, i sería capaz de ignorar el ruido. Un slstema así existente es la "red de propagacidln hacia atras" BPN.

5.1.2. Funcionamiento de una BPN

Para empezar, la red aprende un conjunto predefinido de pares de entradas y salidas dados como ejemplo, empleando un ciclo "propagación-adaptación" de dos fases. Una vez que se ha aplicado una trama de entrada como estímulo para la primera capa de unidades de la red, esta se va propagando a través de todas las capas superiores hasta generar una salida. La señal de salida se compara entonces con la salida deseada, y se calcula una señal de error pra cada unidad de salida.

Las señales de error se t1ansmiten hacia atrás, partiendo de la capa de salida. hacia todos los nodos de la capa intermedia que contribuyan directamente a la salida. Sin 'ernbargo las unidades de la capa intermedia sólo reciben una fracción de la sefial total del error. basándose aproximadamente en la contribución relativa que haya aportado la unldad a la salida original Este proceso se repite. capa por capa. hasta que todos los nodos de la red hayan recibido una señal de error que describa su contribución relativa al error total. Basándose en la señal de error percihida. se actualizan los pesos de conexión de cada unidad. para ttacer que la red converja hacia un estado que permita codifical. todas las tramas de entrenamiento.

La importancia de este pioceso consiste en que. a medida que se entrena la Ired. los nodo!; de las capas Interrnedlas se organizan a si mismos de tal modo que los distirllos nodos aprerldarl a reconocer distintas caractwisticas del espacio total de entradas Despr6s del

Page 67: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

entrenamiento, cuando se les presente una trama arbitraria de entrada que contenga ruido o que esté incompleta, las unidades de las capas ocultas de la red responderán con una salida activa Si la nueva entrada contiene una trama que se asemeje a aquella caracteristica que las unidades individuales hayan aprendido a reconocer durante su entrenamiento. Y a la inversa. las unidades de las capas ocultas tienen una tendencia a inhibir sus salidas si la trama de entrada no contiene la característica para reconocer la cual han sido entrenadas.

A medida que las señales se propagan a través de las diferentes capas de la red. la trama de actividad que está presente en todas las capas superiores se puede ver como una trama con características que son reconocidas por la capa subsiguiente. La trama de salida que se genera se puede ver como un mapa de características que ofrece una indicación de la presencia o ausencia de muchas combinaciones distintas de características dentro de la entrada. El resultado global de este comportalniento es que la BPN constituye un medio eficiente para permitir a un sistema de computadores examinar tramas de datos que pueden ser ruidosas. o estar incompletas, y reconocer entradas sutiles a partir de entradas parciales.

Hay varios investigadores que han demostrado que, durante el entrenamiento, las BPN tienden a desarrollar relaciones internas entre nodos con el fin de organizar los datos de entrenamiento en clases de tramas. Esta tendencia se puede extrapolar, para llegar a la hipótesis de que todas las unidades de capas ocultas de una BPN son asociadas de alguna manera a características específicas de la trama de entrada como consecuencia del entrenamiento. Lo importante es que la red ha encontrado una representacih interna que le permite generar las salidas deseadas cuando SI? le dan las entradas de entrenamiento. Esta misma representación interna se puede aplicar a entradas que no fueran utilizadas durante el entrenamiento. La BPN clasificará estas entradas que no había visto hasta el momento según las características que compartan con los ejemplos de entrenamiento.

5.2 LA REGLA DELTA GENERALIZADA

Ahora se describe matemáticamente el funcionamiento de una BPN, para ello se hace una derivación de la "regla delta generalizada" GDR, la cual es el algoritmo de aprendizaje de la red.

La Figura 5.2 sirve como una referencia para la mayoría de las descripciones. La BPN es una red formada por capas, con propagación hacia adelante, que está completamente interconectada entre capas. Por tanto, no hay conexiones de realimentación ni conexiones que salten una capa para ir directamente a una capa <anterior. Aunque sólo se utilizan tres capas, se puede admitir más de una capa oculta.

Se dice que una red neuronal es una red de correspondencia si se demuestra capaz de calcular alguna relación funclonal entre su entrada y su salida.

Page 68: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 5.2

i / '

i

Supongamos que se tiene un conjunto de P pares de vectores (X I , y l ) , (x2, y2), . . . . . (xp, yp). que son ejemplos de una correspondencia funcional y = &(x) : x . R , y R . Se desea entrenar a la red para que aprenda una apioximación o = y ' = &'(x). Se deriva un método para hacer este entrenamiento, suponiendo que los pares de vectores de entrenamiento se hayan seleccionado adecuadamente y que haya un nirmero suficiente de ellos. Recuerdese que el aprendizaje, en una red neuronal, significa hallar un conjunto adecuado de pesos. La técnica de aprendizaje que se describe se asemeja al problema de hallar la ecuación de una linea que sea la que mejor se ajuste a un cierto ncjmero de puntos conocidos, y dado que la relación probablemente sea no lineal, además de multidimensional. se emplea una versión iterativa de el mktodo de mínimos cuadrados, denominada técnica del descenso más pronunciado.

f

Para empezar, revisemos las ecuaciones para el procesamiento de información que hay en la red de tres capas de la Figura 5.2. Se aplica un vector de entrada, xp = (xpl. xp2, ..., xpn) . en la capa de entrada de la red. Las unidades de entrada distribuyen los valores a las unidades de la cpa oculta. La entrada de la j-ésima unidad oculta es

neta = w x + o (5.1

en donde w es el peso de la conexión procedente de la i-ésima unidad de entrada. y O es el término de tendencia. El índice <<h>> se refiere a magnitudes de la capa oculta. Se supone que la actlvación de este nodo es igual a la entrada neta: entonces, la salida de este nodo es

i = f (neta ) (5.2)

Las ecuaciones para los nodos de salida s.on las que siguen:

neta = w i " O (5.3)

I

Page 69: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

O = f (neta ) (5.4)

en donde el índice -=-=o>> se refiere a magnitudes de la capa de salida

El conjunto inicial de valores de pesos, representa una primera aproximación de los pesos correctos para el problema. A diferencia de otros métodos, esta técnica no depende de hacer una buena primera aproximación, Existen. sin embargo, líneas generales para seleccionar los pesos iniciales. El procedimiento básico para entrenar la red está en la siguiente descripción:

1. Se aplica un vector de entrada a la red, y se c.alculan los correspondientes valores de salida

2. Se comparan las salidas obtenidas con las salidas correctas, y se determina una medida de error.

3. Se determina en qué dirección ( + ó - ) debe cambiar cada peso con objeto de reducir el error

4. Se determina la cantidad en que es preciso cambier cada peso.

5. Se aplican las conexiones a los pesos

6. Se repiten los pasos del 1 al 5 con todos los vectoies de entrenamiento hasta que el error para todos los vectores del conjunto de entrenarmiento quede reducido a un valor aceptable.

La ley iterativa para camblo de pesos para redes sin unidades ocultas y con unidades de salida ijneales. denominada regla LMS o regla Delta:

w(t + l ) i = vv(t)i + 2 x (5.5)

en donde es una constante positiva, x es la i-ésima componente del k-ésimo vector de entrenamiento y es la diferencia entre la salida obtenida y el valor correcto, = (d - y ).

Se obtiene una ecuación similar cuando la red tiene más de dos capas, o cuando las funciones de salida son no lineales.

5.2.1. Actualización de pesos de la capa de salida

AI derivar la regla Delta, el error del k-ésimo vector de entrada es = (d - y ), en donde la entrada deseada es d y la salida real es y . Dado que en una capa hay muchas unidades. para la BPN no basta con un Único valor de error, . Definiremos el error de una sola unidad de salida en la forma = 8y - o ) , en donde el subíndice c<P>> se refiere al p-ésimo vector de entrenamiento, y <cK>> se refiere a la k-ésima unidad de salida. En este caso, y es e l valor de salida deseado, y O es la salida obtenida a partir de la k-ésima unidad. El error que se mmimiza por GDR es la suma de los cuadrados de los errores de todas las unidades de salida:

El factor 1/2 de la ecuación 5.6 aparece por conveniencia para calcular derivadas más adelante. Dado que aparecerá una constante arbitraria en el resultado final, la presencia de este factor no invalida la derivación

Page 70: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FIGURA 5.3 t

Para determinar el sentido en que se deben cambiar los pesos, se calcula el valor negativo del gradiente de Ep, V Ep. respecto a los pesos w .Después se pueden ajustar los valores de los pesos de tal forma que se reduzca el error total. La Figura 5.3 muestra un ejemplo sencillo en el que la red sólo tiene dos pesos.

Para no complicar las cosas, se considera por separado cada componente de VEp. Partiendo de la ecuación 5.6 y de la definición de ,

Ep = 1/2 ( y - O )

Y

Ep = - ( y -O ) f (neta ) w (neta ) w (5 .8)

en donde se ha utilizado la ecuacion 5.4 como valor de salida, o , y la regla de la cadena para las derivadas parciales. El último factor de la ecuación 5.8 es

(neta ) = W I + h = i w W

Combinando las ecuaciones (5.8) y (5.9), tenemos lo siguiente para el gradiente negativo

Ep = (y - o )f (neta )i (5.10)

Page 71: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

En lo tocante a la magnitud del cambio de peso, se considera que será proporclonal al gradiente negativo. De esta manera, los pesos de la capa de salida se actualizan según lo siguiente:

w (t + 1) = w ('t) + w (1) (5.1 1)

en donde

w = (y - o )f (neta )i (5.12)

El factor se denomina "parámetro de velocidad de aprendizaje". +e por lo regular es positivo y suele ser menor que l.

Para f , hay dos formas que tienen intercts:

f (neta ) = neta f (neta )= (1 + e )

La primera función define la unidad lineal de salida. La segunda función es una sigmoide. La selección de la función de salida depende de la forma en que se decida representar los datos de salida ya sea binarias o lineales Para ambos casos se tiene

? w ( t + l ) = w ( t ) + (y - 0 )i (5.13)

para la salida lineal, y

w ( t + l ) = w ( t ) + (y - 0 ) o ( 1 - 0 )

para la salida en forma de sigmoide

(5.14)

Resumiendo las ecuaciones de actualización de pesos se define una magnitud

= (y - o )f (neta ) = f (neta )

Entonces se puede escribir la ecuación de actualización de pasos en la forma

w ( t + I j = w ( t ) + i

(5.15)

independientemente de la forma funcional de la función de salida, f

Si estuviésemos intentando hacer que la regla Delta generalizada fuera completamente análoga al método de los mínimos cuadrados, no cambiaría, en realidad, ninguno de los valores de pesos hasta que se hubiesen presentado a la red todas las tramas de entrenamiento al menos una vez. Simplemente se acumularían los cambios a medida que fuera procesada cada trama, se sumarían y se haría una actualización de pesos. Entonces se repetiría el proceso hasta que el error fuera aceptablemente bajo. El el-ror que minimiza este proceso es

E = Ep (5.1 7)

en donde P es el número de tramas del conjunto de entrenamiento. En la practica. resulta poco venta~oso este seguimiento estricto de la analogía con el método de los mínimos cuadrados. Además, para utilizar- este metodo es preciso almacena¡- una gran cantidad de informacldn

Page 72: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

c

5.2.2 Actualizaciones de los pesos de capas ocultas

Surge un problema cuando se intenta determinar una medida del error de las salidas para las unidades de la capa oculta. Se sabe cual es la salida obtenida, pero no se tiene forma de saber por anticipado cual debería ser la salida correcta para estas unidades. El error Ep debe estar relacionado de alguna manera con los valores de salida de la capa oculta. Se puede cornprobar volviendo a la ecuación (5 .7) .

Ep = 1/2 (y - O )

= 1/2 ( y - f (neta ))

= 1/2 (1 - f ( w i + o ))

En donde i depende de los pesos de las capas ocultas a través de las ecuaciones (5 1) y (5.2). Se puede aprovechar este hecho para calcular el gradiente de Ep respecto a los pesos de las capas ocultas

Ep = 1/2 (Y - 0 ) W W

" - ( Y - 0 ) o (neta ) i (neta )

(neta1 ) i (neta ) w

( 5 I 8 j

Cada uno de los factores de la ecuación (!j. 18) puede calucularse explicitamente a partir de ecuaciones anteriores. El resultado es el que sigue:

Ep = - (y - o ) f (neta ) w ) w f (neta )x (5.19)

Se actualizan los pesos de la capa oculta proporcionalmente al valor negativo de la ecuación (5.19):

w = fd (neta )x (y - o )f (neta )w (5.20)

en donde es, una vez más. la velocidad de aprendizaje

Se puede utilizar la definición de para escribir

w = f (neta )x W (5.21)

Observese que todas las actualizaciones de pesos de la capa oculta dependen de todos los terminos de error, , de la capa de salida. Este resultado es el lugar en el que surge la noclón de "propagación haia atras". Los errores conocidos de la capa de salida se propagan hacla atras. hacia la capa oculta, para determinar los camblos de peso adecuados en esa capa. Si se define un término de error para la capa oculta

= f (neta )x W (5.22)

se d a lugar a que las ecuaciones de actualizaci6n de pesos pasen a ser análo!las a las corr-espondlentes a la capa de salida:

w ( t + 1) = WI ( t ) + x (5 23)

Por últirrlo obsérvese que tanto la ecuación (5.16) como la (5.23) tienen la fllislna forerna que la ecuacidn (5 5). la regla Delta.

Page 73: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5
Page 74: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

5.2.3. Pesos y parámetros de aprendizaje

Los pesos d~~llt~l1;~11 recibir unos valores iniciales pequeños y aleatorios (entre +- 0.5), al igual que los término5 tit> tendencia, Oi. Se suele tratar a este valor de tendencia como un peso más, que está COneCl.ltlo 21 una unidad ficticia cuya salida es siempre 1. Recuerdese la ecuación (5.3):

neta = w i

Haciendo las definicloll,.s O = w e i - -

neta = w I

+ o

1. se puede escribir lo siguiente:

Por tanto, O 11s tratado exactamente gual que un peso, y como tal participa en el proceso de aprendizalc. Otra posibilidad es, simplemente, eliminar por completo los términos de tendencia; su utilizaclol I os opcional.

La selección (11. (In valor para el parámetro de velocidad de aprendizaje, , tiene un efecto significativo e11 , > I r-endimiento de la red. Normalmente, debe ser un número pequeño (O 05 a 0.25) para asc:cll llar que la red llegue a asentarse en una solución. Un valor pequeño de significa que la red II-Ildra que hacer un gran número de iteraciones. Suele ser posible incrementar el Val01 1 1 1 . a medida que progresa el apr-endizaje. Aumentando a medida que disminuye el error dl, I , I I ed suele acelerar la convergencia incrementando el tamaño del paso conforme el error alC;ll I / , ) un valor minimo, pero la red puede rebotar, alejandose demasiado del valor mínimo verdad(:lc t . SI llegara a ser damasliado grande.

Otra forma d(! IIIc:r-ementar la velocidad de convergencia consiste en utilizar una técnica llamada "momento". (:I I , Indo se calcula el valor de cambio de peso, w, se añade una fracción del cambio anterior. Er..l(- termino adicional tiende a mantener los cambios de peso en la misma dirección: de aquí el I(.!lllllno momento. Las ecuaciones de cambio de pesos de la capa de salida pasan entonces a ser

w ( t + l ) = w ( t ) + i + w ( t - I ) (5.24)

con una ecuación SIIIII~,II para la capoa oculta. En la ecuación (5.24) es el parámetro de momento, y suele dar*.(*li. un valor positivi menor que 1. también es opcional su uso.

Un último asur~t (~ es el concerniente a la posibilidad de convergencia a un "minimo local" del espacio de pesos J I K I vez que una red se asienta en un mínimo local, el error de las salidas de la red puede segur '.lt:ndo excesivamente alto. Afortunadamente, este problema no parece causar grandes dificult;t~lcs en la práctica. Si una red deja de aprender antes de llegar a una solución aceptable, UII c.;lrnbio del número de nodos ocultos o de los parámetros de aprendizaje suele resolver el p r o h l ~ : ~ r ~ ; ~ o bien se puede volver a empezar con un conjunto distinto de pesos onginales. Cuando ~ I ) ; I led alcanza una solución aceptable, no hay garantia de que haya alcanzado el mínimo f j lcJt I í31 en lugar de uno local. Si la solución es admisible desde el punto de vista del error, no impoíl:l si el mínimo es local o global. y ni siquiera importa si el entrenamiento se ha detenido en algljrI Irlomento previo a alcanzar un verdadero minimo.

5.3. EL SIMUI ADOR DE PROPAGACI~N HACIA ATRÁS

5.3.1 Revisitit, de propagación de señales

Page 75: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

En una BPN. las señales fluyen en ambas direcciones. pero Só10 en urla direcciorl cada vez. Durante el entrenamiento, hay dos tipos de señales presentes en la red: en la primera mitad del ciclo, fluyen señales moduladas desde la entrada hasta la salida; durante la segunda mitad del ciclo, fluyen señales de error desde la capa de salida hasta la capa de entrada. En el modo de producción, sólo se utiliza la señal de salida modulada hacia adelante.

Se han han incluido varias suposiciones en el diseño de este simulador. En primer lugar, se supone que la función de salida de todas las unidades de la capa oculta y de la capa de salida es la función sigmoide. Esta suposición también está implícita en el pseudocódigo para calcular los términos de error de cada unidad. Además, se ha incluido el término de momento en los cálculos de actualización de pesos. Estas suposiciones imlican que es necesario almacenar las actualizaciones de los pesos en cada iteración, para utilizarlos en la siguiente. No se han incluido en los cálculos los valores de tendencia.

En este modelo de red, las unidades de entrada son procesadores que sólo tienen salidas. Esto es, las unidades de la capa de entrada no llevan a cabo conversiones de datos procedentes de las tramas de entrrada de la red. Sólo actuan como lugar de almacenamiento de los vectores de entrada en el seno de la estructura de la red. De esta manera. el proceso de entrenamiento comienza cuando se aplica en la:s unidades de la capa de entrada una trama de entrada de origen externo. Entonces se produce una propagación de la señal hacia adelante, según la siguiente secuencia de actividades:

1. Se locallza la primera unidad de procesamiento de la capa que se encuentre inmediatamente por encima de la capa actual.

w 2. Se pone a cero el total actual de entrada.

3. Se calcula el producto del primer peso de conexión de entrada por la salida de la unidad transmisora.

4. Se añade el producto al total acumulado

5. Se repiten los pasos 3 y 4 para todas las conexiones de entrada.

6. Se calcula el valor de salida para esta unidad aplicando la función de salida f(x) = 1/(1 + e ). en donde x es la entrada total.

7. Se repiten los pasos del 2 al 6 para todas las unidades de esta capa.

8. Se repiten los pasos del 1 al 7 para todas las capas de la red

Una vez que se ha calculado un valor de salida para todas las unidades de la red. se comparan los valores calculados para las unidades de la capa de salida con la trama de salida deseada, elemento por elemento. Se calcula un valor de error en cada unidad de salida. Estos términos de error se realimentan en todas las demás unidades de la estructura de la red mediante la siguiente secuencia de pasos:

1. Se localiza la primera unidad de proceso que se encuentre inmediatamente por debajo de la capa de salida.

2. Se pone a cero el error total actual

3. Se calcula el producto del peso de conexión de la primera salida por el error proporcionado por la unidad de la capa superior.

4. Se añade ese producto al error acumulado

Page 76: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

5. Se repiten los pasos 3 y 4 para todas las conexiones de salida.

6. Se multiplica el error acumulado por o ( I - o), en donde o es el valor de salida de la Ull l t i . ad de la capa oculta que se ha producido durante la operacion de propagación hacia adr\i:ante.

7. Se repiten los pasos del 2 al 6 para todas las unidades de esta capa

8. Se repiten los pasos del 1 al 7 para todas las capas.

9. Se localiza la primera unidad de proceso que esté en la capa superior a la capa de entl :afta.

I O . Se calcula el valor de cambio de peso para la primera conexión de entrada de esta Ur l l r f . I f I , añadiendo una fracción del peso acumulado en esta unidad al valor de entrada de la umt 1. I r j

11 .Se modifica el término de cambio de peso añadiendo un término de momento igual a un.1 f~ Jtcción del valor del cambio de peso procedente de la iteración anterior.

12.Se guerda el nuevo valor del cambio de peso como valor anterior del cambio de Pehl 1 I )ara esta conexlór-i

* 13.Se modifica el peso de la conexión, ariadiendo el valor del nuevo cambio de peso de

cOII~.s.lOrl al peso anterior de conexión.

14.Se repiten los pasos del 10 al 13 para todas las conexiones de entrada de esta unit t. t i I

15.Se repiten los pasos del 10 al 14 para todas las unidades de esta capa.

16.Se repiten los pasos del 10 al 15 para todas las capas de la red.

5.3.2 Estructuras de datos de la BPN

Registro de datos que definirá la estructura de alto nivel del simulador BPN:

record BPN = UNSENTRADA : "capa; {para localizar la capa de entrada} UNSSALIDA : "capa; {para localizar las unidades de salida} CAPAS : "capa [ 1; {red con dimensionamiento dinimico) alfa, {tlirmino de momento} eta : float; {velocidad de aprendizaje)

end record,

La Figura 5.4 ilustra la relación existente entre el registro de la red y todas las esti 1 1 4 1 1 iras subordinadas que veremos.

Page 77: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

3ECONOCIMIENTO DE PATRONES POR MEDIO DE REDES

3EURONALES .""""""""""""""""""""""""""""""-"""--"--""-""---"---"---~-

Y E U R O C A P

MANUAL DE USUARIO DE NEUROCAP

HERNANDEZ LEYTE VIRGINIA.

RAMIREZ GONZALEZ JOEL.

SALGADO v CALLEJAS JOSE LUIS.

SOLIS CRUZ PEDRO.

Asesor :

MC. RENE MACKINNEY ROMERO.

Page 78: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

C O N T E N I D O NEUROCAP ""~""""""""""~"""""""""~"""",""""""~"""""-----""--------

Introducci6n

Capítulo l. Acceso al sistema.

Capítulo 2. Introducción a WINDOWS

c

Page 79: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

INTRODUCCION. NEUROCAP

Objetivo de este manual.

El objetivo de este sistema es proporcionar una herramienta útil para la captura de datos ó caracteres, es decir, para introducir datos a la computadora sin necesidad de capturar uno a uno los datos.

Este manual explica como realizar sus operaciones con el sistema

NEUROCAP , la información que contiene es la siguiente:

**Acceso al sistema *Características del equipo "Breve explicación del manejo de ventanas de WINDOWS "Uso de los módulos correspondilentes a las diferentes

opciones que contiene el sistema

Antes de iniciar sus actividades con NEUROCAP se le recomienda familiarizarse con el ambiente que presenta WINDOWS.

Page 80: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Tbrminos utilizados

A lo largo de este manual se utilizan terminos tales como "ENTER", "VENTANA", "MENU", "BOTON", "POSICIONARSE", "SELECCIONE", "ACTIVAR", "ICONO" .

Cuando se hace referencia a "ENKER", se indica que se concluye una operación.

.*

Cuando se utiliza el término "VENTANA". se hace referencia a un desplegado en pantalla, en cierto formato y dentro del cual se llevarán a cabo las operaciones.

4

Si se habta de "MENU", se hace alusión a una lista de opciones de las cuales podrá hacer alguna selección.

"BOTON" se utiliza para hacer relerencia a una clase especial de ventana que sirve para indicar si se concluye una opción o no.

Cuando se lea "POSICIONARSE" indica que se debe colocar por medio de teclas ó mouse donde se indique.

El término "SELECCIONE" indica que se debe mover sobre un menú y elegir alguna opción.

Por último "ACTIVAR" es similar a "ENTER" solo que esto da un margen más amplio de hacer uso de teclado ó mouse, mientras "ENTER" solo hace referencia a la tecla ENTER.

"ICONO" es una figura que representa una aplicación, es decir que a través de esta figura se lleva a cabo una acción formada por un sistema.

Page 81: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Para indicar que se trata de una tecla, por ejemplo de la tecla correspondiente a la letra N , se hace rleferenci a de esta forma : < N >.

Si se necesita dar una tecla de control con alguna tecla por ejemplo , la tecla ALT con la letra R se indica ALT-R.

Page 82: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Capítulo 1 Access al sistema

El equipo necesario para el buerr funcionamiento de NEUROCAP. es un procesador mínimo 80286, de 12 MHZ y 1 M en RAM, así como un monitor VGA .

Es neCesario tener instalado el paquete WINDOWS y TURBO PASCAL para WINDOWS, ya que ell sistema utiliza el ambiente de WINDOWS para su presentación.

NEURUCAP se puede instalar como una aplicación de WINDOWS Y se activa por medio de un icono , o bien, ejecutarlo desde WINDOWS en la opción FILE con el comando RUN, donde aparece una ventana solicitando el nombre del archivo a ejecutar. Si NEUROCAP

!;e encuentra en un drive distinto a WINDOWS 6 en algún subdirectorio p.e debe dar el PATH completo y el nombre de NEUHUCAP . A cont inuacih se presenta un ejemplo de esto:

- Program Manager - File Options Window Help

Si NEUROCAP se va a instalar en algún subdirectorio ó disco, .'segurese de contener los archivos con extensión, .SRC, .BMP, .EXE

TPU que se incluyen en el disco que contiene NEUROCAP.

Page 83: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Capítulo 2 Ambiente WINDOWS

En esta sección se le introducirá al ambiente WINDOWS, se le explicará como activar opciones por medio del teclado y el mouse, como minimizar, maximizar, cerrar ventanas, como manejar una caja de diálogo.

2-1 Manejo de un menú.

Un menú es un conjunto de opciones para seleccionar una acción.

I

- Como activar opciones por medio de teclado:

Si se encuentra activada una ventana con un menú principal, se puede accesar a alguna opción oprimiendo la tecla <ALT> y la tecla de la letra subrayada de la opción, si esta tiene mas opciones, solo es necesario oprimir la tecla de laletra subrayada.

Otra alternativa es, oprimir la tecla < ALT> , seleciona la opción, por medio de las flechas y pulsar < ENTER>.

Si se trata de un menlj con más oipciones se oprime la tecla de la letra subrayada, o bien, se selecciona la opción con las flechas (

moviendo la barra indicadora ) y pulsando la tecla < ENTER B.

- Corno activar opciones por medio del mouse:

Si se encuentra activada una ventana con un menú, se lleva el indicador del mouse (flecha) a la opción1 deseada y se da un click; si se

despliega otro menú se da otro click a la opción deseada.

Page 84: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

2-2 Manejo de Ventanas

Una ventana es un espacio delimitado por un marco donde se

realiza ciertas acciones, la ventana que se muestra en N€UROCAP se muestra en la figura 1.

Ayuda Salir

4 Figura 1. 'Ventana principal.

Estas ventanas se pueden maximizar ( llenar la pantalla con ella 1, minimizar ( reducir la ventana a un icono 1, cerrar la ventana ( dando fin a la aplicación 1; estas opciones se pueden accesar por un menú

que se áctiva por mouse ó por teclado con las teclas ALT-Barra espaciadora, en el cuadro superior izquierdo, el menú que aparece se muestra en la figura 2.

.~ .".""..

Figura 2. Menú de la ventana.

Page 85: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Para salir de esta opción se teclea c ESC> y regresa a la aplicación. La ventana también se puede reducir ó ampliar según se

desee, colocando el indicador del mouse en el marco de la ventana y

moverlo sobre la pantalla, hacia donde se desea.

2-3 Movimiento dentro de una caja de diálogo.

Una caja de diálogo es una ventana que se encuentra dentro de otra, en la cual se están realizando las acciones, con la diferencia de

que a través de esta usted puede comunicarse con el sistema.

En el sistema se utilizan principalmente para la toma de decisiones, proporcionar datos requeridos y autorizar a realizar

acciones. Un ejemplo de esta se puede ver en la figura siguiente:

NEURO1:AP “c Archivos Eonts lmaqenes NeurocaD Ayuda Salir

r(

Figura 3 Caja de diálogo

Para moverse dentro de la caja se puede utilizar la tecla <TAB>, en la figura por medio de esta tecla se puede posicionar en las opciones de Archivos, Directorios, Nombre, Correcto 6 Cancelar,una vez posicionado, se elige la opción con las flechas (Archivos y

Directorios) ó se proporciona el dato solicitado(Nombre), después, se presiona < ENTER > para realizar la acción ya que se encuentra activo el botón “Correcto”, esto se puede ver porque se encuentra marcado y

si no es así posicionarse con <TAB> ; si no se desea realizar la acción se activa le1 botón “Cancelar”.

Page 86: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Otra forma de accesar a cada bloque de opciones de una caja de diálogo es pulsando las teclas ALT-Tecla subrayada, una vez colocada en el grupo de opciones se sigue el procedimiento anterior.

Si se utiliza mouse, solo se posiciona el indicador en la opción que se desea dando un click para permitir dar el dato ó seleccionar dando otro click.

Cabe rnencionar que en algunas cajas de diálogo, no es suficiente el espacio para mostrar todas las opciones por lo que aparecen barras de SCROLL al lado derecho, estas barras permiten dando un click en las flechas, observar una a una las opciones que no se aprecian al momento de accionar una caja de diálogo.

Page 87: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

CAPITULO 3 Módulos de NEUROCAP

En esta sección se muestran todas las opciones que proporciona NEUROCAP, así como una breve explicación de su funcionamiento.

Para iniciar la aplicación es necesario accionar el sistema como se explica en el capítulo 1 , inmediatamente aparece una pantalla como la que se muestra en la Figura 1. Si observamos podemos ver que existe un menú horizontal y un menú vertical ( iconos ).

3-1 El menú horizontal :

3-1 .A MODULO Archivos :

La figura 6 muestra el menú disponible para la manipulación de archivos ASCII, es decir, de archi,vos de caracteres que son reconocibles por la máquina, dejando de ser solo una imágen para ella. Esta opción se activa con < ALT-A > .

Page 88: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Figura 4. Menú de archivos.

Analicemos la función de cada opciCn :

1 1 Crear ASCII : Con esta opción se crea un archivo donde se almacenarán caracteres, por lo que aparece una caja de diálogo donde se le pregunta el directorio 6 PATH y nombre del archivo, como se ve en la figura 3. Se activa con la tecla < C> ; también se

Pueden activar con las flechas y presionando < ENTER > .

Si desea seleccionar algún directorio se tiene que posicionar en la parte de directorios, seleccionarlo por medio de las flechas y presionar < ENTER > ó bien, con 2 clicks seguidos del mouse; enseguida posicionarse en donde se teclea el nombre, si ya es correcto, pulsar el botón " CORRECTO IS ó si se desea cancelar la operación pulsar :CANCELAR ".

2 1 Eliminar ASCII : En esta parte se pueden eliminar archivos de caracteres que ya existan. Inmediatamente que se elige esta opción aparece una pantalla donde se le pide seleccionar el archivo a eliminar ( Figura 5 ). Es importante hacer notar que solo se pueden eliminar archivos con extensión .ASC , se activa con la letra < E > , con las flechas y c ENTER > , 6 con el mouse.

Page 89: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Figura 5. Caja de diálogo que obtiene el nombre .de un archivo.

Se puede obtener el nombre del archivo, por la lista de archivos ya sea con 2 clicks del mouse 6 por flechas y presionando < ENTER > al botón 'I CORRECTO 'I si se desea cancelar la acción presione <ENTER > 6 de un click del mouse.

Si la opción es correcta, aparece otra wentana para que confirme si se da de baja el archivo o no ( Figura 6 1; para seleccionar la respuesta posicionarse con <TAB> y presionalr < ENTER > ó bien con el mouse dar un click.

4

n NEUROCAP V A

1) &chivos Fonts lmagenes Neurocap Ayuda Salir

Se Eliminala el archivo :

a:le.asc

Figura 6. Confirmar 6 cancela la operación.

Page 90: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Si se presiona el botón "Correcto" se lleva a cabo la acción, es decir se elimina el archivo de la pantalla y del disco : en caso de seleccionar "Cancelar", los caracteres seguirán en la pantalla y no se

lleva a cabo la acción, si se acciona la opción "No" los caracteres se eliminan de la pantalla, pero no del disco.

3 ) Renombrar : Esta opción tiene la función de cambiar el nombre a un archivo, del cual su contenido se encuentra en la pantalla. Se activa con < R> ó por medio del mouse. Despuds se pide el nuevo nombre, por medio de una ventana como la que se muestra en la sigriente figura:

Directorio: a:\ Directorios:

I Cancelar

NEUROCAP V A

Ayuda Salir

Figura 7. Nuevo nombre para el archivo.

4 ) Imprimir : Este punto contiene 2 funciones más, se activa con <I> que son :

Page 91: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

- - Eliminar ASCII

Figura 8. Opciones de imprimir archivos.

4.1 1 Archivo en disco.

Esta opción se elige SI solo se desea imprimir un archivo ASCII ya existente en el disco. Por lo que se pide el nombre de manera similar al punto 1 y se imprime en papel, plara esto se debe tener lista la impresora ( en línea y con papel ), si esto no sucede aparece un menasaje de error. La operación, se activa con <A > .

4.2 1 AI reconocer.

Si se activa esta opción al momento de reconocer un craracter se envía a imprimir sin necesidad de tener el archivo ASCII completo, se activa con la tecla < R> . Para esto se debe tener lista la impresora (en línea y con papel) si esto no sucede aparece un mensaje de error.

3.1.6 MODULO Fonts

Este m6duio da oportunidad de manipular distintos. tipos de fonts, es decir de incrementar un patron miis a ser aprendido por la Red Neuronal. Este Font se guarda en archivos de extensión -".FON" . En la siguiente pantalla se muestran las diferentes opciones de este módulo.

Page 92: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

am Eliminar

Figura 9. MQdulo de FONTS

1 ) ABRIR : La opción "ABRIR" , se puede accesar por la letra "A" ó con

mouse; al activarse se despliega un l'ormato como se muestra en la figura 3 con la diferencia de que las extensiones son .FON.

Cabe señalar que los archivos deben tener el formato adecuado (matriz con unos y ceros de 1 2 x 1 3).

2 ) SALVAR :

La opción "SALVAR", se encarga de grabar el font del disco, de la unidad que se desee ( a:, b:, c: , etc.); se puede accesar por medio de la letra "S" ó rnouse;.para posteriormente reutilizar dicho font.

Para proporcionar el nombre con el que se graba el font se hace uso de una ventana como se muestra; <en la figura 7.

Seleccione el drive y proporcione el nombre, por default al nombre se le agrega la extensión .FON; si la inlormacibn es correcta active el

botón "CORRECTO", si no es así active el botón "CANCELAR".

Page 93: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

3 1 RENOMBRAR :

La opción "RENOMBRAR", se encarga de dar otro nombre al FONT, que se encuentra activo, se accesa por medio de la letra "R".

El nuevo nombre lo proporciona por medio de una ventana como la de la figura 7, por lo que funciona de manera similar; puede cambiar

de drive y/o nombre , es importante considerar que se cambia el nombre del archivo, mas no se hace una copia de este.

4 ) ELIMINAR :

La opción "ELIMINAR", se puede accesar por la letra "E" 6 con el mouse. Permite eliminar de disco un font, inmediatamente que se elige esta opcidn aparece una pantalla donde se le pide seleccionar el archivo a eliminar ( Figura 5 ). Es importante hacer notar que solo se pueden eliminar archivos con extensión .Fon.

Se puede obtener el nombre del archivo, por la lista de archivos ya sea con 2 clicks del mouse 6 por flechas y presionando < ENTER > al botón CORRECTO si se desea cancelar la acción presione CENTER > 6 de un click del mouse.

Si la opción es correcta, aparece otra ventana para que confirme si se da de baja el archivo a no ( Figura 6 ); para seleccionar la respuesta posicionarse con <TAB> y presionar < ENTER > 6 bien con el mouse dar un click. Si esta seguro de querer eliminar dicho archivo presione el botón "SI", en caso contrario presione el botón

"NO", 6 bien "Cancelar".

Page 94: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

3.1.C MODULO DE IMAGENES

Pantalla del módulo de imagenes.

Figura 10 Módulo de imagenes

Este módulo se encarga del manejlo de las imagenes.

1 1 Llamar.

La opción "LLAMAR" , se activa con la letra "L" ó con el mouse, se encarga de desplegar en la pantalla la imagen que se desea, esta

imagen puede ser obtenida por medio del scanner ó por los fonts, pero para poder desplegar la imagen deben estar en un archivo con formato tipo BITMAP(ver manual de WINDOWS, sección PAINTBRUSH) , con extensión .BMP. La pantalla que se d.espliega es parecida a la de la figura 3, pero se utiliza la extensión .BRAP.

Donde se puede seleccionar el directorio, nombre y/o drive, por medio del mouse ó con teclado, pasando por las diferentes opciones con la tecla <TAB> , ya dentro de la opción se puede seleccionar información con las teclas de flechas y presionando < ENTER> para seleccionar archivos o subdirectorios, presionando < Enter> en el caso de los botones, o bien escribiendo directamente el nombre del archivo. Una vez proporcionada la información, si es correcta activar el botón "CORRECTO", en caso contrario activar el botón "CANCELAR".

Page 95: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

2 ) Eliminar.

La opción "Eliminar" , elimina un archivo .BMP correspondiente a

una imagen. Se puede accesar por la letra "E" o con el mouse. Se solicita el nombre con una ventana con10 la de la figura 5.

Para proporcionar el nombre de la imagen que se desea eliminar

del disco, seleccione el drive, si es necesario, y el archivo. Si ya se selecciono el archivo active el botón "CORRECTO", si no es así activar "CANCELAR".

Una vez seleccionado el archivo s,e pide autorizacón para eliminar dicho archivo con la pantalla que se muestra en la figura 6.

Si esta seguro de querer eliminar dicho archivo presione el botón "SI", en caso contrario presione el botón "NO" desapareciendo la imagen de la pantalla y "Cancelar" para cancelar la operación dejando la imagen en pantalla..

3 1 RENOMBRAR.

La opción "RENOMBRAR", sirve para dar otro nombre a la imagen, mostrando una pantalla pareci'da a la de la figura 7, donde se proporciona el nuevo nombre del archivo de la imagen con extensión

.BMP, esto se aplica a la imagen que se encuentra activa en ese momento.

Page 96: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

3.1 .D Módulo NEUROCAP

El módulo NEUROCAP despliega una pantalla como la siguiente:

Este módulo se activa con AL'T-N ó con mouse, se puede

observar solo una opción esta se activa presionando "A" 6 con el mouse. Esta opción solo muestra datos .acerca de Neurocap como se muestra en la siguiente figura:

NEWRQCAP Reconocimiento de patrones por

medio de R e d e s neuronales

Copyright @ 1992

VIRGINIA HERNANDEZ LE-E JOEL RAMIRE2 GONZALEZ

JOSE LUIS SALGADQ CALLEJAS

PEDRO SOLIS CRUZ

............................... ............................ .. I ~-

Figura 12 . Información de Neurocap

Page 97: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

3.1.E Módulo de AYUDA

El mddulo "AYUDA" , se activa con ALT-Y, esta opción proporciona información, acerca del manejo correcto de NEUROCAP.

Para accesar a las diferentes opcuones de la ayuda, se siguen los mismos pasos que para la ayuda de WINDOWS, ya que utiliza el mismo ambiente de ayuda de WINDOWS.(ver manual de ayuda de WINDOWS).

3.1 .F SALIR

La opción "SALIR" regresa al sistema inicial desde donde se

invoca "NEUROCAP", en este caso a WINDOWS, ya que esta aplicación hace uso de Windows.

M E N U V E R T I C A L

Este menú se presenta a base de figuras, para cambiar a este se presiona <TAB> ; se seleccionan las opciones de la misma manera que en un menú, con la barra por medio de las flechas, se selecciona la opción y se presiona < ENTER> ó se selecciona por medio del mouse.

La pantalla que se presenta es la que se muestra en la fig. 1 .

La opción "APRENDER" se representa por la figura que acontinuacidn se presenta .

Esta opción se encarga de introducir patron.es a la Red Neuronal de tal manera que aprenda a diferenciar entre eiios y así los pueda reconocer.

Page 98: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

u -

La opci6n "AUTOMATICO" se representa por la figura desplegada

en la pantalla:

Se encarga de realizar automáticamente el proceso de activar el scanner, tomar la imagen, darle forrnato a BITMAP y reconocer el patrón al que pertenece.

Advertencias: Tener conectado el scanner y listo para capturar la imagen

La opción "PAGINA COMPLETA" se representa por la siguiente figura.

Esta opción asume que se debe reconocer todos los patrones que aparescan en la ventana, esta opción se debe activar antes de iniciar el reconocimiento. Para desactivarla se vuelve a seleccionar esta opción.

Esto debe ser antes de iniciar el proceso de reconocimiento.

La opción "SCANNER" se representa por la figura sombreada en la pantalla:

AI seleccionar esta opción, se asume que de manera manual, usted proporciona la imagen por medio del scanner directamente a la pantalla, sin necesidad de utilizar un archivo .

Page 99: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

La opción "RECONOCER" se representa por la figura sombreada en la pantalla:

Se encarga de reconocer por medio de la Red Neuronal el conjunto de patrones, en forma de imagen especificada, ya sea activada la opción "PAGINA COMPLETA" o "MARCAR". AI activar

esta opción se solicita el nombre del archivo ASCII sobre del cual se desea que se guarde la informaci6n reconocida en una pantalla como la que se indica en la figura 3.

Es importante considerar que, alntes de activar esta opción se necesita tener alguna imagen en pantalla, ya sea llamando una imagen de archivo ó por medio del scanner, también se debe, definir si se

desea reconocer la figura completa 6 solo parte de esta (la red hasta el momento solo reconocen letras por lo que la figura debe ser de algun texto). Inmediatamente se despliega una pantalla como la que se muestra en la siguiente figura, donde se muestra la figura en la ventana y se encuentra marcada la letra que se esta reconociendo asi como aparece en la ventana pequeña que aparece a un lado, esta indica la figura que se encapsula y el texto que se reconoce aparece en la ventana que se encuentra al fondo de la ventana principal.

Page 100: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

La opción "RECONSTRUIR" se representada por la siguiente figura

Se encarga de reconstruir una red que ya reconoce ciertos patrones, esta red se encuentra almacenada en disco por lo que se necesita conocer el nombre del archivo con extensión .RED de esta manera ya no es necesario que vuelva a aprender los patrones. La pantalla que solicita el nombre de la red es la siguiente :

La opción marcar, se activa con l a figura sombreada representada por:

sirve para marcar solo parte de la imagen que se desee reconocer. AI activarla se posiciona con el mouse donde desea empezara marcar, se presiona el botón del mouse y no se suelta moviendolo hasta obtener la zona que se desa reconoc:er, se suelta el botón y queda marcada la zona.

Page 101: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

La opción INTERRUMPIR, sirve para interrumpir el proceso de

reconocimiento de una figura, y se representa por la siguiente figura.

Page 102: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

MANUAL TÉCNICO (PRESENTACIóN)

INTRODUCCI~N

NEUROCAP, es un reconocedor de patrones por medio de redes neuronales. Una red neuronal trata de imitar la forma en que aprende el cerebro humano; se basa en una red de neuronas donde cada neurona tiene un valor de tal manera que al agrupar ciertas neuronas por medio de una función matemática reconocen cierto patrón. Los patrones que incluye son las letras del alfabeto.

Para la elaboración de NEUROCAP se hizo uso de programación estructurada y programación orientada a objetos (OOP). Para esto el lenguaje que se emplea es TURBO PASCAL para WINDOWS, el cual

permite proporcionar al usuario un ambiente amigable y seciilo; al programador le sirve como herremienta de programacicin (TURBO PASCAL), así como de instrumento para la presentación dei sistema al usuario a través de la Interfaz con WINDOWS.

TURBO PASCAL para Windows en general incluye objetos tales como ventanas, cajas de diálogo, manipulación de menus, etc. así como TIPOS compuestos para la manipulación de los objetos, tipos básicos empleados en TURBO PASCAL, definición de constantes. Además incluye una herramienta llamada WRT la cual permite definir los objetos a ser utilizados según las necesidades del programador.

La manera en que funciona NEUROCAP es interactuando con el usuario, por lo cual se crea un ambiente adecuado y amigable para que pueda llevar a cabo las funciones deseadas.

De esta manera el módulo principal de NEUROCAP es el que interactua con el usuario, delegandlo funciones a realizar; es decir llamadas a funciones 6 procedimientos.

Page 103: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Las funciones que se emplean de TURBO PASCAL para WINDOWS son :

- Funciones sobre ventanas

- Funciones sobre menus. Manejo de controles.

- Funciones sobre cajas de di&logo. Manejo de controles

- Funciones para manejo de mouse, teclado y cursor.

- Uso de TIPOS y CONSTANTES

PROCEDIMIENTO PRINCIPAL

PIGURCl l.- Partes en que S(: divide el sistema.

Page 104: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

E

FLUJO PRINCIPAL DE: INFORMACION

En NEUROCAP el módulo principal . .e compone de un procedimiento llamado WinMain encargado de iniciar l a aplicación, la instancia, así como de enviar y procesar mensajes. Estos mensajes son la base principal del funcionamiento del sistema ya que a través de estos el sistema sabe que función realizar.

El sistema utiliza una directiva que hace referencia a los recursos que serán empleados la cual es :

{SR Neuro.res}

El recurso es Neuro.res, contiene el menú horizontal y la caja de

diálogo que tiene datos acerca de NEUROCAP.

{ $ R Dir2.res)

Este recurso contiene la figuras (Bitmaps dependientes de

Page 105: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

{ $ R Di re c. res}

Este recurso contiene de manera integrada las figuras del menú de figuras.

Las unidades TPU que utiliza son :

- WinTypes, Winptocs, WinDos, Strings: Este grupo de definiciones, procedimientos y funciones, son proporcionadas por TURBO PASCAL.

- Dialogo, Cap-Let2: Este grupo de definiciones, procedimientos y

funciones son propias del sistema Neurocap. Donde Dialogo se encarga de manipular todas las funciones que se llevan a cabo con cajas de diálogo; Cap-let2 es el conjunto de definiciones, funciones y

procedimientos que se utilizan para encapsular las imagenes; y la que se utiliza para manipuiar la red Neuronal.

El módulo MainWndProc es el que se encarga. de interpretar los mensajes a través de un conjunto de casos, donde cada mensaje tiene una acción a realizar, &tos mensajes pueden ser el número de una opción del menu principal ó de las figuras, algunos de estos hacen llamados a funciones que activan cajas de diálogo.

Estos casos son generalmente del sistema de TURBO PASCAL, como son wm - Command, wm - Paht, wm-LButtonDown, Bm-Destroy etc. Dentro del caso wm - Command, se encuentra otro conjunto de casos los cuales corresponden a las opociones que se muestran en el menú principal de Neurocap (tanto del menú horizontal y el de figuras),

donde se hacen llamados a funciones de cajas de didlogo, llamadas a los procedimientos de encapsulamiento de imágenes, al de aprendizajen de la red neuronal y al de reconocimiento de patrones.

Page 106: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

ESTRUCTURAS Y TIPOS.

Las estructuras utilizadas en es.ter procedimiento principal son

strings, registros, apuntadores y matrices.

AI final de este manual se anexa el código fuente del procedimiento principal, en el aphdice A.

Acontinuación se da una breve explicación técnica de la manera en que se elaboraron las unidades que utiliza el procedimiento principal (No las que incluye TURBO PASCAL).

Unidad Dialogo.

Esta unidad es la encargada del funcionamiento de las cajas de didlogo que se despliegan durante toda la ejecución de NEUROCAP. Se encuentra en los archivos con extensión TPU; es decir Dialogo.TPU.

Utiliza un recurso llamado FIDLGi donde se encuentran definidas

todas las cajas de diálogo utilizadas por el sistema.

{SR FIDLG}

Las unidades que utiliza de Windows son WinTypes, WinProcs,

WinDos y Strings.

Las estructuras y tipos.

Las estructuras empleadas son strings, registros,apuntadores.

Los tipos usados son enteros,caracteres, Word, Pchar, HWnd, Boolean, TFarProc.

Page 107: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

En general en estas funciones se realizan acciones sobre cadenas como concatenaciones, cambio a mayúsculas, truncamiento de cadenas etc. esto con el fin de obtener, por ejerntplo, el nombre de un archivo con su respectiva extensión y path.

Estos procedimientos también se llevan a cabo a través de mensajes y por lo tanto se maneja como un conjunto de casos, es importante notar que cada acción sobre una caja de diálogo empieza con el mensaje, wm-InítDialog, que es la parte donde :;e inicializan las variables que se deseen.

Cuenta con otro caso, wm Command el cual involucra a un conjunto de casos que dependen del parámetro WParam, que al igual que en el procedimiento principal, en esta sección es donde se llevan a cabo las acciones particulares de cada caja de diálogo según las necesiades del programador. Unos de los principales casos para una caja de diáiogo son id-Ok, id--Cancel.

Las principales funciones que se necesitan de Windows para las cajas de didlogo son Makeproclnstance, DialogBox, FreeProcHinstance y

SetDlgltemText.

En el apéndice B se encuentra el ctjdigo fuente de esta unidad.

Para cualquier duda acerca de CQtnandQS, tipos y constantes de TURBO PASCAL para Windows consultar los manuales 6 el libro:

TURBO PASCAL FOR WINDOWS (BILBLE) Gary Entsminyer: Editorial SAMS

Page 108: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

GLOSARIO

Ventana : Es un espacio en pantalla. delimitada por un marco; donde se realizan todas las acciones, delegadas a ella, se hace referencia a esta a través de un HANDLE (manejador) de tipo HWND (definido en TURBO PASCAL para WINDOWS).

Caia de diáloao : Es una ventana, con la diferencia de que através de esta el sistema se comunica con el ususario para tomar decisiones a cerca del proceso que se va a realizar. Para manipular la caja de diálogo se hace uso de un HANDLE (manejador) de tipo HWND.

BitmaD : Es un mapa de bits que' representa una figura. Un bitmap e almacena en archivos con extensión .B8MP, donde guarda información del tipo de bitmap que se trata (color,blanlco y negro, ancho, largo etc.) así como la figura. Existen bitmap dependientes del dispositivo, en este caso para hacer referencia a un bitmap se uriliza una variable de Tipo TBitmap, así como bitmap independientes del dispositivo, del cual se obtiene la información variables de tipo TBITMAPFILEHEADER y TBITMAPINFO.

Page 109: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

COMO DIGITALEAR DESDE NScan

En este capítulo trataremos corno digitalizar una imagen desde NScan, tambien puede utilizarse como manual de referencia para el facil manejo de la utilería NScan.

La utilería NScan puede correr sin ningún problema en Microsoft Windows versió, 2.03 o en el modo real de verciones posteriores.

Desde la ventana NScan puede digitalizar un imagen en dos

modos: A tiempo real y pausado. El despliegue pausado muestra la imagen hasta que usted halla terminado de digitalizar. A tiempo real se muestra la imagen al momento q;ue se esta digitalizando.

Usted puede salvar toda o solo una parte de la imagen en disco con los forrnatos TIFF(Tagged Image File Format), PCX (PC PaintBrush), o MSP(Microsoft Paint). Con esto usted puede llamar imagenes en blanco y negro desde otras aplicaciones que manejen estos formatos.

Fuentes

Usted tambien puede copiar una imagen previamente seleccionada de la imagen al ClipBaard(Windows). Desde .el clipboard la imagen puede ser utilizada desde otras aplicaiones Windows incluyendo NeuroCap.

Nota: Para utilizar NScan, antes debe instalar el software ScanMate así como el software de interface y conectar su escaner. Usted debe contar con un controlador de mouse compatible con Microsoft Windows.

Page 110: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

COMO LLAMAR NScan.

Si usted a incluido Windows en SLI PATH, usted puede correr Windows desde cualquier drive o directorio.

Linea de comando. - INSCAN I

PASO lo LLamar a Microsoft Windows desde el drive y

directorio.donde usted mantiene su software NScan, y teclee:

WIN -e --(Enter)

Entonces llama al MS-DOS Executive, como se muestra.

Page 111: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

Paso 2' LLamar la ventana de NScan: Dar doble click en NScan.EXE esto despliega la ventana cle NScan como se muestra.

WPBRUSH.EXE m PROGMANALP INSTALAR.EXE mPCCONFIG.flF m PROGMAN.INI ISTALAn.HLP

mmJUEGOS.GHP IPCFORMAT.FIF m RECORDERDU IPCSECURE.PIF IRECORDER.EXE

"

)OS T iELL

ISDOS.EXE m PIFEDIT.HLP I S H E L L . P I F

COMO DlGlTALlZAR DESDE NScan

PASO l o Seleccionar la opción digitalizar. Abrir el menu Option y selecionar Configurar. La caja de diálogo Opciones aparecera. Esta caja de diálogo sirve para seleccionar el tamaño de la pintura a digitalizar, la resolución (DPI) y si la digitalización será a tiempo real o no.

PASO Z0 Digitalizar la imagen: Posicionarse en Scan y hacer cilck esto ensiende el oscaner; usted puede ver la luz. en la ventana de scaneoy el cursor Scan en la ventana de NScan; posicione el escaner sobre la imagen, F'recionar y manter el boton de Scaneo y a la vez rodar el scaner sobre la imagen de arriba a abajo.

Page 112: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PASO 3 O Como ver la imagen completa: Hacer click en el scroll horizontal y vertical para mover la imagen en la ventana. Desde su teclado puede precionar PgUp para scrull hacia arriba, PgDn para scrull hacia abajo, Ctrl-PgUp para scrull hacia la derecha, y Ctrl - PgDn para scrull a la izquierda. Para ver la imagen completa, abrir el menu Opciones, :seleccionar Reducir. Usted puede ver la imagen reducida en una ventana.

PASO 4 O Salvar la imagen: Seleccionar Save en el menu de archivos, Esta despliega la caja de dialogo Imprimir Imagen. Selecciona la posición (margenes) y tamaño de impreción, Entonces haga click en Print o precione <-Enter.

COMO TRABAJAR CON NScan

Esta sección sirve como manual de referencia para NScan le hayudard a aprender el manejo de todos los comandos de la ventana de NScan, los comandos del t:eclado y mouse, los menus y las cajas de diálogo.

Page 113: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

1

MOUSE Y ACCIONES DEL TECLADO.

MOUSE

Debe utilizarse un raton de dos o tres botones para correr NScan; el raton le hayudará a tener un mejor manejo de de las acciones ofrecidas por NScan solo basta con apuntar con el cursor del mouse al punto requeridoy dar un click . Lo mismo para seleccionar en los menus.

Use el mouse para mover, seleccionar el tamaño o cerrar la ventana de NScan. Use el mouse para seleccionar una opción en cajas de dihlogo; tambien pude huscrr su mouse para enrollar un imagen, para salvar, imprimir, y copiar.

Page 114: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

ACCIONES DEL t E f;LADO

Page 115: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

a

MenuPrincipal: Despliega el nombre de los menus existentes en la aplicacidn: Archivos, Edit, Opciones y Scan.

Menu Archivo: sirve para abrir, salvar o imprimir un archivo.

Desde este menú usted tambien puede cerrar la ventana NScan y

ver la informaci6n de derechos de autor.

OPEN: Sirve para que pueda llamar algún archivo existente en drives o PATH para desplegarse en la ventana NScan.

SALVAR: Con esta opción usted puede salvar salvar toda la imagen o solo una parte de ella, previamente seleccionada; la imagen puede ser guardada en los siguientes formatos TIFF, PCX o MSP.

Page 116: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PRINT: Con esta opción usted pulede imprimir toda la imagen 6 solo una parte de ella previamente seleccionada. Esta será impresa en la parte superior izquierda de la hoja. El tamaño de la imagen impresa es el mismo al de la imagen digitalizada.

EXIT: Esta opción es utilizada para abandonar la ventan de NScan y retornar a MS-DOS Executiwe. solo hagase click en la opción Exit o bien pulse Alt-F.

Aserca de NScan: Presenta imformación de los derechos de autor.

U t i l e r i a p a r d scaner de mano.

Uers ion l. 00 I LOGiTEEH

Copyright(c)l 1990, 1991 UCIM-I

U

Page 117: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

O

PROGRAMA NEURONA;

CONST

MACROS DEFINIDAS PARA EL MODULO NEURO-ED1T.C

IZQUIERDA

ARRIBA

DERECHA

ABAJO

LINEAS-HOR

LINEAS-VER

INC-X

1NC"Y

CURSOR-X

CURSOR-Y

RELLENO-NORMAL

RELLENA-BLOQUE

LIMPIA-BLOQUE

F2

F3

F4

F5

INS

DEL

FLECHA-DERECHA

FLECHA-IZQUIERDA

FLECHA-ARRIBA

FLECHA-ABAJO

ESC

ENTER

ALT-D

ALT-N

CAR_NULO

SUB- ~DIR

NEURONAS- ENTRADA =

390; { LIMITE IZOUIERDO DE LA RETINA.

65; { LIMITE SUPERIOR DE LA RETINA.

585; { LIMITE DERECHO DE LA RETINA.

305; { LIMITE INPERIROR DE LA RETINA.

13; { LINEAS HORIZONTALES EN LA RETINA.

14; { LINEAS VERTICALES EN LA RETINA.

15; { SEPARACION DE LINEAS VERTICALES.

20; { SEPARACION DE LINEAS HORIZONTALES.

397; { POSICION INICIAL EN X DEL CURSOR.

72; { POSICION INICIAL EN+' DEL CURSOR.

-1; { RELLENO POR LOCALIDAD.

1; { RELLENO POR BLOQUE.

O; { LIMPIA BLOQUE.

60; { SALVA IMAGEN.

61; { CARGA IMAGEN.

62; { APRENDE UN CONJUNTO DE PATRONES.

63; { IDENTIFICA EL PATRON MOSTRADO.

82; { RELLENA UNA LOCALIDAD DE LA RETINA.

83; { BORRA UNA LOCALIDAD DE LA RETINA.

77; { MOVIMIENTO A LA DERECHA.

75; { MOVlMlElVTO A LA IZQUIERDA.

'72; { MOVIMIENTO ARRIBA.

80; { MOVIMIENTO ABAJO.

27; { TERMINA, EJECUCION.

13; { SALTO DE LINEA.

32; { ACTIVA I30RRADO POR BLOQUE

49; { ACTIVA EDICION NORMAL.

*\O';

'A:\\PATRONES\\';

156; { NEURONAS EN EL NIVEL DE ENTRADA.

NEURONAS_OCULTAS = 26; { NEURONAS EN EL NIVEL OCULTO.

NEURONAS-SALIDA = 1; { NEURONAS EN EL NIVEL DE SALIDA.

OCULTO = 1; { IDENTIFICADOR PARA EL NIVEL OCULTO.

SALIDA := 2; { IDENTIFICADOK PARA EL NIVEL DE SALIDA.

Page 118: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

NEURO-ED

PROCEDURE INISISTEMAGRAFICO;

SE INSTALA EL MODO GRAFICO EN LA PANTALLA. UNICAMENTE SE

PUEDE TRABAJAR CON MONITOR EGA/VGA .

PROCEDURE VENTANA(X1 :INTEGER;Yl :INTEGER;X2 :INTEGER;Y2 :INTEGER;

FONDO :INTEGER;RELLENO :INTEGER;COLOR :INTEGER);

CREA UNA VENTANA UTILIZANDO LA FUNCION BAR3D() DE TURBO PASCAL

PARAMETROS X1 ,Y1 ,X2,Y2 - LAS POSICIONES DEL MARCO DE LA VENTANA

FONDO - FONDO DE LA VENTANA

RELLENO - RELLENO DE LA VENTANA

COLOR - COLOR DE LA VENTANA

PROCEDURE MENSAJE (X : INTEGER; Y : INTEGER; LETRA : INTEGER;

DIRECCI0N;INTEGER; TAM :INTEGER;

MENSAJE : STRING[501);

DESPLIEGA EN PANTALLA LA CADENA APUNTADA POR EL PARAMETRO

MENSAJE

PARAMETROS : X,Y - POSICION DEL MENSAJE

LETRA - TIPO DE LETRA DEL MENSAJE

DlRECClON - SI ES HORIZONTAL O VERTICAL EL MENSAJE

TAMANO - I-AMANO DE LAS LETRAS

Page 119: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PROCEDURE ERROR(MENSAJE :STRING[501)

DESPLIEGA EL MENSAJE DE ERROR CONTENIDO EN LA CADENA

APUNTADA POR EL PARAMETRO MENSAJE

PARAMETROS : MENSAJE - MENSAJE DE ERROR A DESPLEGARSE

PROCEDURE PIDEARCHIVO(N0MARCH :STRlhlG1501)

SE SOLICITA UNA CADENA QUE ES DEVUELTA SOBRE LS CADENA

APUNTADA DOR EL PARAMETRO MENSAJE

PARAMETROS : NOMARCH - NOMBRE DEL ARCHIVO A PROCESAR

PROCEDURE RESULTADOS(VAR VALOR :REAI-;VAR PROB :REAL);

DESPLIEGA LOS RESULTADOS OBTENIDOS DESPUES DE HABER

RECONOCIDO UN PATRON

PARAMETROS VALOR - VALOR DEL PATRON ASOCIADO

PROB - LA PROBABILIDAD DE ACIERTO DEL PATRON

Page 120: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PROCEDURE ESCRIBEIMAGEN(F1LE "APARCH)

PARAMETROS : APARCH - ES EL APUNTADOR A LA IMAGEN DEL PATRON

PROCEDURE LEEIMAGEN(F1LE "APARCH)

LEE DEL ARCIVO APUNTADO POR APARCH UNA IMAGEN Y LA

ALMACENA EN EL ARREGLO MEM0RIA.NiVELENTRADA. LA LONGITUD DEL

ARREGLO E S : NEURONAS-ENTRADA

PARAMETROS : APARCH - ES EL APUNTADOIR A LA IMAGEN DEL PATRON

PROCEDURE DESPLIEGAIMAGEN;

DESPLIEGA SOBRE LA RETINA DIBUJADA EN LA PANTALLA LA IMAGEN

CONTENIDA EN EL ARREGLO MEMORIA.NIVELENTRADA.

PROCEDURE PARPADEOIMAGEN;

APAGA Y ENCIENDE LAS LOCALIDADES ENCENDIDAS DEL PATRON

MOSTRADO EN LA RETINA

Page 121: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PROCEDURE PANTALLA:

DESPLIEGA LAS VENTANAS Y MENSAJES QUE CONFORMAN EL

AMBIENTE DEL PROGRAMA

PROCEDURE DIBUJARETINA:

DIB!JJA LA CUADRICULA SOBRE LA QUE SE REALIZARA LA EDlClON Y

DESPLEGADO DEL PATRONES

PROCEDURE PONCURSOR(1NT X, INT Y, INT COLOR)

DIBUJA UN CURSOR EN FORMA DE FLECHA, EN LA POSICION Y COLOR

INDICADOS POR LOS PARAMETROS DE LA FlJNClON

PARAMETROS : X, Y - POSICION DONDE SE COLOCARA EL CURSOR

COLOR - EL COLOR DEL CURSOR

PROCEDURE SELECCIONAOPCION:

PERMITE SELECCIONAR Y EJECUTAR CADA UNA DE LAS OPCIONES QUE

SE INDICAN EN LA PANTALLA. AL PRESIONAR ESC SE TERMINA LA EJECUCION

DEL PROGRAMA

Page 122: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PHDCEDURE MOVIMIENTODERECHA:

PERMITE DESPLAZARSE SO5;E LA RETINA, UNA LOCALIDAD A LA

X q E C H A DE LA POSICION ACTUAL

SS3CEDURE MOVIMIENTOIZQUIERDA:

PERMITE DESPLAZARSE SOBRE LA RETINA, UNA LOCALIDAD A LA

.- LJIERDA DE LA POSICION ACTUAL - c

223CEDURE MOVIMIENTOARRIBA:

PERMITE DESPLAZARSE SOBRE LA RE!TINA, UNA LOCALIDAD ARRIBA DE

SOSICION ACTUAL

273CEDURE MOVIMIENTOABAJO;

PERMITE DESPLAZARSE SOBRE LA RETINA, UNA LOCALIDAD ABAJO DE

,A W E K I O N ACTIJAL

;?C)CEDURE RELLENALOC:

RELLENA LA LOCALIDAD ACTUALMENTE APUNTADA POR EL CURSOR

Page 123: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PROCEDURE LIMPIALOC;

LIMPIA LA LOCALIDAD ACTUALMENTE APUNTADA POR EL CURSOR

PROCEDURE LIMPIARETINA;

LIMPIA LA RETINA COMPLETA

PROCEDURE CAPTURACADENA(X :INTEGER;” :INTEGER;CAD :STRlNGISOI);

RECIBE UNA CADENA DEL TECLADO EMITIENDO EL ECO DE CADA

CARACTER CAPTURADO

PARAMETROS X, Y - POSICION DONDE SE CAPTURARA LA CADENA

CAD - CADENA A RECIBIR

FUNCTION SALVAIMAGEN : INTEGER;

SOLICITA EL NOMBRE DEL ARCHIVO SOBRE EL CUAL ALMACENARA LA

IMAGEN QUE ACTUALMENTE APARECE EN LA RETINA. SI EL ARCHIVO NO

EXISTE SE CREA. TODAS LAS IMAGENES SE GUARDAN EN EL SUBDlRECTORlO

A:\PATRONES

Page 124: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FUNCTION CARGAIMAGEN : INTEGER:

SE SOLICITA EL NOMBRE DEL ARCHIVO DEL CUAL SE CARGARA UNA

IMAGEN. SI EL ARCHIVO NO EXiSTE SE ENVIA UN MENSAJE DE ERROR, EN

CASO CONTRARIO SE DESPLIEGA EN LA RETINA LA IMAGEN CARGADA. TODAS

LA IMAGENES SE TOMAN DEL SUBDIRECTORIO A:\PATRONES

FUNCTION APRENDEIMAGEN(PATR0N : STRING[501) : INTEGER;

REALIZA EL APRENDIZAJE DEL PATRON ALMACENADO EN EL ARCHIVO

PATRON.

SI EL ARCHIVO NO EXISTE SE ENVIA UN MENSAJE DE ERROR .

PARAMETROS : PATRON - E S EL NOMBRE DEL ARCHIVO A CARGAR

PROCEDURE RECONOCEIMAGEN;

REALIZA EL RECONOCIMIENTO GEL PATRON MOSTRADO EN LA RETINA.

ES NECE SARI0 HABER ENTRENADO A LA RED ANTES DE APLICAR UN

RECONOCIMIENTO

PROCEDURE APRENDEPATRONES;

REALIZA EL APRENDIZAJE DE LETRAS IA..ZI APLICANDO PARA CADA

UNA DE ELLAS UNA LA FUNCION APRENDE PATRON

Page 125: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PROCEDURE TERMINAEJECUCION;

ESTA FUNCION PERMITE TERMINAR LA EJECUCION DEL PROGRAMA. SI

SE CONFIRMA LA TERMINACION DE EJECUCION SE RESTAURA LA PANTALLA A

MODO TEXTO, EN CASO CONTRARIO :SE PUEDE CONTINUAR CON LA

OPERACION DEL PROGRAMA.

.,

NEURO - LI

PROCEDURE INlClALlZANIVELENTRADA(VALC)R : INTEGER);

ESTA FUNCION INICIALIZA EL NIVEL DE ENTRADA CON EL VALOR

CONTENIDO EN EL PARAMETRO VALOR.

PARAMETROS : VALOR - ES EL VALOR CON QUE SE INICIALIZARA EL NIVEL DE

ENTRADA

PROCEDURE INICIALIZAPESOS(VAL0R : REAL);

INICIALIZA LAS MATRICES DE PESOS DEL NIVEL DE ENTRADA HACIA EL

NIVEL OCULTO Y DEL NIVEL OCULTO HACIA EiL NIVEL DE SALIDA.

PARAMETROS : VALOR - ES EL VALOR DE INICIALIZACION DEL NIVEL

Page 126: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

PROCEDURE INICIALIZAMEMORIA;

lNlClALlZA LAS ESTRUCTURA QUE CONFORMAN LA RED: MATRICESV

DE PESOS Y EL NIVEL DE ENTRADA A LA RED.

PROCEDURE ASIGNAPESO(DE : INTEGER; HACIA : INTEGER; NIVEL : INTEGER;

VALOR : REAL);

ASIGNA UN VALOR A UNA LOCALIDAD DE LA MATRiZ DE PESOS. LA

MATRIZQUE SE ACTUALIZARA ESTA ESPECIFICADA POR EL PARAMETRO NIVEL.

LA LOCALIDAD QUE SERA ACTUALIZADA LJ4 DEFINEN LOS PARAMETROS DE Y

HACIA.

w

PARAMETROS : DE, HACIA - ES LA LOCALIDAD QUE ES ACTUALIZADA

NIVEL - CUAL EL EL NllVEL DE ACTUALIZACION

VALOR - EL VALOR DE ACTUALIZACION

PROCEDURE APRENDIZAJE:

ESTA FUNCION REALIZA EL APRENDIZAJE DE UN PATRON CONTENIDO

EN EL NIVEL DE ENTRADA ASOCIANDO A CADA LIGA ENTRE LAS NEURONAS

DEL NIVEL DE ENTRADA Y LAS NEURONAS DEL NIVEL OCULTO UN VALOR

QUE CORRESPONDE A ( I / # DE PIXELES ENCENDIDOS) SI LA NEURONA EN EL NIVEL DE ENTRADA ESTA EN 1. LOS PESOS ENTRE EL NIVEL OCULTO Y EL DE

SALIDA CORRESPONDEN A LA RESPUESTA DESEADA. A CADA PATRON SE LE

ASOCIA UNA NEURONA EN EL NIVEL OCULTO.

Page 127: REDES IlEUROllIlLES - 148.206.53.84148.206.53.84/tesiuami/UAM7224.pdf · Reconoclmlento de Caracteres Por REDES IlEUROllIlLES Depto. de Cien,cias Básicas e Ingeniería . ... 1.1.5

FUNCTION SUMAPESOS( NEURQNA : INTEGER; NIVEL : INTEGER) : REAL;

REALIZA LA SUMA SOBRE UNA MATRIZ DE PESOS ENTRE TODAS LAS

NEURONAS DE UN NIVEL HACIA UNA SOL% NEURONA EN EL NIVEL SUPERIOR.

LA MATRIZ SOBRE LA QUE SE REALIZARA LA SUMA ESTA ESPECIFICADA POR

EL PARAMETRO NIVEL.

PARAMETROS : NEURONA - ES EL RESULTADO DE LA SUMA DE LOS

VALORES DE LAS NEURONAS

NIVEL - ES LA MATRIZ SOBRE LA CUAL SE REALIZARA

LA SUMA

.. PROCEDURE PATRONASOCIADO;

ESTA FUNCION ASOCIA EL PATRON MAS PARECIDO AL QUE SE INTRODUJO EF4

EL NIVEL DE ENTRADA PARA SER IDENTIFICADO. LA ASOClAClON SE REALIZA

MEDIANTE LA IDENTIFICACION DEL MAYOR PESO EN EL NIVEL OCULTO.

PROCEDURE ACTIVAMEMORIA;

ESTA FUNCION PERMITE REALIZAR EL RECONOCIMIENTO DEL PATRON

CONTENIDO EN EL NIVEL DE ENTRADA. EL RECONOCIMINETO SE REALIZA

MEDIANTE LA SUMA DE PESOS ENTRE El- NIVEL DE ENTRADA Y EL NIVEL

OCULTO; SE ELIGE COMO PATRON MAS PFIOBABLE A AQUEL CUYA SUMA DE

PESOS SEA LA MAYOR.