PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR
FACULTAD DE INGENIERÍA
Apuntes de
Inteligencia Artificial
Capítulo 4:
Perceptrón Multicapa
JORGE AGUILAR JARAMILLO
Índice
4. Perceptrón Multicapa 60
4.1 Aprendizaje Supervisado 60
4.2 El Perceptrón Multicapa. 62
4.2.1 Algoritmo de retro-propagación o regla delta generalizada. 65
4.2.2 Neurona j como nodo oculto de la red. 67
4.2.3 Derivación de las funciones de activación. 69
4.2.4 Ecuaciones de cálculo para funciones sigmuidales. 70
4.2.5 Taza o velocidad de aprendizaje (factor μ). 71
4.2.6 Gradiente descendiente con término momento (β). 72
4.2.7 Deficiencias. 73
4.2.8 Características del Algoritmo de Aprendizaje retro-propagación. 74
4.2.9 Aprendizaje de la RBP 76
4.3 Sobre‐entrenamiento 77
4.4 Algunas Preguntas 78
4.5 Referencias Bibliograficas. 80
Objetivos:
Luego de este capítulo, el alumno estará en capacidad de:
Explicar el aprendizaje supervisado en la perspectiva de la aproximación de
funciones
Definir la arquitectura y elementos del Perceptrón Multi-capa (PMC)
Derivar el algoritmo de aprendizaje del PMC.
Definir los términos de razón de aprendizaje y momento
Advertir los problemas principales de esta red.
Definir el entrenamiento y el problema de sobre-entrenamiento de una red
Jorge Aguilar J. | Perceptrón Multicapa 59
4. Perceptrón Multicapa
4.1 Aprendizaje Supervisado
En términos generales, el aprendizaje supervisado se refiere al hecho de contar con un
supervisor que oriente el aprendizaje, su experiencia le dicen si la respuesta del
aprendiz es correcta o no y como mejorarla. En términos de un sistema computacional,
el sistema debe adaptarse para que sus respuestas sean lo más próximas a las respuestas
esperadas o conocidas.
Pensemos en este tipo de problema: estimar una función considerando un conjunto de
pares de ejemplos de entrada – salida, con poco e inclusive sin conocimiento de la
forma de la función. (Un problema común que toma distintos nombres en las diferentes
disciplinas: regresión no paramétrica, aproximación de la función, identificación de
sistemas, aprendizaje inductivo). En el lenguaje de las redes neuronales, este problema
se conoce como aprendizaje supervisado. La función se aprende desde varios ejemplos
que los suministra un supervisor. El conjunto de ejemplos o de entrenamiento contiene
elementos que consisten de valores pares de variables independientes (entradas, X) y
variables dependientes (salidas, Y). Por ejemplo la variable independiente en la
relación funcional:
Y = f(X)
Ecuación 1 - Relación Funcional entre variable independiente X y dependiente Y
Es x (un vector) y la variable dependiente es y (un escalar o un vector). El valor de la
variable y depende, a través de la función f, sobre cada uno de los componentes de las
variables del vector x:
x1
x
2
x .
.
xn
Ecuación 2. - Variable Dependiente
El caso general es cuando tanto la variable dependiente como la independiente son
vectores. Esto añade más matemática, pero no mayor significado al caso especial de
salida uní-variable.
El conjunto de entrenamiento, E, en el cual hay p pares (indexado por i, desde 1 hasta p)
está representado por:
Jorge Aguilar J. | Perceptrón Multicapa 60
( xi , yˆ d i )i 1
p
Ecuación 3.- – Conjunto de entrenamiento formado por X y Yd
El sombrero sobre la variable y, (indica una estimación o valor de incertidumbre)
porque los valores de salida, por lo general, se asume que se distorsionan por la
presencia de “ruido”, es decir, el valor correcto de yi es desconocido. El conjunto de
entrenamiento solo especifica el valor de y más una pequeña suma de ruido
desconocido, ε.
yˆ ~
y
Ecuación 4- Estimación de la variable y
E1, E2,…,EP
Ecuación 5- Conjunto de Entrenamiento
Existen varias metodologías para la resolución de este tipo de problemas; en el campo
de las máquinas de aprendizaje automáticas (Fig. 1), muchas de las aproximaciones
exitosas pueden categorizarse como métodos de aprendizaje basados en el gradiente
(LeCun Yann, Bottou Leon, Orr Geneviene and Muller Klauss-Robert, 1998)
E0, E1, ..., EP
Error
FUNCION COSTO
Salida
Salida deseada
Parámetros φ(X,W)
Yd(1), Yd(2),..., Yd(P)
W
RED NEURONAL
Entrada
X(1), X(2), ..., X(P)
Figura 1- Red Neuronal (Maquina de aprendizaje) basada en modelos de gradiente
La máquina de aprendizaje, para nuestro caso la red neuronal, calcula la función (X,
W), en el que X son los patrones de entrada y W los pesos o parámetros de la red. Una
función de costo E = C (Yd, (X, W)), mide la diferencia entre la salida deseada del
ejemplo k, Yd(k), para la entrada X(k) y la salida de la red, Y(k). El promedio de la
Jorge Aguilar J. | Perceptrón Multicapa 61
función costo Etrain (W) es el promedio de los errores sobre el conjunto de pares de
entrenamiento de entrada/salida {(X1, Y1)... (XP, YP)}. En el caso más simple, el
problema de aprendizaje consiste en minimizar Etrain (W).
La función costo más usada es la media del error cuadrado:
2
1 No 1
E ( p) Yd ( p) f ( X , W ) ;
2 k 1
E train E ( p)
P p 1
Ecuación 6 – Error medio cuadrático
4.2 El Perceptrón Multicapa.
En 1958 Rosenblatt publica sus primeros trabajos
acerca de su modelo neuronal denominado Entradas umbral
perceptron juntamente con el algoritmo de x1
convergencia. Este consistía en una red de capa
simple que presentaba varias restricciones, las x
2
clases de tareas a realizar eran muy limitadas. Salida
Marvin Minsky y Seymour Papert en 1969
documentaron resultados negativos en su libro
perceptrons. Aunque técnicamente correctos,
Minsky y Papert enfocaron sus trabajos sobre una xNi
clase restringida de técnicas de aprendizaje de
máquina, mostrando que tales aproximaciones no
Figura 2. - Perceptron de Rosenblatt.
podían resolver problemas naturales y simples
(Cybenko, 2001). Al parecer este trabajo tuvo su
repercusión en las investigaciones en redes neuronales, de tal forma que estas vuelven a
retomarse luego de los trabajos de Hopfield en 1982.
En la Figura 2 se ilustra un perceptrón monocapa con una única neurona, por lo tanto
su uso está limitado a la clasificación de patrones en dos clases o categorías. Si
expandimos esta capa de salida incluyendo más de una neurona en ella podremos
clasificar correctamente más de dos clases (redes WTA) con la limitación demostrada
por Minsky y Papert (1969) de que estas clases deben ser separables linealmente.
Una respuesta al problema de ajustar los pesos si se tiene capas ocultas fue presentada
por Rumelhart, Hinton y Willians en 1986. La idea central es que el error para las
unidades de la capa o capas ocultas se determina por una retropropagación del error de
las unidades de la capa de salida. Por esta razón esta regla de aprendizaje se la conoce
como retro-propagación (retro-propagación).
Este modelo, está formado por tres elementos o niveles de organización: las unidades
sensoriales (entradas), las unidades asociativas (ocultas) y las unidades de respuesta
Jorge Aguilar J. | Perceptrón Multicapa 62
(salidas). Las unidades asociativas actúan como pequeños preprocesadores diseñados
para extraer información a partir de los ejemplos presentados.
x1
x2
y1
x3
y2
xi
yNo
x Ni Ni Nh1 Nh2
Capa de
Capa de Primera Segunda
Salida
entrada capa capa
Oculta Oculta
Figura 3.- Perceptron Multicapa con dos capas ocultas
Consideremos una RNA totalmente conectada como en la Figura 3, en la que una
neurona en una capa de la red está conectada a todas las neuronas de la capa siguiente.
Esta es la estructura típica de un perceptrón multicapa donde identificamos dos tipos de
señales (Figura 4):
1. Señal de Función. Se refiere a la señal de las
funciones de activación que se propaga desde
la entrada hacia la capa de salida (de izquierda
a derecha).
2. Señal de Error. El error solamente es
determinado en la capa de salida, sin embargo,
para poder ajustar las conexiones sinápticas de
las capas ocultas, este error se retro-propaga
hacia la capa de entrada, con el fin de afinar la Señal de función
salida obtenida por la red lo más fielmente a la Señal de error
salida conocida o deseada.
Figura 4. - Sentidos de propagación de
las señales en un perceptrón multicapa.
Jorge Aguilar J. | Perceptrón Multicapa 63
x0=-1
w ij wjk yk
xi i y j k
i yj
Neurona j Neurona k
Figura 5.- Gráfico de señales en una neurona de salida k conectada a una
neurona oculta j.
Cada neurona oculta o de salida de un Perceptrón multicapa está diseñada para realizar
dos cálculos:
1. la propagación de la señal hacia adelante y
2. el cálculo del vector gradiente necesario para la retro-propagación.
En la Figura 5 se muestra la conexión entre las neuronas i (de entrada), j (oculta) y k
(de-salida). La nomenclatura utilizada es la siguiente:
1. Los índices i, j, k denotan las neuronas ubicadas en las capas de entrada (i),
oculta (j) y de salida (k) respectivamente en el sentido de la propagación.
2. El símbolo x (n) se refiere al elemento i-ésimo del vector para el ejemplo número
i
n, de entrada.
3. El símbolo yd (n) se refiere a la respuesta deseada o conocida del nodo k, para el
k
ejemplo n.
4. La salida de la red, para el nodo k se denota por y (n). k
5. La iteración n se refiere al n-ésimo patrón presentado.
6. El símbolo e (n) se refiere al error a la salida de la neurona k, para el patrón n.
k
7. El símbolo E(n) se refiere a la suma cuadrática de los errores en la iteración n-
ésima. La media sobre todas las muestras será Em.
8. El símbolo y (n ) se refiere a la señal de salida de la neurona oculta j.
i
9. El símbolo w (n) se refiere al peso de la conexión sináptica entre las neuronas j y
ik
k en la iteración n.
Jorge Aguilar J. | Perceptrón Multicapa 64
10. Se define un parámetro de aprendizaje u y uno de momento, .
4.2.1 Algoritmo de retro-propagación o regla delta generalizada.
La idea central de esta regla o algoritmo es calcular los errores para las unidades de las
capas ocultas a partir de los errores de las unidades de la capa de salida, de tal forma
que este error sea propagado capa tras capa hacia la entrada, de aquí el nombre de retro
propagación (retro-propagación)
Para derivar las ecuaciones de actualización de pesos, empecemos por lo que tenemos:
El error en la capa de salida. La señal de error en la neurona de salida k en la iteración p
(presentación del p-ésimo patrón de entrenamiento) viene definida así:
ek ( ydk ( p ) yk ( p ))
Ecuación 7– Señal de Error
Donde k es un nodo de la capa de salida. Aunque la ecuación anterior es una medida del
error, la suma de los errores cuadráticos de la red representa una mejor medida de este:
2 2
1 No 1 No
E ( p) ek ( p) yd k ( p ) y k ( p)
2 k 1 2 k 1
Ecuación 8 .– Sumatoria de Errores Cuadráticos
Donde No denota el último nodo en la capa de salida de la red.
El número total de patrones o ejemplos forman el conjunto de entrenamiento y lo
denotamos con P. Así, el Error Cuadrático Medio (Em) es obtenido sumando los errores
ek, de cada ejemplo para formar el error total, E(p) y lo normalizamos con respecto al
número total de ejemplos, P:
1 P
Em E ( p) ETrain
P n 1
Ecuación 9. ‐ Señal de Error Normalizada
Para un determinado conjunto de entrenamiento (ETrain), Em representa una medida del
aprendizaje de la RNA. Esta función de error viene a ser la función de Costo.
El objetivo de este proceso de aprendizaje es minimizar esta función de costo ajustando
los parámetros libres que tenemos (pesos y umbrales)
4.2.1.1 Cálculo de pesos para el caso de una red de tres capas.
El objetivo en una red neuronal es determinar un conjunto de pesos óptimo que resuelva
el problema. Para resolver este problema para el caso de la red de tres capas,
consideremos en primer lugar las neuronas de la capa de salida de la red. Retomando el
planteamiento hecho en el capítulo introductorio a redes neuronales, tenemos que el
Jorge Aguilar J. | Perceptrón Multicapa 65
nivel de activación yk (p) producido en la entrada de la neurona k es función de Sk, por
lo tanto:
y k ( p ) f ( S k ( p ))
Ecuación 10– Salida de la neurona k
Donde S , no es más que la sumatoria de todas las contribuciones que llegan a la
k
neurona k.
Nh
S k ( p ) w jk ( p ) y j ( p)
j 0
Ecuación 11– Nivel de Activación
En esta ecuación, Nh, es el número total de entradas (incluyendo la entrada externa, por
esto j inicia en 0) aplicadas al nodo k.
Nuestro objetivo es encontrar el conjunto de pesos Wjk de la capa de salida y Wij de la
capa oculta (en este caso estamos considerando una sola capa oculta) que minimicen el
error, por lo que la actualización toma en cuenta el descender por el gradiente
(pendiente) de la superficie de error:
E ( p)
w jk (t 1) w jk (t ) u
w jk
Ecuación 12– Conjunto de pesos de la capa de salida
La ecuación anterior, actualiza los pesos, dependiendo del gradiente, en este sentido, lo
primero que se debe hacer es definir un vector de pesos inicial (típicamente
seleccionado en forma aleatoria) y cambiar este vector W en la dirección del gradiente
negativo del error E(w) a cada paso, con respecto a cada una de las variables Wij y Wjk
Es decir, el problema se reduce a calcular la derivada del error con respecto a los pesos,
puesto que son los pesos nuestra variable de interés. Minimizaremos el error variando
los pesos.
Por lo tanto, debemos aplicar la regla de la cadena1, a la ecuación del error (Ec. 8). Por
lo que el gradiente de esta función resulta en:
1La regla de la cadena en matemáticas se refiere al hecho de que si una variable, E, depende de una
segunda variable, y, que a la vez depende de una tercera variable, S; entonces, la razón de cambio de
E con respecto a y puede ser calculado como el producto de la razón de cambio de E con respecto a
y multiplicado por la razón de cambio de y con respecto a S.
Jorge Aguilar J. | Perceptrón Multicapa 66
E ( p ) E ( p ) y k ( p ) S k ( p )
w jk y k ( p ) S k ( p ) w jk
Ecuación 13.- Derivada de la función de error con respecto a los pesos de la capa de salida
Cuyas derivadas parciales son:
E ( p ) y k ( p ) S k ( p )
y dk ( p ) y k ( p ) ; ( y k ( p )) ' ; y j ( p)
y k ( p ) S k w jk
Ecuación 14– Derivadas parciales del Conjunto de pesos de la capa de salida
Con el apóstrofe estamos expresando la derivada. Reemplazando los resultados
anteriores (Ecuación 14) en la Ecuación 13, tenemos:
E ( p)
ydk ( p) yk ( p) yk ( p) y j ( p)
'
w jk
Ecuación 15– Derivadas parciales del Conjunto de pesos de la capa de salida
Los dos primeros factores de la ecuación anterior tienen índice k, por lo que lo podemos
agrupar en un solo término conocido como término de error de la capa de salida:
k ( p) ydk ( p) yk ( p) yk ( p) '
Ecuación 16– Término de Error de la neurona k de la capa de salida
Finalmente, reemplazando los términos respectivos en la ecuación 12, tenemos la
ecuación de modificación de pesos para cualquier unidad de la capa de salida.
w jk (t 1) w jk (t ) u k ( p ) y j ( p )
Ecuación 17– Actualización de Pesos de los pesos de la capa de salida
Hasta aquí, hemos analizado el caso en que la neurona k es un nodo de salida; veamos
ahora la derivación de las señales o ecuaciones de propagación y de los errores en el
caso en que la neurona j sea un nodo oculto.
4.2.2 Neurona j como nodo oculto de la red.
El error solamente se mide a nivel de la capa de salida. Por lo que para modificar los
pesos de la capa oculta debemos tomar el error de la capa de salida y retro-propagarlo a
la capa de entrada, esto implica que partimos de la misma ecuación de error y
avanzamos con la regla de la cadena, hasta nuestra variable de interés: los pesos de la
capa oculta. En la capa oculta, el nivel de activación yj(p) producido en la entrada de la
neurona j es:
Jorge Aguilar J. | Perceptrón Multicapa 67
y j ( p ) f S j ( p )
Ecuación 18– Nivel de Activación en la entrada de la neurona j
donde Sj viene dado por:
Ni
S j ( p) wij ( p) yi ( p)
i 0
Ecuación 19– Conjunto de entradas a la neurona j
Ni es el número total de entradas (incluyendo el umbral) aplicadas al nodo j.
En este punto hay que tomar en cuenta que las neuronas de la capa oculta (neuronas j),
contribuye al error de todas las unidades de la capa de salida de la red, porque se
conectan con estas. Por lo tanto tomando en cuenta esta contribución es necesario
introducir una sumatoria que va hasta los No nodos de la capa de salida y aplicando la
regla de la cadena hasta la variable de interés, los pesos wij:
E( p) No E( p) yk ( p) Sk ( p) y j ( p) S j ( p)
wij k 1 yk ( p) Sk ( p) y j S j ( p) wij
Ecuación 20.- Gradiente para la neurona j de la capa oculta.
Los dos primeros factores dentro de la sumatoria, representan el término de error de la
neurona k, k, expresado en la ecuación16.
y j S k s j
y 'j w jk ; yi
S y j wij
Ecuación 21.-Valores de las derivadas parciales
Por lo tanto la ecuación 20, se puede expresar como:
E ( p ) N o y ( p )
k ( p ) w jk j yi ( p )
wij k 1 S j ( p )
Ecuación 22.- gradiente para los pesos wij
Sacando fuera de la sumatoria en k los factores con subíndice j e i que no son afectados
por la misma, se tiene:
E ( p ) y ( p ) N o
k ( p ) w jk
yi ( p ) j
wij S j ( p ) k 1
Denotando como δj el término que considera la derivada en j y el peso wjk tenemos :
Jorge Aguilar J. | Perceptrón Multicapa 68
y j ( p ) No
j ( p)
S j ( p )
k 1
k ( p ) w jk
No
o j ( p ) f ( s j ( p )) k ( p ) w jk
k 1
Ecuación 23.- Término de error para la neurona j de la capa oculta
Por lo tanto, los pesos de la primera capa oculta, desde la salida, se actualizan con la
siguiente ecuación:
wij (t 1) wij (t ) u j ( p ) yi ( p )
Ecuación 24.-Ecuación de actualización de pesos para la capa oculta
En el modelo de red de tres capas, estas dos ecuaciones permiten la modificación de
pesos de toda la red. Para redes de más capas es necesario derivar el resto de
ecuaciones.
4.2.3 Derivación de las funciones de activación.
Si observamos las ecuaciones anteriores, tales como la ecuación 17 y 24, en la
expresión está la derivada de las funciones de activación ya que se desarrolló el
procedimiento para el contexto de una función genérica. Para poder aplicar esta
ecuación, debemos derivar la función para todas las posibilidades (lineal, sigmuidal,
tangencial).
Debe estar claro que la derivada de la función lineal es igual a 1.
Consideremos ahora el caso en que la función de activación sea la sigmoidal.
Por ejemplo las ecuaciones 17 y 24 contienen los términos de error de la capa de salida
y capa oculta respectivamente y estos términos de error contienen a su vez las
derivadas de las funciones de activación de las respectivas capas. Por lo tanto para que
estas ecuaciones queden definidas en forma explícita se la debe expresar en términos de
su derivada. Para el caso de la función sigmuidal tenemos:
y k 1 (1 e S ( p ) k ).0 1.e S ( p ) k
S k S k 1 e S ( p ) k (1 e S ( p ) k ) 2
1 .e S ( p ) k
S k 1 e S ( p ) k (1 e S ( p ) k ) 2
1 (1 e S ( p ) k 1)
S k 1 e S ( p ) k (1 e S ( p ) k ) 2
Jorge Aguilar J. | Perceptrón Multicapa 69
1 1 e S ( p )k 1
S ( p )k
S ( p )k 2
S ( p )k 2
S k 1 e (1 e ) (1 e )
1 1 1
S ( p )k
S ( p )k
S ( p )k 2
S k 1 e (1 e ) (1 e )
1 1 1
S ( p )k
S ( p )k
1
S ( p )k
S k 1 e (1 e ) (1 e )
Ecuación 28 Derivada de la función sigmuidal
Este paso es con el objetivo de expresarlo como función de yk. Por lo tanto se tiene:
1
S ( p )k
y k ( p) 1 y k ( p)
S k 1 e
Ecuación 29 Derivada de la función sigmuidal
Para la capa oculta (índice j) solamente reemplazamos el índice.
4.2.4 Ecuaciones de cálculo para funciones sigmuidales.
Una vez que se ha definido las ecuaciones, están pueden aplicarse a toda la red para su
entrenamiento. Por lo que las ecuaciones de cálculo de actualización de pesos quedan
finalmente:
1. Para la capa de salida, reemplazando los resultados de [Ecuación 29] en [
Ecuación 17]:
w jk (t 1) w jk (t ) u y k (1 y k ) ( y kd y k ) y j
Ecuación 30 Ecuación de actualización de pesos para la capa de salida, para una función sigmoidal
y para la capa oculta, reemplazamos la ecuación [29] en la ecuación.[24]
No
wij ( y 1) wij (t ) u y k (1 y k ) k ( p ) w jk y i
k 1
Ecuación 31 Ecuación de actualización de pesos para la capa oculta, para una función sigmoidal
Jorge Aguilar J. | Perceptrón Multicapa 70
4.2.5 Taza o velocidad de aprendizaje (factor μ).
Recordando el factor de aprendizaje u, vemos que cuanto más pequeño es este
parámetro, más pequeños serán los cambios -o correcciones- de los pesos de la red de
una iteración a la siguiente, pero por otra parte, si hacemos este parámetro demasiado
grande con el fin de acelerar la convergencia hacia un error mínimo podemos provocar
una inestabilidad en el funcionamiento de la red que se traduce en un comportamiento
oscilante en torno al mínimo buscado Wmin.
La figura 6, muestra el comportamiento del aprendizaje para diferentes valores de µ,
(en el gráfico denotado con η). Cuando W inicia fuera de la vecindad de un mínimo
local. ¿Cuál es el valor óptimo para la taza de aprendizaje, uopt? Para el caso de una
dimensión un camino fácil de determinar un resultado se ilustra en la figura 6(ii). El
grafico superior, dibuja el gradiente de E como una función de W.
Figura 6 Comportamiento del aprendizaje para diferentes valores de µ=η, LeCun et al (1998)
Ya que el error, E, es cuadrático, el gradiente es simplemente una línea recta con valor
cero en el mínimo y, E ( wc ) / W 2 en el valor actual wc es la pendiente
E ( wc ) / 2W
de esta línea y se determina usando la fórmula de la pendiente
E ( wc ) / W 0
2 E / 2W
wc wmin
Ecuación 32 – Fórmula de la pendiente
Jorge Aguilar J. | Perceptrón Multicapa 71
Resolviendo para wmin da:
1
2E E ( w c )
w min w c 2
W W
Ecuación 33 Vector de pesos, wmin, para un error mínimo
Mientras que la taza de aprendizaje que da la convergencia más rápida es uopt, la taza
que causa divergencia es umax = 2 uopt.
4.2.6 Gradiente descendiente con término momento (β).
El término momentum, β, puede incrementar la velocidad cuando la superficie de costo
es altamente no esférica porque en el proceso de descender a un mínimo, ocurren saltos
a lo largo de la dirección de altas curvaturas potenciando así una taza de aprendizaje
efectiva mas grande a lo largo de la dirección de las curvaturas mas bajas (Le Cun el at,
1998). Es decir permite la aceleración de la convergencia en superficies no esféricas.
a) Sin Momentum β=0 b) Momentum alto β=0.8
Figura 7.- El gráfico muestra la influencia del término momento para la misma superficie y en el
mismo punto. La mayor oscilación es notoria cundo β=0.
El momento permite a la red responder no solo al gradiente local sino también a las
tendencias mas recientes en la superficie de error. Actuando como un filtro pasa bajos el
momento permite a la red ignorar las pequeñas imperfecciones de la superficie de error.
Sin un momento la red puede atascarse en un mínimo local impidiendo su labor
El momento puede añadirse al aprendizaje con retro propagación realizando cambios en
los pesos iguales a la suma de la fracción del último cambio de pesos y el nuevo cambio
sugerido por la regla de retro propagación. La magnitud del efecto que el último cambio
de pesos permite tener es mediada por una constante de momento, β, que puede ser
cualquier número entre 0 y 1. Cuando la constante de momento es 0, el cambio de pesos
Jorge Aguilar J. | Perceptrón Multicapa 72
se basa únicamente en la gradiente. Cuando la constante de momento es 1, el nuevo
cambio de pesos se iguala al último cambio de pesos y el gradiente se ignora
simplemente.
E ( t 1)
w( t 1) w ( t )
w
Ecuación 34 Variación de pesos considerando el término momento
4.2.7 Deficiencias.
El algoritmo de retro-propagación se ha convertido en el estándar para el entrenamiento
de perceptrones multicapa, siendo el modelo de comparación a la hora de introducir
nuevos algoritmos de aprendizaje. A pesar del aparente éxito de este algoritmo, hay
aspectos que no lo hacen muy efectivo y robusto.
Algunos problemas se derivan de una inicialización de los pesos errónea y de la
elección deficiente de los parámetros u y . Esto incidirá en los siguientes aspectos
negativos
1. Paralización de la red. Se trata de la saturación de la red antes de llegar al sistema
óptimo. Es provocada por un valor excesivo de la suma ponderada de las entradas.
Esta saturación se explica considerando que la entrada total de una neurona oculta o
de salida alcanzará grandes magnitudes, y por tanto, las funciones de activación
tenderán a sus valores extremos tal como se observa en la figura [Fig. 8], lo que
implica que, los términos de corrección de error tienden a 0 y por lo tanto los pesos
ya no se modifican (la derivada en esta parte plana de la función tiende a 0)
Figura 8.- Gráfica de las funciones sigmuidales. A los extremos se observa claramente la parte plana de
las funciones
Jorge Aguilar J. | Perceptrón Multicapa 73
2. Mínimo local. El algoritmo de retro-propagación se basa en la búsqueda del
mínimo valor en la superficie de error ajustando los pesos mediante el método del
descenso por gradiente. Es por tanto evidente que ese ajuste se realice en la
dirección inversa al gradiente de la curva o superficie de error. Ahora bien, esta
superficie está formada normalmente por crestas y valles, siendo posible que el
sucesivo ajuste de los pesos se esté produciendo alrededor de un mínimo local. Esto
se debe al cambio sucesivo del signo del gradiente como consecuencia de una
elección errónea en la inicialización de los pesos de la red (Figura 9).
Figura 9.- Superficie de Error típica. La búsqueda del mínimo mediante métodos de descenso por
gradiente puede provocar la caída en regiones de mínimo local.
3. Generalización Existe el problema que al tener muchas neuronas ocultas el
aprendizaje se vuelve generalizado y se presta a errores:
a) - Resultado para una red con 3 neuronas ocultas a) - Resultado para una red con 8 neuronas ocultas
Figura 10.- Al aumentar en número de neuronas la red aprende muy bien los datos con los que aprendió, pero
pierde la capacidad de generalización, es decir comete errores con datos nuevos.
4.2.8 Características del Algoritmo de Aprendizaje retro-propagación.
Este algoritmo puede ser muy lenta, particularmente para redes multicapa donde la
superficie de costo es típicamente no-cuadrática, no-convexa y altamente dimensional
con muchos mínimos locales y/o regiones planas. No hay una fórmula que garantice que
1. La red converja a una buena solución
Jorge Aguilar J. | Perceptrón Multicapa 74
2. La convergencia sea rápida
3. Que la convergencia ocurra enteramente.
En esta sección analizaremos los aspectos más importantes a la hora de trabajar con este
algoritmo de aprendizaje.
4.2.8.1 .- Fases de cálculo.
Como hemos visto, son dos las tareas a realizar por cada neurona, y por tanto, en la
aplicación del Algoritmo de BP también distinguimos dos pasos:
1. Cálculo hacia adelante. Una vez dado los ejemplos de entrenamiento, consiste
en la propagación de las señales de entrada hacia la salida y en el cálculo del
error cometido comparando la salida obtenida con la deseada.
2. Cálculo hacia atrás. Este paso se inicia en la capa de salida pasando las señales
de error hacia la capa de entrada capa a capa, y calculando recursivamente los
gradientes locales para cada neurona. Esto lleva a un ajuste de los pesos desde la
última capa en forma proporcional al error, ajustando los pesos hasta la primera
capa.
4.2.8.2.- Aprendizaje estocástico Vs. Aprendizaje por lotes
Se Define época como el proceso de presentación de un conjunto entero de ejemplos o
muestras de entrenamiento. Es recomendable la presentación de estos patrones de forma
aleatoria de una época a otra.
Existen dos formas diferentes de implementación del algoritmo de gradiente
descendente; el modo incremental y el modo por lotes.
1. Modo Estocástico, o incremental (“on-line”). Donde la actualización de los pesos
se realiza tras la presentación de cada ejemplo de entrenamiento, por ejemplo
seleccionando aleatoriamente del conjunto de entrenamiento en cada iteración.
2. Modo por lotes “batch”. Donde la actualización de los pesos de la red se efectúa
tras la presentación de todos los ejemplos de entrenamiento que constituyen una
época. Aquí los pesos y los bias de la red se actualizarán únicamente después de que
todo el conjunto de entrenamiento ha sido aplicado a la red. Los gradientes
calculados en cada ejemplo de entrenamiento son sumados para determinar el
cambio en los pesos y los bias.
4.2.8.3.- Inicialización de pesos.
Con el fin de evitar la saturación de las neuronas los pesos suelen ser inicializados
aleatoriamente dentro de un rango pequeño. Si los pesos son muy grandes puede
provocar una saturación rápida hacia los valores límite de las funciones de activación,
Jorge Aguilar J. | Perceptrón Multicapa 75
resultando en pequeños gradientes que hacen el aprendizaje lento. Si los pesos son muy
pequeños entonces el gradiente también será muy pequeño. La precaución esencial para
resolver este problema está en intentar trabajar en las regiones lineales de las funciones
de activación., esto tiene la ventaja de (1) los gradientes son suficientemente grandes
como para que el aprendizaje pueda proceder y (2) la red aprenderá la parte lineal del
mapeo antes de la parte no-lineal más difícil.
4.2.9 Aprendizaje de la RBP
Podemos definir un algoritmo de aprendizaje como sigue a continuación:
Iniciar los pesos de la red con valores aleatorios pequeños
Dar el patrón de entrada X(p) = (x1(p), x2(p), ... , xn(p))
Y especificar la salida deseada: Y(p) = (yd1(p), yd2(p), ... , ydm(p))
Para cada ejemplo del conjunto de entrenamiento:
Calcular la salida actual de la red, para este fin es necesario en primer lugar
Determinar la salida en cada capa, en la dirección de propagación de la señal
(hacia delante) hasta la capa final:
En primer cálculo se lo realiza para las neuronas de la(s) capa(s) oculta(s)
Sj(p) y Yj(p)
Luego para las neuronas de la capa de salida
Sk(p) y Yk(p)
Calcular los términos de error para todas las neuronas, en este caso, los pesos
son ajustados por una suma proporcional al producto de la señal de error k
sobre la unidad k recibiendo la señal y sobre la unidad j enviando la señal.
Primero para las unidades de la capa de salida
k ( p ) y dk ( p ) y k ( p ) y k ( p ) '
y luego para las unidades de las capas ocultas
No
j ( p) f ( s j ( p)) k ( p) w jk
k 1
Finalmente se realiza la actualización de los pesos
Jorge Aguilar J. | Perceptrón Multicapa 76
Capa de salida
w jk (t 1) w jk (t ) u k ( p ) y j ( p )
Capa(s) oculta(s):
wij (t 1) wij (t ) u j ( p ) yi ( p )
4.3 Sobreentrenamiento
Uno de los problemas que pueden aparecer cuando se entrena una red neuronal es el
sobre-aprendizaje. Este término se utiliza cuando una red es capaz de aprender de forma
muy precisa los patrones con los que se entrenó, pero cuando se le presentan patrones
que no intervinieron en el aprendizaje, denominados patrones de prueba, la red puede
devolver valores muy alejados de la realidad.
Para que el usuario pueda ver si la red que está entrenando está sufriendo de sobre-
aprendizaje, es útil realizar la validación de la red cada cierto número de ciclos de
entrenamiento.
¿Cómo saber que la red no está sobre-entrenada? Para este fin se definen los datos de
validación, datos que no forman parte del aprendizaje, que son usados para conocer si la
red está generalizando bien. Esto implica que de estos datos se conoce tanto las
variables de entrada como las de salida. Y así se den ciertos ciclos de validación
mientras se está entrenando la red. El proceso de validación es sólo una forma de
determinar si la red esta aprendiendo de forma apropiada o no, o lo que es lo mismo, si
es capaz de generalizar o no.
Cuando se entrena la red y a la vez se valida, se pueden comparar los errores de
entrenamiento y de validación, de tal forma que si el error de validación es mucho más
grande que el de entrenamiento, es que la red no aprende bien, es capaz de aprender los
patrones de entrenamiento pero no es capaz de generalizar con lo que el error de
validación es grande.
Lo ideal, es que tanto el error de entrenamiento como el de validación sean lo más bajos
posibles, y que ambos errores sean parecidos. A veces el problema del sobre-
aprendizaje viene provocado por los patrones utilizados, de forma que los patrones
utilizados para entrenar, son muy distintos a los usados para validar. En este caso se
puede decir que no existe un sobre-aprendizaje real, aunque sí una falta de
generalización debido a una mala práctica en la elección de patrones.
Los patrones de validación siendo distintos a los de entrenamiento, deben parecerse en
cierta medida a éstos. Supóngase que se desea que una red neuronal aprenda una
función cualquiera, por ejemplo 2*x* x* y. Se tienen datos de un cierto intervalo de la
función para utilizarlos como patrones de entrenamiento, supóngase que los valores
normalizados de entrenamiento van de [0,1] con saltos de valor 0,001 entre cada valor
Jorge Aguilar J. | Perceptrón Multicapa 77
consecutivo. Atendiendo a esto se tendrían 1001 patrones de entrenamiento, y se
elegirían de aquí lo valores de validación por ejemplo 250 patrones. Desde luego, si los
patrones están ordenados, sería un error elegir 250 patrones consecutivos (si el fichero
está ordenado) como patrones de validación, ya que serían valores muy alejados de los
utilizados para aprender. Lo ideal sería que se escogieran más o menos equi-espaciados,
de tal forma que si se escogen 250 patrones para validar, se escogiera un patrón de cada
4 de entrenamiento, para formar parte de los patrones de validación.
4.4 Algunas Preguntas
1. ¿Qué es retro-propagación?
2. ¿Qué papel tiene el bias (umbral) dentro de este tipo de redes?
3. ¿Cuándo es necesario aplicar una taza alta de aprendizaje?
4. ¿Cómo influye la taza de aprendizaje en el desempeño de una red con Función de
Gradiente Descendiente con Momento?
5. Encuentre las ecuaciones de actualización de pesos para una red con 2 capas
ocultas
6. ¿Es posible corregir las deficiencias del PMC, Cómo?
7. ¿Cuáles son las limitaciones de un Perceptrón con unidades de salida umbrales?
¿Cómo son superadas esas limitaciones con redes multicapa con conexiones hacia
delante usando neuronas continuas?
8. ¿Cuáles son las propiedades esenciales de las funciones de activación de las
unidades de valores continuas?
9. Las unidades ocultas en una red con conexión hacia delante pueden ser vistas
como que juegan uno o más de los siguientes roles
Ellas sirven como un conjunto de funciones base
Ellas sirven como un medio de transformación del espacio de entrada a un
espacio más adecuado
Las unidades ocultas sigmuidales sirven como una aproximación a unidades de
funciones umbrales
Explique los beneficios de los roles individuales en ayudar a entender la teoría y
aplicación de las redes multicapa. ¿Cuál de los roles ayuda a entender qué teoría y
qué roles son más útiles para que aplicación?
10. Considere un PMC con 1 neurona de entrada, 2 en la capa oculta y 2 neuronas en
la capa de salida (1:2:2) Defina la activación de la neurona de salida como z1 y z2,
sus correspondientes funciones como v1 y v2, el correspondiente término de error
Jorge Aguilar J. | Perceptrón Multicapa 78
δ1, δ2; y la activación de la capa oculta como y1 y y2, sus funciones
correspondientes como u1 y u2, su el término de error como ς1, ς2; y la entrada
como x. Sus relaciones son como sigue:
v1 = w10*y0 + w11*y1 + w12*y2, y0 = 1
v2 = w20*y0 + w21*y1 + w22*y2, y0 = 1
z1 = f(v1), z2 = f(v2)
u1 = c10*x0+ c11*x, x0 = 1
u2 = c20*x0 + c21*x, x0 = 1
y1 = f(u1), y2 = f(u2)
a) (60% puntos) Derive el término de error para los cuatro términos δ1, δ2 (capa de
salida), y ς1, ς2, (capa oculta). Asuma que el número de muestras usado por
época K = 1, por lo tanto el índice k puede omitirse. Tampoco se necesitará, el
índice de la capa ya que las neuronas se etiquetan de manera diferentemente.
Asuma que define la función de activación sigmuidal. Note que la expresión no
debe consistir de derivadas de una cierta función. Más bien, los resultados deben
representarse con los símbolos definidos anteriormente.
b) (40% puntos) Derive las ecuaciones de actualización de pesos para w21, y c20
usando definieron las notaciones definidas anteriormente.
11. Si está claro que representan los datos de prueba, entrenamiento y validación,
indique que cálculos se realiza dentro del algoritmo para cada uno de ellos.
Especifique las ecuaciones que usaría.
a. Entrenamiento
b. Validación
c. Prueba
Jorge Aguilar J. | Perceptrón Multicapa 79
4.5 Referencias Bibliográficas.
1. Cybenko George (2001), Machine Learning, Computing in science &
Engineering, AIP and IEEE, may/jul 2001
2. Donald Tveter (1998) The Pattern recognition Basis of Artificial Intelligence,
IEEE Computer Society
3. Hilera y Martinez (1995), Redes Neuronales Artificiales, Addison-Wesley
4. Krose Ben and van der Smagt (1996) An Introduction to Neural Networks
5. LeCun Yann, Bottou Leon, Orr Geneviene and Muller Klauss-Robert (1998)
Eficient BackProp
6. Orr Marc J.L 1996, Introduction to Radial Basis Function Network, Centre for
Cognitive Science, University of Edimburgh
7. Krose Ben and van der Smagt (1996) An Introduction to Neural Networks
8. Vasant Honavar, 1996, Multi-layer Networks, Artificial Intelligence Research
Group Department of Computer Science, Iowa State University.
Jorge Aguilar J. | Perceptrón Multicapa 80