La Red de Conocimientos Pedagógicos - Currículum vitae - Transformador giratorio

Transformador giratorio

El desafío actual de los "Transformers" del lenguaje a las tareas visuales surge principalmente de las diferencias entre estos dos campos:

Para resolver los dos puntos anteriores, propusimos un transformador jerárquico para extraer características a través de ventanas deslizantes. reducir el cálculo de la autoatención para que esté relacionado linealmente con el tamaño de la imagen.

Hemos observado que los principales problemas al migrar el dominio del lenguaje al dominio visual se pueden resumir en dos tipos:

En la implementación del código fuente, los dos módulos se combinan en uno solo. , solicitó PatchEmbedding. Ingrese una imagen RGB, trate 4x4x3 como un parche y use una capa de incrustación lineal para transformar el parche en características de cualquier dimensión. En el código fuente, se utiliza una implementación conv de 4x4 stride=4. - gt;

Este es el módulo principal de este artículo.

La división de ventanas se divide en división de ventanas normal y división de ventanas desplazadas, correspondientes a W-MSA y SW-MSA respectivamente. Convierta el mapa de características de entrada a num_windows*b,window_size,window_size,c mediante partición de ventana, donde num_windows = h*w/window_size/window_size. Luego ajuste el tamaño a num_windows*b, window_size*window_size,c. El código fuente es el siguiente:

Consiste en un módulo de división de ventanas normal y un módulo de autoatención de múltiples cabezales.

En comparación con el uso directo de MSA, W-MSA reduce principalmente la cantidad de cálculo. Los transformadores tradicionales se basan en la atención del cálculo global y tienen una alta complejidad computacional. Pero el transformador swin reduce la cantidad de cálculo al centrarse en cada ventana. Tenga en cuenta el proceso de cálculo principal de la siguiente manera:

Suponiendo que el tamaño del bloque de cada ventana es y el tamaño de entrada es, la complejidad computacional de la suma original es la siguiente:

Aunque el La cantidad de cálculo se reduce debido a que la atención se limita a las ventanas y las ventanas que no se superponen carecen de conexión, lo que limita el rendimiento del modelo. Por lo tanto, se propuso un módulo. Agregue una partición de ventana de turno circular antes del MSA.

En swin transformador, la agrupación no se usa para reducir la resolución, pero en yolov5, la capa de enfoque se usa para reducir la resolución de mapas de características. - gt;, usando capas completamente conectadas -> En una etapa, la altura y el ancho del mapa de características se reducen a la mitad y el número de canales se duplica.

La estructura del modelo de referencia se denomina Swin-B. La escala del modelo y la complejidad computacional son similares a VIT-B/DEIT-B. Al mismo tiempo, también propusimos Swin-T, Swin-. S y Swin-L Correspondientes a la escala del modelo y la complejidad computacional de 0,25 ×, 0,5 × y 2 × respectivamente. La complejidad computacional de Swin-T y Swin-S es similar a ResNet-50 y ResNet-101 respectivamente. La configuración predeterminada es 7. Indica el número de capas ocultas en la primera capa.