Mejorar el rendimiento de cualquier red neuronal determinada mediante conjuntos

[Guía de IA] En este artículo, analizaremos dos artículos interesantes recientes. La idea general del artículo es mejorar el rendimiento de cualquier red neuronal determinada mediante un método de integración. Los dos artículos son:

  1. "Superficies de pérdida, conectividad de modo y ensamblaje rápido de DNN" propuesto por Garipov et al.
  2. "El promedio de pesos conduce a óptimos más amplios y una mejor generalización" por Izmailov et al.

Métodos tradicionales de conjunto de redes neuronales

El enfoque de conjunto tradicional consiste en integrar varios modelos diferentes, utilizar la misma entrada para hacer predicciones sobre los modelos y luego utilizar algún método de promedio para determinar la predicción final del modelo de conjunto.
El promedio puede requerir una simple votación, promediar o incluso usar uno de los modelos de conjunto para aprender y predecir el valor o etiqueta correcto para la entrada.
Ridge Regression (Ridge Regression) es un método de predicción integrado especial y también es un método de integración de modelos utilizado por el campeón de la competencia Kaggle.
Conjunto de instantáneas: guarde los modelos correspondientes al final de cada ciclo de tasa de aprendizaje y luego use todos los modelos guardados simultáneamente para hacer predicciones durante la predicción del modelo.

Cuando los métodos de conjunto se combinan con el aprendizaje profundo, los resultados de predicción finales se pueden producir combinando las predicciones de múltiples redes neuronales. Por lo general, la integración de redes neuronales con diferentes estructuras dará como resultado un modelo integrado con buen rendimiento, porque cada modelo puede cometer errores en diferentes muestras de entrenamiento, por lo que dicho método integrado puede maximizar el rendimiento final del modelo.
inserte la descripción de la imagen aquíinserte la descripción de la imagen aquí
Conjunto de instantáneas: uso de tasas de aprendizaje cíclico con estrategias de recocido

Sin embargo, también se pueden ensamblar modelos de redes neuronales de la misma estructura, y este conjunto también puede lograr resultados sorprendentemente buenos. En el artículo del conjunto instantáneo, basado en este método de integración, el autor propone una excelente técnica de entrenamiento. Al entrenar dos redes neuronales idénticas, adopte la estrategia de instantánea de peso y cree un modelo integrado con la misma estructura y diferentes pesos después del entrenamiento. Los experimentos han demostrado que el modelo integrado obtenido de esta manera puede mejorar el rendimiento de la prueba final, y este también es un método muy simple: solo es necesario entrenar un modelo a la vez, lo que reduce en gran medida el costo de tiempo de cálculo.

Si no ha utilizado la estrategia de tasa de aprendizaje cíclico en el entrenamiento, entonces debe aprender a usarla, porque es la técnica de entrenamiento más avanzada en la actualidad, es muy fácil de implementar, la cantidad de cálculo no es grande y hay casi sin costo adicional Se pueden obtener resultados significativos.

Arriba, todos los ejemplos que presenté se basan en métodos de integración del espacio modelo, es decir, combinando varios o varios modelos e integrando las predicciones de un solo modelo para producir el resultado final de la predicción.

Y en el artículo que se discutirá en este artículo, el autor propone un nuevo método de conjunto basado en el espacio de pesos. Este enfoque agrupa modelos combinando pesos de la misma red en diferentes etapas de entrenamiento y luego utiliza este conjunto de pesos combinados para hacer predicciones. Este enfoque tiene dos ventajas:

  • Después del entrenamiento, solo terminamos con un modelo conjunto con pesos combinados, lo que acelera las predicciones posteriores del modelo. Cuando usamos pesos combinados, terminamos con un modelo después del entrenamiento que acelera las etapas de predicción posteriores.
  • Los resultados experimentales muestran que este método conjunto de combinación de pesos supera al método actual de conjunto de instantáneas de última generación.

A continuación, veremos más de cerca cómo funciona. Pero antes de eso, necesitamos saber algo sobre la superficie de pérdida (superficie de pérdida) y el problema de generalización (solución generalizable).

Soluciones en el espacio de peso.

La primera idea importante es que una red entrenada es en realidad un punto en un espacio de peso multidimensional. Para una estructura de modelo determinada, cada combinación diferente de ponderaciones de red produce un modelo independiente. Dado que cualquier estructura modelo tiene un número infinito de combinaciones de pesos, habrá un número infinito de soluciones. El objetivo de entrenar una red neuronal es encontrar una solución específica orientada al espacio de peso que minimice el valor de la función de pérdida en los conjuntos de datos de entrenamiento y prueba.

