MobileViG: atención dispersa basada en gráficos para aplicaciones de visión móvil

Resumen

Enlace en papel: https://arxiv.org/pdf/2307.00395.pdf
Tradicionalmente, las redes neuronales convolucionales (CNN) y los transformadores visuales (ViT) han dominado el campo de la visión artificial. Sin embargo, la red neuronal Visual Graph (ViG) propuesta recientemente proporciona una nueva vía de exploración. Desafortunadamente, para aplicaciones móviles, ViG es computacionalmente costoso debido a la sobrecarga de representar imágenes como estructuras gráficas. En este trabajo, proponemos un nuevo mecanismo de atención escasa basado en gráficos, Atención de gráfico visual escaso (SVGA), que está diseñado para gráficos visuales escasos que se ejecutan en dispositivos móviles. Además, proponemos la primera arquitectura híbrida CNN-GNN para tareas de visión de dispositivos móviles, MobileViG, que utiliza SVGA. Extensos experimentos muestran que MobileViG supera a los modelos ViG existentes y a las arquitecturas CNN y ViT móviles existentes en términos de precisión y/o velocidad en las tareas de clasificación de imágenes, detección de objetos y segmentación de instancias. Nuestro modelo más rápido, MobileViG-Ti, logra una precisión del 75,7 % entre los primeros 1 en ImageNet-1K y una latencia de inferencia de 0,78 ms en un iPhone 13 Mini NPU (compilado con CoreML), que es más rápido que MobileNetV2x1.4 (1,02 ms, 74,7 % entre los 1 primeros) y MobileNetV2x1.0 (0,81 ms, 71,8 % entre los 1). Nuestro modelo más grande, MobileViG-B, logra una precisión del 82,6 % entre los 1 primeros con solo 2,30 ms de latencia, que es más rápido y más preciso que el modelo EfficientFormer-L3 del mismo tamaño (2,77 ms, 82,4 %). Nuestro trabajo demuestra que las arquitecturas híbridas CNN-GNN bien diseñadas pueden proporcionar nuevas vías de exploración para diseñar modelos muy rápidos y precisos en dispositivos móviles. Nuestro código está disponible públicamente en https://github.com/SLDGroup/MobileViG.

1. Introducción

La inteligencia artificial (IA) y el aprendizaje automático (ML) se han disparado en la última década. En la visión por computadora, un impulsor clave detrás de este crecimiento es el resurgimiento de las redes neuronales, específicamente las redes neuronales convolucionales (CNN) y, más recientemente, el transformador visual [4, 25]. Aunque las CNN entrenadas por retropropagación se inventaron en la década de 1980 [16, 25], se utilizaron para tareas de menor escala, como el reconocimiento de caracteres [17]. El potencial de las CNN para remodelar el campo de la inteligencia artificial no se realizó por completo hasta la introducción de AlexNet [15] en la competencia ImageNet [32]. Otras mejoras en la arquitectura de la CNN han aumentado su precisión, eficiencia y velocidad [10, 12, 13, 33, 34]. Al igual que las arquitecturas CNN, también se espera que las arquitecturas puras de perceptrón multicapa (MLP) y las arquitecturas similares a MLP sean la columna vertebral de las tareas generales de visión [2, 37, 38].

Aunque CNN y MLP se han utilizado ampliamente en el campo de la visión por computadora, debido a la diferencia entre las tareas de visión y lenguaje, el campo del procesamiento del lenguaje natural utiliza la red neuronal recurrente (RNN), especialmente la red de memoria a corto plazo (LSTM) [11]. Si bien los LSTM todavía están en uso, han sido reemplazados en gran medida por arquitecturas Transformer en tareas de NLP [40]. Con la introducción de Vision Transformer (ViT), se introduce una arquitectura de red [4] aplicable a los dominios de lenguaje y visión. Al segmentar una imagen en una serie de incrustaciones de bloques, una imagen se puede transformar en una entrada utilizable por un módulo Transformador [4]. Una de las principales ventajas de la arquitectura Transformer sobre las CNN o MLP es su campo receptivo global, que le permite aprender de las interacciones de objetos distantes en las imágenes.

