Está en la página 1de 23

Perceptron Multicapa

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

Introduccin
Minsky y Papert (1969) demostraron que el perceptron simple (y Adaline) no pueden resolver problemas no lineales (como XOR). La combinacin de varios perceptrones podra resolver ciertos problemas no lineales pero no saban como adaptar los pesos de las capas ocultas Rumelhart y otros autores (1986) presentaron la Regla Delta Generalizada para adaptar los pesos propagando los errores hacia atrs (retropropagacin), para mltiples capas y funciones de activacin no lineales (Applet: http://neuron.eng.wayne.edu/software.html)

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

Introduccin
Se demuestra que el Perceptron Multicapa (MLP) es un APROXIMADOR UNIVERSAL Un MLP puede aproximar relaciones no lineales entre datos de entrada y de salida Es una de las arquitecturas ms utilizadas en la resolucin de problemas reales:
por ser aproximador universal por su fcil uso y aplicabilidad

Se ha aplicado con xito en:


reconocimiento de voz reconocimiento de imgenes OCR conduccin de vehculos diagnsticos mdicos, etc
Jos M Valls 2007

Redes de Neuronas. Perceptron Multicapa

Arquitectura
Capa de entrada: slo se encargan de recibir las seales de entrada y propagarlas a la siguiente capa Capa de salida: proporciona al exterior la respuesta de la red para cada patrn de entrada Capas ocultas: Realizan un procesamiento no lineal de los datos recibidos Son redes "feedforward": alimentadas hacia adelante Generalmente cada neurona est conectada a todas las neuronas de la siguiente capa (conectividad total)

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

Arquitectura
w111 wcij

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

Propagacin de los patrones de entrada


El perceptron multicapa define una relacin entre las variables de entrada y las variables de salida de la red

Esta relacin se obtiene propagando hacia adelante los valores de las variables de entrada

Cada neurona de la red procesa la informacin recibida por sus entradas y produce una respuesta o activacin que se propaga, a travs de las conexiones correspondientes, hacia las neuronas de la siguiente capa.

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

Propagacin de los patrones de entrada. Notacin


C capas, nc neuronas en la capa c=1, 2, C Matriz de pesos y vector de umbrales de cada capa:
c w11 c w21 c W c = ( wij )= M c wn c1 c w12 c w22 M c wn c2

w1cnc+1 c ... w2 nc +1 M c ... wn n c c +1 ...


uc

u1c c u2 c c U = (ui ) = M c un c

aic

Activacin de la neurona i:

ac

i
i

c ij

u c +1
j
capa c+1 7

a cj +1

capa c
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007

Propagacin de los patrones de entrada. Activaciones


Activacin de las neuronas de entrada

donde

representa el vector de entrada

Activacin de las neuronas de la capa oculta

donde ajc-1 son las activaciones de la capa j-1

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

Propagacin de los patrones de entrada. Activaciones


Activacin de las neuronas de la capa de salida

donde

es el vector de salida de la red

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

Funcin de activacin
Las funciones ms utilizadas son
Funcin Sigmoidal - Tangente Hiperblica

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

10

Funcin de activacin
Ambas son crecientes con dos niveles de saturacin Normalmente f es comn a todas las neuronas La elige el diseador segn el valor de activacin que se desee [-1,1] o [0,1] Ambas funciones estn relacionadas:

f 2 ( x ) = 2 f1 ( x ) 1

El perceptron multicapa define, a travs de sus conexiones y neuronas, una funcin continua no lineal del espacio en el espacio

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

11

Diseo de la arquitectura
Hay que decidir: Funcin de activacin
Nos basamos en el recorrido deseado. No suele influir en la capacidad de la red para resolver un problema

Nmero de neuronas de entrada y de salida


Vienen dados por las variables que definen el problema A veces no se conoce el nmero de variables de entrada relevantes: es conveniente realizar un anlisis previo de las variables de entrada para descartar las que no aportan informacin a la red (PCA, GA,..)

Nmero de capas y neuronas ocultas


Debe ser elegido por el diseador No existe un mtodo para determinar el nmero ptimo de neuronas ocultas para resolver un problema dado Dado un problema, puede haber un gran nmero de arquitecturas capaces de resolverlo

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

12

MLP: Algoritmo de Retropropagacin

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

13

Introduccn
Objetivo: Ajustar los pesos de la red para minimizar el error global
Salida deseada Salida

1 E= N

e( n )
n =1

1 nC e ( n ) = ( s i ( n ) y i ( n )) 2 2 i =1
Error para el patrn n

Error medio para todos los patrones

Problema de minimizacin no lineal Funciones de activacin no lineales hacen que la respuesta de la red sea no lineal respecto a los pesos Adaptacin de los parmetros siguiendo una direccin de bsqueda Direccin negativa del gradiente de la funcin de error E Hay otros mtodos de realizar la bsqueda: aleatoria, tcnicas evolutivas, etc
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007

14

Introduccn
El ajuste de los pesos se hace casi siempre por patrones (mtodos de gradiente estocstico): Sucesiva minimizacin de los errores para cada patrn e(n), en lugar de minimizar el error global Cada peso w se modifica para cada patrn de entrada n de acuerdo con la ley de aprendizaje:

w =

e(n) w e(n) w

w(n) = w(n 1)

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

15

Obtencin de la regla delta generalizada


Pesos de la ltima capa
1 C 1 wC ji ( n ) = w ji ( n 1)

e(n) 1 wC ji

e(n) e(n) yi (n) = 1 1 yi (n) wC wC ji ji

[1]

El peso wjiC-1 slo afecta a yi, el resto de salidas no dependen de l


e(n) = 1 nC 1 1 (si (n) yi (n))2 = 2 (s1(n) y1(n))2 + ...+ 2 (si (n) yi (n))2 + ... 2 i =1

e(n) = ( si (n) yi (n)) yi (n)

Por tanto,

e(n) y (n) = ( si (n) yi (n)) i C 1 C 1 w ji w ji

yi (n) 1 Ahora hay que calcular: wC ji


Jos M Valls 2007

Slo la derivada de la salida yi es distinta de 0

Redes de Neuronas. Perceptron Multicapa

16

Regla delta generalizada (pesos de la ltima capa)


La salida yi es:
nC 1 j =1

[2]

1 C 1 yi = aiC = f ( wC + uiC ) ji a j

Por tanto, su derivada:

Es la derivada de [2], slo el sumando j depende de wij

nC 1 yi (n) 1 C 1 1 = f ( wC + uiC )a C ji a j j C 1 w ji j =1 Por tanto, la derivada del error ser:

nC 1 e(n) 1 C 1 1 = ( s ( n ) y ( n )) f ( wC + uiC )a C i i ji a j j 1 wC j =1 ji

Se define el trmino asociado a la neurona i de la capa C:


1 C 1 iC (n) = ( si (n) yi (n)) f ( wC + uiC ) ji a j j =1 nC 1

[3]

Por tanto [1] quedar: e(n) = C ( n)a C 1 i j 1 wC ji


Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007

17

Regla delta generalizada (pesos de la ltima capa)

Por tanto, el nuevo peso ser


1 C 1 C C 1 wC ( n) ji ( n) = w ji ( n 1) + i ( n ) a j

Lo mismo ocurre con los umbrales de la ltima capa:

uiC (n) = uiC (n 1) + iC (n)


Para modificar el peso wji basta considerar la activacin de la neurona origen j y el trmino asociado a la neurona destino i
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007

18

Regla delta generalizada (pesos de la penltima capa)


Pesos de la capa C-2 a la capa C-1
C 2 C 2 wkj (n) = wkj (n 1)

e(n) C 2 wkj

Ahora este peso afecta a todas las salidas


e(n) = 1 nC 1 1 (si (n) yi (n))2 = 2 (s1(n) y1(n))2 + ...+ 2 (si (n) yi (n))2 + ... 2 i =1
todas las salidas y dependen del peso wkj
[4]

Por tanto la derivada del error ser


nC e(n) y (n) = ( si (n) yi (n)) i C 2 C 2 wkj wkj i =1

suma de las derivadas de cada una de las salidas de la red


Redes de Neuronas. Perceptron Multicapa

Ahora hay que calcular la derivada de yi respecto al peso wkj


Jos M Valls 2007

19

Regla delta generalizada (pesos de la penltima capa)


Como yi es:
1 C 1 yi = aiC = f ( wC + uiC ) ji a j j =1 nC 1

ahora la variable wkjC-2 est dentro de 1 trmino aj

1 nC 1 a C yi (n) j C 1 C 1 C C 1 ( ) = f w a + u ji j i ji C 2 C 2 wkj wkj j =1

Se sustituye este valor en [4]:


1 nC nC 1 a C e(n) j C 1 C 1 C C 1 = s n y n f w a + u w ( ( ) ( )) ( ) i i ji j i ji C 2 C 2 wkj wkj i =1 j =1

i
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007

20

Regla delta generalizada (pesos de la penltima capa)


Por tanto y de acuerdo a la definicin de [3], queda:
1 nC a C e(n) j C C 1 = w i ji C 2 C 2 wkj wkj i =1

[5]

La derivada de la activacin de la neurona j es:


1 a C j C 2 wkj 1 C 2 C 2 C 2 = f ( wkj ak + u C j ) ak k =1 nC 2

[6]

El nico trmino que depende de wkj es el que sale de k


nC nC 2 e(n) 1 C C 1 C 2 C 2 C 2 = w f ( wkj ak + u C i ji j ) ak C 2 wkj i =1 k =1

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

21

Regla delta generalizada (pesos de la penltima capa)


Se define el trmino asociado a la neurona j de la capa C-1
1 1 1 C 2 C 2 C = f ( wkj ak + u C ) iC wC j j ji k =1 i =1 nC 2 nC

Sustituyendo [6] en [5] y de acuerdo con la definicin de asociado a la neurona j de la capa C-1:

e(n) 1 C 2 = C j ak C 2 wkj

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

22

Regla delta generalizada (pesos de la penltima capa)

Por tanto, el nuevo peso ser


C 2 C 2 1 C 2 wkj (n) = wkj (n 1) + C ( n) ak ( n) j

Lo mismo ocurre con los umbrales de la penltima capa:


1 1 uCj 1 (n) = u C (n 1) + C ( n) j j

Para modificar el peso wkj basta considerar la activacin de la neurona origen k y el trmino asociado a la neurona destino j

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

23

Regla delta generalizada (pesos de la penltima capa)

El trmino de la neurona j capa C-1 viene dado por:


Derivada de la funcin de activacin de j Suma de los trminos de la siguiente capa multiplicados por los correspondientes pesos
nC 2 k =1 nC

1 1 1 C 2 C 2 C = f ( wkj ak + u C ) iC wC j j ji i =1

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

24

Regla delta generalizada. Capa oculta c

Se generaliza para los pesos de cualquier capa c a la capa c+1 (c=1,2,.... C-2)
c c +1 c wkj (n) = wkj (n 1) + c j ( n ) ak ( n )

+1 u cj +1 (n) = u cj +1 (n 1) + c j ( n)

k=1,2,....nc j=1,2,.....nc+1 c=1,2,.... C-2

Basta tener en cuenta la activacin de la que parte la conexin y el trmino de la neurona a la que llega la conexin.

k
Redes de Neuronas. Perceptron Multicapa

ack wckj

c+1j

j
25

Jos M Valls 2007

Regla delta generalizada. Capa oculta c

El trmino de una neurona j se calcula utilizando la derivada de su funcin de activacin y la suma de los trminos de las neuronas de la siguiente capa

c c +1 +1 c = f ( wkj ak + u cj +1 ) ic + 2 wc j ji k =1 i =1

nc

nc + 2

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

26

Regla delta generalizada. Derivada de f


Derivada de la funcin de activacin Funcin sigmoidal

f1 ( x) =

1 1 + ex

f '1 ( x) =

1 (e x ) (1 + e x ) 2

f1' ( x) =

1 1 1+ e x 1 1 1+ e x 1 e x ( )= ( ) = x x x x 1 + e 1+ e 1+ e 1+ e 1+ ex 1+ ex 1+ ex

f1 ' ( x) = f1 ( x)(1 f1 ( x))


Por tanto, como la de la ltima capa es:
1 C 1 iC = ( si yi ) f ( wC + uiC ) ji a j j =1 nC 1

Para simplificar la notacin, suprimimos la referencia al patrn n, (n)

resulta:

iC = ( si yi ) yi (1 yi )
Jos M Valls 2007

Ultima capa
27

Redes de Neuronas. Perceptron Multicapa

Regla delta generalizada. Derivada de f


Para el resto de las capas:
+1 +1 c c c + 2 c +1 c = f ( wkj ak + u c w ji j j ) i k =1 i =1 nc nc + 2

por tanto:

Resto de capas

c +1 j

=a

c +1 j

(1 a

c +1 j

) ic + 2 wcji+1
i =1

nc + 2

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

28

Resumen de la regla delta generalizada


Cada neurona de salida distribuye hacia atrs su error (valor ) a todas las neuronas ocultas que se conectan a ella ponderado por el valor de la conexin.

As, cada neurona oculta recibe un cierto error ( ) de cada neurona de salida, siendo la suma el valor de la neurona oculta.

Estos errores se van propagando hacia atrs, llegando a la primera capa

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

29

Resumen de la regla delta generalizada. Expresiones


Para la ltima capa:
1 C 1 C C 1 wC ( n) ji ( n ) = w ji ( n 1) + i ( n ) a j

uiC (n) = uiC ( n 1) + iC ( n)


donde :

iC = ( si yi ) yi (1 yi )
Para el resto de capas:
c c +1 c wkj ( n) = wkj ( n 1) + c j ( n) ak ( n)
+1 u cj +1 (n) = u cj +1 (n 1) + c j (n)

donde :
+1 +1 c + 2 c +1 c = a cj +1 (1 a c w ji j j ) i i =1
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007

nc + 2

30

Tasa de aprendizaje y momento


El cambio en el peso es proporcional al gradiente del error, siendo (tasa de aprendizaje) la constante de proporcionalidad Si es grande, el error puede oscilar alrededor del mnimo Si es pequea, la convergencia de ms lenta Se puede modificar la ley de aprendizaje aadiendo un trmino llamado momento e(n)

w(n) = w(n 1)

As, se aade cierta inercia a los cambios y se evitan oscilaciones

+ w(n 1)

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

31

Proceso de aprendizaje en el MLP


1. 2. 3. 4. Se inicializan los pesos y umbrales de la red (valores aleatorios prximos a 0) Se presenta un patrn n de entrenamiento, (X(n),S(n)), y se propaga hacia la salida, obtenindose la respuesta de la red Y(n) Se evala el error cuadrtico, e(n), cometido por la red para el patrn n. (ver diapositiva 14) Se aplica la regla delta generalizada para modificar los pesos y umbrales de la red: 1. 2. Se calculan los valores para todas las neuronas de la capa de salida Se calculan los valores para el resto de las neuronas de la red, empezando desde la ltima capa oculta y retropropagando dichos valores hacia la capa de entrada Se modifican pesos y umbrales

3.

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

32

Proceso de aprendizaje en el MLP

1.

Se repiten los pasos 2, 3 y 4 para todos los patrones de entrenamiento, completando as un ciclo de aprendizaje Se evala el error total E (diapositiva 2) cometido por la red. Es el error de entrenamiento. (puede medirse el error medio o el error acumulado para todos los patrones) Se repiten los pasos 2, 3, 4, 5 y 6 hasta alcanzar un mnimo del error de entrenamiento, para lo cual se realizan m ciclos de aprendizaje. Puede utilizarse otro criterio de parada (pequea variacin del error de entrenamiento, aumento del error del conjunto de test, etc)

2.

3.

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

33

Proceso de aprendizaje en el MLP

Idea intuitiva: Partiendo de un punto aleatorio W(0) del espacio de pesos, el proceso de aprendizaje desplaza el vector de pesos W(n-1) siguiendo la direccin negativa del gradiente del error en dicho punto, alcanzando un nuevo punto W(n) que estar ms prximo del mnimo del error que el anterior

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

34

Capacidad de generalizacin
No slo es importante saber si la red se adapta a los patrones de entrenamiento sino que hay que conocer cmo se comportar ante patrones no utilizados en el entrenamiento Hay que evaluar la capacidad de generalizacin

Buena capacidad de generalizacin


Redes de Neuronas. Perceptron Multicapa

Mala capacidad de generalizacin


Jos M Valls 2007

35

Capacidad de generalizacin

Necesitaremos dos conjuntos:


Conjunto de entrenamiento: para entrenar la red (ajustar pesos y umbrales) Conjunto de validacin o test: para medir la capacidad de la red ante patrones no utilizados en el entrenamiento Ambos conjuntos deben ser representativos del problema

A veces, es necesario exigir menor ajuste a los datos de entrenamiento para obtener mejor generalizacin Para poder hacer esto, es necesario evaluar la capacidad de generalizacin a la vez que se realiza el entrenamiento, no slo al final Cada cierto nmero de ciclos de entrenamiento se pasa el conjunto de validacin (sin ajustar pesos) para medir la capacidad de generalizacin As puede medirse tanto la evolucin del error de entrenamiento como la de validacin

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

36

Capacidad de generalizacin
Situacin 1: Ambos errores permanecen estables despus de cierto nmero de ciclos El aprendizaje ha terminado con xito Nivel de generalizacin bueno

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

37

Capacidad de generalizacin. Sobreaprendizaje


Situacin 2: Despus de cierto nmero de ciclos el error de validacin empieza a aumentar Se ha conseguido un error de entrenamiento muy bajo, pero a costa de perder generalizacin Se ha producido sobreaprendizaje Hubiera sido conveniente detener el entrenamiento en el ciclo 10000

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

38

Sobreaprendizaje
El sobreaprendizaje puede deberse a un nmero excesivo de ciclos de aprendizaje Tambin puede deberse a un excesivo nmero de pesos o parmetros (de neuronas): se tiende a ajustar con mucha exactitud los patrones de entrenamiento, porque la funcin tiene muchos grados de libertad (muchos parmetros) Si los datos de entrenamiento tienen ruido, la funcin se ajusta al ruido impidiendo generalizar bien 5 neur. ocultas 20 neur. ocultas

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

39

Deficiencias del algoritmo de aprendizaje


Mnimos locales: La superficie del error es compleja. El mtodo del gradiente nos puede llevar a un mnimo local Posibles soluciones: Aadir ruido al mtodo de descenso del gradiente Partir de diferentes inicializaciones aleatorias Aumentar el nmero de neuronas ocultas

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

40

Deficiencias del algoritmo de aprendizaje

Parlisis o saturacin
Se produce cuando la entrada total a una neurona toma valores muy altos (+/-): la neurona se satura y alcanza un valor prximo a 1 o a 0 El ajuste de los pesos es proporcional a yk(1-yk): es prcticamente 0 La red se estanca No es lo mismo que un mnimo local, aunque puede confundirse con esta situacin Cuando hay parlisis, puede ocurrir que despus de un tiempo el error siga bajando Para evitar la saturacin conviene comenzar con valores de pesos prximos a 0

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

41

Otras funciones de activacin


La sigmoide no es muy apropiada para aproximar funciones peridicas. Ejemplo: Red con f.a. sigmoide y 8 neuronas ocultas para aproximar la funcin

f ( x) = sin(2 x) sin( x)

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

42

Otras funciones de activacin


La aproximacin es mucho mejor con una funcin de activacin sin(x). Con slo 4 neuronas ocultas se aproxima mejor

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

43

Efecto del tamao del conjunto de entrenamiento


El conjunto de entrenamiento debe tener un nmero suficiente de muestras para representar adecuadamente el problema Ejemplo: Aproximacin de una funcin con 4 muestras y con 20:

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

44

Efecto del tamao del conjunto de entrenamiento


Cuando el nmero de ejemplos de entrenamiento crece, los errores de test y de entrenamiento convergen

Redes de Neuronas. Perceptron Multicapa

Jos M Valls 2007

45

También podría gustarte