Capítulo 2 - Departamento de Informática

Download Report

Transcript Capítulo 2 - Departamento de Informática

INTRODUCCIÓN A REDES
NEURONALES ARTIFICIALES TEORÍA
Y APLICACIONES
Dr. Héctor Allende
Departamento de Informática
Universidad Técnica Federico Santa María
Capítulo 2
The Backpropagation Network
Redes de Retropropagación
BN: Constituyen las ANN más simples en términos de diseño
Profesor: Héctor Allende
Redes Neuronales Artificiales
2
Redes Feedforward
• FANN La capa 0 no realiza procesamiento alguno, solo distribuye
las entradas a la capa siguiente
S
x1
Profesor: Héctor Allende
Redes Neuronales Artificiales
x2
3
Estructura de la Red
• Capa de entrada: ( sensorial)
– También llamada capa 0 o sensorial
– No existe procesamiento.
– Su función es distribuir la entrada a la próxima
capa.
– Se tiene un vector de entrada x.
• Capas Oculta: ( asociativa)
– Son las capas que estan ubicadas entre la capa
de entrada y salida.
Profesor: Héctor Allende
Redes Neuronales Artificiales
4
Estructura de la Red
• Capa de salida: ( respuesta)
– Esta capa proporciona la salida de los datos
procesados.
– Se obtiene un vector de salida y.
• Red Feedforward:
– Cada neurona recibe como entrada las salidas de
todas las neuronas de la capa anterior.
Profesor: Héctor Allende
Redes Neuronales Artificiales
5
Estructura de la Red
Profesor: Héctor Allende
Redes Neuronales Artificiales
6
Notación
• wlkj es el peso por el cual la salida de la neurona j
de la capa l-1 contribuye a la entrada de la neurona
k de la capa l.
• xp es la entrada de entrenamiento p
• tp(xp) es el destino (salida deseada) en el tiempo p.
• zoixi es el componente i del vector de entrada.
• Nl número de neuronas de la capa l.
• zlk es la salida de la neurona j de la capa l.
• L es el número de capas.
• P es el número de vectores de entrenamiento.
• {(xp,tp)}p=1,..,P es el conjunto de aprendizaje
Profesor: Héctor Allende
Redes Neuronales Artificiales
7
Dinámica de la Red
xi
wi
a=netai
f
Input
f(a)
Output
Unidad de
Activación
Profesor: Héctor Allende
Redes Neuronales Artificiales
8
Función de salida de la neurona
• Función de activación logística:
f (a) 
1
;
1  exp(ca)
f :   (0,1), c  0, c const ant e
df
c exp(ca)

 cf (a)[1  f (a)]
2
da [1  exp(ca)]
Profesor: Héctor Allende
Redes Neuronales Artificiales
9
Ejecución de la Red
 N l 1

z lk  f   wlkj z l 1, j 
 j 1

– Matriz de pesos:
 wl11 ........... wl1N Nl 1 


Wl  
  


w
..........
.
w
lNl N l 1 
 lNl 1
– Vector de salida de la capa anterior:
zl 1  ( zl 1,1 ... zl 1, Nl1 )
T
– Salida de la capa l
zl  f (al )  ( f (al1 ) .... f (alNl ))
T
T
donde al  Wl zl 1
Profesor: Héctor Allende
Redes Neuronales Artificiales
10
Proceso de Aprendizaje de la Red
• El proceso de aprendizaje de la red es
supervisado. ( Etapa Entrenamiento)
• El aprendizaje involucra ajustar los pesos de
manera que el error sea minimizado.
• Uso de los Datos Crudos
Profesor: Héctor Allende
Redes Neuronales Artificiales
11
Proceso de Aprendizaje de la Red
• Función de suma de los errores cuadráticos:
1 NL
E (W )   [ z Lq ( x)  t q ( x)]2
2 q 1
donde z Lq es la salida de la neuronaq de la capa de salida
• Observaciones:
– Suma total de la suma de los errores
cuadráticos:
P
Etot (W )   E (W )
p 1
Profesor: Héctor Allende
Redes Neuronales Artificiales
12
Proceso de Aprendizaje de la Red
• Los pesos de la red W se obtienen paso a paso.
• Nw es el número total de pesos, entonces la
función de error:
E :
Nw

es una superficie en el espacio N w 1
• El vector gradiente: E   E (W ) 


 wlji 
muestra la dirección del máximo error cuadrático
medio. ECM
Profesor: Héctor Allende
Redes Neuronales Artificiales
13
Proceso de Aprendizaje de la Red
• Los pesos son ajustados en tiempos discretos ( Regla ):
E (W )
wlji (t  1)  wlji (t )  
wlji
W (t )
P
E p (W )
p 1
wlji
 wlji (t )   
W (t )
donde  > 0 es la constante de aprendizaje.
En notación matricial:
W (t  1)  W (t )  E
Profesor: Héctor Allende
Redes Neuronales Artificiales
14
Problemas de la elección del
Parámetro 
Profesor: Héctor Allende
Redes Neuronales Artificiales
15
Problemas de la elección del
Parámetro 
Profesor: Héctor Allende
Redes Neuronales Artificiales
16
Teorema: El algoritmo de
Backpropagation
Previos
1.-Para cada capa (excepto la de entrada), una
matriz del gradiente del error se construiría de la
siguiente manera:
E
 E