Graph Neural Networks (GNN) se han desarrollado para operar en estructuras basadas en gráficos, como redes biológicas, redes sociales o redes de citas [7, 14, 43, 45]. Los GNN incluso se han utilizado en tareas como la clasificación de nodos [14], el descubrimiento de fármacos [5], la detección de fraudes [23] y tareas de visión artificial con el Visual GNN (ViG) [8] propuesto recientemente. En resumen, ViG divide la imagen en varios parches pequeños y luego conecta estos parches pequeños mediante el algoritmo k-vecino más cercano (KNN) [8], lo que brinda la capacidad de manejar interacciones de objetos globales similares a ViT.

El rápido crecimiento de la investigación de visión por computadora para aplicaciones móviles ha llevado a arquitecturas híbridas que usan CNN para aprender representaciones espaciales locales y Transformadores Visuales (ViT) para aprender representaciones globales [27]. Los modelos ViG actuales no son adecuados para tareas móviles, ya que son ineficientes y lentos para ejecutarse en dispositivos móviles. Los conceptos aprendidos del diseño de modelos CNN y ViT se pueden explorar para determinar si los modelos híbridos CNN-GNN pueden proporcionar la velocidad de los modelos basados ​​en CNN y la precisión de los modelos basados ​​en ViT. En este trabajo, investigamos arquitecturas híbridas CNN-GNN para visión por computadora en dispositivos móviles y desarrollamos un mecanismo de atención basado en gráficos que puede competir con las arquitecturas eficientes existentes. Nuestras contribuciones se resumen de la siguiente manera:

  1. Proponemos un nuevo método de atención dispersa basado en gráficos para aplicaciones de visión móvil. Nos referimos a este método de atención como Sparse Visual Graph Attention (SVGA). Nuestro método es liviano ya que no requiere remodelación e incurre en poca sobrecarga en la construcción de gráficos en comparación con los métodos anteriores.
  2. Proponemos una nueva arquitectura móvil CNN-GNN para tareas de visión utilizando nuestro SVGA propuesto, convolución gráfica relativa máxima [18] y conceptos de CNN móvil y arquitectura de transformador de visión móvil [12, 27] (que llamamos MobileViG).
  3. Nuestro modelo propuesto, MobileViG, iguala o supera las arquitecturas existentes de Visual Graph Neural Network (ViG), Mobile Convolutional Neural Network (CNN) y Mobile Vision Transformer (ViT) en términos de precisión y/o velocidad en tres tareas de visión representativas (clasificación de imágenes ImageNet, detección de objetos COCO y segmentación de instancias COCO).

Hasta donde sabemos, este documento es el primero en estudiar una arquitectura híbrida CNN-GNN para aplicaciones de visión móvil. El método de atención SVGA propuesto y la arquitectura MobileViG abren un nuevo camino de exploración para las arquitecturas móviles y las arquitecturas ViG de última generación.

La estructura de este documento es la siguiente. La Sección 2 presenta trabajos relacionados en el campo de ViG y arquitecturas móviles. La Sección 3 describe la metodología de diseño detrás de las arquitecturas SVGA y MobileViG. La Sección 4 presenta la configuración experimental y los resultados para la clasificación de imágenes ImageNet-1k, la detección de objetos COCO y la segmentación de instancias COCO. Finalmente, la Sección V concluye el documento y hace recomendaciones para el trabajo futuro usando ViG en el diseño de arquitectura móvil.

2. Trabajo relacionado

