56
ESCOM I P N 2005 1 UNIDAD VI UNIDAD VI Redes de propagación Redes de propagación hacia delante y hacia delante y aprendizaje aprendizaje supervisado supervisado 6.3 RED de Retro- propagación 6.3.1 Modelo y Arquitectura de la Red. 6.3.2 Algoritmo de

RED NEURONAL Backpropagation

  • Upload
    escom

  • View
    22.565

  • Download
    1

Embed Size (px)

DESCRIPTION

6.3 RED de Retro-propagación 6.3.1 Modelo y Arquitectura de la Red. 6.3.2 Algoritmo de Aprendizaje.

Citation preview

Page 1: RED NEURONAL Backpropagation

ESCOM I P N 2005 1

UNIDAD VIUNIDAD VIRedes de propagación Redes de propagación

hacia delante y hacia delante y aprendizaje supervisadoaprendizaje supervisado

6.3 RED de Retro-propagación 6.3.1 Modelo y Arquitectura de la Red.

6.3.2 Algoritmo de Aprendizaje.

Page 2: RED NEURONAL Backpropagation

ESCOM I P N 2005 2

6.36.3 RED De Retro-propagaciónRED De Retro-propagación

6.3.1 Modelo Y Arquitectura De La Red

Page 3: RED NEURONAL Backpropagation

ESCOM I P N 2005 3

Multilayer PerceptronMultilayer Perceptron

R – S1 – S2 – S3 Network

Page 4: RED NEURONAL Backpropagation

ESCOM I P N 2005 4

Arquitectura general de una red de Arquitectura general de una red de propagación hacia atráspropagación hacia atrás

Page 5: RED NEURONAL Backpropagation

ESCOM I P N 2005 5

Page 6: RED NEURONAL Backpropagation

ESCOM I P N 2005 6

ARQUITECTURA DE LA RBPARQUITECTURA DE LA RBP

• Esta red puede utilizarse para “Aproximar una función”. Puede aproximar cualquier función con un numero finito de discontinuidades.

Page 7: RED NEURONAL Backpropagation

ESCOM I P N 2005 7

IntroducciónIntroducción• En 1986, Rumelhart, Hinton y Williams formalizaron un método para que una red

neuronal aprendieraaprendiera la relación que existe entre los patrones de entrada a la

red y las salidas correspondientes, utilizando más niveles de neuronas que

los que utilizó Rosenblatt para desarrollar el Perceptron.

Page 8: RED NEURONAL Backpropagation

ESCOM I P N 2005 8

IntroducciónIntroducción

• La red Back-Propagation está basada en la generalización de la regla delta.

• Al igual que el Perceptron, ADALINE y MADALINE, la red Back-Propagation se caracteriza por tener una arquitectura en niveles y conexiones estrictamente

hacia adelante entre las neuronas. • Utilizan aprendizaje supervisado.

Page 9: RED NEURONAL Backpropagation

ESCOM I P N 2005 9

¿En que consiste la RBP? ¿En que consiste la RBP?

Consiste en un aprendizaje de un conjunto predefinido de pares de entradas-salidas dados como ejemplo, empleando un ciclo propagación-adaptación de dos fases.

Page 10: RED NEURONAL Backpropagation

ESCOM I P N 2005 10

FASESFASES

Primero.- se aplica un patrón de entrada como estímulo para la primera capa de las neuronas de la red, se va propagando a través de todas las capas superiores hasta generar una salida. Después se compara el resultado obtenido en las neuronas de salida con la salida que se desea obtener y se calcula un valor del error para cada neurona de salida.

Page 11: RED NEURONAL Backpropagation

ESCOM I P N 2005 11

FASESFASES

Segundo.- estos errores se transmiten hacia atrás, partiendo de la capa de salida, hacia todas las neuronas de la capa intermedia que contribuyan directamente a la salida, recibiendo el porcentaje de error aproximado a la participación de la neurona intermedia en la salida original.