wl1Nl 1
 wl11
(E )l  
 

 E
E


 w
wlNl Nl 1
 lNl 1
Profesor: Héctor Allende



,




Redes Neuronales Artificiales
l  1,.., L
17
Teorema: El algoritmo de
Backpropagation
2. Para cada capa, excepto la capa L, el gradiente del
error con respecto a la salida neuronal se define
como:
 E
E
 Zl E  

 zl1
zlNl


,


l  1,.., L  1
3. El gradiente del error con respecto a la salida de la
red zL es conocido y depende solo de la salida de
la red {zL(xp)} y los targets {tp (xp) }:
Z L E  conocido
Profesor: Héctor Allende
Redes Neuronales Artificiales
18
Teorema: El algoritmo de
Backpropagation
• Entonces considerando la función de error E y la
función de activación f y con su respectiva
derivada f ’
El gradiente del error puede ser calculado
recursivamente de acuerdo a las expresiones:
 zl E  Wl 1 [ zl1 E  f ' (al 1 )]
T
(E)l  [zl E  f ' (al )]zT l 1
calculado recursivamente
desde L-1 a 1.
para las capas l=1..L
donde zo x
Profesor: Héctor Allende
Redes Neuronales Artificiales
19
Corolario
• Si la función de activación es la función
logística
Z L E  Z L ( x)  t
 zl E  cWl 1 [ zl1 E  Zl 1  (1  Zl 1 )],
T
(E)l  c[zl E  Zl  (1 Zl )]Z T l 1
donde zo x
Profesor: Héctor Allende
Redes Neuronales Artificiales
20
Criterios de inicialización y parada
• Pesos son inicializados con valores aleatorios
pequeños (-1;1) y el proceso de ajuste continúa
iterativamente.
• La parada del proceso de aprendizaje puede ser
llevado a cabo por medio de uno de los siguientes
criterios:
1.- Elegir un número de pasos fijos.
2.- El proceso de aprendizaje continua hasta que la
cantidad:
wlji  wlji( tiempo t1)  wlji( tiempo t)
esta por debajo algún valor específico.
3.- Parar cuando el error total alcanza un mínimo en el
conjunto de testeo.
Profesor: Héctor Allende
Redes Neuronales Artificiales
21
El Algoritmo
• El algoritmo esta basado en una aproximación de tiempo
discreto.
• La función de error y de activación y la condición de
parada se asume que son elegidos y fijos.
Procedimiento de ejecución de la Red
1.La capa de entrada es inicilizada, es decir, la salida de la
capa de igual a la entrada x : z0 x
Para todas la capas, desde 1 hasta L, hacer: zl  f (Wl zl 1 )
2.La salida final de la red es la salida de la última capa es
decir , yzL
Profesor: Héctor Allende
Redes Neuronales Artificiales
22
El Algoritmo
Procedimiento de Aprendizaje de la red:
1.- Inicializar los pesos con valores aleatorios
pequeños. U(-1; 1)
2.- Para todo el conjunto de entrenamiento (xp,tp), tan
grande como la condición de parada lo permita:
(a) Correr la red para encontrar la activación para
todas las neuronas al y luego sus derivadas f’(al). La
salida de la red ypzL(xp)=f(al) es usada en el
próximo paso.
Profesor: Héctor Allende
Redes Neuronales Artificiales
23
El Algoritmo
(b) Usando (yp,tp), calcular para la capa L  z E
(c) Calcular el gradiente del error, para  zl E
usando b-c calcular (E)l
(d) Actualizar los pesos W de acuerdo a la regla
delta.
(e) Chequear la condición de parada y parar si se
cumple la condición.
L
Profesor: Héctor Allende
Redes Neuronales Artificiales
24
BIAS
• Activación Neuronal:Algunos problemas no
se pueden resolver con la BN, sin introducir
un nuevo parámetro llamado sesgo w
lk 0
N l 1


zlk  f  wlk 0   wlkj zl 1, j 
j 1


Bias
Profesor: Héctor Allende
Redes Neuronales Artificiales
25
Sesgo (BIAS)
• Salida Neuronal: ~zl T  (1 zl1  zlN )
• Matrices de Pesos:
 wl10 wl11  wl1Nl 1 

~ 
Wl  
  



w
w

w
lN
0
lN
1
lNl N l 1 
l
 l
l
~~
 zl  f (al )  f (Wl zl 1 )
Profesor: Héctor Allende
Redes Neuronales Artificiales
26
Sesgo (BIAS)
• Matriz del gradiente del error:
E
 E E


 wl10 wl11 wl1Nl 1
(E ) l  
  
 E
E
E


w
w
w
lN
0
lN
1
lNl N l 1
l
l

Profesor: Héctor Allende
Redes Neuronales Artificiales








27
Backpropagation con bias
• Teorema: Si el gradiente del error con respecto a la salida
neuronal  z L E es conocida, y depende sólo de la salida de
la red {zL(xP)} y del target {tp}:
 zL E  conocido
entonces el gradiente del error puede ser calculado
recursivamente de acuerdo a las siguientes expresiones:
T
 zl E  Wl 1 [ zl 1 E  f ' (al 1 )] para L-1 hasta 1
~ T para las capas l hasta L
(E )l  [ z L E  f ' (al )]zl 1
donde z0  x
Profesor: Héctor Allende
Redes Neuronales Artificiales
28
Algoritmo: Momentum
• El algoritmo BPL carece de robustez
• Un procedimiento que toma en cuenta las atracciones en el
proceso de aprendizaje es el algoritmo de momentum:
W (t )  W (t  1)  W (t )  E W (t )  W (t 1)
donde  [0,1) es el parámetro de momentum.
• El procedimiento de aprendizaje y ejecución es equivalente
a la forma antes descrita.
Profesor: Héctor Allende
Redes Neuronales Artificiales
29
Algoritmo: Momentum
Profesor: Héctor Allende
Redes Neuronales Artificiales
30
Algoritmo: Momentum
• Otra mejora utilizada en el momentum es la eliminación
de puntos planos, i.e. Si la superficie de error es muy
plana, entonces E  ~0 y, por lo tanto, W  ~0
Para evitar el problema el calculo del gradiente es
llevado de la siguiente manera:
T
calculado desde L-1 hasta 1
 z E  Wt 1 [ z E  f ' (al 1 )]
para las capas l=1,..,L
ˆ T
l
l 1


(E )l , pseudo  [ zl E  f ' (al )  c f 1 ]z
Profesor: Héctor Allende
l 1
Redes Neuronales Artificiales
31
Algoritmo: Momentum
Eliminación de puntos planos:
– cf es la constante de eliminación de puntos
planos.
– Los términos correspondientes de los pesos del
gradiente del error cercanos a la capa de entrada
son más pequeños que aquellos ubicados en la
capa de salida. Por lo tanto un efecto de cf es la
aceleración de la adaptación de los pesos en
capas cercanas a la entrada.
Profesor: Héctor Allende
Redes Neuronales Artificiales
32
Mejoras del Algoritmo:
Momentum
• Adaptación de los pesos con 2 pasos:
W (t )  E W (t ) E W (t 1)   2W (t  2)
Profesor: Héctor Allende
Redes Neuronales Artificiales
33
Algoritmo: Backpropagation Adaptivo
• Ideas del algoritmo:
– Si la pendiente de la superficie de error es
suave, entonces un parámetro de aprendizaje
grande puede ser usado para acelerar el
aprendizaje en las áreas planas.
– Si la pendiente de la superficie de error es
abrupta, entonces un pequeño parámetro de
aprendizaje debe ser usado para no saltar el
mínimo.
Profesor: Héctor Allende
Redes Neuronales Artificiales
34
Algoritmo: Backpropagation Adaptivo
• Se asignan valores de aprendizaje individual a cada peso wlji
basado en el comportamiento previo. Entonces la constante
de aprendizaje  se convierte en una matriz.
• La razón de aprendizaje aumenta su el gradiente mantiene
su dirección en los últimos dos pasos, en caso contrario lo
disminuye:

I lji (t  1) si w lji (t )w lji (t  1)  0
lji (t )  
Dlji (t  1) si w lji (t )w lji (t  1)  0


donde I1 es el factor de aumento y D(0,1) es el factor de
disminución.
Profesor: Héctor Allende
Redes Neuronales Artificiales
35
Algoritmo: Backpropagation Adaptivo
• En forma matricial:
 (t )  ( I  D)signsign(W (t )  W (t  1))  ~
1   D~
1  (t  1)
Profesor: Héctor Allende
Redes Neuronales Artificiales
36
Mejoras del Algoritmo:
SuperSAB
• SuperSAB (Super Self-Adapting Backpropagation):
– Es una combinación entre momentum y backpropagation
adaptivo.
– Usa backpropagation adaptivo para los términos wlij que
continúan el movimiento en la misma dirección y
momentum para las otras.
Profesor: Héctor Allende
Redes Neuronales Artificiales
37
Mejoras del Algoritmo:
Super SAB
• Si wlji (t )wlji (t 1)  0
entonces:
 lji (t )  I lji (t  1)
E
wlji (t  1)    lji (t )
wlji
• Si wlji (t )wlji (t 1)  0
W (t )
entonces:
 lji (t )  D lji (t  1)
E
wlji (t  1)    lji (t )
wlji
Profesor: Héctor Allende
 wlji (t )
W (t )
Redes Neuronales Artificiales
38
Mejoras del Algoritmo:
Super SAB
• En notación matricial:
W (t  1)    (t )  E  W (t )  ~
1  signsign(W (t )  W (t  1))  ~
1 
 (t )  ( I  D) signsign(W (t )  W (t  1))  ~
1  D~
1  (t  1)
Profesor: Héctor Allende
Redes Neuronales Artificiales
39