Ajuste de aviso visual

Referencias: Jia, M., Tang, L., Chen, BC, Cardie, C., Belongie, S., Hariharan, B. y Lim, SN (2022). Ajuste de aviso visual. Preimpresión de arXiv arXiv:2203.12119.

enlace pdf: https://arxiv.org/pdf/2203.12119.pdf

1. Antecedentes del artículo

       Para una gran cantidad de tareas de reconocimiento, los resultados más precisos se obtienen ajustando grandes modelos base previamente entrenados con grandes cantidades de datos sin procesar; sin embargo, en la práctica, adaptar estos grandes modelos a tareas posteriores tiene sus propios desafíos. La estrategia de ajuste más eficaz es ajustar el modelo previamente entrenado de un extremo a otro. Pero esta estrategia requiere una gran sobrecarga de almacenamiento y, para cada tarea posterior, se debe almacenar una copia separada de los parámetros del modelo. Este método no es factible, especialmente para aquellas estructuras basadas en transformadores, como ViT-H tiene más de 600 millones de parámetros y ResNet-50 tiene 25 millones de parámetros.

       Una estrategia popular es ajustar un subconjunto de parámetros , como el encabezado del clasificador o el término de sesgo. También hay formas de agregar bloques residuales adicionales al marco del modelo. Pero el rendimiento de estos métodos es inferior al del ajuste completo.

       Influenciado por la reciente tecnología de avisos en el campo de la PNL, este artículo propone un método nuevo y efectivo para adaptar el modelo de transformador a tareas posteriores, denominado VPT (Visual Prompt Tuning). Durante el entrenamiento de tareas posteriores, este método congela la columna vertebral del transformador previamente entrenado y logra un rendimiento comparable o incluso superior al ajuste completo al introducir una pequeña cantidad de parámetros que se pueden aprender específicos de la tarea en el espacio de entrada.

2. Método

2.1 Conocimientos preliminares

Una imagen se divide en m bloques de parches y la dimensión de cada bloque es 3*h*w, como se muestra en la siguiente figura

Defina el conjunto de incrustación de parches de imagen Ei como entrada a la capa transformadora de la capa i+1.

donde xi es la representación incrustada del token [cls].

2.2 El método propuesto en este artículo.

En este artículo, se proponen dos tipos de VPT, a saber, VPT-Shallow y VPT-Deep.

El modelo se muestra en la siguiente figura:

VPT-Shallow , el vector de indicaciones solo se inserta en la primera capa del transformador.

La forma de P se muestra a continuación, que es una matriz p*d.

En VPT-Deep , el vector de solicitud se inserta en el espacio de entrada de cada capa de Transformer.

La forma de P es la siguiente, que es una matriz de N*p*d, donde N es el número de capas del Transformador.

2.3 Comparación de parámetros

ViT-Base tiene 86M de parámetros con 768. Los parámetros de VPT-Shallow y VPT-Deep con una longitud de mensaje de 50 son 50*768 = 0,038 M y 12*50*768 = 0,46 M, respectivamente, lo que representa el 0,04 % y el 0,53 % de los parámetros de ViT-Base.

3. Experimentar

3.1 Configuración experimental

modelo experimental

Modelos utilizados en experimentos: ViT y Swin Transformer. Ambos modelos están previamente entrenados en ImageNet-21K.

modelo de referencia

(a) COMPLETO: actualiza todos los parámetros del modelo y los parámetros del encabezado de clasificación.

(b) Actualice los parámetros del encabezado de categoría. Hay tres formas de definir el encabezado de categoría.

- LINEAL: utiliza la capa lineal como cabezal de clasificación.

——PARTIAL-k: ajuste las últimas k capas de la columna vertebral del modelo (incluidos los parámetros del cabezal de clasificación) y mantenga los demás parámetros de capa sin cambios.

- MLP-k: utiliza un perceptrón multicapa con k capas como cabezal de clasificación

(c) Actualice un subconjunto de parámetros de la columna vertebral del modelo o agregue nuevos parámetros entrenables a la columna vertebral del modelo durante el ajuste fino. Los subconjuntos que deben actualizarse tienen las tres definiciones siguientes:

——SIDETUNE:

——BIAS: ajuste solo el término de sesgo de la columna vertebral previamente entrenada

