Vous êtes sur la page 1sur 50

Inteligencia Articial II

Introduccin a Redes Neuronales


Delia Balbontn Noval Francisco Jesus Martn Mateos Jose Luis Ruiz Reina Dpto. Ciencias de la Computacion e Inteligencia Articial Universidad de Sevilla

Inteligencia Articial II (2008-09) - Tema 5 p. 1/50

Neuronas articiales: inspiracion biologica

El aprendizaje en los sistemas biolgicos est basado en redes muy


complejas de neuronas interconectadas.

La neurona es una clula que recibe seales electromagnticas,


provenientes del exterior (10%), o de otras neuronas (90%), a travs de las sinapsis de las dendritas

Si la acumulacin de estmulos recibidos supera un cierto umbral, la


neurona se dispara. Esto es, emite a travs del axn una seal que ser recibida por otras neuronas, a travs de las conexiones sinpticas de las dendritas

Inteligencia Articial II (2008-09) - Tema 5 p. 2/50

Neuronas articiales: inspiracion biologica

El rea de la conexin sinptica puede potenciar o debilitar la seal


recibida. Las conexiones sinpticas son dinmicas. Con el desarrollo y el aprendizaje algunas conexiones se potencian, otras se debilitan

Cerebro humano: red de neuronas interconectadas (aproximadamente


1011 neuronas con 104 conexiones cada una).

Las neuronas son lentas, comparadas con los ordenadores: 103 sgs.
para activarse/desactivarse

Sin embargo, los humanos hacen algunas tareas mucho mejor que los
ordenadores (p.ej., en 101 segundos uno puede reconocer visualmente a su madre)

La clave: paralelismo masivo

Inteligencia Articial II (2008-09) - Tema 5 p. 3/50

Neuronas articiales: inspiracion biologica

Inspiradas en estos procesos biolgicos, surgen las redes neuronales


articiales como un modelo computacional.

Sin embargo, no debe de olvidarse que se trata de un modelo formal:

Algunas caractersticas de los sistemas biolgicos no estn reejadas en el modelo computacional y viceversa

Nosotros las estudiaremos como un modelo matemtico en el que se


basan potentes algoritmos de aprendizaje automtico, independientemente de que reejen un sistema biolgico o no

Inteligencia Articial II (2008-09) - Tema 5 p. 4/50

Redes Neuronales Articiales (RNA)

Modelo matemtico basado en una estructura de grafo dirigido cuyos


nodos son neuronas articiales. Por ejemplo:

Inteligencia Articial II (2008-09) - Tema 5 p. 5/50

Funcionamiento general de una red neuronal

Cada nodo o unidad (neurona articial), se conecta a otras unidades a


travs de arcos dirigidos (modelando la conexin axn dendritas).

Cada arco j i sirve para propagar la salida de la unidad j (notada aj )


que servir como una de las entradas para la unidad i. Las entradas y salidas son nmeros.

Cada arco j i tiene asociado un peso numrico wji que determina la


fuerza y el signo de la conexin (simulando de la sinapsis).

Inteligencia Articial II (2008-09) - Tema 5 p. 6/50

Funcionamiento general de una red neuronal

Cada unidad calcula su salida en funcin de las entradas que recibe La salida de cada unidad sirve, a su vez, como una de las entradas de
otras neuronas. El clculo que se realiza en cada unidad ser muy simple, como veremos.

La red recibe una serie de entradas externas (unidades de entrada) y


devuelve al exterior la salida de algunas de sus neuronas, llamadas unidades de salida.

Inteligencia Articial II (2008-09) - Tema 5 p. 7/50

Calculo realizado por cada unidad

La salida de cada unidad se calcula: ai = g(

n j=0 wji aj )

Donde:
g es una funcin de activacin n El sumatorio j=0 wji aj (notado ini ) se hace sobre todas las unidades j que envan su salida a la unidad i Excepto para j = 0, que se considera una entrada cticia a0 = 1 y un peso w0i denominado umbral

Inteligencia Articial II (2008-09) - Tema 5 p. 8/50

Umbral y funciones de activacion

Intuitivamente, el umbral w0i de cada unidad se interpreta como una


