redesneuronalesapunte.doc

70
Desarrollos Inteligentes Redes Neuronales CAPÍTULO 2 REDES NEURONALES “El genio es uno por ciento de inspiración y un noventa y nueve por ciento de transpiración” Thomas A. Edison Objetivo 2

Upload: kary-jimenez

Post on 25-Sep-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

CAPTULO 2

Desarrollos Inteligentes Redes Neuronales

CAPTULO 2REDES NEURONALES

El genio es uno por ciento de inspiracin y un

noventa y nueve por ciento de transpiracin

Thomas A. Edison Objetivo

El estudiante comprender los conceptos de redes neuronales as como diferentes topologas y modelos de redes neuronales.Redes Neuronales.Las redes neuronales artificiales o sistemas neuronales artificiales, representan un rea importante de la Inteligencia Artificial (IA), aunque tambin existen otras disciplinas en las que se incluyen trabajos relativos, entre ellas estn la electrnica, fsica, biologa, y la psicologa.

En el presente captulo se estudian las redes neuronales artificiales (RNAs) desde la perspectiva de la I A, en principio se presentan algunos conceptos principales siendo el modelo de McCulloch y Pitts el medio por el cual se introduce al lector en este campo. Posteriormente se revisan algunas topologas, sus tcnicas de aprendizaje y los mtodos de entrenamiento.

Un modelo significativo lo constituye la red Backpropagation (BPN), debido a que ha sido aplicado por los investigadores y desarrolladores en la mayora de sus proyectos, por ello se le ha designado para su anlisis una seccin especfica.

Resulta conveniente asimismo estudiar otros modelos de RNAs con el propsito de ampliar el conocimiento de las redes neuronales y no permanecer con la idea de que la red BPN es la nica a utilizar en los desarrollos inteligentes, un de ellos es el modelo de Cohonen.

Se concluye este captulo con la presentacin de diversas aplicaciones.2.1 Modelo de Mc Culloch Pitts.Los trabajos desarrollados por Warren Sturgis McCulloch y Walter Pitts en el Departamento de Psiquiatra de la Universidad de Illinois en Chicago, durante el perodo de 1941 a 1952, establecieron una base importante para el conocimiento de las redes neuronales. En 1943 publican A logical Calculus of the ideas Immanent in Nervous Activity, y en 1947 How We Know Universals: The Perception of Auditory and Visual Forms. Posteriormente en 1952 McCulloch se incorpora al laboratorio de investigaciones electrnicas del Massachusets Institute of Technology, en donde investig acerca de un modelo de red neuronal para examinar el sistema de percepcin visual en el ojo de la rana y el procesamiento de la informacin en el cerebro.En estos artculos, McCulloch y Pitts analizan los procesos de cmputo realizados por las neuronas, no se ocupan de los aspectos fisiolgicos y morfolgicos de las neuronas, mas bien se enfocan a estudiar las caractersticas y capacidades computacionales del modelo que proponen, caracterizndolo como un dispositivo lgico; de esta forma, el modelo neuronal es planteado a travs de un modelo matemtico.

McCulloch y Pitts parten de cinco consideraciones acerca del comportamiento de las neuronas:

1. La actividad neuronal es un proceso "todo o nada".

2. Un cierto nmero fijo de sinpsis debe ser excitado dentro de un perodo de adicin latente en orden de excitar una neurona en cualquier intervalo de tiempo, y este nmero es independiente de la actividad previa y la posicin de la neurona.

3. El nico retardo significativo dentro del sistema es el retardo sinptico.

4. La actividad de cualquier sinpsis inhibitoria previene absolutamente la excitacin de la neurona en ese intervalo de tiempo.

5. La estructura de la red no cambia con el tiempo.

