redes neuronales feed-forward el algoritmo back propagation from tai-wen yue’s slides
TRANSCRIPT
Redes neuronales feed-forward
El algoritmo Back Propagation
http://aimm02.cse.ttu.edu.twFrom Tai-Wen Yue’s slides
Contenido
Estructura de las redes feed-forward Funciones de activacion Aprendizaje supervisado El algoritmo de aprendizaje back-propagation Factores del aprendizaje
Estructura de las redes feed-forward
Capas ocultas
Capa de entrada
Capa de salida
Estructura
. . .
. . .
. . .
. . .
x1 x2 xm
y1 y2 yn
Funciones de activacion
Funcion de activacion— Lineal
( )T kiw x
x1
x2
xm
wi1
wi2
wim
.
.
.
( ) ( )k T ki iy w x
Sigmoide unipolar
( )T kiw x
x1
x2
xm
wi1
wi2
wim
.
.
.
ineti eneta
1
1)(
ineti eneta
1
1)(
( ) ( )k T ki iy a w x
Sigmoide bipolar
( )T kiw x
x1
x2
xm
wi1
wi2
wim
.
.
. ( ) ( )k T k
i iy a w x
11
2)(
ineti e
neta 1
1
2)(
ineti e
neta
Derivada de la sigmoide
netenetay
1
1)( nete
netay
1
1)(
netnet
ee
neta
)(
1
1)(
2net
nete
eneta
)(
1
1)(
2
y
ye net
1
)1()( yyneta )1()( yyneta
net
1
0.5
0
Recordar esto
Aprendizaje supervisado
Aprendizaje supervisado
Conjunto de entrenamiento; entrada y target
Aprendizaje supervisado
. . .
. . .
. . .
. . .
x1 x2 xm
o1 o2 on
Capa oculta
Capa de entrda
Capa de salida
),(,),,(),,( )()()2()2()1()1( pp dxdxdxT ),(,),,(),,( )()()2()2()1()1( pp dxdxdxT
Conjunto de entrenamiento
d1 d2 dn
Aprendizaje supervisado
. . .
. . .
. . .
. . .
x1 x2 xm
o1 o2 on
d1 d2 dn
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
Suma de los errores al cuadrado
Objetivo:
Minimizar
),(,),,(),,( )()()2()2()1()1( pp dxdxdxT ),(,),,(),,( )()()2()2()1()1( pp dxdxdxT
Conjunto de entrenamiento
El algoritmo back-propagation
El algoritmo back-propagation
En teoria se puede capturar “cualquier” mapeo de entrada-salida
Un procedimiento de aprendizaje que premite entrenar a las redes feedforward multicapa
Descenso por el gradiente
(w1,w2)
(w1+w1,w2 +w2)
El back-propagation es un ejemplo de una tecnica del descenso por el gradiente
Para minimizar E,
w = E
El algoritmo back-propagation
. . .
. . .
. . .
. . .
x1 x2 xm
o1 o2 on
d1 d2 dn
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
Aprendizaje de las neuronas de salida
Aprendizaje de las neuronas ocultas
Aprendizaje de las neuronas de salida
. . .
j . . .
. . .
i . . .
o1 oj on
d1dj dn
. . .
. . .
. . .
. . .
wji
p
l ji
lp
l
l
jiji w
EE
ww
E
1
)(
1
)(
ji
lj
lj
l
ji
l
w
net
net
E
w
E
)(
)(
)()(
)( )()( lj
lj netao )( )()( l
jl
j netao )()( liji
lj ownet
)()( liji
lj ownet
? ?
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
Aprendizaje de las neuronas de salida
. . .
j . . .
. . .
i . . .
o1 oj on
d1dj dn
. . .
. . .
. . .
. . .
wji
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
)(
)(
)(
)(
)(
)(
lj
lj
lj
l
lj
l
net
o
o
E
net
E
p
l ji
lp
l
l
jiji w
EE
ww
E
1
)(
1
)(
ji
lj
lj
l
ji
l
w
net
net
E
w
E
)(
)(
)()(
)( )()( lj
lj netao )( )()( l
jl
j netao )()( liji
lj ownet
)()( liji
lj ownet
)( )()( lj
lj od
depende de la funcion de activacion
Aprendizaje de las neuronas de salida
. . .
j . . .
. . .
i . . .
o1 oj on
d1dj dn
. . .
. . .
. . .
. . .
wji
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
)(
)(
)(
)(
)(
)(
lj
lj
lj
l
lj
l
net
o
o
E
net
E
p
l ji
lp
l
l
jiji w
EE
ww
E
1
)(
1
)(
ji
lj
lj
l
ji
l
w
net
net
E
w
E
)(
)(
)()(
)( )()( lj
lj netao )( )()( l
jl
j netao )()( liji
lj ownet
)()( liji
lj ownet
( ) ( )( )l lj jd o
( ) ( )(1 )l lj jo o
Usando la sigmoide,
Aprendizaje de las neuronas de salida
. . .
j . . .
. . .
i . . .
o1 oj on
d1dj dn
. . .
. . .
. . .
. . .
wji
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
)(
)(
)(
)(
)(
)(
lj
lj
lj
l
lj
l
net
o
o
E
net
E
p
l ji
lp
l
l
jiji w
EE
ww
E
1
)(
1
)(
ji
lj
lj
l
ji
l
w
net
net
E
w
E
)(
)(
)()(
)( )()( lj
lj netao )( )()( l
jl
j netao )()( liji
lj ownet
)()( liji
lj ownet
( ) ( )( )l lj jd o
( ) ( )(1 )l lj jo o
Usando la sigmoide,
( )lj
(( )
( )( ) ( ()
) ) )(
( ) (1 )ll
lj
lj j
l l lj jj
E
neto od o
Aprendizaje de las neuronas de salida
. . .
j . . .
. . .
i . . .
o1 oj on
d1dj dn
. . .
. . .
. . .
. . .
wji
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
p
l ji
lp
l
l
jiji w
EE
ww
E
1
)(
1
)(
ji
lj
lj
l
ji
l
w
net
net
E
w
E
)(
)(
)()(
)( )()( lj
lj netao )( )()( l
jl
j netao )()( liji
lj ownet
)()( liji
lj ownet
)(lio
( )( )( )
ll
iji
lj
Eo
w
( ( )) (( )( ) ) (1( )) l lj
l lj
lj ijd o o oo
Aprendizaje de las neuronas de salida
. . .
j . . .
. . .
i . . .
o1 oj on
d1dj dn
. . .
. . .
. . .
. . .
wji
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
p
l ji
lp
l
l
jiji w
EE
ww
E
1
)(
1
)(
ji
lj
lj
l
ji
l
w
net
net
E
w
E
)(
)(
)()(
)( )()( lj
lj netao )( )()( l
jl
j netao )()( liji
lj ownet
)()( liji
lj ownet
)(lio
( )( )( )
ll
iji
lj
Eo
w
( ( )) (( )( ) ) (1( )) l lj
l lj
lj ijd o o oo
( ) ( )
1
pl
il
lj
ji
Eo
w
( ) ( )
1
pl
il
lj
ji
Eo
w
)(
1
)( li
p
l
ljji ow
)(
1
)( li
p
l
ljji ow
¿Cómo entrenar los pesos de las
neuronas de salida?
¿Cómo entrenar los pesos de las
neuronas de salida?
Aprendizaje en las neuronas ocultas
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
. . .
j . . .
k . . .
i . . .
. . .
. . .
. . .
. . .
wik
wji
p
l ik
lp
l
l
ikik w
EE
ww
E
1
)(
1
)(
ik
li
li
l
ik
l
w
net
net
E
w
E
)(
)(
)()(
? ?
Aprendizaje en las neuronas ocultas
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
. . .
j . . .
k . . .
i . . .
. . .
. . .
. . .
. . .
wik
wji
p
l ik
lp
l
l
ikik w
EE
ww
E
1
)(
1
)(
ik
li
li
l
ik
l
w
net
net
E
w
E
)(
)(
)()(
)(li
)(lko
Aprendizaje en las neuronas ocultas
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
. . .
j . . .
k . . .
i . . .
. . .
. . .
. . .
. . .
wik
wji
p
l ik
lp
l
l
ikik w
EE
ww
E
1
)(
1
)(
ik
li
li
l
ik
l
w
net
net
E
w
E
)(
)(
)()(
)(li
)(lko
)(
)(
)(
)(
)(
)(
li
li
li
l
li
l
net
o
o
E
net
E
( ) ( )(1 )l li io o
( ) ( )(1 )l li io o ?
Aprendizaje en las neuronas ocultas
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
. . .
j . . .
k . . .
i . . .
. . .
. . .
. . .
. . .
wik
wji
p
l ik
lp
l
l
ikik w
EE
ww
E
1
)(
1
)(
ik
li
li
l
ik
l
w
net
net
E
w
E
)(
)(
)()(
)(li
)(lko
)(
)(
)(
)(
)(
)(
li
li
li
l
li
l
net
o
o
E
net
E
jl
i
lj
lj
l
li
l
o
net
net
E
o
E)(
)(
)(
)(
)(
)(
)(lj jiw
( )( ) ( ) ( ) ( )
( )(1 )
ll l l l
i i i ji jlji
Eo o w
net
( )( ) ( ) ( ) ( )
( )(1 )
ll l l l
i i i ji jlji
Eo o w
net
( ) ( )(1 )l li io o
( ) ( )(1 )l li io o
Aprendizaje en las neuronas ocultas
p
l
lEE1
)(
p
l
lEE1
)(
n
j
lj
lj
l odE1
2)()()(
2
1
n
j
lj
lj
l odE1
2)()()(
2
1
. . .
j . . .
k . . .
i . . .
. . .
. . .
. . .
. . .
wik
wji
p
l ik
lp
l
l
ikik w
EE
ww
E
1
)(
1
)(
ik
li
li
l
ik
l
w
net
net
E
w
E
)(
)(
)()(
)(lko
)(
1
)( lk
p
l
li
ik
ow
E
)(
1
)( lk
p
l
li
ik
ow
E
)(
1
)( lk
p
l
liik ow
)(
1
)( lk
p
l
liik ow
( )( ) ( ) ( ) ( )
( )(1 )
ll l l l
i i i ji jlji
Eo o w
net
( )( ) ( ) ( ) ( )
( )(1 )
ll l l l
i i i ji jlji
Eo o w
net
Back Propagationo1 oj on
. . .
j . . .
k . . .
i . . .
d1dj dn
. . .
. . .
. . .
. . .
x1 xm. . .
Back Propagationo1 oj on
. . .
j . . .
k . . .
i . . .
d1dj dn
. . .
. . .
. . .
. . .
x1 xm. . .
)1()( )()()()()(
)()( l
jl
jl
jl
jlj
ll
j ooodnet
E
)(
1
)( li
p
l
ljji ow
)(
1
)( li
p
l
ljji ow
Back Propagationo1 oj on
. . .
j . . .
k . . .
i . . .
d1dj dn
. . .
. . .
. . .
. . .
x1 xm. . .
)1()( )()()()()(
)()( l
jl
jl
jl
jlj
ll
j ooodnet
E
)(
1
)( li
p
l
ljji ow
)(
1
)( li
p
l
ljji ow
j
ljji
li
lil
i
ll
i woonet
E )()()()(
)()( )1(
)(
1
)( lk
p
l
liik ow
)(
1
)( lk
p
l
liik ow
Factores del aprendizaje
Factores del aprendizaje
• Pesos iniciales• Velocidad de aprendizaje ()• Funciones de costo• Momento• Reglas de actualizacion• Datos de entrenamiento y
generalizacion• Numero de capas• Numero de nodos ocultos
Técnicas prácticas para mejorar Backpropagation
Normalizar la entrada– Podemos normalizar cada entrada para que
tenga media cero y la misma varianza
Valores del target– Para aplicaciones de reconocimiento de patrones,
usar +1 para la clase deseada y -1 para la otra
Entrenamiento con el ruido
Técnicas prácticas para mejorar Backpropagation
Inicializacion de los pesos– Si usamos datos normalizados, deseamos pesos
positivos y negativos, asi como una distribución uniforme
Aprendizaje uniforme
Técnicas prácticas para mejorar Backpropagation
Protocolos de entrenamiento Una época corresponde a la presentación de todos los
datos del conjunto de entrenamiento
– Entrenamiento estocástico Las muestras son elegidas al azar del conjunto de
entrenamiento y los pesos se actualizan por cada muestra
– Entrenamiento por lotes Todas las muestras de entrenamiento (epoca) son
presentadas a la red antes de que los pesos sean actualizados
Técnicas prácticas para mejorar Backpropagation
Protocolos de entrenamiento– Entrenamiento en línea
Cada muestra de entrenamiento es presentada una vez y solamente una vez
No hay memoria para guardar muestras de entrenamiento
Aumentar la velocidad de convergencia
Heuristica– Momentum– Velocidad de aprendizaje variable
Gradiente conjugado Metodos de segundo orden
– Metodo de Newton– Algoritmo de Levenberg-Marquardt
Reconocimiento
Tomado de
Tai-Wen Yue, “Artificial Neural Networks” course slides
Tatung University. Taipei, Taiwan. 5th june 2006