cantidad que debe superar la suma de las seales de entrada que recibe la unidad, para que se active

La funcin de activacin g tiene el papel de normalizar la salida


(usualmente a 1) cuando el umbral de entrada se supera. Adems hace que la red no se comporte simplemente como una funcin lineal.

Funciones de activacin ms usadas:

Funcin bipolar: sgn(x) =

1 si x > 0 1 si x 0 1 si x > 0 0 si x 0

Funcin umbral: umbral(x) = Funcin sigmoide: (x) =


1 1+ex

Nota: la funcin sigmoide es derivable y (x) = (x)(1 (x))


Inteligencia Articial II (2008-09) - Tema 5 p. 9/50

Redes neuronales hacia adelante

Cuando el grafo que representa a la red es acclico, la red se denomina


hacia adelante (las que trataremos en este tema). Por ejemplo:

Las unidades en una red hacia adelante suelen estructurarse en capas,


tal que cada capa recibe sus entradas de unidades de la capa inmediatamente anterior. Capa de entrada, capas ocultas y capa de salida Hablamos entonces de redes multicapa

Otras arquitecturas: redes recurrentes, en la que las unidades de salida


retroalimentan a las de entrada (ejemplo 3 de la transparencia 5)
Inteligencia Articial II (2008-09) - Tema 5 p. 10/50

Redes neuronales como clasicadores

Una red neuronal hacia adelante con n unidades en la capa de entrada


y m unidades en la capa de salida no es ms que una funcin de Rn en Rm

Por tanto, puede usarse como un clasicador de conjuntos en Rn :


Para clasicacin booleana, tomar m = 1 y: Si se tienen funciones de activacin umbral o bipolar, considerar un valor de salida (el 1, por ejemplo) como SI y el otro como NO. Si se usa el sigmoide, considerar un valor de salida por encima de 0.5 como SI y un valor por debajo como NO. En general, para clasicaciones con m posibles valores, cada unidad de salida corresponde con un valor de clasicacin; se interpreta que la unidad con mayor salida es la que indica el valor de clasicacin.

Inteligencia Articial II (2008-09) - Tema 5 p. 11/50

Redes Neuronales y Aprendizaje

Cuando hablamos de aprendizaje o entrenamiento de redes


neuronales estamos hablando de encontrar los pesos de las conexiones entre unidades, de manera que la red se comporte de una determinada manera, descrita por un conjunto de entrenamiento

Especcamente, para redes neuronales hacia adelante, es habitual


plantear la siguiente tarea de aprendizaje supervisado Dado un conjunto de entrenamiento D = {(xd , yd ) : xd Rn , yd Rm , d = 1, . . . , k} Y una red neuronal de la que slo conocemos su estructura (capas y nmero de unidades en cada capa) Encontrar un conjunto de pesos wij tal que la funcin de Rn en Rm que la red representa se ajuste lo mejor posible a los ejemplos del conjunto de entrenamiento

Tendremos que concretar lo que signica lo mejor posible


Inteligencia Articial II (2008-09) - Tema 5 p. 12/50

Aplicaciones practicas de redes neuronales

Para problemas que se pueden expresar numricamente (discretos o


continuos)

Se suelen utilizar en dominios en los que el volumen de datos es muy


alto, y puede presentar ruido: cmaras, micrfonos, imgenes digitalizadas, etc

En los que interesa la solucin, pero no el por qu de la misma Problemas en los que es asumible que se necesite previamente un
tiempo largo de entrenamiento de la red

Y en los que se requieren tiempos cortos para evaluar una nueva


instancia

Inteligencia Articial II (2008-09) - Tema 5 p. 13/50

ALVINN: un ejemplo de aplicacion

RNA entrenada para conducir un vehculo, a 70 Kms/h, en funcin de la


percepcin visual que recibe de unos sensores

Entrada a la red: La imagen de la carretera digitalizada como un array


de 30 32 pixels. Es decir, 960 datos de entrada

Salida de la red: Indicacin sobre hacia dnde torcer el volante,


codicada en la forma de un vector de 30 componentes (desde girar totalmente a la izquierda, pasando por seguir recto, hasta girar totalmente a la derecha)