( htpp://proton.ucting.udg.mx/somi/memorias/cibernetica/cib_20.pdf)Como puede verse, han aparecido algunos trminos que es conveniente clarificar, a continuacin se establecen algunas conceptualizaciones pertinentes.

McCulloch y Pitts se basan en el cerebro biolgico tal como se encuentra en los seres vivos, entre ellos el hombre y algunos animales. Las clulas que conforman estos rganos son llamadas neuronas, cada unidad presenta una serie de conexiones con otras neuronas mediante una serie de pequeas ramificaciones llamadas dendritas operando a manera de entradas de seales, cada clula realiza una transformacin de las entradas generando as una seal de salida, la cual es enviada a travs de un componente llamado axn a otras neuronas, el punto preciso de contacto entre el axn y la dendrita se le denomina sinapsis, as conectadas las neuronas conforman estructuras similares al concepto de una red.

A este conjunto de consideraciones y conceptualizaciones es lo que se ha dado en llamar modelo de neurona de McCulloch y Pitts, de este modelo se pueden obtener algunos razonamientos explicativos:

La neurona de McCulloch y Pitts es un modelo lgico binario, ya que solo puede exhibir uno de dos estados. Las entradas pueden ser de dos tipos: las excitatorias que operan en forma positiva para que se presente el disparo, es decir la seal de salida, y las inhibitorias que operan en forma negativa oponindose al disparo. Hay un lapso de tiempo dado fijo para la integracin de las entradas sinpticas, basado en el retardo sinptico observado; esto le da a la neurona su carcter de trabajo en tiempo discreto.

Efectan una serie de simplificaciones a la actividad neuronal, como son el considerar que cada entrada sinptica tiene una misma significancia (mismo peso), que no existen ciclos de realimentacin en la red, y que existe un valor lmite de acumulacin de energa entrante (umbral) de valor discreto y fijo, el cual si es rebasado permite que la neurona dispare su seal de salida.2.1.1 Representacin y funcionalidad del modelo.El proceso de clculo en una neurona se puede mostrar utilizando una representacin grfica como se muestra en la figura 2.1.

Figura 2.1 Representacin grfica de una neurona y sus tipos de conexiones. (http://es.wikipedia.org/neurona_de_McCulloch-Pitts)

Matemticamente esto se puede expresar mediante:

O = s(red)

En donde:

es la suma pesada. Xi es el valor de la i-sima entrada (input). Wi es el peso (weights) de la conexin entre la i-sima entrada y la neurona. es el valor umbral (threshold) O es la salida (output) de la neurona.

S es la funcin no-lineal conocida como funcin de activacin. La funcin de activacin que se usa es:

Un ejemplo de su funcionamiento lo podemos tener si consideramos una neurona de este tipo con dos sinpsis excitatorias a su entrada, considerando unitario el peso de cada una de estas, y un valor umbral de 2.

Es decir:

Si W1 =w2 = 1

= 2Se pueden presentar las siguientes situaciones:x1 x2 red s(red)

0 0 -2 0

1 0 -1 0

0 1 -1 01 1 0 1

Se tendr por lo tanto un comportamiento lgico de una compuerta tipo AND.

2.1.2 Algunas conclusiones respecto al modelo.

McCulloch y Pitts en su trabajo establecieron lo siguiente:

"La regla "todo o nada" de la actividad nerviosa es suficiente para asegurar que la actividad de cualquier neurona puede ser representada como una proposicin. Las relaciones fisiolgicas que existen entre las actividades nerviosas corresponden, desde luego, a relaciones entre las proposiciones; y la utilidad de la representacin depende de la identidad de estas relaciones con aquellas de la lgica de proposiciones".

Resulta claro que si con una neurona se puede obtener el comportamiento de una proposicin lgica, entonces con una red de neuronas se puede efectuar el clculo de una proposicin lgica compleja. Sugiere esto que el cerebro era potencialmente un dispositivo lgico y computacional.

Es conveniente clarificar en este momento, que los trabajos de McCulloch y Pitts fueron desarrollados en una poca en que an no se contaba con los adelantos cientficos en neurofisiologa, como para poder contar con principios de funcionamiento inico y elctrico de la actividad neuronal, y poder establecer que el comportamiento de las neuronas naturales son ms bien de un convertidor frecuencia-voltaje que como simples compuertas lgicas. Sin embargo el potencial de este trabajo sigue siendo de importancia vital, pues su influencia en los modelos subsecuentes de RNAs es innegable.

2.2 Topologas.El nmero de modelos y tipos de RNAs se ha incrementado considerablemente a tal grado que es necesario establecer una clasificacin de ellas, para efectuar una taxonoma se requiere realizar una descripcin formal de la topologa de las redes, es decir su arquitectura o estructura, que consiste en la organizacin de las neuronas en la red mediante capas, el nmero de estas capas, el nmero de neuronas por capa, el grado de conectividad y el tipo de conexiones entre neuronas; asimismo es conveniente definir un modelo genrico de RNA, en la presente seccin estableceremos estos elementos.

2.2.1 Modelo genrico de RNA. Definicin formal de una RNA.

Una definicin formal utiliza el concepto de grafo, el cual se establece como un objeto consistente de un conjunto de nodos o vrtices, ms un conjunto de conexiones (links) entre ellos. Una forma de representar el grafo es, dibujando los nodos como crculos y las conexiones como lneas o flechas.

Definicin: Una red Neuronal artificial es un grafo dirigido, con las siguientes propiedades:

1)A cada nodo i se asocia una variable de estado Xi.

2)A cada conexin (i,j) de los nodos i,j se asocia un peso Wij .

3)A cada nodo i se asocia un umbral i.

4)Para cada nodo i se define una funcin fi(Xj,Wij, i) que depende de los pesos de sus conexiones, del umbral y de los estados de los nodos j a l conectados. Esta funcin proporciona el nuevo estado del nodo.

(Martn del bro, 2007,pp24)

Una red neuronal artificial (RNA) est configurada principalmente por un conjunto de elementos de proceso (EP), los cuales simulan el comportamiento de las neuronas naturales del cerebro, tales elementos se encuentran integrados por capas, siendo as posible tener en una red neuronal una capa de entrada, una o ms capas ocultas y una capa de salida; se tienen conexiones entre neuronas, cada neurona o elemento de proceso, recibe un conjunto de seales de entrada, las cuales pueden provenir de otras neuronas como es el caso de las capas ocultas y de salida ( ver figura 2.1), o bien provenir de algn dispositivo externo como es el caso de las neuronas de la capa de entrada, y generan una seal de salida, la cual es el resultado de su proceso interno.