Debido a la capacidad de representar datos de imágenes en un formato más flexible, ViG [8] se propuso como una alternativa a CNN y ViTs. ViG representa imágenes utilizando el algoritmo KNN [8], donde cada píxel de la imagen se enfoca en píxeles similares. El rendimiento de ViG es comparable al de los populares modelos de ViT DeiT [39] y SwinTransformer [24] y merece más estudio.
Aunque los modelos basados ​​en ViT han tenido éxito en tareas de visión, aún son lentos en comparación con los modelos ligeros basados ​​en CNN [21], que carecen del campo receptivo global de los modelos basados ​​en ViT en comparación. Por lo tanto, el modelo basado en ViT puede ser una posible solución al proporcionar una velocidad más rápida que el modelo basado en ViT y una mayor precisión que el modelo basado en CNN. Hasta donde sabemos, no hay trabajos sobre ViG móviles; sin embargo, ha habido muchos resultados de investigación en el campo de CNN móviles y modelos híbridos. Clasificamos los diseños de arquitectura móvil en dos categorías: modelos de red neuronal convolucional (CNN) y modelos híbridos CNN-ViT, que combinan elementos de CNN y ViT.

Las familias MobileNetv2 [33] y EfficientNet [35, 36] basadas en arquitecturas CNN son los primeros modelos móviles en lograr el éxito en tareas comunes de imagen. Estos modelos son ligeros y de inferencia rápida. Sin embargo, los modelos puramente basados ​​en CNN han sido reemplazados gradualmente por competidores híbridos.

Existe una gran cantidad de modelos de movilidad híbrida, entre los que se encuentran MobileViTv2 [28], EdgeViT [29], LeViT [6], EfficientFormerv2 [20], etc. Estos modelos híbridos superan consistentemente a MobileNetv2 en tareas de clasificación de imágenes, detección de objetos y segmentación de instancias, pero algunos de estos modelos no siempre funcionan tan bien en términos de latencia. La diferencia de latencia puede estar relacionada con la inclusión de bloques ViT, que tradicionalmente son más lentos en el hardware móvil. Para mejorar esta situación, proponemos MobileViG, que proporciona una velocidad comparable a la de MobileNetv2 [33] y una precisión comparable a la de EfficientFormer [21].

3. Método

En esta sección, presentamos el algoritmo SVGA y detallamos el diseño de la arquitectura MobileViG. Más precisamente, la Sección 3.1 introduce el algoritmo SVGA. La Sección 3.2 explica cómo adaptamos el módulo Grapher de ViG [8] para crear bloques SVGA. La Sección 3.3 describe cómo combinamos el bloque SVGA con el bloque residual inverso para el procesamiento local para crear MobileViGTi, MobileViG-S, MobileViG-M y MobileViG-B.

3.1 Atención de mapa visual escaso

Este artículo propone Sparse Visual Graph Attention (SVGA) como una alternativa adecuada para dispositivos móviles para reemplazar la atención de gráfico KNN en Visual GNN [8]. La atención de gráficos basada en KNN presenta dos componentes que no son adecuados para dispositivos móviles, el cálculo de KNN y la remodelación de entrada, usamos SVGA para eliminarlos.
inserte la descripción de la imagen aquí

Más detalladamente, se requiere el cálculo de KNN para cada imagen de entrada, ya que los vecinos más cercanos de cada píxel no se pueden conocer de antemano. Esto produce un gráfico, que se muestra en la Figura 1a, que contiene conexiones aparentemente aleatorias. Debido a la naturaleza no estructurada de KNN, los autores de [8] remodelaron la imagen de entrada de un tensor 4D a un tensor 3D, lo que les permitió alinear correctamente las características de los píxeles conectados para la convolución del gráfico. Después de la convolución del gráfico, la entrada debe cambiar de forma de 3D a 4D para las capas convolucionales posteriores. Por lo tanto, la atención basada en KNN requiere el cálculo de KNN y dos operaciones de remodelación, las cuales son costosas en los dispositivos móviles.

Para eliminar la sobrecarga de las operaciones de cálculo y reconstrucción de KNN, SVGA asume que el gráfico es fijo, donde cada píxel está conectado al k-ésimo píxel en su fila y columna. Por ejemplo, dada una imagen de 8 × 8 y K = 2, el píxel en la esquina superior izquierda se conectará a cada píxel sobre su fila y cada píxel debajo de su columna, como se muestra en la Figura 1b. El mismo patrón se repite para cada píxel en la imagen de entrada. Dado que el gráfico tiene una estructura fija (es decir, cada píxel tendrá la misma conexión para todas las imágenes de entrada de 8×8), no es necesario cambiar la forma de la imagen de entrada para realizar la convolución del gráfico.