Estructura: una red hacia adelante, con una capa de entrada con 960
unidades, una capa oculta de 4 unidades y una capa de salida con 30 unidades.

Inteligencia Articial II (2008-09) - Tema 5 p. 14/50

ALVINN: un ejemplo de aplicacion

Entrenamiento: mediante un conductor humano, que conduce el


vehculo una y otra y otra vez

Los sensores de visin registran la imagen que el conductor ve


(secuencias de 960 datos cada una)

Otros sensores registran simultneamente las acciones (movimientos


del volante) que ste realiza

Una vez codicada ambas informaciones adecuadamente, disponemos


de distintos pares (secuencias) de la forma (x, y), donde x = (x1 , x2 , . . . , x960 ) e y = (y1 , y2 , . . . , y30 ), constituyen ejemplos de entrada/salida para la red.

Objetivo: encontrar los valores de los pesos wji asociados a cada arco
j i de la red de tal forma que para cada dato de entrada x, que propaguemos a lo largo de la red el valor obtenido en la salida coincida con el valor y correspondiente (o se parezca lo ms posible).
Inteligencia Articial II (2008-09) - Tema 5 p. 15/50

Ejemplos de aplicaciones practicas

Clasicacin Reconocimiento de patrones Optimizacin Prediccin: climatolgica, de audiencias, etc Interpretacin de datos sensoriales del mundo real Reconocimiento de voz Visin articial, reconocimiento de imgenes

Satisfaccin de restricciones Control, de robots, vehculos, etc Compresin de datos Diagnosis

Inteligencia Articial II (2008-09) - Tema 5 p. 16/50

Perceptrones

Empezamos estudiando el caso ms simple de red neuronal: slo una


capa de entrada y una de salida. Puesto que cada salida es independiente, podemos centrarnos en una nica unidad en la capa de salida.

Este tipo de red se denomina perceptrn Un perceptrn con funcin de activacin umbral es capaz de
representar las funciones booleanas bsicas:

Inteligencia Articial II (2008-09) - Tema 5 p. 17/50

Perceptrones: limitaciones expresivas

Un perceptrn con n unidades de entrada, pesos wi (i = 0, . . . , n) y


funcin de activacin umbral (o bipolar), clasica como positivos a aquellos (x1 , . . . , xn ) tal que n wi xi > 0 (donde x0 = 1) i=0 La ecuacin n wi xi = 0 representa un hiperplano en Rn i=0 Es decir, una funcin booleana slo podr ser representada por un perceptrn umbral si existe un hiperplano que separa los elementos con valor 1 de los elementos con valor 0 (linealmente separable)

Los perceptrones con activacin sigmoide tienen limitaciones


expresivas similares (aunque suavizadas)

Inteligencia Articial II (2008-09) - Tema 5 p. 18/50

Perceptrones: limitaciones expresivas

Por ejemplo, las funciones AND y OR son linealmente separables pero


no la funcin XOR:

A pesar de sus limitaciones expresivas, tienen la ventaja de que existe


un algoritmo de entrenamiento simple para perceptrones con funcin de activacin umbral Capaz de encontrar un perceptrn adecuado para cualquier conjunto de entrenamiento que sea linealmente separable

Inteligencia Articial II (2008-09) - Tema 5 p. 19/50

Algoritmo de entrenamiento del Perceptron (umbral)

Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma


(x, y), con x Rn e y {0, 1}), y un factor de aprendizaje

Algoritmo:
w (w0 , w1 , . . . , wn ) (pesos iniciales generados aleatoriamente) Repetir hasta que se cumpla la condicin de terminacin: Para cada (x, y) del conjunto de entrenamiento hacer:

Calcular o = umbral( n wi xi ) (con x0 = 1) i=0 Para cada peso wi hacer: wi wi + (y o)xi Devolver w

Inteligencia Articial II (2008-09) - Tema 5 p. 20/50

Comentarios sobre el algoritmo

es una constante positiva, usualmente pequea (p.ej. 0.1), llamada


factor de aprendizaje, que modera las actualizaciones de los pesos

