1 problema no separable linealmente se busca obtener un algoritmo más general que permita integrar...

36
1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas.

Upload: encarna-bernardez

Post on 22-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

1

Problema no separable linealmente

Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas.

Page 2: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

2

Problema no separable linealmente

¿Cuál es el tamaño de cada capa?

Page 3: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

3

Problema no separable linealmente

La idea es aplicar un descenso en la dirección del gradiente sobre la superficie de error expresada como una función de los pesos.

Deberán tenerse en cuenta los pesos de los arcos que unen AMBAS capas.

Dado que el aprendizaje es supervisado, para los nodos de salida se conoce la respuesta esperada a cada entrada. Por lo tanto, puede aplicarse la regla delta vista en el Combinador Lineal.

Page 4: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

4

Backpropagation. Arquitectura

Page 5: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

5

Backpropagation

Dado el siguiente conjunto de vectores

que son ejemplos de correspondencia funcional

se busca entrenar la red para que aprenda una aproximación

)},(...,),,{( 11 pp yxyx

MN RyR ,x (x)y

)('' xy

Page 6: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

6

Backpropagation. Capa Oculta Patrón de entrada

Entrada neta de la j-ésima neurona de la capa oculta

Salida de la j-ésima neurona de la capa oculta

tpNppp xxxx ),...,,( 21

n

i

hjpi

hji

hpj xwneta

1

)( hpj

hjpj netafi

Page 7: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

7

Backpropagation. Capa de Salida

Entrada neta de la k-ésima neurona de la capa de salida

Salida de la k-ésima neurona de la capa de salida

L

j

okpj

okj

opk iwneta

1

)( opk

okpk netafo

Page 8: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

8

Actualización de pesos

Error en una sola unidad de la capa de salida

donde – y es la salida deseada – o es la salida real.– p se refiere al p-ésimo vector de entrada– k se refiere a la k-ésima unidad de salida

pk pk pky o ( )

Page 9: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

9

Actualización de pesos Se busca minimizar

se tomará el valor negativo del gradiente

E

E y o

p pkk

M

p pk pkk

M

1

2

1

2

2

1

2

1

( )

Page 10: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

10

Actualización de pesos

pjopk

okpkpko

kj

p

pj

L

j

okpj

okjo

kjokj

opk

okj

opk

opk

ok

pkpkokj

p

inetafoyw

E

ihiwww

neta

w

neta

neta

foy

w

E

)(')(

)(

)(

)()(

1

Peso del arco que une la neurona j de la capa oculta y la neurona k de la capa de salida

Salida de la neurona oculta j

Page 11: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

11

Actualización de pesos

Por lo tanto, para la capa de salida se tiene

pko

pk pk ko

pko

kjo

kjo

pko

pj

y o f neta

w t w t i

( ) ' ( )

( ) ( )1

Page 12: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

12

Actualización de pesos

donde

se denomina parámetro de velocidad de aprendizaje

pjopk

okpkpk

okjp

okjp

okj

okj

inetafoytw

twtwtw

)(')()(

)()()1(

Page 13: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

13

Función de Activación Hay dos formas de la función de salida que

tienen interésa)

b)

Derivadasa)

b)

f neta neta

f neta e

ko

jko

jko

ko

jko neta jk

o

( )

( ) ( )

1 1

f

f f f o o

ko

ko

ko

ko

pk pk

'

' ( ) ( )

1

1 1

Page 14: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

14

Actualización de pesos

Por lo tanto, si se utiliza a)

y si se utiliza b)

w t w t y o i

w t w t y o o o i

kjo

kjo

pk pk pj

kjo

kjo

pk pk pk pk pj

( ) ( ) ( )

( ) ( ) ( ) ( )

1

1 1

Page 15: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

15

Actualización de pesos

Corrección para los pesos de los arcos entre la capa de entrada y la oculta

serán de la forma:

pihpj

