OCTET_LENGTH()
Chapter 14. Basic Text Search Queries
La principal ventaja de un aprendizaje por retropropagación es que la corrección de los pesos está muy bien definida, dicha corrección empieza a ser aplicada a los pesos de la última capa (capa de salida) continuando hacia atrás hasta llegar a la capa de entrada. Seguidamente, en la figura 21, se muestra un esquema de dicha corrección.
W3corregido corrección error W2corregido W1corregido entrada salida objetivo W3corregido corrección error W2corregido W1corregido entrada salida objetivo entrada salida objetivo
Figura 21. Corrección de pesos en el aprendizaje por retropropagación.
La arquitectura de la red de retropropagación, es decir, el número de capas, número de neuronas en cada capa y la forma en la que se conectan estas neuronas es muy flexible. Generalmente, las capas de neuronas están conectadas de forma total. El número de capas así como el número de neuronas en cada capa depende de la aplicación para la cual se esté
desarrollando la red y, normalmente, se determina por ensayo-error. No obstante, en lo referente a esta cuestión existen diversas recomendaciones en la bibliografía, entre ellas que el número de pesos total no supere el número de objetos introducidos en la red, o bien que el número de pesos sea aproximadamente igual al número de objetos en el conjunto de entrenamiento; por otra parte, también suele ser aconsejable que, en la capa oculta, haya un número menor de neuronas que en la capa de entrada.
En la mayoría de los casos, una red de retropropagación consiste en una capa de entrada con tantas neuronas como componentes tenga la señal de entrada (X) y dos capas activas, la capa oculta y la capa de salida.
El método de aprendizaje es supervisado debido a que necesita de un conjunto predefinido de parejas de entradas consistentes en objetos (X) junto con unos objetivos o targets asociados (T). Durante el proceso de entrenamiento, se ajustan los pesos de la red con el fin de que las entradas introducidas produzcan las salidas deseadas.
Antes de comenzar el entrenamiento, es conveniente inicializar los pesos a pequeños valores elegidos al azar con lo cual se asegura, por una parte, que la red no se sature con valores grandes de los pesos y por otra, que se comience en un punto aleatorio de la superficie de error.
Los pasos seguidos en el entrenamiento son:
1. Elegir dos conjuntos de objetos de entrada y de objetivos e introducir el primer vector de entrada (X) en la red.
2. Calcular la salida de la red.
3. Calcular el error entre la salida de la red y la salida deseada (objetivo).
4. Modificar los pesos de la red con el fin de minimizar el error, empleando la Regla Delta.
5. Se repiten los pasos anteriores para cada vector del conjunto de entrenamiento hasta disminuir convenientemente el error.
Las neuronas de la capa de entrada actúan como buffers de entrada de los datos, los cuales son ponderados por cada una de las neuronas de la capa. La siguiente capa, capa oculta, recibe las salidas ya ponderadas de la capa de entrada, suma todas las entradas en cada neurona y pasa dicha suma a través de la función de transferencia. El resultado obtenido se pondera y pasa hacia la capa de salida donde se repite el proceso de suma y transformación. El valor de la función de transferencia de la capa de salida constituye la respuesta de la red del objeto introducido.
El proceso de entrenamiento se realiza de forma iterativa introduciendo en la red todos los miembros del conjunto de parejas conocido objeto-objetivo (conjunto de entrenamiento). Cada paso del conjunto completo se denomina época (epoch). El aprendizaje termina cuando no se mejora la diferencia entre la salida de la red y el objetivo correspondiente al objeto, o bien, cuando se llega a un número determinado de épocas. Cuando la función de transferencia empleada es la sigmoidea, el error en la capa de salida viene dado por:
) sal - 1 ( sal ) sal - t ( = kl kl kl kl kl G 96
donde Gkl es el error para el objeto k en la salida de la neurona l, tkl es el
valor de target u objetivo correspondiente al objeto k y salkl es la salida del
objeto k en la neurona l. El error en la neurona j de la capa oculta cuando se utiliza la función sigmoidea es:
w ) sal - 1 ( sal = kl lj L =1 l kj kj kj G G
¦
97corrigiendo los pesos según la regla delta, así: ) 1 - n ( w + sal = ) n ( wji kj ki ' ji '
KG
P
98donde'wji es la corrección de pesos entre la neurona j de la capa oculta y
la neurona i de la capa de entrada, K es la velocidad de aprendizaje y u se denomina momento y es un parámetro utilizado para salir de los mínimos locales. El término n se refiere a la iteración actual y el término n-1 a la iteración anterior.
Durante el entrenamiento de la red, los objetos pueden introducirse al azar para, de esta forma, evitar posibles tendencias o desviaciones de la red, debido a que ésta puede memorizar el conjunto de aprendizaje extrayendo dependencias. Otra cuestión importante es la normalización de los objetos de entrada para que no se produzca desbordamiento de la red neuronal. Este tipo de aprendizaje con esta red es muy adecuado para clasificación de objetos. Para estos casos, el número de neuronas de la capa de salida se hace coincidir con el número de clases existentes y los objetivos asociados a los objetos de entrada serán las clases a las cuales pertenecen dichos objetos. En la mayoría de los casos, es aconsejable escalar los objetivos entre valores 0 y 1.