Red de conocimiento informático - Computadora portátil - CondeseNetV2: Mantener las funciones actualizadas es la clave para la reutilización de funciones CVPR 2021 |

CondeseNetV2: Mantener las funciones actualizadas es la clave para la reutilización de funciones CVPR 2021 |

Documento: Redes condensadas 2: Reactivación de funciones dispersas de redes profundas

[Error en la carga de la imagen...(Picture-E22c5a-1656998989028)]

? En la actualidad, la mayoría de las redes convolucionales SOTA solo se pueden aplicar a escenarios con suficiente potencia informática, y los escenarios con baja potencia informática suelen ser los escenarios reales donde se implementa la mayoría de los algoritmos. Por lo tanto, la investigación sobre redes ligeras es muy importante. Investigaciones recientes sugieren que las conexiones de larga distancia de DenseNet son menos eficientes y las capas más profundas a menudo consideran que las funciones iniciales están obsoletas y las ignoran al generar nuevas funciones, lo que resulta en un consumo adicional de memoria y computación.

? Para aliviar este diseño ineficiente, CondenseNet poda dinámicamente las conexiones entre capas sin importancia de acuerdo con los pesos durante el proceso de entrenamiento, mientras que Shuffle TV 2 utiliza un diseño de ramificación y barajado para hacer que las conexiones entre capas aumenten a medida que aumenta la distancia entre las capas. Para una introducción detallada a estas dos redes, puede leer las dos interpretaciones anteriores realizadas por la cuenta oficial de WeChat: CondenseNet: convolución de paquetes aprendida, mejora ligera de denseNet por trabajos originales CVPR 2018] e Introducción a la red de nivel ligero ShuffleNetV1/V2 | .

[Error en la carga de la imagen...(Imagen-CF 316F-1656998989028)]

? Aunque las dos redes mejoradas anteriores han mejorado, el documento cree que eliminar directamente las características superficiales es demasiado radical y las características superficiales aún pueden contener información útil para generar características profundas. Después de una cuidadosa investigación, este artículo propone el concepto de reactivación de características. La idea general se muestra en la Figura 1c, donde las características superficiales se actualizan para que puedan ser reutilizadas por características profundas de manera más eficiente.

? Sin embargo, cabe señalar que si todas las funciones se actualizan directamente, la cantidad de cálculo será excesiva y afectará la eficiencia general. De hecho, del éxito de DenseNet se puede ver que la mayoría de las funciones no necesitan actualizarse cada vez. Por lo tanto, este artículo propone un módulo de aprendizaje SFR (reactivación de funciones dispersas), que aprende a seleccionar funciones poco profundas para la reactivación y solo introduce una pequeña cantidad de cálculo para mantener las funciones "actualizadas". En términos de aplicación, el módulo SFR puede convertir la convolución de paquetes y reutilizar la tecnología de aceleración actual para garantizar un rendimiento práctico.

? Basado en el módulo SFR y CondeseNet, este artículo propone CondenseNetV2, que tiene buen rendimiento y reutilización de funciones y es comparable a la red liviana SOTA actual. De hecho, el módulo SFR se puede integrar fácilmente en cualquier red convolucional. El documento también incorporó el módulo SFR en ShuffleNetV2 para experimentos relacionados, y el efecto fue excesivo.

? Primero, se define el mecanismo de reutilización de funciones en DenseNet. Suponiendo la capa de bloque ***, la salida de la característica de cada capa es y es la entrada del bloque. Debido a que la capa actual reutilizará las salidas de todas las capas anteriores en una forma densamente conectada, la función compuesta de la capa aceptará todas las características de las capas anteriores como entrada:

[Error en la carga de la imagen... (Imagen- 67b 18e-16569989028)]

? En CondenseNet, es Learnable Packet Convolution (LGC), que se utiliza para aprender automáticamente paquetes de entrada y eliminar conexiones sin importancia. En ShuffleNet, las entradas se descartan según su distancia a la capa actual. Ambos diseños de red anteriores tienden a descartar conexiones redundantes de larga distancia para lograr buenas mejoras de rendimiento. Sin embargo, dicho diseño puede obstaculizar la exploración de mecanismos eficaces de reutilización de funciones. De hecho, la razón principal por la que las características superficiales ya no se utilizan en las capas profundas es que las características no cambian una vez que se generan. Con este fin, este artículo propone un módulo SFR con una pequeña carga computacional, de modo que las funciones obsoletas puedan reutilizarse de forma económica.