Figura 2.2.1 Arquitectura general de una red neuronal Los conectores entre neuronas permiten la conectividad y representan otra parte importante en la topologa de las RNAs, los cuales pueden conectar neuronas de capas diferentes, de la misma capa o a una neurona consigo misma, las conexiones pueden ser totales o parciales entre capas.

A cada conector entre neuronas se le asocia un factor de peso (W), el cual simula la sinapsis de las neuronas naturales, la cual es el punto de conexin entre una neurona y otra, y que se le atribuyen propiedades importantes para el aprendizaje.

El elemento central de una RNA es el elemento de proceso (EP) o neurona, que es en donde se realiza el proceso individual, el cual consiste en obtener primero el clculo de su entrada neta (Netaj ), mediante la expresin siguiente:

n

Netaj = Wi *Xi

i=1

En donde: Wi es el peso de la conexin de entrada que

proviene de la i-sima neurona.

Xi es la seal de entrada que proviene de la

i-sima neurona.

n es el nmero de neuronas de entrada.

Posteriormente se obtiene la seal de salida (Yj) de la neurona, mediante la aplicacin de una funcin de activacin (treshold)

f(Netaj ), de la siguiente manera:

Yj = f(Netaj )

En donde:

f(Netaj ) es la funcin de activacin de la

j-sima neurona.

Al definir la topologa y configuracin de una red neuronal, se deben establecer todos y cada uno de estos elementos, es decir, se debe especificar:

- De cuantas capas constar la red.

- Cuantas neuronas se incluirn en cada capa.

- Cual ser la conectividad en la red.

- Qu funcin de activacin se utilizar.

- Qu modelo de aprendizaje se utilizar.

- Y como estar codificada la informacin de entrada

y de salida de la red.

(Hilera Gonzlez Jos Ramn,1995,)

2.2.2 Tipos de redes neuronales artificiales.En atencin a diferentes aspectos de las RNAs, pueden establecerse diferentes tipos de arquitecturas neuronales, a continuacin se indican algunas formas de clasificacin:

En relacin a su estructura en capas, se pueden dividir en redes monocapa (constan de una sola capa) y redes multicapa (cuyas neuronas se organizan en mltiples capas).

Considerando el flujo de datos en el sistema, se pueden tener redes unidireccionales (en la cuales el flujo es solamente en la direccin que v de las neuronas de entrada hacia las de salida, tambin llamadas feedforward), y redes recurrentes o realimentadas (la informacin puede fluir en cualquier sentido, incluido el de la salida hacia la entrada por eso se denominan feedback).

Atendiendo a la operacin de una RNA como a la de una memoria capaz de asociar un cierto patrn de entrada con algn patrn de salida, se puede hablar de una red autoasociativa (si el patrn de entrada es el mismo que el de salida), o una red heteroasociativa (si el patrn de entrada es diferente al de salida).

El mecanismo de aprendizaje es otro aspecto que permite clasificar las RNAs, el aprendizaje es el proceso mediante el cual una red modifica sus pesos en funcin a una informacin de entrada, es as que dependiendo de la naturaleza de la regla de aprendizaje se pueden tener redes neuronales con aprendizaje supervisado o redes con aprendizaje no supervisado; la diferencia entre ambos consiste en la existencia o no de un agente externo(supervisor) que controle dicho proceso, si coexisten los dos tipos entonces se tendr una red hbrida, y si se establece un proceso intermedio entre ambos se tendr una red de aprendizaje reforzado.

Otro criterio relacionado tambin con el aprendizaje, lo constituye el hecho si la red puede aprender durante su funcionamiento normal lo cual define a las redes con aprendizaje en lnea ( On Line), o bien si el aprendizaje implica la desconexin de la red, es decir opera en otro modo del normal (denominado Of Line ).

Tambin se pueden clasificar las RNAs en funcin de la forma de representacin de la informacin de entrada y la de salida, algunas solo permiten ciertos conjuntos de valores discretos dando as lugar a las redes binarias, otras pueden manejar valores numricos reales en entradas y salidas lo cual constituye el tipo analgico, asimismo se pueden tener modelos que trabajan con representaciones de datos difusos obtenindose as las redes difusas (fuzzy).

2.3 Tcnicas de aprendizaje.Con el propsito de revisar algunas de las tcnicas de aprendizaje, tomaremos como ejemplos algunos de los modelos de redes ms tpicos como son las redes unidireccionales organizadas en capas con aprendizaje supervisado.

Un concepto importante lo constituye el de aprendizaje, la corriente conductista en Psicologa establece que: El aprender consiste en una modificacin de la conducta, de tal manera que ante un estmulo A la respuesta ya no es X , sino Y (Gutierrez Saenz Ral, 1996, pp 22). Esta definicin establecida no en el contexto de las redes neuronales, aplica de una manera casi completa a los procesos y tcnicas de aprendizaje utilizadas en ellas.