Page 12: RED NEURONAL Backpropagation

ESCOM I P N 2005 12

La importancia de este algoritmo consiste en su capacidad de auto adaptar los pesos de las neuronas de las capas intermedias para aprender la relación que existe entre un conjunto de patrones dados como ejemplo y sus salidas correspondientes.

Importancia Importancia

Page 13: RED NEURONAL Backpropagation

ESCOM I P N 2005 13

Ya entrenada la red se podrá aplicar esa misma relación (terminado el entrenamiento), a nuevos vectores de entrada con ruido o incompletos, dando una salida activa si la nueva entrada es parecida a las presentadas durante el aprendizaje.

GeneralizaciónGeneralización

Page 14: RED NEURONAL Backpropagation

ESCOM I P N 2005 14

Regla Delta GeneralizadaRegla Delta Generalizada

• Es una extensión de la regla delta propuesta por Widrow (1960).

• Se usa en redes con capas intermedias con conexiones hacia delante y cuyas células tienen funciones de activación continuas. Estas funciones continuas son no decrecientes y derivables (la función sigmoidal pertenece a este tipo de funciones).

Page 15: RED NEURONAL Backpropagation

ESCOM I P N 2005 15

Superficie de errorSuperficie de error

El algoritmo utiliza una superficie de error asociada a la red, buscando el estado de mínimo error a través del camino descendente de la superficie del error.

Page 16: RED NEURONAL Backpropagation

ESCOM I P N 2005 16

Superficie de errorSuperficie de error

Page 17: RED NEURONAL Backpropagation

ESCOM I P N 2005 17

Estructura y aprendizajeEstructura y aprendizaje•Capa de entrada con n neuronas.

•Capa de salida con m neuronas.

•Al menos una capa oculta de neuronas.

Cada neurona de una capa recibe entradas de todas las neuronas de la capa anterior y envía su salida a todas las neuronas de la capa posterior. No hay conexiones hacia atrás ni laterales entre neuronas de la misma capa.

Page 18: RED NEURONAL Backpropagation

ESCOM I P N 2005 18

Control de la convergenciaControl 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 19: RED NEURONAL Backpropagation

ESCOM I P N 2005 19

Si una red deja de aprender:

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

• Volver a empezar con un conjunto distinto de pesos.

Page 20: RED NEURONAL Backpropagation

ESCOM I P N 2005 20

BPN vs. PERCEPTRONBPN vs. PERCEPTRON• La salida de BPN puede tomar valores entre

0 y 1; el perceptrón sólo toma 0 o 1.• Perceptrón y BPN normalmente empiezan

con un conjunto de pesos aleatorios.• El método de la regla delta generalizada

para ajustar pesos es el mismo que el de la regla delta utilizada en el perceptrón y ADALINE.

• BPN usa neuronas con función de activación continua.

Page 21: RED NEURONAL Backpropagation

ESCOM I P N 2005 21

MATLABMATLAB

RED BACKPROPAGATION

Page 22: RED NEURONAL Backpropagation

ESCOM I P N 2005 22

MODELO DE UNA NEURONAMODELO DE UNA NEURONA

• SE PUEDEN CREAR Y SIMULAR CON:

initff y simuff.

• LAS FUNCIONES DE ENTRENAMIENTO SON:– trainbp (normal),– trainbpx (rápida),– trainlm (más rapida, mucha memoria de PC).

Page 23: RED NEURONAL Backpropagation

ESCOM I P N 2005 23

FUNCION DE FUNCION DE TRANSFERENCIATRANSFERENCIA

• La función lonsig:– La función logsig(n) genera salidas 0 y 1

para entradas a la red neuronal que van desde un valor negativo a positivo, infinito.

• También se pueden utilizar las funciones:tansig(n) y purelin(n).

Page 24: RED NEURONAL Backpropagation

ESCOM I P N 2005 24