? El módulo de reactivación se introduce en la primera capa, que convierte la entrada de la capa en un módulo para activar las funciones de salida de la capa anterior.

La operación de activación se define como agregar, y la reactivación de entrada de la capa densa se puede formular como:

[Error en la carga de la imagen...(image-bd7bc4-1656998989028)]

? Para reactivar las características de salida, la operación de convolución agrupada que se puede aprender de la capa genera nuevas características. Además, las funciones antiguas se reactivarán para mejorar su funcionalidad.

[Error en la carga de la imagen...(image-ca 15be-1656998989028)]

? Evidentemente no es necesario reactivar todas las funciones. El éxito de DenseNet muestra que no es necesario reactivar la mayoría de las funciones y demasiada reactivación generará demasiados cálculos adicionales. Por lo tanto, el documento espera encontrar automáticamente las funciones que deben reactivarse y solo reactivar estas funciones. Por lo tanto, el artículo propone el módulo SFR (Sparse Feature Reactivation), como se muestra en la Figura 2. El método basado en poda logra gradualmente este objetivo.

[Error en la carga de la imagen...(Picture-89be7d-1656998989028)]

? El módulo de reactivación incluye una capa convolucional, una capa BN y una capa ReLU. La matriz de pesos del núcleo de convolución se expresa como, que representa la dimensión de salida y la dimensión de entrada respectivamente. La entrada del módulo se agrupa, la matriz de peso también se agrupa y el tamaño de cada grupo se vuelve. Tenga en cuenta que la agrupación aquí no es una convolución agrupada, es solo una agrupación simple para facilitar la escasez, y la cantidad de cálculo y los parámetros no han cambiado. Para que las conexiones de reactivación sean escasas, se define un factor de escasez (que también puede ser diferente para cada grupo) de modo que cada grupo solo pueda elegir dimensiones para la reactivación después del entrenamiento.

? Durante el entrenamiento, el patrón de conexión en cada clase está controlado por una máscara binaria, que filtra las conexiones innecesarias en cada clase estableciendo el valor correspondiente en cero. En otras palabras, para la multiplicación de elementos, los pesos del primer grupo se convierten en.

? El módulo SFR realiza una capacitación de un extremo a otro con referencia al método de capacitación de CondenseNet y divide todo el proceso de capacitación en una etapa dispersa y una etapa de optimización final. Suponga que el período de entrenamiento total es , el número de épocas en cada fase dispersa es y el número de épocas en la fase de optimización es . Durante el entrenamiento, el módulo SFR primero reactiva todas las funciones, es decir, la matriz inicial es 1, y luego elimina gradualmente las conexiones redundantes en la etapa dispersa. En cada etapa dispersa, la importancia de la producción reactivada en un grupo se obtiene calculando el peso correspondiente a la norma l 1, y se recorta la producción con menor importancia en cada grupo (excluyendo la producción recortada en el grupo). es decir, el peso del grupo correspondiente de la salida se establece en cero. Si la salida de cada grupo se trunca, esto significa que no es necesario reactivar la función. Después del entrenamiento, solo se actualiza la salida proporcional para cada conjunto de entradas. Cuanto mayor es el valor, mayor es la escasez.

[Error en la carga de la imagen...(imagen-2a 01 C2-1656998989028)]

? Durante la fase de prueba, el módulo SFR se puede convertir en una implementación de capas de indexación y convolución de paquetes estándar, que se pueden calcular de manera más eficiente en el uso real. Como se muestra en la Figura 3, la convolución de bolsa transformada contiene grupos con dimensiones de salida y entrada de . Después de que la convolución agrupada genera características intermedias, la capa de índice se utiliza para reorganizar el orden de salida para obtener. Al ordenar, es necesario agregar características intermedias con el mismo número de secuencia antes de ordenar.

