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

Post on 22-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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?

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.

4

Backpropagation. Arquitectura

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

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

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

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 ( )

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

( )

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

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

12

Actualización de pesos

donde

se denomina parámetro de velocidad de aprendizaje

pjopk

okpkpk

okjp

okjp

okj

okj

inetafoytw

twtwtw

)(')()(

)()()1(

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

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

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 )('

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.

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

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

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 )('

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

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);

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);

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);

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;

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 )('

26

Funciones de Activación

1)('

)(

netaf

netanetaf

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

1)(

netafnetafnetafe

netaf neta

27

Funciones de Activación

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

11

2)(

netafnetafnetafe

netaf neta

2

*2

)(1)('

11

2)(

netafnetaf

enetaf neta

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);

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;

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.

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.

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

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.

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).

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.

36

Término de momento

La regla será

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

)()1( twxtw ijijjij

top related