• Si la ultima capa de una RBP tiene neuronas con funciones sigmoides entonces las salidas de la red estarán limitadas a un rango pequeño.

• Pero si se utilizan funciones lineales, entonces la salida de la red podrá tomar cualquier valor.

FUNCION DE FUNCION DE TRANSFERENCIATRANSFERENCIA

Page 25: RED NEURONAL Backpropagation

ESCOM I P N 2005 25

DERIVADAS DE LAS F. T.´SDERIVADAS DE LAS F. T.´S

• En una RBP es importante el poder calcular las derivadas de cualquier función de transferencia utilizada.

• Las derivas de las funciones lonsig, tansig y purelin son: deltalog, deltatan y deltalin.

Tansig(‘delta’)

ans=deltatan

Page 26: RED NEURONAL Backpropagation

ESCOM I P N 2005 26

......

• La función “simuff “.- Simula una red feedforward.

• “Simuff” toma las entradas de la red, P; los pesos, W; el umbral, b, y la función de transferencia para tres capas, y regresa las salidas de cada capa. Por ejemplo para simular dos capas:

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

Page 27: RED NEURONAL Backpropagation

ESCOM I P N 2005 27

......

• Para calcular las salidas de una red de una, dos y tres capas:

• a=simuff(p, W, b, ‘tansig’)

• [a1, a2]=simuff(p, W1,B1, ‘logsig’, W2, b2, ‘purelin’)

• [a1, a2, a3]=simuff(p, W1,B1, ‘tansig’, W2, b2, ‘logsig’, W3, b3, ‘purelin’)

• a2=simuff(p, W1, b1, ‘tansig’, W2, b2, ‘purelin’)

Page 28: RED NEURONAL Backpropagation

ESCOM I P N 2005 28

INICIALIZACIÓNINICIALIZACIÓN

• Para crear una red de dos capas con ocho neuronas ocultas tansig y cuatro neuronas de salida purelin, se tiene:

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

– donde es importante que P contenga los limites mínimo y máximo de cada entrada para que así los mejores W y b sean calculados.

Page 29: RED NEURONAL Backpropagation

ESCOM I P N 2005 29

INICIALIZACIÓNINICIALIZACIÓN

[W1,b1,W2,b2]=initff(P,5,’tansig’);

• Por ejemplo, una red de una capa con cinco neuronas puede tener dos entradas, una de las cuales siempre tiene valores en el intervalo [-10,+10], y la otra en [0,5].

• [W1,b1,W2,b2]=initff(P, [-10 10; 0 5], ‘tansig’);

Page 30: RED NEURONAL Backpropagation

ESCOM I P N 2005 30

INICIALIZACIÓNINICIALIZACIÓN

• Initff .- Puede automáticamente establecer el numero de neuronas en la capa de salida al número de columnas de la matriz objetivo T.

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

Page 31: RED NEURONAL Backpropagation

ESCOM I P N 2005 31

Regla de Aprendizaje de la BPRegla de Aprendizaje de la BP

• Utilizada para entrenar redes no lineales multicapa se usa para llevar a cabo:

• La Aproximación de funciones,

• La asociación de patrones, y

• La clasificación de patrones.

Page 32: RED NEURONAL Backpropagation

ESCOM I P N 2005 32

Regla de Aprendizaje de la BPRegla de Aprendizaje de la BP

• Las derivadas del error (llamadas vectores delta) son calculadas para la capa de salida de la red, y entonces propagadas hacia atrás a través de la red hasta que los vectores delta están disponibles para cada capa oculta. Los cuales son calculados con las funciones:

• deltalin, deltalog, y deltatan.

Page 33: RED NEURONAL Backpropagation

ESCOM I P N 2005 33

Regla de Aprendizaje de la BPRegla de Aprendizaje de la BP

• deltalin(a,e) regresa el vector delta para una capa de salida de neuronas lineales con un vector de salida a y un vector de errores e.