En la presente seccin se tratarn los siguientes aspectos relacionados con las tcnicas de aprendizaje: El mecanismo bsico de aprendizaje en las RNAs, las reglas de aprendizaje ms comunes y los paradigmas de las arquitecturas empleados en ellas.

2.3.1 El mecanismo bsico de aprendizaje.Como se estableci en la seccin 2.1, una red neuronal consiste de un conjunto de elementos de proceso (EP) denominados neuronas, las cuales se encuentran agrupadas en subconjuntos llamados capas, cada elemento j recibe un conjunto de entradas Xi, las cuales provienen de cada una de las neuronas i pertenecientes a la capa anterior, a cada una de estas entradas se le asocia un valor numrico Wij llamado peso de conexin entre las neuronas i y la j segn se muestra en la figura 2.3.1.

Figura 2.3.1 Elemento de proceso de una red neuronalLa neurona j-sima realiza su proceso sumando los productos de los valores de entrada Xi por los pesos Wij, obteniendo as el valor denominado Neta. n

Neta = Wij * Xi

i = 0

A este valor obtenido de Neta, se le aplica la funcin f conocida como funcin de transferencia, obtenindose as el valor de salida Yj.

Yj = f(Neta)

Se utilizan diferentes tipos de funciones de transferencia, por ejemplo: la funcin escaln, el sigmoide, el seno, o algunas funciones lineales. Esta funcin es definida en tiempo de diseo y no se cambia dinmicamente sino que se mantiene fija.

Sin embargo los pesos Wij son variables, ellos son ajustados dinmicamente para producir un cierto valor de salida Yj , esta modificacin de los pesos es lo que constituye la esencia del aprendizaje en una sola neurona, ajustar los pesos a nivel de toda una red conforma el comportamiento inteligente del sistema emulando el acto de aprender.

El proceso de ajuste de los pesos se debe realizar siguiendo una frmula matemtica denominada regla de aprendizaje, la cual representa la clave para realizar el objetivo deseado, a dicho proceso se le conoce como entrenamiento.

Aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una entrada externa (McCord Nelson Marilyn,1991, pp131) .

2.3.2 Reglas de aprendizaje ms comunesLos investigadores han continuado desarrollando nuevas reglas de aprendizaje, sin embargo existen algunas que normalmente se utilizan. A continuacin se revisarn algunas de estas.

Regla de HebbEsta regla es un modelo clsico de aprendizaje, fue establecida por Donald Hebb en 1949, esta basado en una forma de aprendizaje en las neuronas biolgicas, y que se puede enunciar de la siguiente manera:

Si un axn presinptico causa la activacin de cierta neurona postsinptica, la eficacia de la sinapsis que las relaciona se refuerza

(Martn del Bro Bonifacio, 2007, pp 44)

Lo cual aplicado a un elemento de proceso en una RNA, se podra establecer de la siguiente manera:

La modificacin al peso Wij que conecta la neurona i con la j, de un instante t a otro instante t + t , expresado mediante:

Wij (t + t) = Wij(t) + Wij

El incremento Wij se calcula de una manera proporcional al producto de la entrada Xi por la salida Yj segn se indica en la siguiente expresin:

Wij = XiYj

En donde es un parmetro de proporcionalidad denominado ritmo de aprendizaje, que puede ser un valor entre 0 y 1.

Regla deltaEst basada en la idea de continuar modificando el refuerzo de las conexiones para reducir la diferencia entre el valor de la salida deseada y el valor de la salida actual de una neurona, a esta regla tambin se le conoce como regla de Widrow Hoff utilizada en el modelo de red ADALINE e introducida por Widrow en 1959. Tambin se aplica en la regla LMS (Least Mean Squares).Regla del Gradiente descendenteEsta regla representa un enfoque matemtico para minimizar el error entre la salida actual y la deseada. Los pesos son modificados por una cantidad proporcional a la primera derivada del error con respecto al peso.

Ley de aprendizaje de KohonenDesarrollada por Teuvo Cohonen e inspirada por el aprendizaje en sistemas biolgicos, es empleada solamente en aprendizaje no supervisado, en este modelo las neuronas compiten por la oportunidad de aprender, el elemento con la mayor salida es declarado ganador, y tiene la capacidad de inhibir a sus competidores y excitar a sus vecinos. Solamente el ganador puede proporcionar una salida, y junto con sus vecinos puede modificar sus pesos.

El tamao de la vecindad puede variar dinmicamente, inicialmente se emplean valores grandes y posteriormente se va reduciendo el rango de valores.

Regla de aprendizaje Back PropagationEsta tcnica es la generalizacin ms comnmente utilizada de la regla delta, involucra dos fases: La primera fase conocida como fordward phase ocurre cuando se presenta una entrada a la red, la cual es propagada por toda la red hacia delante en direccin de la capa de salida ; la segunda llamada Backward phase se realiza hacia atrs, de la capa de salida hacia la capa de entrada, el error es el que se propaga, es decir, los pesos se ajustan de acuerdo al valor de error cometido.