inserte la descripción de la imagen aquí

En su lugar, se puede implementar mediante una operación de desplazamiento a través de dos dimensiones de imagen, denominada rollright roll_{right} en el Algoritmo 1rodar _ _correcto _ _ _ _rolldown roll_{abajo}rodar _ _abajo _ _ _. El primer parámetro de la operación de rodar es la entrada para rodar, y el segundo parámetro es la distancia para desplazarse hacia la derecha o hacia abajo. Usando el ejemplo de la Figura 1b, donde K = 2, al desplazar la imagen dos veces hacia la derecha, cuatro veces hacia la derecha y seis veces hacia la derecha, el píxel superior izquierdo se puede alinear con los píxeles por segundo en esa fila. Para cada píxel de la columna, haga lo mismo excepto desplácese hacia abajo. Tenga en cuenta que dado que cada píxel está conectado de la misma manera, la operación de desplazamiento que alinea el píxel superior izquierdo con su conexión alinea simultáneamente todos los demás píxeles de la imagen con su conexión. En MobileViG, la convolución de gráficos se realiza utilizando la convolución máxima relativa de gráficos (MRConv). Por lo tanto, cada vez que rollright roll_{right}rodar _ _correcto _ _ _ _rolldown roll_{abajo}rodar _ _abajo _ _ _Después de la operación, se calcula la diferencia entre la imagen de entrada original y la versión enrollada, que se denota como X r X_r en el Algoritmo 1Xry X c X_cXdo, la operación más grande toma elementos y los almacena en X j X_jXj, también indicado como X j X_j en el Algoritmo 1Xj. Después de las operaciones de balanceo y relativas máximas, se realiza el Conv2d final. Con este enfoque, SVGA cambia el cálculo de KNN por una operación de balanceo menos costosa, por lo que no se requiere refactorización para realizar la convolución de gráficos.

SVGA evita la flexibilidad de representación de KNN y prefiere adaptarse a terminales móviles.

3.2, bloque SVGA

Las capas SVGA y MRConv actualizadas se conectan al bloque Grapher propuesto en Vision GNN [8]. Dadas las características de entrada X ∈ RN × NX \in \mathbb{R}^{N \times N}XRN × N , el Grapher actualizado se expresa como
Y = σ ( MR Ronv ⁡ ( XW in ) ) W out + XY=\sigma\left(MR \operatorname{Ronv}\left(X W_{\text {in }}\right)\right) W_{\text {out }}+XY=pag( SEÑORronv( XA _en ) )Wfuera +X

donde $ Y \in \mathbb{R}^{N \times N}, W_{\text {in}} yY W_{out}$ es el peso de la capa completamente conectada, y σ es la activación de GeLU. En el paso MRConv, también cambiamos la cantidad de bancos de filtros de 4 (el valor utilizado en Vision GNN [8]) a 1 para aumentar el potencial expresivo de la capa MRConv sin aumentar significativamente la latencia. El módulo Grapher actualizado se muestra en la Figura 2d.

inserte la descripción de la imagen aquí

Después del Grapher actualizado, usamos el módulo Feedforward Network (FFN) propuesto en Vision GNN [8], como se muestra en la Fig. 2e. El módulo FFN es un MLP de dos capas expresado como
Z = σ ( XW 1 ) W 2 + YZ=\sigma\left(X W_{1}\right) W_{2}+YZ=pag( XA _1)W2+Y
其中Z ∈ RN × N , W 1 Z \in \mathbb{R}^{N \times N}, W_{1}ZRnorte × norte ,W1W 2 W_2W2es el peso de la capa completamente conectada, y σ es GeLU nuevamente. Llamamos a esta combinación actualizada de Grapher y FFN un bloque SVGA, como se muestra en la Figura 2c.

3.3, arquitectura MobileViG

