Anda di halaman 1dari 53

Tema 9: Introducci on a las redes neuronales

D. Balbont n Noval F. J. Mart n Mateos J. L. Ruiz Reina


Dpto. Ciencias de la Computaci on e Inteligencia Articial Universidad de Sevilla

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Neuronas articiales: inspiraci on biol ogica


El aprendizaje en los sistemas biol ogicos est a basado en redes muy complejas de neuronas interconectadas La neurona es una c elula que recibe se nales electromagn eticas, provenientes del exterior (10 %), o de otras neuronas (90 %), a trav es de las sinapsis de las dendritas Si la acumulaci on de est mulos recibidos supera un cierto umbral, la neurona se dispara. Esto es, emite a trav es del ax on una se nal que ser a recibida por otras neuronas, a trav es de las conexiones sin apticas de las dendritas

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Neuronas articiales: inspiraci on biol ogica

El area de la conexi on sin aptica puede potenciar o debilitar la se nal recibida. Las conexiones sin apticas son din amicas. 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

Neuronas articiales: inspiraci on biol ogica

Inspiradas en estos procesos biol ogicos, surgen las redes neuronales articiales como un modelo computacional Sin embargo, no debe de olvidarse que se trata de un modelo formal:
Algunas caracter sticas de los sistemas biol ogicos no est an reejadas en el modelo computacional y viceversa

Nosotros las estudiaremos como un modelo matem atico en el que se basan potentes algoritmos de aprendizaje autom atico, independientemente de que reejen un sistema biol ogico o no

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes Neuronales Articiales (RNA)

Modelo matem atico basado en una estructura de grafo dirigido cuyos nodos son neuronas articiales. Por ejemplo:

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes Neuronales Articiales (RNA)

Modelo matem atico basado en una estructura de grafo dirigido cuyos nodos son neuronas articiales. Por ejemplo:

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes Neuronales Articiales (RNA)


Modelo matem atico basado en una estructura de grafo dirigido cuyos nodos son neuronas articiales. Por ejemplo:

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Funcionamiento general de una red neuronal

Cada nodo o unidad (neurona articial), se conecta a otras unidades a trav es de arcos dirigidos (modelando la conexi on ax on dendritas) Cada arco j i sirve para propagar la salida de la unidad j (notada aj ) que servir a como una de las entradas para la unidad i . Las entradas y salidas son n umeros Cada arco j i tiene asociado un peso num erico wji que determina la fuerza y el signo de la conexi on (simulando la sinapsis)

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Funcionamiento general de una red neuronal

Cada unidad calcula su salida en funci on de las entradas que recibe La salida de cada unidad sirve, a su vez, como una de las entradas de otras neuronas
El c alculo que se realiza en cada unidad ser a 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

C alculo realizado por cada unidad


La salida de cada unidad se calcula: ai = g (
n j =0 wji aj )

Donde:
g es una funci on de activaci on n El sumatorio j =0 wji aj (notado ini ) se hace sobre todas las unidades j que env an 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

Umbral y funciones de activaci on


Intuitivamente, el umbral w0i de cada unidad se interpreta como una cantidad que debe superar la suma de las se nales de entrada que recibe la unidad, para que se active La funci on de activaci on g tiene el papel de normalizar la salida (usualmente a 1) cuando el umbral de entrada se supera. Adem as hace que la red no se comporte simplemente como una funci on lineal Funciones de activaci on m as usadas:
Funci on bipolar: sgn(x ) = 1 1 x >0 x 0 1 si x > 0 0 si x 0 si si

Funci on umbral: umbral (x ) =

Funci on sigmoide: (x ) = 1+1 e x La funci on sigmoide es derivable y (x ) = (x )(1 (x ))

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes neuronales hacia adelante

Cuando el grafo que representa a la red es ac clico, la red se denomina hacia adelante (las que trataremos en este tema)

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes neuronales hacia adelante


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

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

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 m as que una n m funci on de R en R Por tanto, puede usarse como un clasicador de conjuntos en R n:
Para clasicaci on booleana, tomar m = 1 y:
Si se tienen funciones de activaci on 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 clasicaci on; se interpreta que la unidad con mayor salida es la que indica el valor de clasicaci on

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

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 Espec camente, para redes neuronales hacia adelante, es habitual plantear la siguiente tarea de aprendizaje supervisado
Dado un conjunto de entrenamiento D = {(xd , yd ) : xd R n , yd R m , d = 1, . . . , k } Y una red neuronal de la que s olo conocemos su estructura (capas y n umero de unidades en cada capa) Encontrar un conjunto de pesos wij tal que la funci on de R n en m R 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 IA 20122013 Tema 9: Introducci on a las redes neuronales