En cada iteracin, si y = 1 y o = 0, entonces y o = 1 > 0, y por tanto


los wi correspondientes a xi positivos aumentarn (y disminuirn los correspondientes a xi negativos), lo que aproximar o (salida real) a y (salida esperada)

Anlogamente ocurre si es o = 1 e y = 0. Cuando y = o, los wi no se modican Para perceptrones con funcin de activacin bipolar, el algoritmo es
anlogo

Inteligencia Articial II (2008-09) - Tema 5 p. 21/50

Comentarios sobre el algoritmo

Teorema: El algoritmo anterior converge un nmero nito de pasos a


un vector de pesos w que clasica correctamente todos los ejemplos de entrenamiento, siempre que stos sean linealmente separables y sucientemente pequeo (Minsky and Papert, 1969)

Por tanto, en el caso de conjuntos de entrenamiento linealmente


separables, la condicin de terminacin puede ser que se clasiquen correctamente todos los ejemplos.

Inteligencia Articial II (2008-09) - Tema 5 p. 22/50

Otro algoritmo de entrenamiento: la Regla Delta

Cuando el conjunto de entrenamiento no es linealmente separable, la


convergencia del algoritmo anterior no est garantizada

En ese caso, no ser posible encontrar un perceptrn que sobre todos


los elementos del conjunto de entrenamiento devuelva la salida esperada.

En su lugar intentaremos minimizar el error cuadrtico:


E(w) =

1 2 d (yd

od )2 =

d [yd

g(w0 x0 + w1 x1 + . . . + wn xn )]2

Donde g es la funcin de activacin, yd es la salida esperada para la instancia (xd , yd ) D, y od es la salida obtenida por el perceptrn Ntese que E es funcin de w y que tratamos de encontrar un w que minimice E

En lo que sigue, supondremos perceptrones con funcin de activacin


g diferenciable (sigmoides, por ejemplo).

Quedan excluidos, por tanto, perceptrones umbral o bipolares


Inteligencia Articial II (2008-09) - Tema 5 p. 23/50

Idea del metodo del descenso por el gradiente

Representacin grca de E(w) (con n = 1 y g la identidad)


25 20 15 E[w] 10 5 0 2 1 -2 0 1 -1 w0 2 3 w1 -1 0

En una supercie diferenciable, la direccin de mximo crecimiento viene dada por el vector gradiente E(w) El negativo del gradiente proporciona la direccin de mximo descenso hacia el mnimo de la supercie.

Puesto que igualar a cero el gradiente supondra sistemas de


ecuaciones complicados de resolver en la prctica, optamos por un algoritmo de bsqueda local para obtener un w para el cual E(w) es mnimo (local),

La idea es comenzar con un w aleatorio y modicarlo sucesivamente en


pequeos desplazamientos en la direccin opuesta al gradiente, esto es w w + w , siendo w = E(w), y el factor de aprendizaje
Inteligencia Articial II (2008-09) - Tema 5 p. 24/50

Derivacion de la regla de descenso por el gradiente

El gradiente es el vector de las derivadas parciales de E respecto de


cada wi
E E E , ,..., E(w) = w0 w1 wn
n i=0 wi xid ,

Notando por xid la componente i-sima del ejemplo d-simo (y


x0d = 1) y por in(d) = 1 E = wi wi 2

entonces:
(yd od )g (in(d) )(xid )
d

(yd od )2 =
d

Esto nos da la siguiente expresin para actualizar pesos mediante la


regla de descenso por el gradiente:
wi w i +
d

(yd od )g (in(d) )xid

Inteligencia Articial II (2008-09) - Tema 5 p. 25/50

Algoritmo de entrenamiento de descenso por el gradiente

Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma


(x, y), con x Rn e y R), un factor de aprendizaje y una funcin de activacin g diferenciable

Algoritmo:
w (w0 , w1 , . . . , wn ) (aleatoriamente) Repetir hasta que se cumpla la condicin de terminacin: Inicializar w a cero, para i = 0, . . . , n i Para cada (x, y) D , hacer:

Calcular in = n wi xi y o = g(in) i=0 Para cada i = 0, . . . , n, hacer wi wi + (y o)g (in)xi Para cada peso w , hacer w w + w i i i i Devolver w

Inteligencia Articial II (2008-09) - Tema 5 p. 26/50

La Regla Delta

Es una variante del mtodo de descenso por el gradiente En lugar de tratar de minimizar el error cuadrtico cometido sobre
todos los ejemplos de D , procede incrementalmente tratando de descender el error cuadrtico Ed (w) = 1 (y o)2 , cometido sobre el 2 ejemplo (x, y) D que se est tratando en cada momento De esta forma, Ed = (y o)g (in)(xi ), y siendo wi = Ed , wi wi tendremos wi = (y o)g (in)xi , y por tanto wi wi + (y o)g (in)xi Este mtodo para actualizar los pesos iterativamente es conocido como Regla Delta

Inteligencia Articial II (2008-09) - Tema 5 p. 27/50

Entrenamiento de Perceptrones con la Regla Delta

Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma


(x, y), con x Rn e y R), un factor de aprendizaje y una funcin de activacin g diferenciable

Algoritmo:
w (w0 , w1 , . . . , wn ) (aleatoriamente) Repetir hasta que se cumpla la condicin de terminacin: Para cada (x, y) D hacer:

Calcular in = n wi xi y o = g(in) i=0 Para cada peso wi hacer: wi wi + (y o)g (in)xi Devolver w

Inteligencia Articial II (2008-09) - Tema 5 p. 28/50

Casos particulares de la Regla Delta

Perceptrones con funcin de activacin lineal:


En este caso g (in) = C (constante). Por tanto, la Regla Delta queda (transformando convenientemente):

wi wi + (y o)xi

Perceptrones con funcin de activacin sigmoide:


En ese caso, g (in) = g(in)(1 g(in)) = o(1 o) Luego la regla de actualizacin de pesos queda:

wi wi + (y o)o(1 o)xi

Inteligencia Articial II (2008-09) - Tema 5 p. 29/50

Algunos comentarios sobre la Regla Delta (I)

Tanto el mtodo de descenso por el gradiente como la Regla Delta, son


algoritmos de bsqueda local, que convergen hacia mnimos locales del error entre salida obtenida y salida esperada En descenso por el gradiente, se desciende en cada paso por el gradiente del error cuadrtico de todos los ejemplos En la Regla Delta, en cada iteracin el descenso se produce por el gradiente del error de cada ejemplo

Con un valor de sucientemente pequeo, el mtodo de descenso


por el gradiente converge (puede que asintticamente) hacia un mnimo local del error cuadrtico global

Inteligencia Articial II (2008-09) - Tema 5 p. 30/50

Algunos comentarios sobre la Regla Delta (II)

Se puede demostrar que haciendo el valor de sucientemente


pequeo, la Regla Delta se puede aproximar arbitrariamente al mtodo de descenso por el gradiente

En la Regla Delta la actualizacin de pesos es ms simple, aunque


necesita valores de ms pequeos. Adems, a veces escapa ms fcilmente de los mnimos locales.

Inteligencia Articial II (2008-09) - Tema 5 p. 31/50

Regla Delta y perceptrones con umbral

La regla de entrenamiento del perceptrn con umbral, y la Regla Delta


para el entrenamiento de perceptrones lineales, son aparentemente la misma: wi wi + (y o)xi , pero: Las funciones de activacin son distintas Las propiedades de convergencia tambin: Umbral: converge en un nmero nito de pasos hacia un ajuste perfecto, siempre que el conjunto de entrenamiento sea linealmente separable Regla Delta: converge asintticamente hacia un mnimo local del error cuadrtico, siempre Las propiedades de separacin tambin son distintas: Umbral: busca hiperplano que separe completamente los datos Regla Delta: busca un modelo de regresin, el hiperplano (posiblememente suavizado con el sigmoide) ms prximo a los datos de entrenamiento

Inteligencia Articial II (2008-09) - Tema 5 p. 32/50

Redes multicapa (hacia adelante)

Como hemos visto, los perceptrones tienen una capacidad expresiva


