Redes Neuronales Artificiales con
Entrenamiento Supervisado
• Prof. Alejandro Zambrano
Aprendizaje
El aprendizaje es el proceso por el que se produce el ajuste de los
parámetros libres de la red a partir de un proceso de estimulación por el entorno que rodea la red.
Consiste en determinar un conjunto de pesos sinápticos y tendencias que permita a la red realizar correctamente el tipo de procesamiento deseado.
Aprendizaje
Si denominamos wij(t) al peso que conecta la neurona presináptica j con la postsináptica IB i en la iteración t, el algoritmo de aprendizaje, en función de las señales que en el instante t llegan procedentes del entorno, proporcionará el valor Δwij(t) que da la modificación que se debe incorporar en dicho peso, el cual quedará actualizado de la forma:
El proceso de aprendizaje usualmente es iterativo, actualizándose los pesos una y otra vez, hasta que la red neuronal alcanza el rendimiento deseado.
)
(
)
(
)
1
(
,
,
,
t
w
t
w
t
Aprendizaje supervisado
Sea E[w] un funcional que representa el error esperado de la operación de la red, expresado en función de sus pesos sinápticos w. La idea es estimar una cierta función multivariable desconocida (la que
representa la red neuronal) a partir de muestras (x,y) ( ) tomadas aleatoriamente, por medio de la minimización iterativa de E[w] mediante aproximación estocástica.
Estas técnicas estiman valores esperados a partir de cantidades aleatorias
observadas. Usualmente se implementan en forma de algoritmo discreto del tipo descenso de gradiente.
m n
R
R
f
:
m n
R
y
R
Aprendizaje no supervisado
Trata la estimación de la función densidad de probabilidad p(x) que describe la distribución de patrones x pertenecientes al espacio de entrada Rn a partir
de muestras (ejemplos).
En este tipo de aprendizaje se presentan a la red multitud de patrones sin adjuntar la respuesta que deseamos. Por medio de la regla de aprendizaje, la red estima p(x) , a partir de lo cual pueden reconocerse regularidades en el conjunto de entradas, extraer rasgos, o agrupar patrones según su
El asociador lineal: aprendizaje hebbiano
j n
j
j i
i
w
x
y
1,
(9)
El asociador lineal debe aprender a asociar p pares de entrada-salida, {(xu,
tu)}, ajustando sus pesos w de modo que ante un cierto patrón de entrada
xu responda con tu, y que ante entradas similares (xu+ ), responda con
El asociador lineal: aprendizaje hebbiano
Método clásico de aprendizaje, Hebb postula: cuando un axón presináptico
causa la activación de cierta neurona postsináptica, la eficacia de la sinapsis que las relaciona se refuerza.
Aprendizaje simple y local.
Los algoritmos de entrenamiento más potentes se basan en este principio.
Aprendizaje hebbiano es aquella forma de aprendizaje que involucra una modificación en los pesos Δwij proporcional al producto de una entrada j por la salida i de la neurona:
Siendo un parámetro denominado ritmo de aprendizaje, que suele ser una cantidad entre 0 y 1.
j
i
j
i
y
x
w
,
.
.
(10)
El asociador lineal: aprendizaje hebbiano
Si los pesos de partida son nulos, el valor final de W para las p asociaciones
será:
Empleando la regla de Hebb, si los vectores de entrada {x1, x2,…,xp} son
ortonormales se cumple:
Lo que asegura que, ante la entrada xu se reproduce la respuesta aprendida
tu. En otras palabras, la regla de Hebb ha conseguido que la red aprenda a
realizar las asociaciones deseadas.
(11)
pT p T Tx
t
x
t
x
t
W
1.
1
2.
2
...
.
u u pT p u T u pT p T T u
t
x
x
t
x
x
t
x
x
t
x
t
x
t
x
El asociador lineal: aprendizaje hebbiano
La condición de ortonormalidad en los patrones de entrada es muy
restrictiva. Para almacenar más pares entrada-salida será preciso utilizar otras estrategias.
Al eliminar sólo la condición de ortogonalidad, la regla proporciona la salida
más un término adicional que es el ruido superpuesto a la señal deseada (error).
El objetivo de los métodos más sofisticados, como la regla de la
pseudoinversa o la de Widrow-Hoff, es la de la obtención de una matriz de pesos que logrará además que el ruido sea mínimo en comparación con la señal.
El perceptrón simple
Es un modelo unidireccional, compuesto por 2 capas de neuronas y función
de transferencia de tipo escalón.
El Adaline
Utiliza una neurona similar a la del perceptrón, pero de respuesta lineal, cuyas entradas pueden ser continuas.
El Adaline – Regla de Aprendizaje
La diferencia más importante reside en el algoritmo de entrenamiento: el Adaline utiliza la regla de Widrow-Hoff, o LMS, que conduce a
actualizaciones de los pesos proporcionales al error que la neurona comete.
Esta regla conduce a asociaciones perfectas a patrones linealmente
independientes, y en el caso en que no lo sean, proporciona una matriz de pesos óptima desde el punto de vista de los mínimos cuadrados.
La idea es proponer una función de error que mida el rendimiento actual de
la red, función que dependerá de los pesos sinápticos. Dada esta función de error, introduciremos un procedimiento general de optimización que sea capaz de proporcionar una configuración de pesos que corresponda a un extremal (en este caso, mínimo) de la función propuesta.
Este método proporcionará una regla de actualización de los pesos, que en
El Adaline – Regla de Aprendizaje
El perceptrón multicapas
Si añadimos capas intermedias (ocultas) a un perceptrón simple, obtenemos
un perceptrón multicapas, o MLP.
Esta topología se entrena mediante el algoritmo de retropropagación de
El perceptrón multicapas
Usualmente operan con funciones de
transferencia de tipo sigmoidea.
Una red de este tipo, con una capa oculta, se
considera un aproximador universal de funciones. (Varios teoremas lo confirman).
Las funciones de transferencia deben ser
derivables.
El algoritmo de entrenamiento es una
extensión del algoritmo LMS, derivando no sólo en función de los pesos de la capa de salida, sino también en función de los pesos de las neuronas de las capas ocultas,
Inicializar Pesos y Tendencias
Para cada patrón u del conjunto de entrenamiento:
Ejecutar la red para obtener su
respuesta al patrón u-ésimo
Calcular las señales de error
asociadas
Calcular el incremento parcial de los pesos y
umbrales debidos a cada patrón u
Calcular el incremento total (para todos los patrones) actual de los
pesos y tendencias
Actualizar pesos y umbrales
Capacidad de generalización de la red neuronal
artificial
En un proceso de entrenamiento se debe considerar:
El error de aprendizaje, se que suele calcular como el error
cuadrático medio de los resultados proporcionados por la red para el conjunto de patrones de entrenamiento.
El error de generalización , que se puede medir empleando un
conjunto representativo de patrones diferentes a los utilizados en el entrenamiento.
De esta manera podemos entrenar una red neuronal haciendo uso de un
Capacidad de generalización de la red neuronal
artificial
En el proceso de entrenamiento es importante distinguir entre el nivel de
error alcanzado al final de la fase de aprendizaje para el conjunto de datos de entrenamiento, y el error que la red ya entrenada comete ante patrones no utilizados en el aprendizaje, lo cual mide la capacidad de generalización
de la red.
Interesa más una buena generalización que un error muy pequeño en el entrenamiento, pues ello indicará que la red ha capturado correctamente el
Capacidad de generalización de la red neuronal
artificial
Al principio la red se adapta progresivamente al conjunto de entrenamiento, acomodándose al problema y mejorando la generalización.
En un momento dado, el sistema se ajusta demasiado a las particularidades de los patrones, aprendiendo incluso el ruido en ellos presente, por lo que crece el error que comete ante patrones diferentes a los presentados en el entrenamiento.
En este momento la red no ajusta correctamente el mapping, sino que
simplemente está memorizando los patrones, lo que se conoce como
Capacidad de generalización de la red neuronal
artificial
Capacidad de generalización de la red neuronal
artificial
Idealmente, dada una arquitectura de red neuronal, ésta debería entrenarse
hasta un punto óptimo, en el que el error de generalización es el mínimo.
El procedimiento consistente en entrenar y validar a la vez para detenerse en el punto óptimo se denomina validación cruzada, o cross validation.
Pueden presentarse varios mínimos para el conjunto de validación, debiendo detener el entrenamiento en el punto óptimo de mínimo error de
Capacidad de generalización de la red neuronal
artificial
Se deben ir guardando las configuraciones intermedias de pesos, para luego
quedarnos con la que proporcionó un error de generalización mínimo.
De todo el conjunto de entrenamiento, usualmente se emplea un 80% del
total de los datos para entrenar, y el 20% restante se emplea para la validación.
En definitiva, la capacidad de generalización de la red la determinan en
buena medida:
La arquitectura de la red.
Capacidad de generalización de la red neuronal
artificial
Criterio para selección del número de patrones para el conjunto de
entrenamiento:
Una red con n entradas y h neuronas ocultas, con un total de w pesos,