Aplicaciones pr acticas de redes neuronales

Para problemas que se pueden expresar num ericamente (discretos o continuos) Se suelen utilizar en dominios en los que el volumen de datos es muy alto, y puede presentar ruido: c amaras, micr ofonos, im agenes digitalizadas, etc En los que interesa la soluci on, pero no el por qu e 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

ALVINN: un ejemplo de aplicaci on

RNA entrenada para conducir un veh culo, a 70 Kms/h, en funci on de la percepci on 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: Indicaci on sobre hacia d onde 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

ALVINN: un ejemplo de aplicaci on


Entrenamiento: mediante un conductor humano, que conduce el veh culo una y otra y otra vez Los sensores de visi on registran la imagen que el conductor ve (secuencias de 960 datos cada una) Otros sensores registran simult aneamente las acciones (movimientos del volante) que este 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 m as posible)
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

Ejemplos de aplicaciones pr acticas

Clasicaci on Reconocimiento de patrones Optimizaci on Predicci on: climatol ogica, de audiencias, etc Interpretaci on de datos sensoriales del mundo real
Reconocimiento de voz Visi on articial, reconocimiento de im agenes

Satisfacci on de restricciones Control, de robots, veh culos, etc Compresi on de datos Diagnosis

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Perceptrones

Empezamos estudiando el caso m as simple de red neuronal: s olo una capa de entrada y una de salida
Puesto que cada salida es independiente, podemos centrarnos en una u nica unidad en la capa de salida

Este tipo de red se denomina perceptr on Un perceptr on con funci on de activaci on umbral es capaz de representar las funciones booleanas b asicas:

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Perceptrones: limitaciones expresivas


Un perceptr on con n unidades de entrada, pesos wi (i = 0, . . . , n) y funci on de activaci on umbral (o bipolar), clasica como positivos a aquellos (x1 , . . . , xn ) tal que n i =0 wi xi > 0 (donde x0 = 1)
La ecuaci on i =0 wi xi = 0 representa un hiperplano en R n Es decir, una funci on booleana s olo podr a ser representada por un perceptr on umbral si existe un hiperplano que separa los elementos con valor 1 de los elementos con valor 0 (linealmente separable)
n

Los perceptrones con activaci on sigmoide tienen limitaciones expresivas similares (aunque suavizadas)

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Perceptrones: limitaciones expresivas


Por ejemplo, las funciones AND y OR son linealmente separables pero no la funci on XOR:

A pesar de sus limitaciones expresivas, tienen la ventaja de que existe un algoritmo de entrenamiento simple para perceptrones con funci on de activaci on umbral
Capaz de encontrar un perceptr on adecuado para cualquier conjunto de entrenamiento que sea linealmente separable

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Algoritmo de entrenamiento del Perceptr on (umbral)

Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma (x , y ), con x R n e y {0, 1}), y un factor de aprendizaje

Algoritmo
1) Considerar unos pesos iniciales generados aleatoriamente w (w0 , w 1 , . . . , w n ) 2) Repetir hasta que se cumpla la condici on de terminaci on 1) Para cada (x , y ) del conjunto de entrenamiento hacer 1) Calcular o = umbral ( n i =0 wi xi ) (con x0 = 1) 2) Para cada peso wi hacer: wi wi + (y o )xi 3) Devolver w

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Comentarios sobre el algoritmo

es una constante positiva, usualmente peque na (p.ej. 0.1), llamada factor de aprendizaje, que modera las actualizaciones de los pesos En cada iteraci on, si y = 1 y o = 0, entonces y o = 1 > 0, y por tanto los wi correspondientes a xi positivos aumentar an (y disminuir an los correspondientes a xi negativos), lo que aproximar a o (salida real) a y (salida esperada) An alogamente ocurre si es o = 1 e y = 0 Cuando y = o , los wi no se modican Para perceptrones con funci on de activaci on bipolar, el algoritmo es an alogo

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Comentarios sobre el algoritmo

