Dada una función de costo convexo, usando SGD para la optimización, tendremos un gradiente (vector) en un cierto punto durante el proceso de optimización.
Mi pregunta es, dado el punto en el convexo, ¿el gradiente solo apunta en la dirección en que la función aumenta / disminuye más rápido, o el gradiente siempre apunta al punto óptimo / extremo de la función de costo ?
El primero es un concepto local, el segundo es un concepto global.
SGD eventualmente puede converger al valor extremo de la función de costo. Me pregunto sobre la diferencia entre la dirección del gradiente dado un punto arbitrario en el convexo y la dirección que apunta al valor extremo global.
La dirección del gradiente debe ser la dirección en la que la función aumenta / disminuye más rápido en ese punto, ¿verdad?
fuente
Respuestas:
Dicen que una imagen vale más que mil palabras. En el siguiente ejemplo (cortesía de MS Paint, una herramienta útil para estadísticos aficionados y profesionales), puede ver una superficie de función convexa y un punto donde la dirección del descenso más pronunciado difiere claramente de la dirección hacia el óptimo.
En una nota seria: hay respuestas muy superiores en este hilo que también merecen un voto positivo.
fuente
Una vista intuitiva es imaginar un camino de descenso que sea un camino curvo. Ver por ejemplo los ejemplos a continuación.
Como analogía: imagina que te vendo los ojos y te puse en algún lugar de una montaña con la tarea de caminar de regreso al punto extremo (bajo). En la colina, si solo tiene información local , entonces no sabe en qué dirección estará el fondo del lago.
Si puedes asumir convexidad
Sin convexidad
El ángulo puede excederπ/ 2 . En la imagen a continuación, esto se enfatiza dibujando una flecha de dirección de descenso para un punto particular donde la solución final está detrás de la línea perpendicular a la dirección de descenso.
En el problema convexo esto no es posible. Podría relacionar esto con las isolinas para la función de costo que tiene una curvatura en la misma dirección cuando el problema es convexo.
En pendiente estocástica de gradiente
A continuación se muestra otra vista para cuatro puntos de datos . Cada una de las cuatro imágenes muestra la superficie de un único punto diferente. Cada paso se elige un punto diferente a lo largo del cual se calcula el gradiente. Esto hace que solo haya cuatro direcciones a lo largo de las cuales se da un paso, pero los pasos disminuyen cuando nos acercamos a la solución.
Las imágenes anteriores son para 4 puntos de datos generados por la función:
lo que resulta en:
Escrito por StackExchangeStrike
fuente
El descenso más pronunciado puede ser ineficiente incluso si la función objetivo es fuertemente convexa.
Descenso de gradiente ordinario
Me refiero a "ineficiente" en el sentido de que el descenso más pronunciado puede tomar pasos que oscilan salvajemente lejos del óptimo, incluso si la función es fuertemente convexa o incluso cuadrática.
que exhibe este progreso salvajemente oscilante hacia el mínimo.
El camino directo al mínimo sería moverse "en diagonal" en lugar de esta manera que está fuertemente dominada por oscilaciones verticales. Sin embargo, el descenso de gradiente solo tiene información sobre la inclinación local, por lo que "no sabe" que la estrategia sería más eficiente, y está sujeta a los caprichos de los hessianos que tienen valores propios en diferentes escalas.
Descenso de gradiente estocástico
SGD tiene las mismas propiedades, con la excepción de que las actualizaciones son ruidosas, lo que implica que la superficie del contorno se ve diferente de una iteración a la siguiente y, por lo tanto, los gradientes también son diferentes. Esto implica que el ángulo entre la dirección del escalón de gradiente y el óptimo también tendrá ruido, solo imagine las mismas tramas con cierta fluctuación.
Más información:
¿Podemos aplicar la analiticidad de una red neuronal para mejorar el descenso del gradiente?
¿Por qué son útiles los derivados de segundo orden en la optimización convexa?
¿Cómo puede ser positivo el cambio en la función de costos?
Esta respuesta toma prestado este ejemplo y figura de Neural Networks Design (2nd Ed.) Capítulo 9 por Martin T. Hagan, Howard B. Demuth, Mark Hudson Beale, Orlando De Jesús.
fuente
La dirección más empinada local no es lo mismo con la dirección óptima global. Si así fuera, entonces la dirección de tu gradiente no cambiaría; porque si vas hacia tu óptimo siempre, tu vector de dirección apuntará siempre óptimo. Pero ese no es el caso. Si fuera el caso, ¿por qué molestarse en calcular su gradiente cada iteración?
fuente
Las otras respuestas resaltan algunos problemas molestos de tasa de convergencia para GD / SGD, pero su comentario "SGD eventualmente puede converger ..." no siempre es correcto (ignorando los comentarios de uso pedante sobre la palabra "puede", ya que parece que usted quiso decir "será").
No estoy seguro de si la convexidad es suficiente para romper un comportamiento peor que existe para SGD general, pero si permite funciones tan complejas como cúbicas para su función de costo, entonces SGD puede rebotar en un subconjunto denso del dominio y nunca converger en ningún lado o acercarse a cualquier ciclo.
Una cosa interesante sobre toda la situación es que existen innumerables funciones (como SGD) que toman funciones convexas arbitrarias como entradas y luego generan una regla de actualización que siempre converge rápidamente al mínimo global (si existe). Aunque conceptualmente existen muchos de ellos, nuestros mejores intentos de optimización convexa tienen contraejemplos patológicos. De alguna manera, la idea de una regla de actualización simple / intuitiva / eficaz va en contra de la idea de una regla de actualización demostrablemente correcta.
fuente
Tal vez las respuestas a esta pregunta necesiten una actualización rápida. Parece que SGD produce un mínimo global también en el caso no convexo (convexo es solo un caso especial de eso):
Los autores establecen la convergencia de SGD a un mínimo global para problemas de optimización no convexos que se encuentran comúnmente en el entrenamiento de redes neuronales. El argumento explota las siguientes dos propiedades importantes: 1) la pérdida de entrenamiento puede alcanzar un valor cero (aproximadamente); 2) SGD sigue un camino estrella-convexo. En tal contexto, aunque SGD ha sido considerado durante mucho tiempo como un algoritmo aleatorio, el documento revela que converge de una manera intrínsecamente determinista a un mínimo global.
Sin embargo, esto debe tomarse con un grano de sal. El documento aún está bajo revisión.
La noción de camino convexo-estrella da una pista sobre hacia dónde apuntaría el gradiente en cada iteración.
fuente