Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

Back-Propagation: estrategias para entrenamiento

Fernando P.    08/12/2017

Temas:  Fundamentos

En una serie de artículos anteriores hemos descrito los fundamentos del algoritmo Back-Propagation para entrenar perceptrones multicapa o, de forma más genérica, redes neuronales artificiales orientadas hacia adelante.

Una de las simplificaciones que hicimos a la hora de describir el algoritmo consistía en calcular las expresiones para modificar los pesos sobre pesos entre neuronas usando un solo caso de entrada. En este artículo vamos a explorar la situación más general, que consiste en usar un número arbitrario de casos de entrada, o incluso todos, para calcular la modificación a realizar sobre los pesos.

Función de coste
Cuando tratamos el tema de la función de coste para perceptrones multicapa la expresamos como una suma de costes individuales, que no eran más que los costes correspondientes al error que cometía la red al clasificar cada uno de los pares del conjunto de entrenamiento.

Es decir, si tenemos  s  pares en el conjunto de entrenamiento, la función de error de la red será una suma de  s  términos o errores que comete la red al clasificar cada uno de los  s  pares de entrenamiento.

Un perceptrón multicapa con funciones de activación contínuas y derivables es una función contínua y derivable, por lo que la función de coste también será una función contínua y derivable respecto a todos los pesos sobre conexiones en neuronas de la red.

El que la función de coste sea derivable respecto a los pesos es una situación muy conveniente, porque la estrategia del descenso de gradiente nos garantiza que vamos a poder localizar mínimos locales de la función de coste, suponiendo que existan. Y este es el objetivo único del algoritmo Back-Propagation.

Pero a la hora de calcular las expresiones exactas para la Regla Delta Generalizada, hicimos una simplificación que consistía en considerar un único par de entrenamiento. Es decir, la función de coste que usábamos sólo tenía un término.

Optimización completa o Batch Actualización de pesos en Back-Propagation
Naturalmente, la garantía de poder llegar a un mínimo local sólo se mantiene si consideramos la función de coste completa a la hora de calcular su gradiente e ir siguiéndolo de forma descendente, que es lo que en realidad significa la Regla Delta Generalizada.

Una vez que hemos calculado las expresiones exactas para la Regla Delta Generalizada usando un solo par de entrenamiento (optimización parcial) podemos ver que no resulta difícil obtener un expresión completa que use todos los pares de entrenamiento (optimización completa).

Al ser la función de coste una suma de términos, resulta que la expresión de la Regla Delta Generalizada en el caso de optimización completa no es más que la suma de todas las expresiones calculadas para todos los pares de entrenamiento. Esto es así porque la derivada parcial de una suma de términos es la suma de las derivadas parciales sobre cada término.

Sea  E = ∑i Ei   i=1…s  la función de coste de la red, expresada como suma de coste en todos los pares de entrenamiento

Dado un peso  w  de la red, se tiene que  E / ∂w = ∑i ∂Ei / ∂w

Todo esto es más complicado escribirlo que entenderlo, porque requiere de un subíndice extra (para sumar sobre todos los pares de entrenamiento) en todos las expresiones que se calcularon para el caso de un sólo par de entrenamiento.

Es decir, el algoritmo Back-Propagation quedaría modificado en la siguiente forma:

  1. Seleccionar un conjunto de casos de entrada y sus correspondientes clases de salida para efectuar el entrenamiento. Sea  S  este conjunto
  2. Elegir un factor de aprendizaje  η
  3. Fijar a valores aleatorios en el intervalo  [-1,1]  todos los pesos entre conexiones de neuronas de la red
  4. Fijar  t = 0
  5. Para cada peso  θ  sobre conexiones entre neuronas de la red, repetir 6 a 7
  6. Sea  Δθ = 0
  7. Para cada par de entrenamiento (caso de entrada/clase de salida) en  S, calcular la expresión de la Regla Delta Generalizada para el peso  θ  y sumarla a  Δθ
  8. Actualizar el valor de todos los pesos de la red con su  Δθ  corespondiente
  9. Hacer  t = t + 1
  10. Calcular el valor de la función de coste  E  con los nuevos pesos
  11. Comprobar el criterio de parada de la red:  E  muy cerca de cero, estancado en su disminución o exceso de iteraciones  t
  12. Si se satisface el criterio de parada, hemos terminado
  13. Ir a 5