Teorema: El algoritmo anterior converge en un n umero nito de pasos a un vector de pesos w que clasica correctamente todos los ejemplos de entrenamiento, siempre que estos sean linealmente separables y sucientemente peque no (Minsky and Papert, 1969) Por tanto, en el caso de conjuntos de entrenamiento linealmente separables, la condici on de terminaci on puede ser que se clasiquen correctamente todos los ejemplos

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Otro algoritmo de entrenamiento: la Regla Delta


Cuando el conjunto de entrenamiento no es linealmente separable, la convergencia del algoritmo anterior no est a garantizada En ese caso, no ser a posible encontrar un perceptr on que sobre todos los elementos del conjunto de entrenamiento devuelva la salida esperada En su lugar intentaremos minimizar el error cuadr atico:
E (w ) =
1 2 d (y d

od )2 =

1 2

d [y d

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

Donde g es la funci on de activaci on, yd es la salida esperada para la instancia (xd , yd ) D , y od es la salida obtenida por el perceptr on N otese que E es funci on de w y que tratamos de encontrar un w que minimice E

En lo que sigue, supondremos perceptrones con funci on de activaci on g diferenciable (sigmoides, por ejemplo) Quedan excluidos, por tanto, perceptrones umbral o bipolares
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

Idea del m etodo del descenso por el gradiente


Representaci on gr aca de E (w ) (con n = 1 y g la identidad) En una supercie diferenciable, la direcci on de m aximo crecimiento viene dada por el vector gradiente E (w ) El negativo del gradiente proporciona la direcci on de m aximo descenso hacia el m nimo de la supercie. Puesto que igualar a cero el gradiente supondr a sistemas de ecuaciones complicados de resolver en la pr actica, optamos por un algoritmo de b usqueda local para obtener un w para el cual E (w ) es m nimo (local),
25 20 15 10 5 E[w] 0 2 1 -2 0 -1 0 1 -1 2 3 w0 w1

La idea es comenzar con un w aleatorio y modicarlo sucesivamente en peque nos desplazamientos en la direcci on opuesta al gradiente, esto es w w + w , siendo w = E (w ), y el factor de aprendizaje
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

Derivaci on de la regla de descenso por el gradiente


El gradiente es el vector de las derivadas parciales de E respecto de cada wi E ( w ) = E E E , ,..., w 0 w1 wn

Notando por xid la componente i - esima del ejemplo d - esimo (y x0d = 1) y por in(d ) = n w x , entonces: i =0 i id E 1 = wi wi 2 (yd od )2 =
d d

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

Esto nos da la siguiente expresi on para actualizar pesos mediante la regla de descenso por el gradiente: wi wi +
d
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

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

Algoritmo de entrenamiento de descenso por el gradiente

Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma (x , y ), con x R n e y R ), un factor de aprendizaje y una funci on de activaci on g diferenciable

Algoritmo
1) Considerar unos pesos iniciales generados aleatoriamente w (w0 , w 1 , . . . , w n ) 2) Repetir hasta que se cumpla la condici on de terminaci on 1) Inicializar wi a cero, para i = 0, . . . , n 2) Para cada (x , y ) D , 1) Calcular in = n i =0 wi xi y o = g (in) 2) Para cada i = 0, . . . , n, hacer wi wi + (y o )g (in)xi 3) Para cada peso wi , hacer wi wi + wi 3) Devolver w

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

La Regla Delta

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

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Entrenamiento de Perceptrones con la Regla Delta

Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma (x , y ), con x R n e y R ), un factor de aprendizaje y una funci on de activaci on g diferenciable

Algoritmo
1) Considerar unos pesos iniciales generados aleatoriamente w (w0 , w 1 , . . . , w n ) 2) Repetir hasta que se cumpla la condici on de terminaci on 1) Para cada (x , y ) D 1) Calcular in = n i =0 wi xi y o = g (in) 2) Para cada peso wi , hacer wi wi + (y o )g (in)xi 3) Devolver w

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Casos particulares de la Regla Delta

Perceptrones con funci on de activaci on lineal:


En este caso g (in) = C (constante) Por tanto, la Regla Delta queda (transformando convenientemente): wi wi + (y o )xi

Perceptrones con funci on de activaci on sigmoide:


En ese caso, g (in) = g (in)(1 g (in)) = o (1 o ) Luego la regla de actualizaci on de pesos queda: wi wi + (y o )o (1 o )xi

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Algunos comentarios sobre la Regla Delta