- ADAPTADOR: Inserta módulos MLP con conexiones residuales dentro de la capa Transformador.

tareas posteriores

       FGVC consta de cinco tareas de clasificación visual detallada, incluidas CUB-200-2011, NABird, Oxford Flowers, Stanford Dog y Stanford Cars. Si hay un conjunto de datos que solo tiene un conjunto de entrenamiento y un conjunto de prueba, entonces el autor de este artículo divide aleatoriamente el conjunto de entrenamiento en un conjunto de entrenamiento y un conjunto de verificación en una proporción de 9:1. Utilice el conjunto de validación para elegir hiperparámetros.

       VTAB-1k, consta de 19 tareas de clasificación visual diferentes, estas tareas se dividen en tres grupos, Natural, las imágenes de esta tarea se obtienen con cámaras ordinarias; Especializado, las imágenes de esta tarea se obtienen con equipos profesionales, como médicos y Imágenes satelitales Estructuradas, que requieren comprensión de imágenes, como el recuento de objetos. Cada tarea en VTAB contiene 1000 ejemplos de entrenamiento, y se utiliza una división de 800-200 para que el conjunto de entrenamiento determine los hiperparámetros y, finalmente, se evalúe con todos los datos de entrenamiento. Ejecute 3 veces en el conjunto de prueba y calcule el promedio.

3.2 Resultados experimentales

(1) El rendimiento de los métodos que utilizan diferentes 9 parámetros de ajuste en tareas posteriores

La Tabla 1 muestra los resultados promedio obtenidos al ajustar ViT-B/16 en cuatro grupos de tareas posteriores diferentes.

(2) Los 6 métodos de entrenamiento de parámetros utilizan diferentes tamaños de conjuntos de datos para ajustar el modelo y finalmente ejecutarse en el conjunto de prueba.

       Como puede verse en la figura anterior, en escenarios de bajos recursos, el método VPT logra los mejores resultados. A medida que aumenta el tamaño de los datos de entrenamiento utilizados, el rendimiento de VPT-DEEP supera consistentemente el rendimiento del ajuste fino completo. Aunque en la tercera figura, Bias también es mejor que el ajuste fino completo, su rendimiento es menor que el de VPT-DEEP .

(3) Usando VPT en redes troncales de diferentes tamaños, el rendimiento final en el conjunto de prueba

       De las tres figuras, se puede encontrar que utilizando el método VPT-deep, el rendimiento en Natural y Structured supera a FULL , y el rendimiento en Specialized es equivalente al de FULL (a medida que aumenta el tamaño del modelo, VPT-deep se compara con FULL) . , Esta ventaja todavía existe, que es diferente de PNL . En el campo de PNL , el efecto del uso de avisos en modelos pequeños es menor que el de FULL , pero a medida que aumenta el tamaño del modelo, el rendimiento del uso de avisos se recupera gradualmente . con rendimiento COMPLETO ). Pero VPT-shallow tiene un rendimiento inferior al del ajuste fino en los dos últimos grupos de tareas.

3.3 Experimento de ablación

(1) Ubicación inmediata

       La diferencia entre VPT y otros métodos es que los parámetros que se pueden aprender se utilizan como entrada de Transformer Layer. Para saber dónde y cómo insertar indicaciones en la entrada, este artículo realizó un experimento y los resultados experimentales son los siguientes:

       El método Agregar consiste en agregar mensajes entrenables a cada incrustación de parche de imagen codificada . Este método puede garantizar que la longitud de la entrada al bloque Transformer sea la misma que la longitud de la salida de la capa de incrustación. Aunque este método logra un rendimiento comparable al de FULL , es inferior al rendimiento de VPT-profundo y superficial .

       A diferencia de insertar mensajes en el espacio potencial de la primera capa Transformer , un enfoque es introducir mensajes a nivel de píxel antes de la capa de incrustación , como Prepend-pixel y Concat-channel . Los resultados experimentales muestran que ambos métodos conducen a una degradación del rendimiento. Se observa que en el espacio de entrada latente de Transformers , es más fácil que las indicaciones aprendan señales específicas de la tarea.