limitada. Es por esto que vamos a estudiar las redes multicapa:
3 5 2 4 1 6 7

Recordar que en una red multicapa, las unidades se estructuran en


capas, en las que las unidades de cada capa reciben su entrada de la salida de las unidades de la capa anterior Capa de entrada es aquella en la que se sitan las unidades de entrada Capa de salida es la de las unidades cuya salida sale al exterior Capas ocultas son aquellas que no son ni de entrada ni de salida
Inteligencia Articial II (2008-09) - Tema 5 p. 33/50

Redes multicapa: capacidad expresiva

Combinando unidades en distintas capas (y siempre que la funcin de


activacin sea no lineal) aumentamos la capacidad expresiva de la red

Es decir, la cantidad de funciones f : Rn Rm que pueden


representarse aumenta

Usualmente, con una sola capa oculta basta para la mayora de las
aplicaciones reales
Inteligencia Articial II (2008-09) - Tema 5 p. 34/50

Entrenamiento de redes multicapa

Anlogamente al caso del perceptrn, tenemos un conjunto de


entrenamiento D tal que cada (x, y) D contiene una salida esperada y Rm para la entrada x Rn

Partimos de una red multicapa con una estructura dada y queremos


encontrar los pesos de la red de manera que la funcin que calcula la red se ajuste lo mejor posible a los ejemplos

Lo haremos mediante un proceso de actualizaciones sucesivas de los


pesos, llamado algoritmo de retropropagacin, basado en las mismas ideas de descenso por el gradiente que hemos visto con el perceptrn

Inteligencia Articial II (2008-09) - Tema 5 p. 35/50

Redes multicapa: notacion (I)

Supondremos una red neuronal con n unidades en la capa de entrada,


m en la de salida y L capas en total La capa 1 es la de entrada y la capa L es la de salida Cada unidad de una capa l est conectada con todas las unidades de la capa l + 1

Supondremos una funcin de activacin g diferenciable (usualmente, el


sigmoide)

El peso de la conexin entre la unidad i y la unidad j se nota wij Dado un ejemplo (x, y) D:
Si i es una unidad de la capa de entrada, notaremos por xi la componente de x correspondiente a dicha unidad Si k es una unidad de la capa de salida, notaremos por yk la componente de y correspondiente a dicha unidad

Inteligencia Articial II (2008-09) - Tema 5 p. 36/50

Redes multicapa: notacion (II)

Al calcular la salida real que la red obtiene al recibir como entrada un


ejemplo x, notaremos ini a la entrada que recibe una unidad i cualquiera y ai a la salida por la misma unidad i.

Es decir:
Si i es una unidad de entrada (es decir, de la capa 1), entonces a i = xi Si i una unidad de una capa l = 1, entonces ini = j wji aj y ai = g(ini ) (donde el sumatorio anterior se realiza en todas las unidades j de la capa l 1)

Inteligencia Articial II (2008-09) - Tema 5 p. 37/50

Algoritmo de Retropropagacion: idea intuitiva (I)

Dado un ejemplo (x, y) D, y una unidad i de la capa de salida, la


actualizacin de los pesos que llegan a esa unidad se har de manera similar a como se hace con la Regla Delta: Sea i = g (ini )(yi ai ) (error modicado en la unidad i) Entonces wji wji + aj i

En las unidades de capas ocultas, sin embargo, no podemos hacer lo


mismo Ya que no sabemos cul es el valor de salida esperado en esas unidades

Inteligencia Articial II (2008-09) - Tema 5 p. 38/50

Algoritmo de Retropropagacion: idea intuitiva (II)

Cmo actualizamos los pesos de conexiones con capas ocultas? Idea: ir hacia atrs, calculando el error j de una unidad de la capa
l 1 a partir del error de las unidades de la capa l (con las que est conectada j )

Esto es: j = g (inj ) i wji i y por tanto wkj wkj + ak j Intuitivamente, cada unidad j es responsable del error que tiene cada
una de las unidades a las que enva su salida Y lo es en la medida que marca el peso de la conexin entre ellas

La salida de cada unidad se calcula propagando valores hacia


adelante, pero el error en cada una se calcula desde la capa de salida hacia atrs De ah el nombre de retropropagacin

El mtodo de retropropagacin se puede justicar formalmente como


descenso por el gradiente del error, pero no veremos aqu la demostracin Inteligencia Articial II (2008-09) - Tema 5 p. 39/50

El Algoritmo de Retropropagacion

Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma


(x, y), con x Rn e y Rm ), un factor de aprendizaje , una funcin de activacin g diferenciable y una estructura de red

Algoritmo:
Inicializar los pesos de la red (aleatoriamente, usualmente con valores cercanos a cero, positivos o negativos) Repetir hasta que se satisfaga el criterio de parada Para cada ejemplo (x, y) D hacer: 1. Calcular la salida ai de cada unidad i, propagando valores hacia adelante (*) 2. Calcular los errores i de cada unidad i y actualizar los pesos wji , propagando valores hacia detrs (*) Devolver red

(*) En las siguientes transparencias desarrollamos 1 y 2


Inteligencia Articial II (2008-09) - Tema 5 p. 40/50

Propagacion hacia adelante

Desarrollamos con ms detalle el Paso 1 anterior: propagacin hacia


adelante para un ejemplo (x, y) D

Procedimiento:
Para cada nodo i de la capa de entrada hacer ai xi Para l desde 2 hasta L hacer: Para cada nodo i de la capa l hacer in i j wji aj y ai g(ini ) (donde en el sumatorio anterior hay un sumando por cada unidad j de la capa l 1)

Inteligencia Articial II (2008-09) - Tema 5 p. 41/50

Propagacion hacia atras

Una vez calculados en el Paso 1 los valores de ini y ai


correspondientes al ejemplo (x, y) D, desarrollamos con ms detalle el Paso 2: propagar hacia atrs de los errores y actualizar los pesos

Procedimiento:
Para cada unidad i en la capa de salida hacer i g (ini )(yi ai ) Para l desde L 1 hasta 1 (decrementando l) hacer: Para cada nodo j en la capa l hacer: j g (inj ) i wji i (donde el sumatorio anterior tiene un sumando por cada unidad i de la capa l + 1) Para cada nodo i en la capa l + 1 hacer wji wji + aj i

Notas:
Para la capa de entrada (l = 1) no es necesario calcular los j Si hubiera pesos umbral, despus de calcular cada i se han de actualizar igualmente : w0i w0i + a0 i (donde a0 = 1)

Inteligencia Articial II (2008-09) - Tema 5 p. 42/50

Retropropagacion con unidades sigmoide

La versin ms comn del algoritmo de retropropagacin es la que se


realiza con redes con funcin de activacin sigmoide.

Recordar que el sigmoide se dene (x) =


(x) = (x)(1 (x))

1 1+ex

y que

Por tanto, en el caso de que g(x) = (x), entonces


g (ini ) = g(ini )(1 g(ini )) = ai (1 ai )

As, el clculo de errores en el Paso 2 queda:


Para la capa de salida, i ai (1 ai )(yi ai ) Para las capas ocultas, j aj (1 aj ) i wji i

Esto signica que no necesitamos almacenar los ini del Paso 1 para
usarlos en el Paso 2

Inteligencia Articial II (2008-09) - Tema 5 p. 43/50

Un ejemplo de Retropropacion

Considrese una red neuronal con la siguiente estructura en la que se


usa el sigmoide como funcin de activacin:
3 5 2 4 1 6 7

Supongamos dado un ejemplo (x1 , x2 , x3 ) con salida esperada (y6 , y7 ) Supongamos tambin que ya hemos calculado la salida ai en cada unidad i = 1, . . . , 7

Inteligencia Articial II (2008-09) - Tema 5 p. 44/50

Traza de la Retropropagacion del error