Tanto el m etodo de descenso por el gradiente como la Regla Delta, son algoritmos de b usqueda local, que convergen hacia m nimos locales del error entre salida obtenida y salida esperada
En descenso por el gradiente, se desciende en cada paso por el gradiente del error cuadr atico de todos los ejemplos En la Regla Delta, en cada iteraci on el descenso se produce por el gradiente del error de cada ejemplo

Con un valor de sucientemente peque no, el m etodo de descenso por el gradiente converge (puede que asint oticamente) hacia un m nimo local del error cuadr atico global

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Algunos comentarios sobre la Regla Delta

Se puede demostrar que haciendo el valor de sucientemente peque no, la Regla Delta se puede aproximar arbitrariamente al m etodo de descenso por el gradiente En la Regla Delta la actualizaci on de pesos es m as simple, aunque necesita valores de m as peque nos. Adem as, a veces escapa m as f acilmente de los m nimos locales

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Regla Delta y perceptrones con umbral


La regla de entrenamiento del perceptr on 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 activaci on son distintas Las propiedades de convergencia tambi en:
Umbral: converge en un n umero nito de pasos hacia un ajuste perfecto, siempre que el conjunto de entrenamiento sea linealmente separable Regla Delta: converge asint oticamente hacia un m nimo local del error cuadr atico, siempre

Las propiedades de separaci on tambi en son distintas:


Umbral: busca hiperplano que separe completamente los datos Regla Delta: busca un modelo de regresi on, el hiperplano (posiblememente suavizado con el sigmoide) m as pr oximo a los datos de entrenamiento

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes multicapa (hacia adelante)

Como hemos visto, los perceptrones tienen una capacidad expresiva limitada. Es por esto que vamos a estudiar las redes multicapa 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 sit uan 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes multicapa: capacidad expresiva


Combinando unidades en distintas capas (y siempre que la funci on de activaci on sea no lineal) aumentamos la capacidad expresiva de la red Es decir, la cantidad de funciones f : R n R m que pueden representarse aumenta

Usualmente, con una sola capa oculta basta para la mayor a de las aplicaciones reales
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

Entrenamiento de redes multicapa

An alogamente al caso del perceptr on, tenemos un conjunto de entrenamiento D tal que cada (x , y ) D contiene una salida esperada y R m para la entrada x R n Partimos de una red multicapa con una estructura dada y queremos encontrar los pesos de la red de manera que la funci on 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 retropropagaci on, basado en las mismas ideas de descenso por el gradiente que hemos visto con el perceptr on

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes multicapa: notaci on


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 a conectada con todas las unidades de la capa l + 1

Supondremos una funci on de activaci on g diferenciable (usualmente, el sigmoide) El peso de la conexi on 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

Redes multicapa: notaci on

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 ai = 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

Algoritmo de Retropropagaci on: idea intuitiva

Dado un ejemplo (x , y ) D , y una unidad i de la capa de salida, la actualizaci on de los pesos que llegan a esa unidad se har a 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 cu al es el valor de salida esperado en esas unidades

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Algoritmo de Retropropagaci on: idea intuitiva


C omo actualizamos los pesos de conexiones con capas ocultas? Idea: ir hacia atr as, 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 a 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 env a su salida
Y lo es en la medida que marca el peso de la conexi on 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 atr as (de ah el nombre de retropropagaci on) El m etodo de retropropagaci on se puede justicar formalmente como descenso por el gradiente del error, pero no veremos aqu la demostraci on
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

El Algoritmo de Retropropagaci on
Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma (x , y ), con x R n e y R m ), un factor de aprendizaje , una funci on de activaci on g diferenciable y una estructura de red

Algoritmo
1) Inicializar los pesos de la red (aleatoriamente, usualmente con valores cercanos a cero, positivos o negativos) 2) Repetir hasta que se satisfaga el criterio de parada 1) 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 detr as 3) Devolver red

En las siguientes transparencias desarrollamos los puntos 2.1.1) y 2.1.2)


Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

Propagaci on hacia adelante

Desarrollamos con m as detalle el punto 2.2.1) anterior: propagaci on hacia adelante para un ejemplo (x , y ) D

Procedimiento
1) Para cada nodo i de la capa de entrada hacer ai xi 2) Para l desde 2 hasta L hacer 1) Para cada nodo i de la capa l hacer ini 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

