Algoritmo de Retropropagación

67
SEPTIEMBRE DE 20 02 ESCOM IPN 1 Retropropagació n Backpropagatio n( BP )

description

Backpropagation

Transcript of Algoritmo de Retropropagación

Page 1: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 1

Algoritmo de Retropropagación

“Backpropagation”( BP )

Page 2: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 2

Introducción

Page 3: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 3

Fue primeramente propuesto por Paul Werbos en los 1970´s en una Tesis doctoral.

Sin embargo, este algoritmo no fue conocido sino hasta 1980 año en que fue re-descubierto por David Rumelhart, Geoffrey Hinton y Ronald William, también David Parker y Yan Le Cun.

Page 4: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 4

Fue publicado “Procesos Distribuidos en Paralelo” por David Rumelhart y Mc Clelland, y ampliamente publicitado y usado el algoritmo “backpropagation”.

El perceptrón multicapa entrenado por el algoritmo de retropropagación es la red mas ampliamente usada.

Page 5: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 5

Características

Page 6: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 6

Page 7: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 7

Introducción

En muchas situaciones del mundo real, nos enfrentamos con información incompleta o con ruido, y también es importante ser capaz de realizar predicciones razonables sobre casos nuevos de información disponible.

Page 8: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 8

La red de retropropagación adapta sus pesos, para adquirir un entrenamiento a partir de un conjunto de pares de patrones entrada/salida

Después que la red ha aprendido ha esta se le puede aplicar un conjunto de patrones de prueba, para ver como esta generaliza a patrones no proporcionados

Page 9: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 9

Red feedforward, completamente conectada.

El flujo de información fluye de la capa de entrada a la de salida a través de la capa oculta

Cada unidad de procesamiento en la capa se conecta a todas las de la siguiente capa.

El nivel de activación en la capa de salida determina la salida de la red.

Las unidades producen valores reales basados en una función sigmoide.

Page 10: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 10

Si n=0 a=0.5, conforme n se incrementa la salida se aproxima a 1, conforme n disminuye, a se aproxima a 0

Funciones de transferencia (diferenciables)– Sigmoidales,– Lineales

nea

1

1

Page 11: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 11

Propiedades de Backpropagation

La función de error define una superficie en el espacio de pesos, y estos son modificados sobre el gradiente de la superficie

Un mínimo local puede existir en la superficie de decisión: esto significa que no hay teorema de convergencia para la retropropagación (el espacio de pesos es lo suficientemente grande que esto rara ves sucede)

Page 12: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 12

Las redes toman un periodo grande de entrenamiento y muchos ejemplos.

Además mientras la red generaliza, el sobre entrenamiento puede generar un problema.

Page 13: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 13

Arquitectura

Page 14: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 14

Perceptrón Multicapa

R – S1 – S2 – S3 Network

Page 15: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 15

Algoritmo de

Aprendizaje

Page 16: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 16

Algoritmo de BP

Los pesos se ajustan después de ver los pares entrada/salida del conjunto de entrenamiento.

En el sentido directo la red permite un flujo de activación en las capas.

En la retropropagación, la salida actual es comparada con la salida deseada, entonces se calcula el error para las unidades de salida

Page 17: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 17

Entonces los pesos en la salida son ajustados para reducir el error, esto da un error estimado para las neuronas ocultas y así sucesivamente.

Una época se define como el ajuste de los pesos para todos los pares de entrenamientos, usualmente la red requiere muchas épocas para su entrenamiento.

Page 18: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 18

Algoritmo

Inicialice los pesos de la red con valores pequeños aleatorios.

Presentar un patrón de entrada y especificar la salida deseada.

Calcule los valores de ajuste de las unidades de salida en base al error observado.

Page 19: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 19

Algoritmo Empezando por el nivel de salida, repita lo

siguiente por cada nivel de la red, hasta llegar al primero de los niveles ocultos:– Propague los valores de ajuste de

regreso al nivel anterior.– Actualice los pesos que hay entre los

dos niveles. El proceso se repite hasta que el error

resulta aceptablemente pequeño para cada uno de los patrones aprendidos.

Page 20: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 20

Gradiente Descendente

Después que se calcula el error, cada peso se ajusta en proporción al gradiente del error, retropropagado de la salidas a las entradas.

El cambio en los pesos reduce el error total

Wji

Error

Page 21: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 21

Mínimo Local

Entre mas unidades ocultas se tengan en red, menor es la probabilidad de encontrar un mínimo local

Page 22: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 22

Page 23: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 23

Superficie de error en 2D

Page 24: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 24

Superficie de Error en 3D

Page 25: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 25

Selección de los Wij iniciales

El error retropropagado a través de la red es proporcional al valor de los pesos.

Si todos los pesos son iguales, entonces el error retropropagado será igual, y todos los pesos serán actualizados en la misma cantidad

Page 26: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 26

Selección de los Wij iniciales

