Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Backpropagation Rna
Backpropagation Rna
l
w
2
w
1
w
n
1 + l
w
l
x
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
130
n
e
+
=
1
1
z
si n >> 0 entonces z 1
si n << 0 entonces z 0
1. Las neuronas transforman una entrada no- restringida en una seal limitada
z
2. La funcin sigmoidal restringe el rango de z entre 0 y 1.
3. Es diferenciable. Hay que tener presente que la no linealidad es una
caracterstica resaltante de este algoritmo.
4. Las entradas a la unidad de procesamiento son ejemplos de entrada o
salidas de la capa previa
En una red cuya arquitectura incluye capas ocultas con varias neuronas
(nodos) ocultas, podemos observar las siguientes caractersticas de diseo.
1
x
2
x
n
x
1 n
x
1
z
m
z
capa de capa capa capa de
entrada oculta oculta salida
Est conectada hacia delante.
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
131
Esta red en particular tiene la capa de entrada, dos capas ocultas y la capa
de salida.
La capa de entrada sirve solamente como un punto de distribucin.
Una neurona esta asociada con un conjunto de pesos que conecta a sus
entradas. Los pesos en la capa uno terminan en las neuronas de la capa uno.
(
(
(
(
N
N
N
N
x x x x
x x x x
x x x x
x x x x
4 43 42 41
3 33 32 31
2 23 22 21
1 13 12 11
.
.
.
.
(
(
(
N
N
N
y y y
y y y
y y y
3 32 31
2 22 21
1 12 11
.
.
.
Entradas Salidas
Funcin de activacin
4 entradas y N casos 3 salidas y N casos
(
(
(
N
N
N
y y y
y y y
y y y
3 32 31
2 22 21
1 12 11
.
.
.
(
(
(
N
N
N
y y y
y y y
y y y
3 32 31
2 22 21
1 12 11
.
.
.
:
MSE
Parada del entrenamiento
Error permitido
En backpropagation, el mtodo general de entrenamiento se resume a cuatro
pasos:
Pasos hacia delante:
1. Selecciona un vector de entrada desde el conjunto de entrenamiento.
2. Aplica esta entrada a la red y calcula la salida.
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
132
Pasos hacia atrs:
3. Calcular el error entre la salida calculada y la salida deseada de la entrada
usada.
4. Ajustar los pesos para que el error cometido entre la salida calculada y la
salida deseada sea disminuido.
5. Repetir los pasos 1 al 5 para todas las entradas del conjunto de
entrenamiento, hasta que el error global sea aceptablemente bajo.
COMO AJUSTA LOS PESOS DE LA CAPA DE SALIDA
pj
Z
pj
T
pj
pi
Z
ji
W
neurona i
en la capa
oculta
neuronas
en la capa
de salida
Como el valor de la salida deseado T
pj
est disponible en la capa de salida,
entonces los pesos w
ji
son ajustados usando algn algoritmo tal como regla
Delta y las constantes de aprendizaje.
Para un patrn de entrada p determinado, si w
ji
es el peso que se corresponde
con la salida j y la neurona oculta i, entonces el valor de correccin entre la
salida deseada T
pj
y la calculada z
pi
para ese patrn p expresada por
pj
y la
salida
deseada
salida
calculada
peso de la
salida j y
neurona i
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
133
salida correspondiente a la neurona i dada por z
pi
, podra corregir el valor del
peso w
ji
. Es decir,
pi
Z
pj ji
W
p
= , donde
) )( 1 (
pj
Z
pj
T
pj
Z
pj
Z
pj
=
COMO AJUSTA LOS PESOS ENTRE CAPAS OCULTAS
pj
Z
pj
pi
Z
ji
W
neurona i
en la capa
oculta
neurona j
en la capa
oculta
neuronas
en la capa
de salida
k p
kj
W
j
W
2
j
W
1
1 p
2 p
Por otro lado, para la actualizacin de los pesos entre las capas ocultas se
calcula propagando hacia atrs desde la capa de salida.
|
\
|
=
k
kj pk pj pj pj
w Z Z ) 1 ( , y luego
pi pj ji p
Z w =
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
134
Este clculo se repite en las capas ocultas de la red.
COMO SE DERIVA LAS FORMULAS
1. Backpropagation es un mtodo gradiente descendente.
2. Minimiza el cuadrado de las diferencias entre las valores calculados y
deseados de las salidas sumados sobre todas las unidades de salida y todo
los pares, entradas y salidas, del conjunto de entrenamiento
3. Para un conjunto de entrenamiento p (entrada y salidas) y n unidades de
salida,
( )
2
1
2
1
=
=
n
j
pj pj p
Z T E
4. El error total sobre todo el conjunto sera
=
p
p
E E
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
135
UN EJEMPLO USANDO BACKPROPAGATION
Sea la red
1
x
2
x
1 +
z
1 +
1
2
3
4
5
6
7
12
w
13
w
14
w
37
w
36
w
27
w
26
w
25
w
35
w
) (2x3 W ) (1x3 W
En esta red se muestran dos matrices de pesos W
2x3
(3 entradas (incluyendo bias) y 2
salidas en la capa oculta) y otra, W
1x3
que incluye 3 entradas en la capa oculta y una
salida
Se asume:
Para comodidad del ejercicio se dispuso la siguiente nomenclatura en el ndice
de las neuronas. En la capa de entrada, las neuronas 5, 6 y 7; en la capa oculta
son 2, 3 y 4 y en la de salida es la neurona 1.
una funcin sigmoide tal que f
j
(red) = Z
pi
(1-Z
pi
), donde
j j
x w red
=
1 = y
todos los pesos inicialmente son puestos a 1.
El conjunto de entrenamiento es x
1
x
2
z
0 0 1
0 1 0
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
136
Cmo sera un ciclo de aprendizaje?
Para el primer patrn de entrada ampliada [x
1
x
2
bias]= [0 0 1]
a) Pasos hacia delante:
n
2
= w
25
x
1
+ w
26
x
2
+ w
27
(+1) = 1*0 + 1*0 + 1*1 = 1
n
3
= w
35
x
1
+ w
36
x
2
+ w
37
(+1) = 1*0 + 1*0 + 1*1 = 1
z
2
= 1 / (1 + e
-n2
) = 1 / (1 + e
-1
) = 1 / (1 + 0.368) = 0.731
z
3
= 0.731
n
1
= w
12
z
2
+ w
13
z
3
+ w
14
(+1) = 1*.731 + 1*.731 + 1*1 = 2.462
z
1
= 1 / (1 + e
-n
1
) = 1 / (1 + e
-2.462
) = 0.921
b) Pasos hacia atrs, para ajustar los pesos.
b.1) Como la neurona 1 es de salida, entonces
)
1 ` 1
)(
1
1 (
1 1
Z T Z Z =
=
1
0.921 (1 0.921) (1 0.921) = 0.00575
pi
Z
pj ji
W
p
=
2 1 12
Z W = = 1*0.00575*0.731 = 0.0042
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
137
3 1 13
Z W = = 1*0.0575*0.731 = 0.0042
4 1 14
Z W = = 1*0.00575*1 = 0.00575
b.2) Las neuronas 2 y 3 son unidades ocultas, entonces
|
|
\
|
=
k
kj
w
pk pj
Z
pj
Z
pj
) 1 ( , donde el rango de k es 1 por existir
solamente una neurona de salida. Luego,
|
\
|
=
12 1
)
2
1 (
2 2
w Z Z = 0.731*(1-0.731)*0.00575*1= 0.00113
|
\
|
=
13 1
)
3
1 (
3 3
w Z Z = 0.731*(1-0.731)*0.00575*1= 0.00113
pi
Z
pj ji
w
p
=
5 2 25
Z w = = 1*0.00113*0 = 0
5 3 35
Z w = = 1*0.00113*0 = 0
6 2 26
Z w = = 1*0.00113*0 = 0
6 3 36
Z w = = 1*0.00113*0 = 0
7 2 27
Z w = = 1*0.00113*1 = 0.00113
7 3 37
Z w = = 1*0.00113*1 = 0.00113
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
138
De aqu los nuevos pesos despus del primer conjunto de entrenamiento son:
W
12
= 1.0042, W
13
= 1.0042, W
14
= 1.00575
W
25
= 1, W
26
= 1, W
27
= 1.00113
W
35
= 1, W
36
= 1, W
37
= 1.00113
Cules seran para el segundo conjunto de entrenamiento?
Desarrllelo
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
139
LA VARIACION MOMENTO EN BACKPROPAGATION
Despus que el error es calculado sobre cada conjunto de entrenamiento
(patrn), cada peso es ajustado en proporcin al gradiente del error calculado
propagado hacia atrs desde la salida hacia la entrada, tal como se vio en el
algoritmo y el ejemplo. Los cambios en los pesos reducen el error total de la
red neuronal. Para evitar que en la superficie del error los pesos estimen una
minimizacin del error con un ptimo local, se aplica el momento como un
mecanismo alternativo para cambiar la direccin de los pesoso y
eventualmente logre un mnimo global. En consecencia, mejora los tiempos de
entrenamiento al algoritmo backpropagation.
E$n esta caso al aplicar momento, en lugar de calcular los pesos para un
conjunto de entrenamiento mediante
pi pj ji p
Z w = , se afecta esta
expresin mediante un trmino que indica la contribucin proporcional
(trmino momento) de los pesos previos o anteriores. Es decir,
) (anterior
ji
w
p
pi
Z
pj ji
w
p
+ = , el valor de debe estar entre 0 y 1.
Con respecto a esta variacin, se ha encontrado que en algunos casos puede
producir buenos resultados cuando en la superficie del error alcanza un rea
plana o un mnimo local puntual (profundidad estrecha y bastante grande). En
estos casos valores cercano a uno (por ej.: 0.9) podran ayudar a mejorar la
solucin (permiten obviar este mnimo local). En otros casos, en la superficie
del error, por ejemplo reas ondulantes amplias y pocas profundas, no
ayudaran en mayor grado.
De ah que la solucin pueda estar afectada por varios mnimos locales,
haciendo inalcanzable un mnimo global.
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
140
ALGUNOS COMENTARIOS SOBRE BACKPROPAGATION
a) Acerca del entrenamiento y el error.
La regla Delta (generalizada) empleada por el algoritmo backpropagation
puede decrecer el error cuadrtico. Sin embargo puede conducir a un mnimo
local ms que a un mnimo global.
B A
Mnimo Local
Mnimo Global
Siempre en una superficie del error cuadrtico el mnimo local existe. Sin
embargo, no se sabe si ellos estn cerca de los mnimos globales.
La superficie del error puede presentar muchas reas planas donde los
cambios de los pesos son mnimos y no ayudan a conseguir los mnimos
globales. De ah, los mecanismos de ayuda al algoritmo original, como, por
ejemplo la aplicacin del momento, como medida de correccin de la
direccin de los pesos.
Actualmente se dispone de variantes numricas que contribuyen a mejorar la
eficiencia del algoritmo original. Tal es el caso de los algoritmos del gradiente
conjugado, Levenberg-Marquardt y Quasi-Newton, disponibles MATLAB,
Statistica Neural Networks, etc.
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
141
b) Acerca de las capas y el nmero de nodos ocultos.
No existe alguna metodologa que indique como seleccionar el nmero de
capas, nmero de nodos (neuronas) por capas en el diseo de una red.
Sin embargo, en la actualidad existen mtodos alternativos para mejorar la
eficiencia del algoritmo, tales como el uso de los algoritmos genticos para
establecer a priori un diseo de la red, anlisis de regresin como recurso de
preprocesamiento para conocer los pesos iniciales, transformacin de
variables, etc.
Eventualmente se ha estimado que el promedio de la suma del nmero de
nodos de entrada y de salida indicara un valor inicial del nmero de nodos
ocultos. Algo as como un diseo de trompeta en ambos sentidos.
O
Tericamente una capa oculta es suficiente para capturar la no linealidad del
problema.
Simon Haykin recomienda dos capas: la primera para capturar las
caractersticas locales y la segunda para las caractersticas globales. Una de las
principales dificultades en este tipo de redes es el tiempo de entrenamiento: en
ocasiones, son demasiados extensos como producto de la complejidad del
diseo de la red neuronal.
Anlisis Multivariante Parte 5. Inteligencia artificial Gerardo Colmenares
Y sus Aplicaciones Backpropagation
142
c) La seleccin del valor de la constante de aprendizaje a veces resulta
un arte.
d) La especificidad aplicativa de un modelo de redes neuronales justifica
ms an el cuidado que se debe tener en las fases de preparacin y
diseo del modelo. Tal es el caso del pre-procesamiento de los datos y
la capacidad de generalizacin alcanzada por el modelo.