Deberíamos hacer learningrate decay para adam optimizer


Estoy entrenando una red para la localización de imágenes con Adam optimizer, y alguien me sugiere usar decaimiento exponencial. No quiero intentar eso porque Adam optimizer en sí decae la tasa de aprendizaje. Pero ese tipo insiste y dijo que ya lo había hecho antes. Entonces, ¿debería hacer eso y hay alguna teoría detrás de su sugerencia?

Author: meng lin, 2016-09-15

3 answers

Depende. ADAM actualiza cualquier parámetro con una tasa de aprendizaje individual. Esto significa que cada parámetro de la red tiene asociada una tasa de aprendizaje específica.

Pero la tasa de aprendizaje individual para el parámetro se calcula utilizando lambda (la tasa de aprendizaje inicial) como límite superior. Esto significa que cada tasa de aprendizaje puede variar de 0 (sin actualización) a lambda (actualización máxima).

Las tasas de aprendizaje se adaptan durante los pasos del tren, es cierto, pero si quieres asegúrese de que cada paso de actualización no exceda lambda puede bajar lambda usando decaimiento exponencial o lo que sea. Puede ayudar a reducir la pérdida durante el último paso del entrenamiento, cuando la pérdida calculada con el parámetro lambda previamente asociado ha dejado de disminuir.

 34
Author: nessuno,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-16 07:50:02

En mi experiencia, no tiene sentido (y no funciona bien) hacer learning rate decay con Adam optimizer.

La teoría es que Adam ya maneja la optimización de la tasa de aprendizaje ( verifique la referencia) :

" Proponemos Adam, un método para la optimización estocástica eficiente que solo requiere gradientes de primer orden con poco requerimiento de memoria. El método calcula las tasas de aprendizaje adaptativo individuales para diferentes parámetros de las estimaciones de primeros y segundos momentos de la gradientes; el nombre Adam se deriva de la estimación adaptativa del momento."

Al igual que con cualquier problema de aprendizaje profundo YMMV, un tamaño no se ajusta a todos, debe probar diferentes enfoques y ver qué funciona para usted, etc. sucesivamente.

 18
Author: j314erre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-15 19:24:08

Adam tiene una sola tasa de aprendizaje, pero es una tasa máxima que es adaptativa, por lo que no creo que mucha gente use la programación de la tasa de aprendizaje con ella.

Debido a la naturaleza adaptativa, la tasa predeterminada es bastante robusta, pero puede haber momentos en los que desee optimizarla. Lo que puede hacer es encontrar una tasa predeterminada óptima de antemano comenzando con una tasa muy pequeña y aumentándola hasta que la pérdida deje de disminuir, luego mire la pendiente de la curva de pérdida y elija la tasa de aprendizaje que es asociado con la disminución más rápida de la pérdida (no el punto donde la pérdida es realmente más baja). Jeremy Howard menciona esto en el fast.ai curso de aprendizaje profundo y su del papel Cíclico de las tasas de aprendizaje.

 0
Author: Austin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-13 15:06:09