Esta tcnica ser analizada en detalle posteriormente.Regla de GrossbergStephen Grossberg estableci una regla de aprendizaje combinando el aprendizaje Hebbiano con el olvido biolgico.

Cada red neuronal es hecha de instars y outstars, un instar es una neurona recibiendo muchas entradas, un outstar es una neurona enviando su salida a muchas otras neuronas. Si la actividad entrante y saliente de una neurona es alta, los pesos cambiarn significativamente, sin embargo si ambas seales de entrada y salida son pequeas, entonces los pesos sern modificados en valores muy pequeos, los cuales pueden ser considerados como conexiones sin importancia y pueden ser olvidados. El tipo de red neuronal a la que se aplica esta regla es la ART.2.4 Mtodos de entrenamiento.Entrenamiento es el proceso mediante el cual una red neuronal aprende. El formador provee a la red con ejemplos de las respuestas deseadas, a los cuales se les conoce como patrones de entrenamiento, la diferencia entre la salida obtenida y la salida deseada representa la pauta y medida de ajuste de los pesos de conexin, esto se realiza utilizando una regla de aprendizaje, posteriormente se prueba con ejemplos sin salidas para los cuales la red debe crear grupos con caractersticas similares, a estos patrones se les denomina patrones de prueba.

El entrenamiento podra incluir actividades como proveer acceso a bases de datos en donde radican los patrones de entrenamiento, colocar objetos frente a sensores de algn tipo, o bien presentar imgenes.

Despus del entrenamiento, el sistema est listo para utilizarse. Dependiendo de la tarea a ser realizada, la red podra almacenar los valores de los pesos ptimos, y deshabilitar el proceso de aprendizaje, e iniciar la siguiente fase que es la de operacin, esto se realiza en la mayora de las redes neuronales, excepto para aquellas en las cuales se debe continuar ajustando los pesos para adaptarse a condiciones cambiantes, tal como sistemas que efectan procesos de control en tiempo real.

Cuando se disea una red, se parte de un cierto modelo de neurona y de una cierta arquitectura de la red, para que esta resulte operativa es necesario entrenarla, siendo as requerido utilizar un mtodo apropiado. El entrenamiento se puede realizar en dos niveles, el ms utilizado es el modelado de las sinapsis, que consiste en modificar los pesos de conexin siguiendo una cierta regla de aprendizaje, la cual busca optimizar una funcin de error o costo que mide la eficacia de operacin de la red.

Otros sistemas neuronales consideran un nivel mayor de aprendizaje, el cual consiste en la creacin o destruccin de neuronas modificando inclusive la arquitectura de la red.

En la presente seccin se revisarn algunos de los mtodos bsicos de entrenamiento en general y se analizarn ejemplos especficos ilustrativos de entrenamiento, ya que en secciones posteriores se estudiarn a profundidad los mtodos que se aplican con ms frecuencia.

Aprendizaje supervisadoEn el aprendizaje supervisado se presenta a la red un conjunto de patrones junto con la salida deseada, y en forma iterativa se van ajustando los pesos sinpticos hasta que la salida obtenida observe un error mnimo aceptable.

Si E(W) es una funcin de los pesos W, que representa el error esperado de la salida de la red.

En el aprendizaje supervisado se pretende estimar una funcin f desconocida tal que f: n m la cual representa a la red, a partir de muestras o patrones (X,Y) siendo X n, Y m , por medio de la minimizacin iterativa de E(W) utilizando algn algoritmo del tipo de descenso por el gradiente (Martn del Bro Bonifacio, 2007, pp 27).

Aprendizaje no supervisadoEn este mtodo la red no utiliza influencia externa para ajustar sus pesos, en lugar de ello se tiene un sistema de monitoreo interno de la ejecucin del sistema, el cual observa tendencias en las seales de entrada y efecta adaptaciones de acuerdo a la funcin de la red, para ello debe contar con alguna informacin de cmo debe organizarse ella misma. Un ejemplo puede ser una red que aprende a desplazar un objeto mvil en un ambiente dinmico.

Un algoritmo de entrenamiento no supervisado podra enfatizar la cooperacin entre clusters (grupos) de neuronas, cada cluster trabajara en conjunto con otro cluster y tratar de estimularlo segn se presente la seal de entrada. Otra manera de operar podra ser por competencia entre los clusters, de tal manera que se aumente o disminuya la actividad en algunos de ellos segn sea la entrada que se presente, as se podran obtener clusters especializados en cierto tipo de seales entrantes (McCord Nelson Marilyn, Illingwhorth W.T., 1991, pp132) .

En el aprendizaje no supervisado se presenta a la red un conjunto de patrones sin adjuntar la salida deseada. La red por medio de la regla de aprendizaje estima p(X), la cual es una funcin de densidad de probabilidad de los patrones X de entrada, siendo X n . A partir de p(X) puede reconocer regularidades en el conjunto de entradas, extraer rasgos, o agrupar patrones segn su similitud. Un ejemplo tpico de este tipo de aprendizaje es el de los mapas autoorganizados.