hjip xtw )(

k

okj

opk

hpj

hj

hpj wnetaf )('

Page 16: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

16

Backpropagation. Entrenamiento Aplicar un vector de entrada y calcular su salida. Calcular el error. Determinar en qué dirección (+ o -) debe

cambiarse los pesos para reducir el error. Determinar la cantidad en que es preciso

cambiar cada peso. Corregir los pesos de las conexiones. Repetir los pasos anteriores para todos los

patrones hasta reducir el error a un valor aceptable.

Page 17: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

17

Backpropagation. Resumen

Aplicar el vector de entrada

Calcular los valores netos de las unidades de la capa oculta

Calcular las salidas de la capa oculta

tpNppp xxxx ),...,,( 21

n

i

hjpi

hji

hpj xwneta

1

)( hpj

hjpj netafi

Page 18: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

18

Backpropagation. Resumen

Calcular los valores netos de las unidades de la capa de salida

Calcular las salidas

L

j

okpj

okj

opk iwneta

1

)( opk

okpk netafo

Page 19: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

19

Backpropagation. Resumen

Calcular los términos de error para las unidades ocultas

Calcular los términos de error para las unidades ocultas

pko

pk pk ko

pkoy o f neta ( ) ' ( )

k

okj

opk

hpj

hj

hpj wnetaf )('

Page 20: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

20

Backpropagation. Resumen

Se actualizan los pesos de la capa de salida

Se actualizan los pesos de la capa oculta

Repetir hasta que el error resulte aceptable

w t w t ikjo

kjo

pko

pj( ) ( ) 1

w t w t xjih

jih

pjh

i( ) ( ) 1

Page 21: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

21

Problema del XOR

P = [ -1 -1 1 1;

-1 1 -1 1];

T = [ 0 1 1 0 ];

T2 = [-1 1 1 -1];

plotpv(P,T);

Page 22: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

22

Pesos iniciales

[Entradas, CantPatrones] = size(P);Ocultas = 2;Salidas = 1;

% Inicializar la redw1 = rand(Ocultas,Entradas) – 0.5 * ones(Ocultas,Entradas);b1 = rand(Ocultas,1) - 0.5 * ones(Ocultas,1);

w2 = rand(Salidas,Ocultas) - 0.5 * ones(Salidas, Ocultas);b2 = rand(Salidas,1) - 0.5 * ones(Salidas,1);

Page 23: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

23

Calcular la salida de la BPN y graficar

netah = w1*P+b1*ones(1,CantPatrones);salida = [ ];salida = w2 * tansig(netah) + b2;linea = plotpc(w1, b1);ErrorSalida = (T2 - salida);AVGError = sum(ErrorSalida .^2);

Page 24: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

24

alfa = 0.02;CotaError = 0.001;MAX_ITERA = 1000;itera = 0;while ( AVGError > CotaError ) & ( itera <= MAX_ITERA ); for patr=1:CantPatrones; % Calcular el error de c/u de las neuronas de salida % Calcular el error de c/u de la neuronas ocultas % actualizar los pesos (W y B) end; % Graficar la recta % Recalcular AVGErrorend;

Page 25: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

25

Términos de error

Calcular los términos de error para las unidades ocultas

Calcular los términos de error para las unidades ocultas

pko

pk pk ko

pkoy o f neta ( ) ' ( )

k

okj

opk

hpj

hj

hpj wnetaf )('

Page 26: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

26

Funciones de Activación

1)('

)(

netaf

netanetaf

))(1(*)()('1

1)(

netafnetafnetafe

netaf neta

Page 27: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

27

Funciones de Activación

))(1(*)(*2)('

11

2)(

netafnetafnetafe

netaf neta

2

*2

)(1)('

11

2)(

netafnetaf

enetaf neta

Page 28: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

28

Error de cada capa

netah=[ ]; netah = w1*P(:,patr) + b1; salida = [ ]; salida = w2 * tansig(netah) + b2; ErrorSalida =[ ]; ErrorSalida = (T2(patr)-salida); ErrorOculta=[ ]; ErrorOculta = (1-tansig(netah).^2) .* (w2' * ErrorSalida);

Page 29: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

29

Actualización de los pesos

% actualizar los pesos (W y B) w2 = w2 + alfa * ErrorSalida * tansig(netah)'; b2 = b2 + alfa * ErrorSalida; w1 = w1 + alfa * ErrorOculta * P(:,patr)' ; b1 = b1 + alfa * ErrorOculta;

Page 30: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

30

Problemas

La capacidad de generalización de la red está relacionada con la cantidad de neuronas de la capa oculta.

El descenso por la técnica del gradiente tiene el problema de caer en un mínimo local.

Page 31: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

31

Capacidad de generalización

RN formada por una única neurona.

Los puntos sólidos corresponden a los patrones de entrenamiento y los demás a testeo.

La clasificación es correcta.

En este caso se dice que le red ha generalizado la información correctamente.

Page 32: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

32

Sobreajuste de la superficie de decisión

RN que utiliza dos neuronas ocultas.

Cada hiperplano busca la mayor proximidad a los patrones.

Algunos patrones se clasifican incorrectamente.

En este caso se dice que le red NO ha generalizado la información correctamente.

Overfitting

Page 33: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

33

Sobreajuste de la superficie de decisión

A mayor cantidad de neuronas en la capa oculta, la red puede variar más rápido en respuesta a los cambios de la entrada.

Page 34: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

34

¿Mínimo local o global?

El problema se resuelve utilizando la dirección del gradiente junto con un componente aleatorio que permita salir de los mínimos locales (subiendo en lugar de bajar).

Page 35: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

35

Velocidad de aprendizaje

El término de momento maneja la veloc.de aprendizaje.– Si su valor se incrementa demasiado, la

red puede desestabilizarse.– Una forma de solucionar esto es

incorporar, a la modificación de los pesos, un término que incluya una proporción del último cambio realizado. Este término se denomina momento.

Page 36: 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas

36

Término de momento

La regla será

El parámetro representa la contribución del término de momento.

)()1( twxtw ijijjij