32 votos

¿Cuál es la razón por la que el optimizador Adam se considera robusto al valor de sus hiperparámetros?

Estaba leyendo sobre el Optimizador Adam para el Aprendizaje Profundo y se encontró con la siguiente frase en el nuevo libro Aprendizaje profundo por Bengio, Goodfellow y Courville:

En general, se considera que Adam es bastante robusto a la hora de elegir los hiperparámetros, aunque a veces es necesario cambiar la tasa de aprendizaje respecto a la sugerida por defecto.

si esto es cierto es un gran problema porque la búsqueda de hiperparámetros puede ser realmente importante (en mi experiencia al menos) en el rendimiento estadístico de un sistema de aprendizaje profundo. Por lo tanto, mi pregunta es, ¿por qué es Adam robusto a tales parámetros importantes? Especialmente $\beta_1$ y $\beta_2$ ?

He leído el documento de Adam y no da ninguna explicación de por qué funciona con esos parámetros o por qué es robusto. ¿Lo justifican en algún otro lugar?

Además, según he leído el artículo, parece que el número de hiperparámetros que probaron fue muy pequeño, por $\beta_1$ sólo 2 y para $\beta_2$ sólo 3. ¿Cómo puede ser un estudio empírico completo si sólo funciona con hiperparámetros de 2x3?

14voto

Cliff AB Puntos 3213

En cuanto a las pruebas en relación con la reclamación, creo que las únicas pruebas que apoyan la reclamación se pueden encontrar en figura 4 de su documento . Muestran los resultados finales bajo un rango de valores diferentes para $\beta_1$ , $\beta_2$ y $\alpha$ .

Personalmente, no encuentro su argumento convincente, en particular porque no presentan resultados a través de una variedad de problemas. Dicho esto, señalaré que he utilizado ADAM para una variedad de problemas, y mi conclusión personal es que los valores por defecto de $\beta_1$ y $\beta_2$ hacer parecen sorprendentemente fiables, aunque una buena parte de los juegos con $\alpha$ es necesario.

11voto

que que Puntos 1435

Adam aprende los índices de aprendizaje por sí mismo, en función de los parámetros. Los parámetros $\beta_1$ y $\beta_2$ no definen directamente el ritmo de aprendizaje, sino las escalas de tiempo en las que decaen los ritmos de aprendizaje aprendidos. Si decaen muy rápido, los índices de aprendizaje saltarán por todas partes. Si decaen lentamente, los índices de aprendizaje tardarán años en aprenderse. Pero ten en cuenta que en todos los casos, las tasas de aprendizaje se determinan automáticamente, basándose en una estimación móvil del gradiente por parámetro, y el gradiente por parámetro al cuadrado.

Esto contrasta enormemente con el Stochastic Gradient Descent de vainilla, donde:

  • las tasas de aprendizaje no son por parámetro, sino que hay una tasa de aprendizaje única y global, que se aplica sin más, en todos los parámetros
    • (por cierto, esta es una de las razones por las que los datos se blanquean y normalizan antes de ser enviados a las redes, para tratar de mantener los pesos ideales por parámetro similares)
  • la tasa de aprendizaje proporcionada es la tasa de aprendizaje exacta utilizada, y no se adaptará con el tiempo

Adam no es el único optimizador con índices de aprendizaje adaptativos. Como dice el propio documento de Adam, está muy relacionado con Adagrad y Rmsprop, que también son extremadamente insensibles a los hiperparámetros. Especialmente, Rmsprop funciona muy bien.

Pero Adam es el mejor en general. Con muy pocas excepciones, Adam hará lo que quieras :)

Hay algunos casos bastante patológicos en los que Adam no funcionará, especialmente para algunas distribuciones muy no estacionarias. En estos casos, Rmsprop es una excelente opción de reserva. Pero en general, para la mayoría de los casos no patológicos, Adam funciona muy bien.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X