Aprendizaje hibridoEn este mtodo de aprendizaje se combinan ambos tipos de entrenamiento, el supervisado y el no supervisado, los cuales tienen lugar normalmente en distintas capas de neuronas. El modelo de contra-propagacin es un ejemplo de esta forma de entrenamiento (Martn del Bro Bonifacio, 2007, pp 28).

Aprendizaje reforzado

Es un tipo de aprendizaje que se puede ubicar entre el supervisado y el autoorganizado. Se emplea informacin sobre el error cometido, pero existe un nica seal de error, no se suministra la salida deseada, tambin se denomina aprendizaje por premio-castigo.

2.5 Back Propagation. La red de propagacin hacia atrs (BPN) fue inicialmente propuesta por Werbos en 1974, posteriormente por Parker en 1982 y finalmente ha sido desarrollada, formalizada y popularizada por David Rumelhart, Hinton y Williams en 1986; este modelo es el que mayor aplicacin tiene en la actualidad para resolver problemas que requieran el reconocimiento de patrones complejos, o bien el aprendizaje de la asociacin entre patrones dados de ejemplos y sus clases correspondientes, en la entrada puede haber tramas incompletas o con ruido, y la red debe asociarlas con mayor aproximacin.

En esta seccin estudiaremos con detalle este tipo de red neuronal y su mtodo de entrenamiento asociado.

La red Backpropagation (propagacin hacia atrs)La red BPN debe su nombre al algoritmo de aprendizaje que se utiliza, el cual est basado en una regla denominada Delta generalizada que es una versin simplificada del mtodo de gradiente descendente, actualmente se desarrollan trabajos tendientes a mejorar la velocidad de convergencia y la posibilidad de eliminar problemas de llegar a mnimos locales durante el entrenamiento, traducindose esto en mejores algoritmos para sta red.

La estructura de la red BPN consiste en una capa de entrada con n neuronas, una capa de salida con m neuronas y una o ms capas ocultas con cualquier nmero de neuronas cada una. Cada neurona de una capa oculta recibe sus entradas desde todas las neuronas de la capa anterior, y enva su salida a todas las neuronas de la capa siguiente, las neuronas de la capa de entrada reciben cada una un componente del patrn de entrada y lo transmiten directamente a todas y cada una de las neuronas de la primera capa oculta (si no hay capas ocultas, lo envan a la capa de salida), las neuronas de la capa de salida reciben sus entradas de todas las neuronas de la ltima capa oculta y transmiten su salida hacia el exterior directamente.

No se tienen conexiones entre neuronas de una misma capa, ni tampoco conexiones hacia atrs de una capa a otra, ni retroalimentacin de una neurona consigo misma, existiendo la posibilidad de tener unidades de polarizacin o de tendencia en todas las capas menos en la de entrada.

El funcionamiento de la red BPN se da de la siguiente manera:

Suponiendo que en principio ya se ha entrenado debidamente, es decir la red ya puede asociar perfectamente (o aproximadamente) tramas de entrada con sus correspondientes tramas de salida, los pesos W de conexin ya se han determinado aceptablemente.

Para la explicacin siguiente supondremos que tenemos una red de tres capas (sin prdida de generalidad), una capa de entrada, una capa de salida y una capa oculta.

Se presenta una trama de entrada X, sus componentes son recibidos por las neuronas de la capa de entrada (se tienen n neuronas), la propagacin hacia adelante se contina determinando la entrada neta a las neuronas de la capa oculta mediante la frmula siguiente:

Neta hi = X1We1hi + X2We2hi + . . . + XnWenhi + h

Para i = 1,m

En donde:

Xj Representa la entrada j-sima a la neurona

i-sima de la capa oculta h.

We1hi Representa el peso de conexin de la k-sima

neurona de entrada a la i-sima neurona de la

capa oculta h.

h Es el factor de tendencia o polarizacin de la capa

oculta h.

La funcin de activacin muy frecuentemente utilizada en la red BPN es la funcin sigmoide dada por la siguiente expresin:

y = f(Neta) = 1/(1+e-Neta)

Aplicando esta funcin en cada neurona de la capa oculta, se obtiene la seal de salida dada por los valores siguientes:

yi = f(Neta hi ) Para i = 1,m

Siendo f la funcin sigmoide.

Las seales yi se propagan hacia la capa de salida, ahora la entrada neta a las neuronas de la capa de salida son determinadas mediante la expresin siguiente:

Neta oj = Wh1oj Yh1 + Wh2oj Yh2+ . . . + Whmoj Yhm + 0

Para j= 1,s

En donde:

Wwhoj Es el peso de conexin de la neurona k-sima de

la capa oculta a la unidad j-sima de salida.

Yhk Es la salida de la neurona k-sima de la capa

oculta .

sEs el nmero de neuronas en la capa de salida.

0 Es el valor de tendencia para la capa de salida.