Si la solución al problema requiere que la red aprenda con pesos diferentes, entonces el tener pesos iguales al inicio previene a la red de aprender.

Es también recomendable tener valores pequeños de activación (umbral) en las unidades de procesamiento.

Page 27: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 27

Razón de Aprendizaje

Entre mas grande es la razón de aprendizaje () mayor es el cambio en los valores de los pesos cada época, y mas rápido aprende la red.

Si la es demasiado grande, entonces el cambio en los pesos no se aproxima al gradiente descendente, dando como resultado una oscilación en los pesos.

Se desea usar una lo mas grande posible sin llegar a la oscilación.

Page 28: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 28

Control de la convergencia

La velocidad de aprendizaje se controla mediante . Normalmente, debe ser un número entre 0.05 y 0.25.

Velocidad de convergencia El valor de se aumenta a medida que

disminuye el error. Añadir un momento (sumar una fracción

del ajuste de peso anterior al ajuste actual).

Page 29: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 29

Si una red neuronal deja de aprender:

Realizar un cambio en el número de neuronas ocultas.

Volver a empezar con un conjunto distinto de pesos.

Page 30: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 30

Formulario

Page 31: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 31

Propagación Hacia Adelante

p1 t1{ , } p2 t2{ , } pQ tQ{ , }

am 1+

fm 1+

Wm 1+

amb

m 1++ =

m 0 2 M 1– =

a0

p=

a aM=

Page 32: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 32

Retropropagación

sM

2FÝMn

M( ) t a– –=

sm

FÝmn

m( ) W

m 1+

Ts

m 1+=

m M 1– 2 1 =

Page 33: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 33

Actualización de pesos

Wm

k 1+ Wm

k sma

m 1–

T–=

bm

k 1+ bm

k sm

–=

Page 34: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 34

FÝmn

m

fÝm

n1

m 0 0

0 fÝm

n2

m 0

0 0 fÝm

nS

m

m

=s

m F̂

nm

----------

n 1m

---------

n 2m

---------

nS

m

m-----------

=

Page 35: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 35

Aplicaciones

Page 36: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 36

Ejemplos Prácticos

Determina si un hongo es venenoso Considera 8124 variedades de hongo Cada hongo es descrito usando 21

características.

Page 37: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 37

Page 38: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 38

Page 39: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 39

Diagnostico Medico

Basado en Visión por computadora

los síntomas son las entradas Los síntomas son trasladadas a un

punto en el espacio de los patrones

Page 40: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 40

Page 41: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 41

Page 42: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 42

Ejercicios

Page 43: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 43

Ejemplo 1: Aproximación de de una función senoidal

1-2-1Network

ap

Page 44: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 44

Condiciones Iniciales

W10 0.27–

0.41–=

b10 0.48–

0.13–=

W20 0.09 0.17–=

b20 0.48=

Network ResponseSine Wave

-2 -1 0 1 2-1

0

1

2

3

Page 45: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 45

Propagación hacia delante

a0

p 1= =

a1 f1 W1a0 b1+ l ogsig 0.27–

0.41–1

0.48–

0.13–+

logsig 0.75–

0.54–

= = =

a1

1

1 e0.75+--------------------

1

1 e0.54+--------------------

0.321

0.368= =

a2

f2 W2a1 b2

+ purelin 0.09 0.17–0.321

0.3680.48+( ) 0.446= = =

e t a– 14---p

sin+

a2

– 14---1

sin+

0.446– 1.261= = = =

Page 46: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 46

Derivadas de la función de transferencia

fÝ1

n nd

d 1

1 en–

+-----------------

en–

1 en–

+ 2

------------------------ 11

1 en–

+-----------------–

1

1 en–

+-----------------

1 a1

– a1 = = = =

fÝ2

n nd

dn 1= =

Page 47: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 47

Retropropagación

s2

2FÝ2n

2( ) t a– – 2 fÝ

2n

2 1.261 – 2 1 1.261 – 2.522–= = = =

s 1 FÝ1n1

( ) W2 Ts 2 1 a1

1– a1

1 0

0 1 a21

– a21

0.09

0.17–2.522–= =

s1 1 0.321– 0.321 0

0 1 0.368– 0.368 0.090.17–

2.522–=

s 1 0.218 0

0 0.233

0.227–

0.429

0.0495–

0.0997= =

Page 48: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 48

Actualización de W y B

W21 W2

0 s2 a1 T

– 0.09 0.17– 0.1 2.522– 0.321 0.368–= =

0.1=

W21 0.171 0.0772–=

b21 b2

0 s2– 0.48 0.1 2.522–– 0.732= = =

Page 49: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 49

Actualización de W y B

W1 1 W1 0 s 1 a0 T

– 0.27–

0.41–0.1 0.0495–

0.09971– 0.265–

0.420–= = =

b11 b1

0 s1– 0.48–

0.13–0.1 0.0495–

0.0997– 0.475–

0.140–= = =

Page 50: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 50

Elección de Arquitecturag p 1