• deltalin(a,d,W) regresa el vector delta para una capa oculta de neuronas lineales, con un vector de salida a, presedido de una capa con un vector delta d y una matriz de pesos W.

Page 34: RED NEURONAL Backpropagation

ESCOM I P N 2005 34

Regla de Aprendizaje de la BPRegla de Aprendizaje de la BP

• deltalog(a,e) Regresa deltas para una capa de salida logsig.

• deltalog(a,d,W) Regresa deltas para una capa de oculta logsig.

• deltatan(a,e) Regresa deltas para una capa de salida tansig.

• deltatan(a,d,W) Regresa deltas para una capa de oculta tansig.

Page 35: RED NEURONAL Backpropagation

ESCOM I P N 2005 35

Regla de Aprendizaje de la BPRegla de Aprendizaje de la BP

• El cambio realizado en los pesos y los umbrales son calculados por learnbp.

• El cambio lo realiza utilizando el vector delta de la capa, y su vector de la capa de entrada p, de acuerdo a la regla:

Dlrb

DplrW T

Page 36: RED NEURONAL Backpropagation

ESCOM I P N 2005 36

6.36.3 RED De Retro-propagaciónRED De Retro-propagación

6.3.2 Algoritmo de Aprendizaje y Entrenamiento

Page 37: RED NEURONAL Backpropagation

ESCOM I P N 2005 37

Funcionamiento del Algoritmo Funcionamiento del Algoritmo de Aprendizajede Aprendizaje

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

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

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

Page 38: RED NEURONAL Backpropagation

ESCOM I P N 2005 38

Funcionamiento del Algoritmo Funcionamiento del Algoritmo de Aprendizajede Aprendizaje

4. Empezando por el nivel de salida, repita lo siguiente por cada nivel de la red, hasta llegar al primero de los niveles ocultos:

1. Propague los valores de ajuste de regreso al nivel anterior.

2. Actualice los pesos que hay entre los dos niveles.

5. El proceso se repite hasta que el error resulta aceptablemente pequeño para cada uno de los patrones aprendidos.

Page 39: RED NEURONAL Backpropagation

ESCOM I P N 2005 39

Funcionamiento del Algoritmo Funcionamiento del Algoritmo de Entrenamientode Entrenamiento

•El método es exactamente el mismo que el de la regla delta utilizada en el Perceptrón y ADALINE.

obtenidasaldeseadasal ..

Page 40: RED NEURONAL Backpropagation

ESCOM I P N 2005 40

Algoritmo de retropropagaciónAlgoritmo de retropropagación

Primer Paso,0 pa