Durante el entrenamiento, al cambiar los pesos, el algoritmo de entrenamiento cambiará la estructura de la red y explorará soluciones en el espacio de pesos. El algoritmo de descenso de gradiente se propaga en el plano de pérdida y la elevación del plano viene dada por el valor de la función de pérdida.

Solución óptima local y solución óptima global

Visualizar y comprender las propiedades geométricas de los espacios de pesos multidimensionales es muy difícil. Al mismo tiempo, esto también es muy importante, porque esencialmente, durante el entrenamiento, el algoritmo de descenso de gradiente estocástico pasa por el plano de pérdida en este espacio altamente multidimensional y trata de encontrar una buena solución, es decir, explorar un valor de pérdida en el plano de pérdida El "punto" más bajo. Como todos sabemos, dicho plano de pérdida tendrá muchas soluciones óptimas locales, pero no todas las soluciones óptimas locales serán soluciones óptimas globales.

Hinton dijo una vez: "Cuando se trata de hiperplanos en un espacio de 14 dimensiones, puedes imaginar un espacio de 3 dimensiones y decirte en voz alta: "este es un espacio de 14 dimensiones". Todo el mundo puede hacer esto". Local La solución óptima y la
inserte la descripción de la imagen aquí
global solucion optima. Los mínimos en la región plana producen pérdidas similares durante el entrenamiento y las pruebas, pero reducir la pérdida produce resultados muy diferentes durante el entrenamiento y las pruebas. En otras palabras, los mínimos globales son más generales que los mínimos locales.

Una métrica que puede diferenciar una buena solución de una mala es su planicidad. Porque el modelo producirá planos de pérdida similares pero no idénticos en el conjunto de datos de entrenamiento y en el conjunto de datos de prueba. Puede imaginar que el plano de pérdida de prueba estará ligeramente desplazado del plano de pérdida de entrenamiento. Para un óptimo local, los puntos con menor pérdida pueden tener grandes valores de pérdida debido a esta transición durante la prueba, lo que significa que este óptimo local no es muy generalizable, es decir, la pérdida es baja durante el entrenamiento, pero alta durante la prueba. Por otro lado, para la solución global óptima, este cambio hará que las pérdidas de entrenamiento y prueba sean cercanas entre sí.

Arriba, expliqué la diferencia entre soluciones óptimas locales y soluciones óptimas globales, porque el nuevo método en el que se centra este artículo implicará soluciones óptimas globales.

Conjunto de instantáneas (integración de instantáneas)

Al comienzo del entrenamiento, SGD producirá un gran salto en el espacio de peso. Posteriormente, debido a la estrategia de recocido del coseno que hace que la tasa de aprendizaje sea gradualmente menor, SGD convergerá a una solución óptima local y el modelo se agrega al conjunto mediante un conjunto de instantáneas para realizar la integración del modelo. Luego, la tasa de aprendizaje se restablecerá a un valor mayor y SGD volverá a dar un gran salto antes de que el modelo converja a algún óptimo local diferente.

La duración del período del método de ensamblaje de instantáneas es de 20 a 40 iteraciones. Las tasas de aprendizaje cíclicas largas pueden encontrar modelos tan diferentes como sea posible en el espacio de peso. Si los modelos son demasiado similares, entonces las predicciones de las redes individuales del conjunto serán demasiado cercanas, lo que hará que la ventaja del conjunto sea insignificante.

Los resultados logrados por el método de conjunto Snapshot son muy buenos y pueden mejorar en gran medida el rendimiento del modelo, pero el efecto del método de conjunto geométrico rápido es mejor que el del método de conjunto geométrico rápido.

Conjunto geométrico rápido (FGE) (integración geométrica rápida)

El conjunto geométrico rápido (FGE) es muy similar al método de conjunto instantáneo, pero tiene algunas propiedades notables. Utiliza una tasa de aprendizaje cíclica lineal por partes en lugar de coseno en el ensamblaje de instantáneas. En segundo lugar, la duración del ciclo de FGE es mucho más corta que la del conjunto de instantáneas, con solo de 2 a 4 iteraciones por ciclo.