6 4

------ p sin+=

-2 -1 0 1 2-1

0

1

2

3

-2 -1 0 1 2-1

0

1

2

3

-2 -1 0 1 2-1

0

1

2

3

-2 -1 0 1 2-1

0

1

2

3

1-5-1

1-2-1 1-3-1

1-4-1

Page 51: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 51

Elección de Arquitectura

g p 1i 4----- p

sin+=

-2 -1 0 1 2-1

0

1

2

3

-2 -1 0 1 2-1

0

1

2

3

-2 -1 0 1 2-1

0

1

2

3

-2 -1 0 1 2-1

0

1

2

3

1-3-1 Network

i = 1 i = 2

i = 4 i = 8

Page 52: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 52

Ejemplo 2: Clasificación de la compuerta OR-Exclusiva

011

14

110

13

111

02

010

01

TP

TP

TP

TPDiseñe una red de retropropagación que solucione el problema de la OR-exclusiva usando el algoritmo de retropropación (regla delta generalizada)

Page 53: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 53

Ejemplo 2: Clasificación de la compuerta OR-Exclusiva

27.102.188.0

66.1

19.0

12.287.0

12.292.0

22

11

bw

bw

01.0

Parámetros iniciales

Page 54: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 54

Simulación en

Matlab / NNT

Page 55: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 55

Red Multicapa

am 1+

fm 1+

Wm 1+

amb

m 1++ = m 0 2 M 1– =

a0

p= a aM=

Page 56: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 56

Initff: crea un conjunto de pesos y umbrales

para una red feed forward. Toma una matriz de de vectores de

entrada P, y el tamaño S, y las funciones de transferencia para cada capa, regresando los valores de W y b correspondientes a las dimensiones de la red.

Page 57: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 57

Ejemplos: Iniciar una red con 8 neuronas ocultas sigmoidales y cuatro de salida lineales.

[W1,b1,W2,b2]=initff(P,8,’tansig’,4,’purelin’)

También initff puede ajustar el numero de neuronas en la capa de salida igual al numero de filas en la matriz T.

[W1,b1,W2,b2]=initff(P,8,’tansig’,T,’purelin’)

Page 58: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 58

trainbp

Se usa para entrenar redes multicapa, con una, dos, o tres capas.

Ejemplo, para entrenar una red de dos capas la función seria:

[W1,b1,W2,b2,epochs,tr] = trainbp (W1,b1,’tansig’, W2,b2,’purelin’,p,t,tp)

tp= [disp-freq max-epoch err-goal lr]

Page 59: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 59

simuff Simula una red feed forward. Toma la

entrada P, los pesos W, los umbrales b, y la funcion de transferencia de cada capa y entrega las salidas de la capa a.

Ejemplo, para simular una red de dos capas

[a1,a2] = simuff (P,W1,b1,’tansig’, W2,b2,’purelin’)

Page 60: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 60

trainbpx Entrena redes multicapa con

retropropagación rápida. Se puede usar para redes de una,dos o tres capas.

Ejemplo use la funcion trainbpx para una red de dos capas.

[W1,b1,W2,b2,epochs,tr] = trainbpx (W1,b1,’tansig’, W2,b2,’purelin’,p,t,tp)

Page 61: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 61

Valores por omisión para tpValores por omisión para tp tp= [disp-freq = 25 max-epoch= 100 err-goal= 0.02 lr= 0.01 momentum= 0.9 lr-inc= 1.05 lr-dec= 0.7 err-ratio= 1.04 ]

Page 62: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 62

learnbp La regla de aprendizaje de

retropropagacion ajusta los pesos y umbrales de la red, de tal forma que minimise el error cuadrático de la red.

Esto se logra ajustando continuamente los parametros libres de la red en la direccion del gradiente descendente, respecto a la suma del error cuadratico.

Page 63: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 63

learnbp(P,D,lr) Regresa el cambio en la matriz de pesos

para una capa determinada, para los vectores de entrada P a la capa, los vectores delta D, y la razón de aprendizaje lr.

[dW,db]=learnbp(P,D,lr) Regresa tanto el cambio en la matriz de

pesos W por capa como el cambio en en el vector de umbrales b

Page 64: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 64

Ejemplo: Codigo para solucionar el problema de la OR-EXCLUSIVA.

P=[0 0 1 1; 0 1 0 1]

T=[0 1 1 0]

[W1,b1,W2,b2]=initff(P,8,´tansig´,T,´purelin´)

tp=[25 100 0.02 0.01]

[W1,b1,W2,b2,epochs,tr] = trainbp (W1,b1,’tansig’, W2,b2,’purelin’,p,t,tp)

[a1,a2] = simuff (P,W1,b1,’tansig’, W2,b2,’purelin’)

Page 65: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 65

Page 66: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 66

Dudas ???

Page 67: Algoritmo de Retropropagación

SEPTIEMBRE DE 2002

ESCOM IPN 67

Hasta la próxima !!!