,1,,2,0)( 1111 Mmparammmmm baWfa

,Maa

Page 41: RED NEURONAL Backpropagation

ESCOM I P N 2005 41

Algoritmo de retropropagaciónAlgoritmo de retropropagación

Segundo Paso

,121 ssss MM

,2 atnFs

MM

M

.1,2,,1,11

MmparasmTmm

mm WnFs

Page 42: RED NEURONAL Backpropagation

ESCOM I P N 2005 42

Algoritmo de retropropagaciónAlgoritmo de retropropagación

Tercer Paso

,1 1 Tm-mm

m kk asαWW

mm

m kk sbb α1

Page 43: RED NEURONAL Backpropagation

ESCOM I P N 2005 43

Suponer que se quiere utilizar una RNA (1-2-1)para aproximar la función:

.224

1)(

pparapsinpg

Page 44: RED NEURONAL Backpropagation

ESCOM I P N 2005 44

EntrenamientoEntrenamiento

.48.00,13.0

48.00,17.009.00,

47.0

27.00 2121

bbWW

1.0Si p = 1 y entonces:

,0 1pa

Page 45: RED NEURONAL Backpropagation

ESCOM I P N 2005 45

EntrenamientoEntrenamiento

La salida de la primera capa es:

368.0

321.0

1

11

1

54.0

75.0log

13.0

48.01

41.0

27.0log)(

54.0

75.0

10111

e

esig

sigbaWfa

Page 46: RED NEURONAL Backpropagation

ESCOM I P N 2005 46

EntrenamientoEntrenamiento

Mientras que la salida para la segunda capa es :

446.048.0368.0

321.017.009.0)( 21222

purelinbaWfa

Y se calcula el error de la red que será de:

261.1446.014

14

1 2

sinapsinate

Page 47: RED NEURONAL Backpropagation

ESCOM I P N 2005 47

EntrenamientoEntrenamientoEtapa 2 retropopagación de la sensibilidad.

Se necesita derivar las funciones de transferencia de las capas de la Red:

11

2

1.

11

1

1

11

11

1)( aa

eee

e

edn

dnf

nnn

n

n

12.

ndn

dnf

Page 48: RED NEURONAL Backpropagation

ESCOM I P N 2005 48

EntrenamientoEntrenamientoEl punto de inicio se encuentra en la segunda etapa :

522.2261.112261.122 22.

22

2

nfatnFs

La sensibilidad de la primera capa se calcula al retropropagar la sensibilidad desde la segunda capa:

Page 49: RED NEURONAL Backpropagation

ESCOM I P N 2005 49

EntrenamientoEntrenamiento

La etapa final del algoritmo conlleva la actualización de los pesos :

.0997.0

0495.0

429.0

227.0

233.00

0218.0

522.217.0

09.0

368.0368.010

0321.0321.01

522.217.0

09.0

10

0112

12

11

11221

11

aa

aas

TWnFs

Page 50: RED NEURONAL Backpropagation

ESCOM I P N 2005 50

EntrenamientoEntrenamientoLa etapa final del algoritmo conlleva la actualización de los pesos y umbrales, para la capa de salida:

.0772.0171.0

368.0321.0522.21.017.009.0α01 122

2

TasWW

732.0522.21.048.0α01 22

2 sbb

Page 51: RED NEURONAL Backpropagation

ESCOM I P N 2005 51

EntrenamientoEntrenamiento

Y para las capas ocultas:

.420.0

265.01

0997.0

0495.01.0

41.0

27.0α01 01

11

T

asWW

140.0

475.0

0997.0

0495.01.0

13.0

48.0α01 1

11 sbb

Page 52: RED NEURONAL Backpropagation

ESCOM I P N 2005 52

EntrenamientoEntrenamiento

Estos resultados completan la primera iteración del algoritmo de la retropropagación. Se continuará iterando hasta que la diferencia entre la respuesta de la red y la función objetivo alcance algún nivel aceptable.

Page 53: RED NEURONAL Backpropagation

ESCOM I P N 2005 53

Consideraciones sobre el algoritmo de Consideraciones sobre el algoritmo de aprendizajeaprendizaje

• Este algoritmo encuentra un valor mínimo de error (local o global) mediante pasos descendentes (gradiente descendente).

• Cada punto de la superficie corresponde a un conjunto de valores de los pesos de la red.

Page 54: RED NEURONAL Backpropagation

ESCOM I P N 2005 54

Consideraciones sobre el algoritmo de Consideraciones sobre el algoritmo de aprendizajeaprendizaje

• Con el gradiente descendente, siempre que se realiza un cambio en todos los pesos de la red, se asegura el descenso por la superficie del error hasta encontrar el valle más cercano, lo que puede hacer que el proceso de aprendizaje se detenga en un mínimo local de error.

Page 55: RED NEURONAL Backpropagation

ESCOM I P N 2005 55

Superficie de errorSuperficie de error

Page 56: RED NEURONAL Backpropagation

ESCOM I P N 2005 56

UNIDAD VIUNIDAD VIRedes de propagación Redes de propagación

hacia delante y hacia delante y aprendizaje supervisadoaprendizaje supervisado

6.4 Solución de problemas con MATLAB