(2) Longitud del aviso

       En comparación con el ajuste completo, la longitud de la pista es un hiperparámetro adicional que debe ajustarse. Para facilitar la comparación con otros métodos, este artículo también utiliza experimentos de ablación en hiperparámetros adicionales en otros métodos, como el número de capas de MLP y la tasa de reducción de ADAPTER. Los resultados experimentales son los siguientes:

       De la figura anterior se desprende que la duración óptima de los mensajes es diferente para diferentes tareas. La abscisa significa la relación entre los parámetros entrenables y los parámetros de la columna vertebral del modelo.

(3) Profundidad de aviso

       También vale la pena considerar qué capa agregar y cómo agregar sugerencias. Utilice dos métodos para agregar indicaciones , agregando indicaciones de arriba a abajo y de abajo hacia arriba respectivamente (el modelo es la capa de incrustación de abajo hacia arriba, la primera capa de transformador , la segunda capa, la tercera capa, ... ). En términos generales, el rendimiento del VPT se correlaciona positivamente con la profundidad del aviso . Al mismo tiempo, también se descubre en el experimento que el efecto suele ser deficiente cuando se utiliza el método de arriba hacia abajo, lo que significa que las sugerencias en las capas anteriores de Transformer son más importantes que las sugerencias en las capas posteriores.

(4) Salida final

       La configuración original de ViT es utilizar la incrustación final [CLS] como entrada del encabezado de clasificación, que también es la configuración predeterminada del experimento de ViT en este artículo. Este artículo explora el efecto del uso de diferentes incrustaciones como entrada al encabezado de clasificación.

       El uso del promedio de todas las incrustaciones de parches de imágenes como entrada al encabezado de clasificación logra el mismo efecto que la configuración predeterminada. Si los vectores agrupados incluyen vectores de sugerencias, el rendimiento final se degradará.

  1. analizar

4.1 Visualización

       Visualice la incrustación de [CLS] usando t-SNE. Se utilizan las tres tareas en VTAB, y estas tres tareas pertenecen a tres grupos (naturales, especializadas y estructuradas). Proceso de visualización: visualice la incrustación [cls] de cada ejemplo de prueba a través de t-SNE . Si el efecto del modelo es bueno, entonces para la incorporación [cls] de los casos de prueba que pertenecen a la misma categoría , los resultados visualizados deben estar en un grupo y los grupos deben ser distinguibles.

       Todas las figuras muestran que VPT-deep puede obtener representaciones linealmente separables utilizando menos parámetros que el ajuste fino completo . También se observa que agregar indicaciones a cada capa del transformador puede mejorar el rendimiento del modelo. En la tercera figura, se puede encontrar que VPT-deep y FULL pueden restaurar la estructura múltiple de la tarea.

4.2 Aplicar VPT a tareas más visuales

       Este artículo utiliza VPT en la tarea de segmentación semántica. El modelo de segmentación semántica consta de un transformador y un cabezal ConvNet estándar, que se utiliza para la segmentación. Los resultados experimentales se muestran a continuación: Head SOLAMENTE es para actualizar solo los parámetros del cabezal de convolución, y BIAS es para actualizar los parámetros del cabezal y el vector de polarización de la red troncal. Aunque los métodos con parámetros válidos no se pueden comparar con FULL, VPT logra resultados comparables a Bias.

       Vale la pena señalar que los mejores resultados de VPT y un modelo convolucional completamente ajustado logran un rendimiento comparable.

4.3 Uso de VPT en modelos previamente entrenados que utilizan otros objetivos previamente entrenados

       Además de la columna vertebral previamente entrenada con datos etiquetados, también experimentamos con dos objetivos autosupervisados, MAE y MoCo v3.

       La tabla anterior es el resultado del uso de ViT-B en VTAB-1k. Se puede observar que las variantes de VPT superan a LINEAR, pero la comparación con otras técnicas no es convincente. Para MAE, PARTIAL-1 supera a los métodos en los que otros parámetros son válidos. En MoCP V3, VPT ya no mantiene el mejor rendimiento, aunque el rendimiento resultante de VPT y otras técnicas sigue siendo comparable. Esto muestra que los dos ViT autosupervisados ​​son fundamentalmente diferentes de los que utilizan supervisión . Por qué y cómo surgen estas diferencias sigue siendo una pregunta abierta .

Supongo que te gusta

Origin blog.csdn.net/qq_43775680/article/details/127182304
Recomendado
Clasificación