Técnicas de entrenamiento de calentamiento de redes neuronales

Un truco importante para entrenar redes neuronales es el calentamiento, que se utiliza ampliamente en el entrenamiento de varios modelos. Probablemente su nombre sea análogo a los ejercicios de calentamiento que realizamos antes de realizar ejercicio físico. Calentamiento Al operar la tasa de aprendizaje en la etapa inicial del entrenamiento, los parámetros del modelo pueden converger más rápido y lograr una mayor precisión.

Como todos sabemos, si la tasa de aprendizaje se establece demasiado grande, puede causar una explosión de gradiente y, por el contrario, puede dificultar la convergencia a mejores mínimos locales; pequeño, puede causar que el entrenamiento de la red sea demasiado lento.

En la etapa inicial del entrenamiento, debido a que los parámetros de la red se inicializan aleatoriamente, la pérdida es grande, lo que resulta en un gran gradiente. En este momento, esperamos que la tasa de aprendizaje sea menor para evitar el gradiente. de explotar; en medio del entrenamiento, esperamos que la tasa de aprendizaje sea menor. Mayor para acelerar el entrenamiento de la red. Al final del entrenamiento, esperamos que la red converja a los mínimos locales. También debería ser más pequeño. El proceso de calentamiento simplemente satisface esta necesidad.

Al comienzo del entrenamiento, el calentamiento establece la tasa de aprendizaje muy pequeña. A medida que avanza el entrenamiento, la tasa de aprendizaje aumenta gradualmente y finalmente alcanza la tasa de aprendizaje del entrenamiento normal. Esta etapa es la etapa central del calentamiento. Luego, a medida que avanza el entrenamiento, esperamos reducir gradualmente la tasa de aprendizaje (disminución de la tasa de aprendizaje). Cuando se completa el entrenamiento, la tasa de aprendizaje cae a 0.

El calentamiento tiene varios parámetros importantes:

De hecho, cualquier estrategia de actualización de la tasa de aprendizaje que cumpla con los requisitos de diseño de la primera parte se puede llamar calentamiento. Aquí solo se implementa uno. .

¿Dónde está el número de pasos de entrenamiento? Podemos ver que cuando

Una vez finalizada la fase de calentamiento, el siguiente paso es reducir gradualmente la tasa de aprendizaje a 0 a medida que avanza el entrenamiento. Aquí es necesario utilizar dos nuevos parámetros:

Como se puede ver en (2), cuando, el parámetro anterior es 1 y la tasa de aprendizaje es cuando, el parámetro anterior es 0 y el aprendizaje; tasa es 0. Observe nuevamente, en ese momento, la tasa de aprendizaje disminuyó linealmente a 0, en ese momento, la base entre paréntesis siempre fue mayor que 0 y menor que 1, por lo que su potencia debería ser mayor que ella misma, por lo que la tasa de aprendizaje sería mayor; En comparación con la disminución lineal en el mismo período, la tasa de aprendizaje fue un poco mayor, y la tasa de aprendizaje fue menor que la tasa de aprendizaje de disminución lineal en el mismo período. Dado que la tasa de aprendizaje eventualmente cae a 0, obviamente se debe configurar de modo que la tasa de aprendizaje caiga más lentamente en las primeras etapas de la capacitación formal y luego caiga rápidamente a 0 al final de la capacitación formal, en lugar de causar que la tasa de aprendizaje disminuya. muy rápidamente en las primeras etapas de la formación formal, mientras que la tasa de aprendizaje cae muy lentamente al final de la formación formal, lo que ralentiza el proceso de formación.

Parámetros:

Dibujemos la tasa de aprendizaje correspondiente a diferentes pasos:

Se puede encontrar que en la etapa de calentamiento de los primeros 1000 pasos, el La tasa de aprendizaje es de 1e-5. Rápidamente aumenta a la tasa de aprendizaje inicial de 1e-2 para la capacitación formal y luego, a medida que aumenta el número de pasos de iteración, la tasa de aprendizaje disminuye lentamente y finalmente cae a 0. La tasa de cambio (pendiente) de la tasa de aprendizaje también es muy interesante. En la etapa inicial de calentamiento, la pendiente es muy baja y la tasa de aprendizaje crece lentamente, lo que significa que es necesario mantener una tasa de aprendizaje baja durante un período. de tiempo para permitir que el modelo se caliente mejor.

Hacia el final del calentamiento, la pendiente es muy alta, lo que indica que la tasa de aprendizaje aumenta rápidamente hasta alcanzar la tasa de aprendizaje inicial para el entrenamiento formal. En la etapa inicial de decadencia, la tasa de aprendizaje disminuye lentamente, lo que indica que es necesario mantener una tasa de aprendizaje alta durante un período de tiempo para acelerar la convergencia del modelo. Cerca del final del entrenamiento, la tasa de aprendizaje disminuye rápidamente para que el modelo pueda. convergen a mejores mínimos locales.

Para demostrar mejor el proceso descrito anteriormente, aquí hay algunos ajustes a los parámetros (no es un entrenamiento real, puede consultar las diversas relaciones de configuración de parámetros anteriores durante el entrenamiento real).