3 - Perceptron Multicapa PDF
3 - Perceptron Multicapa PDF
3 - Perceptron Multicapa PDF
Perceptron multicapa
3.1. Introduccion
En este captulo se estudiara una de las clases de redes de neuronas, conocida como
Perceptron multicapa o red multicapa con conexiones hacia adelante. El Perceptron
multicapa es una generalizacion del Perceptron simple y surgio como consecuencia de
las limitaciones de dicha arquitectura en lo referente al problema de la separabilidad no
lineal. Minsky y Papert [4] mostraron en 1969 que la combinacion de varios Perceptrones
simples -inclusion de neuronas ocultas- poda resultar una solucion adecuada para tratar
ciertos problemas no lineales. Sin embargo, los autores no presentaron una solucion al
problema de como adaptar los pesos de la capa de entrada a la capa oculta, pues la regla
de aprendizaje del Perceptron simple no puede aplicarse en este escenario. No obstante, la
idea de combinar varios Perceptrones sirvio de base para estudios posteriores realizados
por Rummelhart, Hinton y Wilians en 1986 [5]. Estos autores presentaron una manera
de retropropagacion de los errores medidos en la salida de la red hacia las neuronas
ocultas, dando lugar a la llamada regla delta generalizada.
Diferentes autores han demostrado independientemente que el Perceptron multicapa
es un aproximador universal, en el sentido de que cualquier funcion contnua en un
espacio Rn puede aproximarse con un Perceptron multicapa, con al menos una capa
oculta de neuronas. Tal como se explico en el captulo anterior, este resultado situa
al Perceptron multicapa como un modelo matematico util a la hora de aproximar o
interpolar relaciones no lineales entre datos de entrada y salida.
Dentro del marco de las redes de neuronas, el Perceptron multicapa es en la actualidad
una de las arquitecturas mas utilizadas en la resolucion de problemas. Esto es debido,
fundamentalmente, a su capacidad como aproximador universal, as como a su facil uso
y aplicabilidad.
Por otra parte, esto no implica que sea una de las redes mas potentes y con mejores
resultados en sus diferentes areas de aplicacion. De hecho, el Perceptron multicapa posee
una serie de limitaciones, como el largo proceso de aprendizaje para problemas complejos
dependientes de un gran numero de variables; la dificultad para realizar un analisis
teorico de la red debido a la presencia de componentes no lineales y a la alta conectividad.
15
Seccion 3.2 3. Perceptron multicapa
Por otra parte, es necesario senalar que el proceso de aprendizaje de la red busca en un
espacio apmplio de funciones, una posible funcion que relacione las variables de entrada
y salida al problema, lo cual puede complicar su aprendizaje y reducir su efectividad en
determinadas aplicaciones [6].
3.2. Arquitectura
La arquitectura de Perceptron multicapa se caracteriza porque tiene sus neuronas
agrupadas en capas de diferentes niveles. Cada una de las capas esta formada por un
conjunto de neuronas y se distinguen tres tipos de capas diferentes: la capa de entrada,
las capas ocultas y la capa de salida.
Las neuronas de la capa de entrada no actuan como neuronas propiamente dichas,
sino que se encargan unicamente de recibir las senales o patrones del exterior y propagar
dichas senales a todas las neuronas de la siguiente capa. La ultima capa actua como
salida de la red, proporcionando al exterior la respuesta de la red para cada uno de los
patrones de entrada. Las neuronas de las capas ocultas realizan un procesamiento no
lineal de los patrones recibidos.
Como se observa en la figura 2.1, las conexiones del Perceptron multicapa siempre
estan dirigidas hacia adelante, es decir, las neuronas de una capa se conectan con las
neuronas de la siguiente capa, de ah que reciban tambien el nombre de redes alimentadas
hacia adelante o redes feedforward. Las conexiones entre las neuronas de la red llevan
tambien asociado un umbral, que el caso del Perceptron multicapa suele tratarse como
una conexion mas a la neurona, cuya entrada es constante e igual a 1.
Generalmente, todas las neuronas de una capa estan conectadas a todas las neuro-
nas de la siguiente capa. Se dice entonces que existe conectividad total o que la red
esta totalmente conectada.
Aunque en la mayor parte de los casos la arquitectura del Perceptron multicapa
esta asociada al esquema de la figura 2.1, es posible tambien englobar dentro de este
tipo de redes a arquitecturas con las siguientes caractercticas:
Redes en las que ciertas neuronas de ciertas capas no estan conectadas a neuronas
de la siguiente capa, es decir, el peso de la conexion es constante e igual a cero
16
3. Perceptron multicapa Seccion 3.2
Activacion de las neuronas de la capa oculta c (aci ). Las neurones ocultas de la red
procesan la informacion recibida aplicando la funcion de activacion f a la suma
de los productos de las activaciones que recibe por sus correspondientes pesos, es
decir:
nc1
X
c1 c1
aci = f wji aj + uci para i = 1, 2, ..., nc y c = 2, 3, ..., C 1 (3.2)
j=1
donde ac1
j son las activaciones de las neuronas de la capa c 1.
17
Seccion 3.2 3. Perceptron multicapa
hiperbolica. Dichas funciones poseen como imagen un intervalo contnuo de valores den-
tro de los intervalos [0, 1] y [1, 1], respectivamente, y vienen dadas por las siguientes
ecuaciones:
Funcion sigmoidal:
1
fsigm (x) = (3.4)
1 + ex
1 ex
fthip (x) = (3.5)
1 + ex
Ambas son funciones crecientes con dos niveles de saturacion: el maximo, que pro-
porciona salida 1, y el mnimo, salida 0 para la funcion sigmoidal y salida -1, para la
tangente hiperbolica, como se observa en la figura 3.1.
En algunas ocasiones, la funcion de activacion en el Perceptron multicapa es comun
a todas las neuronas de la red y es elegida por el disenador, eleccion que se realiza
unicamente basandose en los valores de activacion que se desee que alcancen las neuronas.
Ambas funciones estan relacionadas mediante la expresion fthip (x) = 2fsigm (x) 1, por
lo que la utilizacion de una u otra se elige unicamente en funcion del recorrido que
interese.
En otras ocasiones, y dependiendo de la naturaleza del problema, las neuronas de
salida se distinguen del resto de neuronas de la red, utilizando otro tipo de funcion de
activacion. En este caso, las mas usadas son la funcion identidad y la funcion escalon.
De las ecuaciones 3.1, 3.2 y 3.3, se observa que el perceptron multicapa define, a traves
de sus conexiones y neuronas, una funcion continua no lineal del espacio Rn1 -espacio
de los patrones de entrada- al espacio RnC -espacio de los patrones de salida-. Se puede
escribir, por tanto, que:
18
3. Perceptron multicapa Seccion 3.2
Y = F (X, W ) (3.6)
19
Seccion 3.3 3. Perceptron multicapa
siendo Y (n) = (y1 (n), ..., ynC (n)) y S(n) = (s1 (n), ..., snC (n)) los vectores de salidas de
la red y salidas deseadas para el patron n, respectivamente.
De este modo, si W es un mnimo de la funcion error E, en dicho punto el error es
proximo a cero, lo cual implica que la salida de la red es proxima a la salida deseada,
alcanzando as la meta de la regla de aprendizaje.
20
3. Perceptron multicapa Seccion 3.3
e(n)
w(n) = w(n 1) (3.10)
w
donde e(n) es el error para el patron n dado por la ecuacion (3.9), y es la razon
o tasa de aprendizaje, parametro que influye en la magnitud del desplazamiento en la
superficie del error, como se analizara mas adelante.
Debido a que las neuronas de la red estan agrupadas en capas de distintos niveles, es
posible aplicar el metodo del gradiente de forma eficiente, resultando el conocido algorit-
mo de Retropropagacion [5] o regla delta generalizada. El termino de retropropagacion
se utiliza debido a la forma de implementar el metodo del gradiente en el Perceptron
multicapa, pues el error cometido en la salida de la red es propagado hacia atras, trans-
formandolo en un error para cada una de las neuronas ocultas de la red.
21
Seccion 3.3 3. Perceptron multicapa
capa de salida. Utilizando el metodo de descenso del gradiente (Ecuacion 3.10), dicho
parametro se modifica siguiendo la direccion negativa del gradiente del error:
C1 C1 e(n)
wji (n) = wji (n 1) C1
(3.11)
wji
e(n) yi (n)
C1
= (si (n) yi (n)) C1 (3.12)
wji wji
A este punto, hay que calcular la derivada de la neurona de salida yi (n) respecto al
C1
peso wji . La salida de la red es la funcion de activacion f aplicada a la suma de todas
las entradas por sus pesos, como se muestra en la Ecuacion (3.3). Aplicando la regla
de la cadena para derivar la composicion de dos funciones y teniendo en cuenta que, de
C1
todos los terminos del sumatorio (Ecuacion 3.3), el unico que interviene en el peso wji
C1 C1
es wji aj , y por tanto, el unico cuya derivada es distinta de cero, se obtiene:
nC1
yi (n) X
C1
= f0 wjiC1 C1
aj + uCi
aC1 (n)
j (3.13)
wji j=1
e(n)
C1
= iC (n)aC1
j (n) (3.15)
wji
C1
Finalmente, reemplazando la derivada del error e(n) respecto al peso wji obtenida
en (3.15) en la Ecuacion (3.11), se obtiene la ley para modificar dicho peso, la cual toma
la siguiente expresion:
22
3. Perceptron multicapa Seccion 3.3
C1 C1
wji (n) = wji (n 1) + iC (n)aC1
j (3.16)
uC C C
i (n) = ui (n 1) + i (n) para i = 1, 2, ..., nC (3.17)
C2 C2 e(n)
wkj (n) = wkj (n 1) + C2
(3.18)
wkj
C2
En este caso, y a diferencia del anterior -pesos hacia la capa de salida-, el peso wkj
influye en todas las salidas de la red, por lo que la derivada del error e(n) (Ecuacion
3.9) respecto de dicho peso viene dada por la suma de las derivadas para cada una de
las salidas de la red, es decir:
nC
e(n) X yi (n)
C2
= (si (n) yi (n)) C2 (3.19)
wkj i=1
wkj
C2
Para calcular la derivada de la salida yi (n) respecto al peso wkj es necesario tener
en cuenta que este peso influye en la activacion de la neurona j de la capa oculta C 1,
23
Seccion 3.3 3. Perceptron multicapa
aC1
j , y que el resto de las activaciones de las neuronas en esta capa no dependen de
dicho peso. Por tanto, y de acuerdo con la Ecuacion (3.3), se tiene que:
nC1
yi (n) 0
X
C1 C1 C C1
aC1
j
C2
=f wji aj + ui wji C2
(3.20)
wkj j=1
wkj
C2
Para obtener la ley de aprendizaje para el peso wkj , solo falta derivar la activacion
C1
de la neurona j de la capa oculta C 1, aj , respecto a dicho peso. De nuevo, aplicando
la regla de la cadena a la Ecuacion (3.2), dicha derivada es:
nC2
aC1
!
j
X
0 C2 C2 C1
C2
=f wkj ak + uj aC2
k (n) (3.22)
wkj k=1
Sustituyendo (3.22) en la Ecuacion (3.21) y de acuerdo con el valor de jC1 (n) definido
anteriormente, se obtiene que:
e(n)
C2
= jC1 (n)aC2
k (n) (3.24)
wkj
C2
Y como consecuencia, la ley de aprendizaje para modificar el peso wkj viene dada
por:
C2 C2
wkj (n) = wkj (n 1) + jC1 (n)aC2
k (n) (3.25)
Al igual que la ley obtenida para modificar los pesos de la ultima capa (Ecuacion
3.16), en este caso, tambien se observa que para modificar el peso de la conexion de la
neurona k de la capa C 2 a la neurona j de la capa C 1, basta considerar la activacion
24
3. Perceptron multicapa Seccion 3.3
c
wkj c
(n) = wkj (n 1) + jc+1 (n)ack (n) (3.26)
donde ack (n) es la activacion de la neurona k de la capa c para el patron n y jc+1 (n)
viene dado por la siguiente expresion:
nc
! nc+1
X X
0
jc+1 (n) =f c c
wkj ak + ucj ic+2 (n)wji
c
(3.27)
k=1 i=1
25
Seccion 3.3 3. Perceptron multicapa
1 1 ex
f10 (x) = x
(ex ) = (3.29)
(1 + e ) 2 1 + e 1 + ex
x
Por tanto,
f10 (x) = f1 (x)(1 f1 (x)) (3.30)
Y los valores de para el resto de las neuronas de la red (Ecuacion 3.27), vienen
dados por:
nc+1
X
jc+1 (n) = acj (n)(1 acj (n)) c+2 (n)wji
c
(3.32)
i=1
26
3. Perceptron multicapa Seccion 3.3
e(n)
w(n) = w(n 1) = + w(n 1) (3.35)
w
donde w(n 1) = w(n 1) w(n 2) es el incremento de w en la anterior iteracion
y es un numero positivo que controla la importancia asignada al incremento anterior.
27
Seccion 3.3 3. Perceptron multicapa
4. Se aplica la regla delta generalizada para modificar los pesos y umbrales de la red.
Para ello se siguen los siguientes pasos:
a) Se calculan los valores para todas las neuronas de la capa de salida utilizando
la ecuacion (3.14).
b) Se calculan los valores para el resto de las neuronas de la red utilizando
la ecuacion (3.27) empezando desde la ultima capa oculta y retropropagando
dichos valores hacia la capa de entrada.
c) Se modifican los pesos y umbrales de la red siguiendo las ecuaciones (3.16) y
(3.17) para los pesos y umbrales de la capa de salida y (3.26) y (3.28) para el
resto de parametros de la red.
6. Se evalua el error total E ecuacion (3.8) cometido por la red. Dicho error tambien
recibe el nombre de error de entrenamiento, pues se calcula utilizando los patrones
de entrenamiento.
Existe una variante del proceso de aprendizaje descrito anteriormente en la que los
parametros de la red se modifican una vez que todos los patrones han sido prentados a
la red, y no para cada patron de entrenamiento. Esta variante se conoce como proceso
batch.
Entrenar una red neuronal para para aprender patrones presentes en los datos de
entrada implica presentarle de forma iterativa ejemplos de las respuestas correctas co-
nocidas. El fn del entrenamiento es encontrar un conjunto de pesos y umbrales que
determine un mnimo global en la funcion de error.
Si el modelo no esta sobreentrenado, -ver secciones 4.5.1 y 4.5.2- este conjunto de
parametros debera proporcionar una correcta generalizacion. Los entrenamientos que
utilizan el metodo de descenso del gradiente ajustan progresivamente dichos parametros
en la direccion de maxima pendiente decreciente en la superficie del error. Encontrar el
mnimo global de dicha superficie no esta garantizado ya que esta puede incluir muchos
mnimos locales en los que el proceso de entrenamiento converge. La inclusion del factor
de momento en la funcion de aprendizaje y la ejecucion del entrenamiento con varios
28
3. Perceptron multicapa Seccion 3.3
29
Seccion 3.4 3. Perceptron multicapa
H = JT J (3.37)
g = JT e (3.38)
30
3. Perceptron multicapa Seccion 3.4
31
Seccion 3.4 3. Perceptron multicapa
parametros efectivos debera llegar a ser aproximadamente constante, sin importar cuan
grande se haga el numero de parametros reales de la red. Para esto se asume que la
red ha sido entrenada durante suficientes epochs y que el entrenamiento ha convergido.
Se conoce que la tecnica de regularizacion optima requiere la costosa construccion
de la matriz Hessiana. Como se ha indicado en la seccion anterior, existen algoritmos
que solventan esta dificultad mediante aproximaciones de dicha matriz. Un algoritmo
que se emplea a menudo en combinacion con la tecnica de regularizacion Bayesiana es
el algoritmo LM. Otra consideracion importante es que el algoritmo BR funciona mejor
cuando tanto el rango de entrada como el de salida se encuentran en [1, 1]. Si no se da
el caso para un determinado problema, es conveniente escalar los datos.
32