Finalmente las seales de salida Y son obtenidas nuevamente aplicando la funcin f sigmoide de la siguiente manera:

Yk = f(Neta ok ) Para k = 1,s

Esta seal de salida Y, es el vector que se debe corresponder con el vector de entrada X del mapeo que ha aprendido la red durante su entrenamiento.

La regla Delta Generalizada utilizada en el entrenamiento de la red BPN.Para entrenar una red, cuya fase se mostrar a continuacin, se deben tener los siguientes elementos:

- Un conjunto de datos correspondientes a patrones de entrenamiento dados por los vectores Xp, Dp para p = 1,np siendo np el nmero total de patrones con que se cuenta.

- Un conjunto de datos de prueba denominados patrones de prueba Xd, Dd para d= 1,nd siendo nd el nmero total de patrones.

Los pasos a seguir para el entrenamiento de la red se dan a continuacin, utilizando para ello la regla de aprendizaje denominada Delta Generalizada, que no es otra que el mtodo de gradiente descendiente (Hilera Gonzlez Jos Ramn, 1995):

1. Inicializar los pesos de conexin de la red Wih y Who .

2. Presentar un patrn de entrada Xp a la capa de entrada, y mantener su correspondiente salida deseada Dp.

3. Propagar hacia adelante la seal de entrada Xp mediante los siguientes pasos:

. Calcular las entradas netas a la capa oculta: Netah

. Calcular la salida de la capa oculta Yhr.

. Calcular las entradas netas a la capa de salida Netah.

. Calcular la salida de la capa de salida Y.

4. Calcular el error () de todas las neuronas de la red:

Para las neuronas de la capa de salida:

opk = (Dpk - Ypk )f(Netaok )

Considerando que la funcin f es el sigmoide, entonces el error se determina de la siguiente manera:

opk = (Dpk - Ypk ) Ypk (1-Ypk )

Por otra parte, para las neuronas de la capa oculta, el error se calcula mediante:

hpj = (1 - Xpj ) Xpj opk Wo kj

En donde:

k = 1,s y j = 1,m.

5. Actualizar los pesos:

. De la capa de salida Who mediante la siguiente expresin:

Who (t+1) = Who (t) + opk Y pk

. De la capa oculta Wih mediante la expresin:

Wih (t+1) = Wih (t) + hpj X pi6. Calcular el error cuadrtico dado por la la expresin:

Ep = (1/2)(pk)2

k para k=1,np

Si Ep es menor que un cierto valor de error aceptable predeterminado, entonces terminar, si no ir al paso 2.

2.6 Modelo de Cohonen.As como BackPropagation es el tipo de red neuronal mas utilizada en los modelos supervisados, el de Kohonen es uno de los ms populares modelos no supervisados o autoorganizados, estos ltimos se caracterizan porque en su entrenamiento se presentan patrones que solo contienen datos de entrada sin incluir las salidas deseadas, adems de no requerir un entrenador externo que indique si la red neuronal est operando debidamente, pues no existen salidas deseadas, sino que la red por s misma debe descubrir caractersticas comunes de los datos, regularidades o tendencias y categoras, de tal manera que durante su entrenamiento la red incorpore a su estructura interna, por esto se conoce tambin a este modelo como mapa autoorganizado de Kohonen.

En esta seccin se ver con cierta profundidad lo concerniente a los mapas autoorganizados de Kohonen. En cuanto a su conceptualizacin, clasificacin, entrenamiento y aplicacin.

Los mapas autoorganizadosDurante la dcada de los ochenta el fsico finlands Teuvo Cohonen desarroll los mapas autoorganizados SOM ( Self Organizing Maps) o bien SOFM ( Self Organizing Feature Maps), como una continuacin de la lnea de investigacin de las redes competitivas iniciada por Von der Malsburg (Martn del Bro Bonifacio, 2007, pp 88).

Se puede observar que en el cortex del cerebro de los animales superiores se presentan zonas en donde las neuronas detectoras de rasgos, se distribuyen topolgicamente ordenadas, de tal manera que cada zona posee grupos de neuronas que representan de alguna manera una parte sensora del organismo, como pueden ser las manos, la vista, el odo, etc. Caracterstica que los mapas de Kohonen tratan de reproducir.

La arquitectura de las redes SOFM est constituida por dos capas de neuronas, la primera capa que es la de entrada o sensorial esta formada por m neuronas, una por cada variable de entrada comportndose como buffers que distribuyen la seal proveniente del exterior hacia las neuronas de la segunda capa en forma unidireccional.

La segunda capa est integrada por neuronas que conforman el mapa de rasgos y por tanto ser la capa de salida, que es en donde se realizan los clculos, sus neuronas se organizan en una estructura rectangular de nxn elementos, a cada una se le suelen asociar los ndices i,j.

Cada neurona de entrada (k = 1, m), est conectada a todas las neuronas del mapa de salida (i,j) mediante pesos sinpticos Wkij como se muestra en la figura 2.6.1. (Valluru B. Rao, Hayagriva V. Rao, 1995) Figura 2.6.1 Arquitectura de una red SOFM.

