INTRODUCCIÓN A REDES NEURONALES ARTIFICIALES TEORÍA Y APLICACIONES
description
Transcript of INTRODUCCIÓN A REDES NEURONALES ARTIFICIALES TEORÍA Y APLICACIONES
INTRODUCCIÓN A REDES NEURONALES ARTIFICIALES TEORÍA
Y APLICACIONES
Dr. Héctor AllendeDepartamento de Informática
Universidad Técnica Federico Santa María
Profesor: Héctor Allende Redes Neuronales Artificiales 2
The Backpropagation NetworkRedes de Retropropagación
Capítulo 2
BN: Constituyen las ANN más simples en términos de diseño
Profesor: Héctor Allende Redes Neuronales Artificiales 3
Redes Feedforward• FANN La capa 0 no realiza procesamiento alguno, solo distribuye
las entradas a la capa siguiente
x1 x2
Profesor: Héctor Allende Redes Neuronales Artificiales 4
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 5
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 6
Estructura de la Red
Profesor: Héctor Allende Redes Neuronales Artificiales 7
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.• zoixi 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 8
Dinámica de la Red
Unidad de Activación
f(a)Input Output
xi
wi a=netai f
Profesor: Héctor Allende Redes Neuronales Artificiales 9
Función de salida de la neurona
• Función de activación logística:
constante ,0),1,0(: ;)exp(1
1)( ccf
caaf
)](1)[()]exp(1[
)exp(2
afacfca
cac
da
df
Profesor: Héctor Allende Redes Neuronales Artificiales 10
Ejecución de la Red
– Matriz de pesos:
– Vector de salida de la capa anterior:
– Salida de la capa l
1
1,1
lN
jjllkjlk zwfz
...........
...........
1
1
1
111
lll
Nl
NlNlN
Nll
l
ww
ww
W
) ... (1,11,11
lNllT
l zzz
1
1
donde
))( .... )(()(
lll
lNlT
lT
l
zWa
afafafzl
Profesor: Héctor Allende Redes Neuronales Artificiales 11
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 12
Proceso de Aprendizaje de la Red
• Función de suma de los errores cuadráticos:
• Observaciones:– Suma total de la suma de los errores
cuadráticos:
salida de capa la de q neurona la de salida la es donde
)]()([2
1)(
1
2
q
L
q
L
N
qqL
z
xtxzWE
P
ptot WEWE
1
)()(
Profesor: Héctor Allende Redes Neuronales Artificiales 13
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:
es una superficie en el espacio• El vector gradiente:
muestra la dirección del máximo error cuadrático medio. ECM
1 wN
wNE :
ljiw
WEE
)(
Profesor: Héctor Allende Redes Neuronales Artificiales 14
Proceso de Aprendizaje de la Red• Los pesos son ajustados en tiempos discretos ( Regla ):
donde > 0 es la constante de aprendizaje.
En notación matricial:
)(1
)(
)()(
)()()1(
tW
P
p lji
plji
tWljiljilji
w
WEtw
w
WEtwtw
EtWtW )()1(
Profesor: Héctor Allende Redes Neuronales Artificiales 15
Problemas de la elección del Parámetro
Profesor: Héctor Allende Redes Neuronales Artificiales 16
Problemas de la elección del Parámetro
Profesor: Héctor Allende Redes Neuronales Artificiales 17
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:
Ll
w
E
w
E
w
E
w
E
E
lll
l
NlNlN
Nll
l ,..,1 , )(
1
1
1
111
Profesor: Héctor Allende Redes Neuronales Artificiales 18
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:
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) }:
1,..,1 ,1
Llz
E
z
EE
l
l
lNlZ
conocidoELZ
Profesor: Héctor Allende Redes Neuronales Artificiales 19
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:
calculado recursivamente desde L-1 a 1.
para las capas l=1..L
donde zo x
)]('[ 11 1 lz
Tlz afEWE
ll
1)]('[)( lT
lzl zafEEl
Profesor: Héctor Allende Redes Neuronales Artificiales 20
Corolario
• Si la función de activación es la función logística
donde zo x
txZE LZL )(
)],1([ 111 1 llz
Tlz ZZEcWE
ll
1)]1([)( lT
llzl ZZZEcEl
Profesor: Héctor Allende Redes Neuronales Artificiales 21
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:
esta por debajo algún valor específico.3.- Parar cuando el error total alcanza un mínimo en el conjunto de testeo.
t) tiempo(1) t tiempo( ljiljilji www
Profesor: Héctor Allende Redes Neuronales Artificiales 22
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:
2.La salida final de la red es la salida de la última capa es decir , yzL
)( 1 lll zWfz
Profesor: Héctor Allende Redes Neuronales Artificiales 23
El AlgoritmoProcedimiento 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 ypzL(xp)=f(al) es usada en el próximo paso.
Profesor: Héctor Allende Redes Neuronales Artificiales 24
El Algoritmo
(b) Usando (yp,tp), calcular para la capa L
(c) Calcular el gradiente del error, para
usando b-c calcular
(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.
ELz
Elz
lE)(
Profesor: Héctor Allende Redes Neuronales Artificiales 25
BIAS
• Activación Neuronal:Algunos problemas no se pueden resolver con la BN, sin introducir un nuevo parámetro llamado sesgo
1
1,10
lN
jjllkjlklk zwwfz
Bias
0lkw
Profesor: Héctor Allende Redes Neuronales Artificiales 26
Sesgo (BIAS)
• Salida Neuronal:
• Matrices de Pesos:
) 1(~1 llNl
Tl zzz
1
1
~
10
11110
llll
l
NlNlNlN
Nlll
l
www
www
W
)~~()( 1 llll zWfafz
Profesor: Héctor Allende Redes Neuronales Artificiales 27
Sesgo (BIAS)
• Matriz del gradiente del error:
1
1
)(
10
11110
llll
l
NlNlNlN
Nlll
l
w
E
w
E
w
E
w
E
w
E
w
E
E
Profesor: Héctor Allende Redes Neuronales Artificiales 28
Backpropagation con bias
• Teorema: Si el gradiente del error con respecto a la salida neuronal es conocida, y depende sólo de la salida de la red {zL(xP)} y del target {tp}:
entonces el gradiente del error puede ser calculado recursivamente de acuerdo a las siguientes expresiones:
para L-1 hasta 1
para las capas l hasta L
ELz
conocidoELz
xz
zafEE
afEWET
llzl
lzT
lz
L
ll
0
1
11
donde
~)]('[)(
)]('[1
Profesor: Héctor Allende Redes Neuronales Artificiales 29
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:
donde [0,1) es el parámetro de momentum.
• El procedimiento de aprendizaje y ejecución es equivalente a la forma antes descrita.
)1()()1()()(
tWEtWtWtWtW
Profesor: Héctor Allende Redes Neuronales Artificiales 30
Algoritmo: Momentum
Profesor: Héctor Allende Redes Neuronales Artificiales 31
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 y, por lo tanto,
Para evitar el problema el calculo del gradiente es llevado de la siguiente manera:
calculado desde L-1 hasta 1
para las capas l=1,..,L
0~E 0~W
)]('[ 11 1 lz
Ttz afEWE
ll
1, ]1̂)('[)( lT
flzpseudol zcafEEl
Profesor: Héctor Allende Redes Neuronales Artificiales 32
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 33
Mejoras del Algoritmo: Momentum
• Adaptación de los pesos con 2 pasos:
)2()( 2)1()(
tWEEtWtWtW
Profesor: Héctor Allende Redes Neuronales Artificiales 34
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 35
Algoritmo: Backpropagation Adaptivo
• Se asignan valores de aprendizaje individual a cada peso 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:
donde I1 es el factor de aumento y D(0,1) es el factor de disminución.
ljiw
0)1(w)(w si )1(
0)1(w)(w si )1()(
ljilji
ljilji
tttD
tttIt
lji
lji
lji
Profesor: Héctor Allende Redes Neuronales Artificiales 36
Algoritmo: Backpropagation Adaptivo
• En forma matricial:
)1 ( 1~ 1~ )) 1 ( ) ( ( ) ( ) ( t D t W t W sign sign D I t
Profesor: Héctor Allende Redes Neuronales Artificiales 37
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 38
Mejoras del Algoritmo:Super SAB
• Si entonces:
• Si entonces:
0)1()( twtw ljilji
)(
)()1(
)1()(
tWljiljilji
ljilji
w
Ettw
tIt
0)1()( twtw ljilji
)()()1(
)1()(
)(
tww
Ettw
tDt
lji
tWljiljilji
ljilji
Profesor: Héctor Allende Redes Neuronales Artificiales 39
Mejoras del Algoritmo:Super SAB
• En notación matricial:
1~ )) 1 ( ) ( ( 1~ ) ( ) ( )1 (
)1 ( 1~ 1~ )) 1 ( ) ( ( ) ( ) (
t W t W sign sign t W E t t W
t D t W t W sign sign D I t