Upload
encarna-bernardez
View
221
Download
0
Embed Size (px)
Citation preview
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