La idea comn de estos modelos es el agrupamiento de patrones, ya que desarrollan clusters (grupos) de neuronas asociadas a dichos patrones.

Clasificacin de las redes autoorganizadasComo ya se mencion anteriormente este tipo de modelos tienen entrenamiento no supervisado y de acuerdo a la regla de aprendizaje, pueden clasificarse en dos grandes categoras: Los mapas autoorganizados Hebbianos y las redes competitivas.

Los mapas autoorganizados Hebbianos como su nombre lo indica utilizan para su aprendizaje una regla tipo Hebb, algunas emplean este modelo directamente, otras derivan reglas diferentes pero basadas en este tipo de modelo de aprendizaje. Estas redes se caracterizan por tener una cantidad numerosa de neuronas de salida que pueden activarse simultneamente.

Otro grupo importante de modelos autoorganizados son las redes no supervisadas competitivas, cuya caracterstica esencial consiste en que solamente una neurona o sus vecinas pueden activarse. Durante el proceso operativo de estas redes se realiza una competencia entre las neuronas, la ganadora tiene la capacidad de inhibir a las dems por eso tambin se conocen a este tipo de modelo como redes WTA (Winner Take All). En cuanto a su proceso de entrenamiento, tambin se lleva a cabo mediante competencia, las neuronas ganadoras refuerzan sus conexiones sinpticas.

Algoritmo de aprendizaje autoorganizadoEn principio es importante sealar que no se tiene un algoritmo de aprendizaje nico para los modelos SOM, existen diversos con variantes en diferentes aspectos, sin embargo la solucin a la que se llega no debe de diferir en forma significativa. A continuacin se muestra un algoritmo tpico (Martn del Bro Bonifacio, 2007, pp 92):

Paso 1. Inicializar los pesos sinpticos Wij.

En el instante t = 0, se pueden inicializar de varias

formas:

- En forma aleatoria

- Valores nulos

- Con un valor preestablecido

Paso 2. Presentar un patrn X(t) de entrada.

Paso 3. Cada neurona i-sima (con coordenadas i,j en el mapa)

calcula la similitud entre su vector de peso sinptico Wij y el

actual vector X de entrada. Un criterio muy comn de

similitud lo constituye la distancia Euclidiana:

n

|Wij X| = d2(Wij,X) = (Wijk Xk)2

k=1

Paso 4. Determinar la neurona ganadora c, cuya distancia sea la

menor de todas.

Paso 5. Actualizar los pesos sinpticos

Se actualizan los pesos de la neurona ganadora como los

de sus vecinas, para ello se utiliza alguna regla como la

siguiente:

Wijk(t + 1) = Wijk(t)+ (t)*h(|i c| , t)*(Xk(t) Wijk(t))

En donde:

(t) Es un parmetro llamado ritmo de aprendizaje en t.

disminuye a medida que avanza t, pudiese

utilizarse la expresin (t) = (0)*(1 t/T)

Siendo T el nmero total de iteraciones

(0) el valor inicial de

h(.) Se denomina funcin de vecindad, ya que establece

cuales son las neuronas vecinas de c. Depende de la

distancia entre la neurona i y la ganadora c, valiendo

cero cuando i no pertenece a la vecindad de c.

Al igual que , h puede disminuirse a medida que t

Avanza.

Paso 6. Si se ha alcanzado el nmero mximo T de iteraciones

establecido, entonces el proceso termina. En caso contrario

volver al paso 2.

El nmero mximo de iteraciones T debe ser suficientemente grande para proporcionar resultados estadsticos aceptables, valores de 500 iteraciones por neurona de salida suelen ser adecuadas.

El ritmo de aprendizaje debe ser menor a 1.0 y mayor a 0.

La funcin de vecindad h(|i c|,t) permite establecer si una neurona i pertenece a la vecindad de c en un iteracin determinada t. La funcin de vecindad es simtrica y centrada en c, uno de sus argumentos es la distancia entre la neurona i-sima con coordenadas (i,j) y la neurona ganadora c cuyas coordenadas las denominaremos (c1,c2), de esta manera la distancia d se puede expresar segn la siguiente frmula:

d =|i c| = ((i-c1)2 + (j c2)2)1/2Se tienen diferentes tipos de funciones de vecindad h(.), la ms simple es del tipo escaln definida de la siguiente manera:

H(i-c,t) = 0, si d> R(t) H(i-c,t) = 1, si d 0

Vi(t + 1) = f(Ui) =

0 si Ui 0 => Xi = Xi(t+1) Xi(t) 0

Xi(t + 1) = f(Hi(t))= 0 si Hi(t) < 0 => Xi = Xi(t+1) Xi(t) 0

Por lo tanto:

Hi(t)* Xi(t) 0 es decir: ( Wij*Ij(t) i)* Xi(t) 0

Se define el incremento de energa de la red Ei al valor obtenido de esta expresin, por lo que se tiene:

Ei = - ( Wij*Xj(t) i))* Xi(t)

La cual debido a su forma geomtrica, se considera