[Error en la carga de la imagen...(Imagen-c 66174-16569989028)]

? Basado en el módulo SFR propuesto, el artículo transformó la nueva capa densa de densidad netv 2 sobre la base de CondenseNet. La estructura se muestra en el lado derecho de la Figura 4. La capa LGC primero selecciona conexiones importantes y genera nuevas funciones basadas en las funciones seleccionadas. Los módulos SFR se utilizarán luego como insumo para aprender a reactivar funciones obsoletas. Al igual que CondenseNet, para aumentar la comunicación entre grupos, a cada convolución de grupo le sigue una operación aleatoria. Como se puede ver en la comparación estructural en la Figura 4, la diferencia entre CondenseNet y CondenseNetV2 radica en la reactivación de funciones antiguas, y el mecanismo de reutilización de funciones de CondenseNetV2 es más eficiente.

[Error en la carga de la imagen...(Picture-EA02D2-1656998989028)]

? CondenseNetV2 sigue el crecimiento exponencial y el paradigma de diseño de conexión totalmente densa de CondenseNet, y agrega SFR-DenseLayer. Como se muestra en el diagrama de estructura 1, todavía se utilizan el módulo SE y la activación no lineal de fuerte movimiento. La Tabla 1 proporciona el diseño básico como referencia y el rendimiento se puede mejorar aún más ajustando los hiperparámetros o la búsqueda de red.

[Error en la carga de la imagen...(image-fc72d 1-1656998989028)]

? Los módulos SFR se pueden integrar en cualquier CNN. Además de CondenseNet, este artículo también intenta transformar ShuffleNet. La estructura modificada se muestra en la Figura 5, que este artículo denomina SFR-ShuffleNetV2, y solo se aplica a capas que no son de submuestreo.

[Error en la carga de la imagen...(Picture-9A6CB-1656998989028)]

? Visualice los pesos del núcleo de convolución de diferentes capas. La ordenada puede considerarse como las características de diferentes capas. Se puede ver que CondenseNet presta más atención a las características de las capas adyacentes, mientras que CondenseNetV2 también considerará las características de las capas anteriores.

[Error en la carga de la imagen...(Imagen-E4 ser 2f-1656998989028)]

? A través de la suma de los pesos del núcleo de convolución, el grado de correlación entre capas se muestra directamente, lo que demuestra aún más que CondenseNet tiene un alto grado de reutilización para capas anteriores.

[Error en la carga de la imagen...(Imagen-BCE 011-1656998989028)]

? Comparación de precisión bajo diferentes parámetros, la Figura B muestra la red de condensación.

[Error en la carga de la imagen...(Picture-C06FC-1656998989028)]

? Este artículo propone CondenseNetV2 de tres tamaños diferentes. Los parámetros se muestran en la Tabla 2 y la comparación de rendimiento en ImageNet se muestra en la Tabla 3.

[Error en la carga de la imagen...(Picture-35bc99-1656998989028)]

? Compare los efectos de mejora reales de cada módulo en ImageNet.

[Error en la carga de la imagen...(Picture-65fc74-1656998989028)]

? Compárelo con el módulo SOTA en ImageNet.

?

[Error en la carga de la imagen...(Picture-745308-1656998989028)]

? Compare la velocidad de inferencia en dispositivos finales.

[Error en la carga de la imagen...(image-cc 685b-1656998989028)]

? Comparación de redes en el conjunto de datos CIFAR.

[Error en la carga de la imagen...(imagen-6a papá 1-1656998989028)]

? Comparación de rendimiento como red troncal de detección.

? Este artículo propone utilizar módulos SFR para reactivar directamente un conjunto de características poco profundas para mejorar su eficiencia de reutilización en capas posteriores, y todo el patrón de reactivación se puede aprender de un extremo a otro. Debido a la escasa naturaleza de la reactivación, el cálculo adicional es pequeño. A juzgar por los resultados experimentales, el rendimiento de CondeseNetV2 basado en el módulo SFR sigue siendo muy bueno y vale la pena aprender de él.

?

?

?

?

?