Capa Salida Unidad 7 6 Oculta 5 Clculos que se realizan 7 = a7 (1 a7 )(y7 a7 ) w0,7 w0,7 + a0 7 6 = a6 (1 a6 )(y6 a6 ) w0,6 w0,6 + a0 6 5 = a5 (1 a5 )[w5,6 6 + w5,7 7 ] w0,5 w0,5 + a0 5 w5,6 w5,6 + a5 6 w5,7 w5,7 + a5 7 4 = a4 (1 a4 )[w4,6 6 + w4,7 7 ] w0,4 w0,4 + a0 4 w4,6 w4,6 + a4 6 w4,7 w4,7 + a4 7 w3,4 w3,5 w2,4 w2,5 w1,4 w1,5 w3,4 w3,5 w2,4 w2,5 w1,4 w1,5 + a3 4 + a3 5 + a2 4 + a2 5 + a1 4 + a1 5

Entrada

3 2 1

Inteligencia Articial II (2008-09) - Tema 5 p. 45/50

Momentum en el algoritmo de retropropagacion

Retropropagacin es un mtodo de descenso por el gradiente y por


tanto existe el problema de los mnimos locales

Una variante muy comn en el algoritmo de retropropagacin es


introducir un sumando adicional en la actualizacin de pesos

Este sumando hace que en cada actualizacin de pesos se tenga


tambin en cuenta la actualizacin realizada en la iteracin anterior

Concretamente:

En la iteracin n-sima, se actualizan los pesos de la siguiente manera: wji wji + wji donde wji = aj i + wji
(n) (n) (n1)

0 < 1 es una constante denominada momentum

La tcnica del momentum puede ser ecaz a veces para escapar de


pequeos mnimos locales, donde una versin sin momentum se estancara
Inteligencia Articial II (2008-09) - Tema 5 p. 46/50

Criterio de parada para retropropagacion

Ntese que el algoritmo podra recorrer varias veces el conjunto de


entrenamiento O podra tomar aleatoriamente el ejemplo a tratar en cada iteracin O incluso parar y recomenzar posteriormente el entrenamiento a partir de pesos ya entrenados

Se pueden usar diferentes criterios de parada en el algoritmo de


retropropagacin. Por ejemplo: Nmero de iteraciones prejadas Cuando el error sobre el conjunto de entrenamiento est por debajo de una cota prejada

En este ltimo caso, se corre el riesgo de sobreajuste, por lo que lo


ms frecuente es usar un conjunto de prueba independiente para validar el error, o incluso validacin cruzada

Inteligencia Articial II (2008-09) - Tema 5 p. 47/50

Aprendiendo la estructura de la red

El algoritmo de retropropagacin parte de una estructura de red ja Hasta ahora no hemos dicho nada sobre qu estructuras son las
mejores para cada problema

En nuestro caso, se trata de decidir cuntas capas ocultas se toman, y


cuntas unidades en cada capa

En general es un problema que no est completamente resuelto an Lo ms usual es hacer bsqueda experimental de la mejor estructura,
medida sobre un conjunto de prueba independiente

La mayora de las veces, una sola capa oculta con pocas unidades
basta para obtener buenos resultados

Las redes grandes corren un mayor peligro de sobreajuste

Inteligencia Articial II (2008-09) - Tema 5 p. 48/50

Antes de terminar .... Redes recurrentes

Redes recurrentes: Permiten que sus salidas alimenten a sus entradas.


As el estado de la red (sus pesos) simula un sistema dinmico que puede alcanzar un estado estable, exhibir oscilaciones o incluso comportarse de forma catica

Presentan memoria a corto plazo Modelizan mejor el cerebro Ms difciles de entender Grafo dirigido con posibles ciclos La salida de algunas unidades pueden alimentar sus propias entradas Constituyen sistemas dinmicos, cambiantes Pueden alcanzar la estabilidad, exhibir oscilaciones o incluso tener comportamientos caticos Memoria a corto plazo
Inteligencia Articial II (2008-09) - Tema 5 p. 49/50

Bibliografa

Russell, S. y Norvig, P. Articial Intelligence (A modern approach)


(Second edition) (Prentice Hall, 2003) (o su versin en espaol)

Cap. 20: Statistical Learning (disponible on-line en la web del libro) Cap. 4: Articial Neural Networks

Mitchell, T.M. Machine Learning (McGraw-Hill, 1997)

Inteligencia Articial II (2008-09) - Tema 5 p. 50/50

Vous aimerez peut-être aussi