Esta versión del algoritmo Back-Propagation que realiza optimizacióm completa usando todos los pares de entrenamiento garantiza que podamos localizar un mínimo local de la función de coste si este existe (y las funciones de activación son derivables).

En general, en la literatura se habla de estrategia de entrenamiento Batch para esta forma de proceder, en el sentido de que se han de ir calculando todos los incrementos de valores para los pesos y luego aplicarlos todos a la vez para modificar los pesos.

La ventaja de esta estrategia es que nos asegura la convergencia y además esta puede ser relativamente rápida con una elección adecuada del factor de aprendizaje.

Como desventaja de esta estretegia, hay que resaltar la enorme cantidad de almacenamiento que podemos llegar a necesitar en la memoria de nuestro computador con una red grande y muchos pares de entrenamiento. Hay que guardar el valor de todas las expresiones de la Regla Delta Generalizada para todos los pesos y todos los pares de entrenamiento de forma que podamos aplicarlas de una sola vez a los pesos.

Optimización parcial u On-Line
Por contraposición, la estrategia de optimización parcial que vimos al desarrollar el algoritmo se denomina en la literatura como On-Line, por aquello de que modifica pesos según se van presentando pares de entrenamiento a la red.

La ventaja de esta estrategia es su simplicidad. Por ello se eligió para realizar el cálculo de las expresiones exactas de la Regla Delta Generalizada a la hora de describir el algoritmo. Esta simplicidad se traduce en unos requisitos limitados de almacenamiento porque no necesitamos guardar todos los valores de la Regla Delta Generalizada para todos los pares de entrenamiento.

El inconveniente fundamental de esta aproximación es que no garantiza que podamos llegar a un mínimo local de la función de coste. Digamos que, en vez de seguir un camino óptimo usando descenso de gradiente, lo que conseguimos con esta aproximación es un camino relativamente errático, pero que tiene tendencia a seguir al camino óptimo.

En general, la estrategia On-Line puede localizar un mínimo local con una correcta elección del factor de aprendizaje, para evitar que haga cambios demasiado acusados y se aleje mucho del camino óptimo. Es mucho más sensible que la estrategia Batch a la hora de elegir el factor de aprendizaje.

Una ventaja inesperada del comportamiento errático del proceso de convergencia consiste en que puede suceder que esta estrategia sea capaz de localizar mínimos locales fuera del alcance de una estrategia Batch. Se trata de algo que se puede llegar a explorar como posibilidad de efectuar un proceso de optimización global sobre la función de coste (localizar un mínimo local mejor que los demás), pero esto queda fuera del alcance de este artículo.

Estrategias mixtas o Mini-Batch
Por último, podemos considerar la posibilidad de efectuar una estrategia Batch pero usando sólo unos pocos pares de entrenamiento, sin usar todos.

Esta posibilidad sigue teniendo el inconveniente de no garantizar la localización de un mínimo local, pero está en mucho mejor posición que una estrategia On-Line pura para conseguirlo.

Por otro lado, esta aproximación nos permite adaptarnos al espacio de almacenamiento disponible para calcular valores de la Regla Delta Generalizada. Si el entrenamiento Batch puro de una red excede nuestra capacidad de almacenamiento podemos reducir el número de pares de entrenamiento usados hasta que encaje con lo que podemos almacenar.

De alguna forma, una estrategia mixta o Mini-Batch viene a ser un buen compromiso entre calidad del proceso de convergencia y requisitos de almacenamiento.



La elección de la estrategia de actualización de pesos es un elemento clave del algoritmo Back-Propagation y nos permite adaptar el algoritmo a problemas de gran tamaño o afinarlo para conseguir buen rendimiento.



Para saber más:

Libro de Russell Reed y Robert J Marks dedicado a redes neuronales artificiales orientadas hacia adelante. El capítulo 5 introduce el algoritmo Back-Propagation y contiene una detallada discusión de las estrategias de optimización Batch y On-Line.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto