OREPA: Ali propuso una estrategia de reparametrización que también es rápida en el entrenamiento: reducir a la mitad la memoria y duplicar la velocidad CVPR 2022 |
Documento: Reparametrización de convolución en línea
[Error en la carga de la imagen... (image-306069-1652190795979)]
?Además de la precisión, el modelo La velocidad de inferencia también es importante. Para obtener modelos fáciles de implementar de alta precisión, muchos estudios recientes han propuesto métodos para mejorar el rendimiento del modelo basados en la reparametrización estructural. Los modelos utilizados para la reparametrización estructural tienen diferentes estructuras durante las etapas de entrenamiento e inferencia, donde se utilizan estructuras complejas para obtener alta precisión durante el entrenamiento, mientras que las estructuras complejas se comprimen en capas lineales capaces de realizar una inferencia rápida mediante una transformación equivalente después del entrenamiento. Los modelos comprimidos suelen tener una estructura compacta, como VGG o ResNet. Desde esta perspectiva, la estrategia de reparametrización puede mejorar el rendimiento del modelo sin incurrir en costos adicionales de tiempo de inferencia. La cuenta pública publicó previamente la interpretación en papel de RepVGG “RepVGG: ¡VGG, el Dios Eterno! | 2021 New Papers", los amigos interesados pueden consultarlo.
[Error en la carga de la imagen... (image-aab93a-1652190795979)]
La capa BN es un componente clave del modelo de parámetros pesados, como se muestra en la Figura 1b, en cada Agregar una capa BN después de una capa convolucional y eliminar la capa BN puede provocar una degradación grave de la precisión. Durante la etapa de inferencia, las estructuras complejas se pueden comprimir en una capa convolucional. En la fase de entrenamiento, cada rama solo se puede calcular de forma independiente porque la capa BN requiere una división de desviación estándar no lineal del mapa de características. Por lo tanto, se requiere una gran cantidad de operaciones computacionales intermedias (grandes FLOPS) y almacenamiento en búfer de mapas de características (alto uso de memoria), lo que genera una enorme sobrecarga computacional. Peor aún, los altos costos de capacitación dificultan la exploración de estructuras reparametrizadas más complejas y potencialmente más poderosas.
¿Por qué las capas BN son tan importantes para la reparametrización? Basado en experimentos y análisis, este artículo encuentra que los factores de escala en la capa BN pueden diversificar las direcciones de optimización de diferentes ramas. Con base en este hallazgo, este artículo propone el método de reparametrización en línea OREPA (que se muestra en la Figura 1c), que consta de dos pasos:
?OREPA reduce la sobrecarga informática y de almacenamiento causada por la capa intermedia y puede reducir significativamente costos de capacitación (65-75 % de memoria de video ahorrada, 1,5-2,3 veces más rápido) con un impacto mínimo en el rendimiento, lo que permite explorar resultados de reparametrización más complejos. Para verificar esto, este artículo propone además varios componentes reparametrizados para obtener un mejor rendimiento.
?Las contribuciones de este artículo incluyen los siguientes tres puntos:
[Error en la carga de la imagen... (image-9cc5d8-1652190795979)]
?OREPA puede mantener Con la misma precisión, la estructura compleja durante el entrenamiento se reduce a una sola capa convolucional. El proceso de transformación de OREPA se muestra en la Figura 2 y consta de dos pasos: linealización de bloques y extrusión de bloques.
[Error en la carga de la imagen... (image-86e6f1-1652190795979)]
¿La capa BN es la estructura clave de la estructura multicapa de múltiples ramas en una parametrización pesada? y también es una parametrización pesada La base del rendimiento del modelo. Tomando DBB y RepVGG como ejemplos, después de eliminar la capa BN (cambiada a múltiples sucursales y luego unificada en operaciones BN), su rendimiento disminuyó significativamente, como se muestra en la Tabla 1.
Lo que es aún más inesperado es que el uso de la capa BN traerá un consumo excesivo de entrenamiento. Durante la fase de inferencia, todas las operaciones intermedias en la estructura reparametrizada son lineales y pueden fusionarse. En la fase de entrenamiento, dado que la capa BN no es lineal (debe dividirse por la desviación estándar del mapa de características), no se puede realizar el cálculo de fusión. Si no se fusionan, se producirán operaciones intermedias que requerirán cálculos separados, lo que generará un enorme consumo computacional y costos de memoria.
Además, el coste exorbitante también dificulta la exploración de estructuras más complejas.
Aunque la capa BN evita los cálculos de fusión durante el entrenamiento, no se puede eliminar directamente debido a problemas de precisión. Para resolver este problema, este artículo presenta el escalado lineal de canales como una alternativa lineal a las capas BN, que escala mapas de características mediante vectores que se pueden aprender. Las capas de escala lineal tienen un efecto similar a las capas BN, guiando múltiples ramas para optimizar en diferentes direcciones, que es el núcleo del rendimiento de reparametrización.
[Error en la carga de la imagen... (image-e04663-1652190795979)]
?Según la capa de escala lineal, la estructura reparametrizada se modifica de acuerdo con los siguientes tres pasos , como se muestra en la Figura 3:
?Después de la operación de linealización del bloque, solo existen capas lineales en la estructura reparametrizada, lo que significa que todos los componentes de la estructura se pueden fusionar durante la fase de entrenamiento.
?La compresión de bloques convierte operaciones computacionales y de uso intensivo de memoria en mapas de características intermedias en operaciones más rápidas en núcleos convolucionales individuales, lo que significa capacitación adicional en términos de computación y memoria para la reparametrización. El costo se reduce de, , , , , , a la forma del núcleo de convolución.
En términos generales, no importa cuán compleja sea la estructura de reparametrización lineal, las dos propiedades siguientes siempre se mantienen:
[Error en la carga de la imagen... (image-fa8e1d-1652190795979)]
?Utilizando las dos características anteriores, se pueden comprimir múltiples capas (es decir, estructura secuencial) y múltiples ramas (es decir, estructura paralela) en una convolución, como se muestra en la Figura 4a y la Figura 4b. Hay algunas fórmulas de transformación en el artículo original. Si está interesado, puede consultar la parte correspondiente del artículo original. Este artículo no afecta la comprensión de la idea de Block Squeezing.
?Este artículo analiza el papel de la linealización de bloques y ramas múltiples desde la perspectiva de la retropropagación de gradiente. Si está interesado, puede leer los capítulos correspondientes del texto original. . Aquí se resumen dos conclusiones principales:
Las conclusiones anteriores muestran la importancia del paso de linealización del bloque. Después de eliminar la capa BN, la capa de escala puede mantener la diversidad de direcciones de optimización y evitar que múltiples ramas degeneren en una sola rama.
Dado que OREPA ahorra mucho consumo de formación, proporciona la posibilidad de explorar estructuras de formación más complejas. Este artículo diseña un nuevo módulo de reparametrización OREPA-ResNet basado en DBB, agregando los siguientes componentes:
[Error en la carga de la imagen... (image-75fb2e-1652190795979)]
[Error en la carga de la imagen... (image-bb4d60-1652190795979)]
El diseño del bloque en ?OREPA-ResNet se muestra en la Figura 6. Debería ser un bloque de reducción de resolución que eventualmente se fusionará en una convolución de 3x3. para entrenamiento e inferencia.
[Error en la carga de la imagen... (image-e30efc-1652190795979)]
?Experimento comparativo de cada componente.
[Error en la carga de la imagen... (image-132b64-1652190795979)]
?El efecto de escalar capas en la similitud de cada rama de cada capa.
[Error en la carga de la imagen... (image-35e6fb-1652190795979)]
?Al comparar estrategias de escalado lineal, el escalado de canal tiene el mejor efecto.
[Error en la carga de la imagen... (image-8e6901-1652190795979)]
¿Comparación del tiempo de entrenamiento de la reparametrización en línea y fuera de línea?
[Error en la carga de la imagen... (image-dad8de-1652190795979)]
?Compare esto con otras estrategias de reparametrización.
[Error en la carga de la imagen... (image-9eee25-1652190795979)]
?Compara tareas de detección y segmentación.
?Este artículo propone un método de reparametrización en línea OREPA, que puede reparametrizar estructuras complejas en una única capa convolucional durante la etapa de entrenamiento, reduciendo así el tiempo que consume una gran cantidad de entrenamiento. Para lograr este objetivo, este artículo reemplaza la capa BN con una capa de escala lineal durante el proceso de entrenamiento, manteniendo así la diversidad de direcciones de optimización y la expresividad de las características. A partir de los resultados experimentales, OREPA tiene buena precisión y eficiencia en diversas tareas.
?
?
?