Para problemas convexos, ¿el gradiente en Descenso de gradiente estocástico (SGD) siempre apunta al valor extremo global?


25

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?


66
¿Alguna vez ha caminado directamente cuesta abajo desde una cordillera, solo para encontrarse en un valle que continúa cuesta abajo en una dirección diferente? El desafío es imaginar tal situación con una topografía convexa: piense en el filo de un cuchillo donde la cresta es más empinada en la parte superior.
whuber

44
No, porque es un descenso de gradiente estocástico, no un descenso de gradiente. El objetivo de SGD es que desecha parte de la información del gradiente a cambio de una mayor eficiencia computacional, pero obviamente al desechar parte de la información del gradiente ya no tendrá la dirección del gradiente original. Esto ya ignora la cuestión de si el gradiente regular apunta o no en la dirección del descenso óptimo, pero el punto es que, incluso si el descenso de gradiente regular lo hizo, no hay razón para esperar que el descenso de gradiente estocástico lo haga.
Chill2Macht

3
@Tyler, ¿por qué es tu pregunta específicamente sobre el descenso de gradiente estocástico ? ¿Te imaginas algo diferente en comparación con el descenso de gradiente estándar?
Sextus Empiricus

2
El gradiente siempre apuntará hacia el óptimo en el sentido de que el ángulo entre el gradiente y el vector al óptimo tendrá un ángulo menor que , y caminando en la dirección del gradiente una cantidad infinitesimal acercarte a lo óptimo. π2
Vuelva a instalar Mónica

55
Si el gradiente apunta directamente a un minimizador global, la optimización convexa se volvería súper fácil, porque podríamos hacer una búsqueda de línea unidimensional para encontrar un minimizador global. Esto es demasiado para esperar.
littleO

Respuestas:


36

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.

Una imagen de una función convexa alargada y flechas que muestran que la dirección del descenso más empinado no es la misma que la dirección hacia el óptimo global

En una nota seria: hay respuestas muy superiores en este hilo que también merecen un voto positivo.


27
Y el contraejemplo de hoy es ... ¡un aguacate!
JDL

11
Usted ve que mientras corta un aguacate, debe cortar en la dirección de descenso más pronunciada para evitar la semilla y una posible lesión .
Jan Kukacka

28
  • Los métodos de descenso de gradiente utilizan la pendiente de la superficie.
  • Esto no necesariamente (o incluso lo más probable) no apuntará directamente hacia el punto extremo.

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

  • Entonces sabes que solo hay un punto extremo.
  • Entonces sabes que ciertamente llegarás al punto extremo siempre que te muevas hacia abajo.
  • Y luego también sabe que el ángulo entre la dirección de descenso más pronunciada y la dirección óptima es siempre como máximoπ/2 , como mencionó Solomonoff's Secret en los comentarios.

convexo

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.

no convexo

En pendiente estocástica de gradiente

  • Sigue la dirección más pronunciada para un solo punto (y da repetidamente un paso para un punto diferente). En el ejemplo, el problema es convexo, pero puede haber más de una solución. En el ejemplo, los valores extremos están en una línea (en lugar de un solo punto), y desde este punto de vista particular se podría decir que la dirección de descenso más pronunciada puede apuntar directamente al "óptimo" (aunque solo es el óptimo para la función de ese punto de muestra de entrenamiento particular)

punto único

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.

descenso gradiente estocástico



Las imágenes anteriores son para 4 puntos de datos generados por la función:

yi=e0.4xie0.8xi+ϵi

x = 0      2      4      6           
y = 0.006  0.249  0.153  0.098

lo que resulta en:

  • S(a,b)=i=1(yi(eaxiebxi))2
    S(a,b)=[i=12xieaxi(yieaxiebxi)i=12xiebxi(yieaxiebxi)]

  • S(a,b)=i=1(yi(ae0.4xibe0.8xi))2
    S(a,b)=[i=12e0.4xi(yiae0.4xibe0.8xi)i=12e0.8xi(yiae0.4xibe0.8xi)]

  • i

    S(a,b)=(yi(ae0.4bxibe0.8xi))2
    S(a,b)=[2e0.4xi(yiae0.4xibe0.8xi)2e0.8xi(yiae0.4xibe0.8xi)]
    abS=0


Escrito por StackExchangeStrike



17

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.

f(x)=x12+25x22x=[0,0]

f(x)=[2x150x2]

α=0.035x(0)=[0.5,0.5],

x(1)=x(0)αf(x(0))

que exhibe este progreso salvajemente oscilante hacia el mínimo.

ingrese la descripción de la imagen aquí

θ(x(i),x)(x(i),x(i+1))

ingrese la descripción de la imagen aquí

x2x12f(x)

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:


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.


13

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?


3

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á").

(x0,y0)=(1,0)
α
f(x,α)=α2αx.

(f(x0,α)y0)2=α2α,
β
αn+1=αnβ(2αn1)=αn(2αn1)=1αn.
α=12p=12p1p

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.


1
β=1

1
Tenga en cuenta que la prueba de convergencia SGD supone un tamaño de paso decreciente ...
Jan Kukacka

@MartijnWeterings Buena observación. Supongo que mi ejemplo realmente señala la dirección correcta. ¿Debo actualizarlo con un ejemplo 2D que nunca apunte la dirección correcta y diverja?
Hans Musgrave

β=1β>0βf(x,α)=α2αxβ.

fβ

2

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):

SGD converge al mínimo global en aprendizaje profundo a través de Star-Convex Path, autores anónimos , artículo bajo revisión doble ciego en ICLR 2019

https://openreview.net/pdf?id=BylIciRcYQ

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.