La arquitectura de MobileViG que se muestra en la Figura 2a consta de un Stem convolucional y un bloque residual inverso de tres etapas (MBConv) con una relación de expansión de 4 para el procesamiento local, como se muestra en MobileNetv2 [33]. En el bloque MBConv, reemplazamos ReLU6 con GeLU, ya que se ha demostrado que mejora el rendimiento de las tareas de visión artificial [4, 20]. El bloque MBConv consta de convolución 1×1 más normalización por lotes (BN) y GeLU, convolución de profundidad 3×3 más BN y GeLU, y finalmente convolución 1×1 más BN y conexión residual, como se muestra en la Figura 2b. Después del bloque MBConv, tenemos una etapa de bloque SVGA para capturar información global, como se muestra en la Figura 2a. Después del bloque SVGA, también tenemos una cabeza convolucional para la clasificación. Después de cada etapa de MBConv, un paso de reducción de resolución reduce a la mitad la resolución de entrada y expande la dimensión del canal. Cada etapa consta de múltiples bloques MBConv o SVGA, donde el número de repeticiones varía según el tamaño del modelo. Las dimensiones del canal y el número de bloques repetidos por etapa se muestran en la Tabla 1 para MobileViG-Ti, MobileViG-S, MobileViG-M y MobileViG-B.

inserte la descripción de la imagen aquí

4. Resultados experimentales

Comparamos MobileViG con ViG [8] y mostramos el rendimiento superior de MobileViG en términos de latencia, tamaño del modelo y precisión de clasificación de imágenes en ImageNet-1k [3] en la Tabla 2. También comparamos MobileViG con varios modelos móviles y mostramos en la Tabla 3 que para cada modelo tiene un rendimiento superior o comparable en términos de precisión y latencia.
inserte la descripción de la imagen aquí

4.1 Clasificación de imágenes

Implementamos el modelo utilizando PyTorch 1.12 [30] y la biblioteca Timm [42]. Entrenamos cada modelo con 8 GPU NVIDIA A100 con un tamaño de lote efectivo de 1024. El modelo se entrena desde cero en ImageNet1K [3] durante 300 épocas utilizando el optimizador AdamW [26]. La tasa de aprendizaje se establece en 2e-3 y la estrategia de recocido coseno. Usamos una resolución de imagen estándar, 224 × 224, para entrenamiento y prueba. Similar a DeiT [39], usamos RegNetY-16GF [31] para la destilación de conocimiento con una precisión del 82,9 %. Para el aumento de datos, usamos RandAugment, Mixup, Cutmix, borrado aleatorio y aumento repetido.

Evaluamos la latencia de GPU y NPU con un iPhone 13 Mini (iOS 16). Los modelos se compilan con CoreML y la latencia se promedia sobre 1000 predicciones [1].
inserte la descripción de la imagen aquí

Como se muestra en la Tabla 2, MobileViG supera a Pyramid ViG [8] tanto en precisión como en latencia de GPU para una cantidad similar de parámetros. Por ejemplo, con 3,5 M menos de parámetros, MobileViG-S logra la misma precisión Top-1 que Pyramid ViG-Ti y es 2,83 veces más rápido. Además, con 0,6 M menos de parámetros, MobileViG-B supera a Pyramid ViG-S en un 0,5 % en precisión Top-1 y es 2,08 veces más rápido.

En comparación con los modelos móviles de la Tabla 3, MobileViG supera constantemente a todos los modelos en términos de latencia de NPU, latencia de GPU o precisión. MobileViG-Ti es más rápido que MobileNetv2, con un 3,9 % más de precisión Top-1. También coincide con EfficientFormerv2 [20] en el Top-1 y tiene una ligera ventaja en la latencia de NPU y GPU. La latencia de NPU de MobileViG-S es casi 2 veces más rápida que la de EfficientNet-B0 [35], y la precisión Top-1 es un 0,5 % más alta que la de EfficientNet-B0. En comparación con MobileViTv2-1.5 [28], MobileViG-M es 3 veces más rápido en latencia de NPU, 2 veces más rápido en latencia de GPU y la máxima precisión se mejora en un 0,2 %. Además, MobileViG-B es 6 veces más rápido que DeiT-S y puede vencer a DeiT-S y Swin-Tiny en precisión Top-1.