Intuitivamente, podríamos pensar que los períodos cortos están mal, porque los modelos al final de cada período estarán cerca entre sí y combinarlos no traerá ningún beneficio. Sin embargo, como descubrieron los autores, debido a que existen rutas de conexión de bajas pérdidas entre modelos dispares, es posible recorrer estas rutas en pequeños pasos, integrar los modelos encontrados y obtener buenos resultados. Por lo tanto, en comparación con el método de ensamblaje de instantáneas, FGE muestra su mejora y puede obtener el modelo que queremos con menos pasos, lo que también hace que la velocidad de entrenamiento sea más rápida.
inserte la descripción de la imagen aquíIzquierda: La intuición tradicional sostiene que los mínimos locales están separados por regiones de altos valores de pérdida. Lo mismo ocurre si exploramos a lo largo del camino de los mínimos locales. Paneles central y derecho: de hecho, hay algunos caminos con valores de pérdida más bajos entre los mínimos locales. FGE genera un modelo de conjunto a lo largo de estos caminos.

Para aprovechar al máximo el conjunto de instantáneas o los métodos FGE, necesitamos almacenar múltiples modelos de entrenamiento, luego hacer predicciones para cada modelo y promediar las predicciones finales. Por lo tanto, para obtener un mejor rendimiento de integración, es necesario pagar más cálculos, que es la encarnación de la ley de "no almuerzo gratis" y también la motivación de este artículo sobre "promedio ponderado aleatorio".

Promedio ponderado estocástico (SWA)

El promedio ponderado estocástico (SWA) está muy cerca del método FGE, pero con una pequeña penalización computacional. SWA se puede aplicar a cualquier estructura de modelo y conjunto de datos y muestra buenos resultados en estos conjuntos de datos. Este artículo muestra que SWA tiende más hacia un mínimo global, lo que tiene las ventajas que mencioné anteriormente. SWA no es un enfoque de integración en el sentido tradicional. Al final de la capacitación, obtendrá un modelo, el rendimiento de este modelo de conjunto será mejor que el conjunto instantáneo y FGE.
inserte la descripción de la imagen aquí

Panel izquierdo: W1, W2 y W3 representan 3 redes entrenadas de forma independiente, y Wswa es su promedio. Panel central: en comparación con SGD, Wswa muestra un mejor rendimiento en el conjunto de prueba. Derecha: Tenga en cuenta que, si bien Wswa muestra peores pérdidas durante el entrenamiento, se generaliza y se generaliza mejor.

El punto de vista de SWA es, desde la observación empírica, que el mínimo local al final de cada ciclo de tasa de aprendizaje tiende a acumularse en el límite del área con un valor de pérdida bajo en el plano de pérdida (como los puntos W1, W2 y W3). en la figura de la izquierda se encuentran en el área roja en el borde). Al promediar los valores de pérdida de dichos puntos, se puede obtener una solución óptima global con valores de pérdida más bajos, mejor generalización y versatilidad (como Wswa en la figura anterior de la izquierda).

Así es como funciona Wswa. Sólo necesitas dos modelos separados en lugar de conjuntos con muchos modelos:

  • El primer modelo se utiliza para almacenar el valor promedio de los pesos del modelo (como w_swa en la fórmula). Esto dará como resultado el modelo final después del entrenamiento y lo utilizará para la predicción.
  • El segundo modelo se utiliza para atravesar el espacio de peso (como w en la fórmula) y explorar utilizando una tasa de aprendizaje cíclica.

Ecuación de actualización de peso para el promedio de peso estocástico: inserte la descripción de la imagen aquíal final de cada época de tasa de aprendizaje, los pesos actuales del segundo modelo se actualizarán tomando un promedio ponderado entre los pesos promedio antiguos y el nuevo conjunto de pesos para el segundo modelo. del modelo (la fórmula se muestra a la izquierda). Siguiendo este enfoque, solo necesita entrenar un modelo y almacenar ambos modelos en la memoria durante el entrenamiento. En la etapa de predicción, solo necesita el modelo con los pesos promedio y hacer predicciones sobre él, lo cual es mucho más rápido que usar los métodos de conjunto anteriores que requieren múltiples modelos para hacer predicciones.

epílogo

Los autores de este artículo tienen una implementación de código abierto de este artículo en PyTorch. Además, hay una implementación de SWA en la increíble biblioteca fast.ai, todos pueden usarla.

referencia:

1. Promedio de peso estocástico: una nueva forma de obtener resultados de vanguardia en aprendizaje profundo
2. El último método de aprendizaje profundo: conjunto de instantáneas y ¡FUERA! ¡El promedio ponderado aleatorio es el futuro! ! !

Supongo que te gusta

Origin blog.csdn.net/Joker00007/article/details/130855037
Recomendado
Clasificación