Propagaci on hacia atr as


Una vez calculados en el punto 2.1.1) los valores de ini y ai correspondientes al ejemplo (x , y ) D , desarrollamos con m as detalle el punto 2.1.2), propagar hacia atr as de los errores y actualizar los pesos

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

Para la capa de entrada (l = 1) no es necesario calcular los j Si hubiera pesos umbral, despu es de calcular cada i se han de actualizar igualmente : w0i w0i + a0 i (donde a0 = 1)
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

Retropropagaci on con unidades sigmoide

La versi on m as com un del algoritmo de retropropagaci on es la que se realiza con redes con funci on de activaci on sigmoide Recordar que el sigmoide se dene (x ) = (x ) = (x )(1 (x ))
1 1+e x

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 c alculo 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 IA 20122013

Tema 9: Introducci on a las redes neuronales

Un ejemplo de Retropropaci on

Consid erese una red neuronal con la siguiente estructura en la que se usa el sigmoide como funci on de activaci on:
3 5 2 4 1 6 7

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

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Traza de la Retropropagaci on del error


Capa Salida Unidad 7 6 Oculta 5 C alculos 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 w 3,4 w 3,5 w 2,4 w 2,5 w 1,4 w 1,5 w3,4 + a3 4 w3,5 + a3 5 w2,4 + a2 4 w2,5 + a2 5 w1,4 + a1 4 w1,5 + a1 5

Entrada

3 2 1

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Momentum en el algoritmo de retropropagaci on


Retropropagaci on es un m etodo de descenso por el gradiente y por tanto existe el problema de los m nimos locales Una variante muy com un en el algoritmo de retropropagaci on es introducir un sumando adicional en la actualizaci on de pesos Este sumando hace que en cada actualizaci on de pesos se tenga tambi en en cuenta la actualizaci on realizada en la iteraci on anterior Concretamente:
En la iteraci on n- esima, se actualizan los pesos de la siguiente (n) (n) (n1) manera: wji wji + wji donde wji = aj i + wji 0 < 1 es una constante denominada momentum

La t ecnica del momentum puede ser ecaz a veces para escapar de peque nos m nimos locales, donde una versi on sin momentum se estancar a
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

Criterio de parada para retropropagaci on


N otese que el algoritmo podr a recorrer varias veces el conjunto de entrenamiento
O podr a tomar aleatoriamente el ejemplo a tratar en cada iteraci on 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 retropropagaci on. Por ejemplo:
N umero de iteraciones prejadas Cuando el error sobre el conjunto de entrenamiento est a por debajo de una cota prejada

En este u ltimo caso, se corre el riesgo de sobreajuste, por lo que lo m as frecuente es usar un conjunto de prueba independiente para validar el error, o incluso validaci on cruzada
Inteligencia Articial IA 20122013 Tema 9: Introducci on a las redes neuronales

Aprendiendo la estructura de la red


El algoritmo de retropropagaci on parte de una estructura de red ja Hasta ahora no hemos dicho nada sobre qu e estructuras son las mejores para cada problema En nuestro caso, se trata de decidir cu antas capas ocultas se toman, y cu antas unidades en cada capa En general es un problema que no est a completamente resuelto a un Lo m as usual es hacer b usqueda experimental de la mejor estructura, medida sobre un conjunto de prueba independiente La mayor a 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 IA 20122013 Tema 9: Introducci on a las redes neuronales

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 din amico que puede alcanzar un estado estable, exhibir oscilaciones o incluso comportarse de forma ca otica
Presentan memoria a corto plazo Modelizan mejor el cerebro M as dif ciles de entender Grafo dirigido con posibles ciclos La salida de algunas unidades pueden alimentar sus propias entradas Constituyen sistemas din amicos, cambiantes Pueden alcanzar la estabilidad, exhibir oscilaciones o incluso tener comportamientos ca oticos Memoria a corto plazo

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Bibliograf a

Russell, S. y Norvig, P. Articial Intelligence (A modern approach) (Second edition) (Prentice Hall, 2003) (o su versi on en espa nol)
Cap. 20: Statistical Learning (disponible on-line en la web del libro)

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


Cap. 4: Articial Neural Networks

Inteligencia Articial IA 20122013

Tema 9: Introducci on a las redes neuronales

Anda mungkin juga menyukai