4.2 Detección de objetivos y segmentación de instancias

Se evalúa el rendimiento de MobileViG en tareas de detección de objetos y segmentación de instancias, lo que demuestra aún más el potencial de SVGA. MobileViG está integrado en el marco Mask-RCNN [9] como una red ósea, y los experimentos se realizan utilizando el conjunto de datos MS COCO 2017 [22]. Implementamos la red troncal usando PyTorch 1.12 [30] y la biblioteca Timm [42], y usamos 4 GPU NVIDIA RTX A6000 para entrenar nuestros modelos. Inicializamos el modelo con pesos ImageNet-1k preentrenados de 300 rondas de entrenamiento, usamos el optimizador AdamW [26] con una tasa de aprendizaje inicial de 2e-4 y seguimos los procedimientos de NextViT, EfficientFormer y EfficientFormerV2 para entrenar el modelo durante 12 rondas con resolución estándar (1333 X 800) [19–21].
inserte la descripción de la imagen aquí

Como se muestra en la Tabla 4, con tamaños de modelo similares, MobileViG supera a ResNet, PoolFormer, EfficientFormer y PVT en términos de parámetros o precisión promedio mejorada (AP) para la detección de objetos o la segmentación de instancias. El modelo MobileViG-M de tamaño mediano tiene un APbox de 41,3 en la tarea de detección de objetos, un APbox de 62,8 cuando el IoU es 50 y un APbox de 45,1 cuando el IoU es 75. Para la tarea de segmentación de instancias, MobileViG-M obtiene 38,1 APmask, 60,1 APmask a 50 IoU y 40,8 APmask a 75 IoU. El APbox del modelo MobileViG-B a gran escala en la tarea de detección de objetivos es 42,0, 64,3 cuando el IoU es 50 y 46,0 cuando el IoU es 75. MobileViG-B obtiene 38,9 APmask en la tarea de segmentación de instancias, 61,4 APmask a 50 IoU y 41,6 APmask a 75 IoU. El sólido desempeño de MobileViG en la detección de objetos y la segmentación de instancias muestra que MobileViG tiene una buena capacidad de generalización como columna vertebral de diferentes tareas en la visión artificial.

El diseño de MobileViG está parcialmente inspirado en los diseños de los conceptos Pyramid ViG [8], EfficientFormer [21] y MetaFormer [44]. Los resultados obtenidos en MobileViG muestran que la arquitectura híbrida CNN-GNN es una alternativa viable a los diseños CNN, ViT y CNN-ViT híbridos. La arquitectura híbrida CNN-GNN puede proporcionar la velocidad de los modelos basados ​​en CNN con la precisión de los modelos ViT, lo que la convierte en una candidata ideal para el diseño de arquitectura móvil de alta precisión. Una mayor exploración de las arquitecturas híbridas CNN-GNN para tareas de visión artificial móvil puede mejorar el concepto MobileViG e introducir nuevas arquitecturas de última generación.

5. Conclusión

En este trabajo, proponemos un mecanismo de atención basado en gráficos, Sparse Visual Graph Attention (SVGA) y MobileViG, una arquitectura de visión móvil competitiva que utiliza SVGA. A diferencia de los enfoques anteriores, SVGA no requiere remodelación y permite conocer la estructura del gráfico antes de la inferencia. Utilizamos bloques residuales invertidos, convoluciones gráficas relativas máximas y capas de red de avance para crear MobileViG, una arquitectura híbrida CNN-GNN que logra resultados competitivos en tareas de clasificación de imágenes, detección de objetos y segmentación de instancias. MobileViG supera a los modelos ViG existentes y a muchos modelos móviles existentes, incluido MobileNetv2, en términos de precisión y latencia. La investigación futura sobre arquitecturas móviles puede explorar más a fondo el potencial de los modelos basados ​​en GNN para aplicaciones IoT en dispositivos con recursos limitados.

Supongo que te gusta

Origin blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/131594813
Recomendado
Clasificación