NeurIPS 2019 | La Academia de Ciencias de China y Megvii proponen el marco DetNAS: una búsqueda de backbone que se puede utilizar para la detección de objetivos

Autor: Liyang

Prefacio

Este artículo interpretará el artículo de la conferencia de NeurIPS "DetNAS: Backbone Search for Object Detection", que es innovador en el campo de la búsqueda de arquitectura neuronal (NAS) en el campo de la detección de objetos. Basado en la tecnología de superred one-shot, el autor propone un marco para la búsqueda de la red troncal de la red de detección de objetivos, DetNAS. Siga los pasos típicos de entrenamiento de detectores para entrenar la red, incluido el entrenamiento previo de ImageNet y el ajuste fino del detector. Luego, con la tarea de detección como guía, la búsqueda de arquitectura se realiza en la superred entrenada. Los resultados experimentales muestran que DetNAS funciona mejor en detectores como RetinaNet de una etapa y FPN de dos etapas.

 

DetNAS: búsqueda troncal para la detección de objetos

Dirección en papel: https://arxiv.org/abs/1903.10979

Dirección de código abierto: https://github.com/megvii-model/DetNAS

Autores: Yukang Chen, Tong Yang, Zhang Xiangyu, Gaofeng Meng, Xiao Xinyu, Jian Sun (Instituto de Automatización, Academia China de Ciencias, Megvii Kuang, como tecnología)

Estado de la investigación

1. Detección de objetos

Con el rápido desarrollo de redes convolucionales profundas, los detectores de objetivos han logrado grandes avances en cuanto a eficacia. El detector de objetivos generalmente contiene dos partes: red troncal y "cabeza". En los últimos años, muchos avances en la detección de objetivos provienen de la investigación "principal", como la arquitectura, la pérdida y el anclaje. FPN [1] desarrolló una arquitectura de arriba hacia abajo con conexiones horizontales para construir mapas de características semánticas de alto nivel a todas las escalas, convirtiéndose así en un extractor de características eficaz. RetinaNet propuso la pérdida focal [2] para resolver el problema del desequilibrio de categorías, pero esto conducirá a la inestabilidad en el entrenamiento temprano. MetaAnchor [3] propuso un mecanismo de generación de anclaje dinámico para mejorar el rendimiento de los detectores de objetivos basados ​​en anclajes.

La red troncal es muy importante en la detección de objetivos, y el rendimiento del detector de objetivos depende en gran medida de las características extraídas por la red troncal. Muchos detectores de objetivos utilizan directamente una red diseñada para la clasificación de imágenes como columna vertebral, pero esta no es la mejor opción, porque la clasificación de imágenes se centra en la clasificación de imágenes y la detección de objetivos tiene en cuenta la ubicación y clasificación de cada objetivo. Por ejemplo, el rendimiento de ResNet-101 en la clasificación de ImageNet es peor que el de DetNet-59 [4], pero no es tan bueno como este último en la detección de objetivos.

2. Búsqueda de arquitectura neuronal

La tecnología NAS para la clasificación de imágenes ha atraído cada vez más atención. NAS [5] y NASNet [6] utilizan la secuencia de aprendizaje por refuerzo (RL) para determinar la arquitectura neuronal. Además, AmeobaNet [7] demostró que el algoritmo evolutivo básico (EA) sin ningún controlador también puede lograr mejores resultados, incluso superando los métodos basados ​​en RL. Para ahorrar recursos informáticos, algunos investigadores han propuesto el uso de métodos de reparto de peso o de un solo uso, como ENAS [8] y DARTS [9]. SNAS [10], Proxyless [11], etc., también son NAS de un solo uso hasta cierto punto. Además de la clasificación de imágenes, NAS también se ha aplicado bien en aspectos como la segmentación semántica.

En la clasificación de imágenes [12], la red buscada puede alcanzar o incluso superar el rendimiento de la red hecha a mano. Sin embargo, el NAS utilizado para la columna vertebral del detector de objetivos sigue siendo un desafío. El entrenamiento típico del detector requiere entrenamiento previo de la red troncal en ImageNet, lo que traerá dos problemas: (1) Difícil de optimizar: el NAS no puede usar la precisión de la red previamente entrenada como una señal de supervisión; (2) Baja eficiencia: requerida Primero entrenando previamente cada arquitectura candidata (por ejemplo, en ImageNet) y luego ajustando el conjunto de datos de prueba, el costo es demasiado alto.

Incluso si el pre-entrenamiento (entrenar desde cero) es un método alternativo [13], también requiere más iteraciones de entrenamiento para compensar la falta de pre-entrenamiento.

método

1. Información general

Inspirado por el método NAS de una sola operación [14], el autor resuelve este problema desacoplando el entrenamiento con pesas y la búsqueda de arquitectura. La mayoría de los métodos NAS anteriores optimizan los pesos y las arquitecturas de forma anidada. El autor cree que solo descomponiéndolos en dos etapas se pueden combinar eficazmente los pasos previos al entrenamiento. Este marco evita el problema de ineficiencia causado por la formación previa y hace factible la búsqueda de la red troncal. Como se muestra en la figura siguiente, el marco de DetNAS incluye tres pasos:

(1) Entrenamiento previo de la superred one-shot en ImageNet;

(2) Ajuste la superred one-shot en el conjunto de datos de prueba;

(3) Utilice el algoritmo evolutivo (EA) para buscar la arquitectura en la superred entrenada.

4441.png

Como se muestra en la figura anterior, el algoritmo evolutivo se utiliza para buscar la arquitectura en la superred entrenada. El conjunto de verificación en realidad está separado del COCO trainval35k y contiene 5k imágenes.

2.Motivación

En general, el espacio de búsqueda de arquitectura A se puede representar mediante un gráfico acíclico dirigido (DAG). Cualquier ruta en la figura corresponde a una arquitectura específica a∈A. Para una arquitectura de sistema específica, la red correspondiente se puede expresar como N (α, ω) y el peso de la red es ω. NAS tiene como objetivo encontrar la mejor arquitectura que minimice la pérdida de verificación L_val (N (α *, ω *)). ω * representa el peso de red óptimo de la arquitectura α *. Se obtiene minimizando la pérdida de entrenamiento. El proceso NAS se puede expresar como un problema de optimización anidado:

4442.png

La fórmula anterior puede representar el NAS sin entrenamiento previo (como clasificación de imágenes). Pero para la detección de objetivos, se requiere un entrenamiento previo y un ajuste fino, y la ecuación (2) debe convertirse en:

4443.png

Entre ellos, ω ← (ω_p (α)) * significa que ω_p (α) * se usa como inicialización para optimizar ω. El peso previo al entrenamiento ω_p (α) * no se puede usar directamente en la fórmula (1), pero es necesario para ω (α) *. Por lo tanto, no se puede omitir la capacitación previa de ImageNet en DetNAS. En el método NAS de una sola operación, el espacio de búsqueda se codifica en una superred compuesta por todas las arquitecturas candidatas y comparten pesos entre sus nodos comunes. Por lo tanto, la fórmula (1) y la fórmula (2) se convierten en:

4444.png

Todas las ponderaciones de red individuales ω (α) se heredan de la superred W_A de un solo paso. El entrenamiento de superred, la optimización W_A y la optimización de la arquitectura α están separados. En base a esto, se adopta una capacitación previa adicional para permitir que el NAS realice tareas más complejas, a saber, la búsqueda de la red troncal en la detección de objetivos:

4445.png

Gasoducto 3.NAS

Paso 1: entrenamiento previo de Supernet

En algunos métodos de una sola vez, transforman el espacio de búsqueda realmente discreto en un espacio continuo, lo que provocará un acoplamiento serio de los pesos de cada red en el espacio de búsqueda. En el proceso de preentrenamiento de la superred, el autor adopta un esquema de ruta para garantizar que la superred preentrenada pueda reflejar el desempeño relevante de la red candidata. En cada iteración, solo una ruta se propagará hacia adelante o hacia atrás, y los gradientes y pesos de otras rutas o nodos no se actualizarán.

Paso 2: ajuste fino de Supernet

El ajuste fino de la superred también se lleva a cabo en forma de ruta, además del cabezal de detección, los indicadores y los conjuntos de datos. Otro detalle que debe mencionarse es la normalización de lotes (BN). Generalmente, el parámetro BN se fija a las estadísticas de lote antes del entrenamiento previo durante el proceso de ajuste fino. Sin embargo, las características que se normalizarán en diferentes rutas en DetNAS no son las mismas. Además, a diferencia de la clasificación de imágenes, el detector de objetivos utiliza entrenamiento de imágenes de alta resolución, que está limitado por la memoria de video, lo que reducirá seriamente la precisión de BN. Por esta razón, el autor utiliza la Normalización de lotes sincronizados (SyncBN) como una alternativa a BN en el proceso de entrenamiento de superred. SyncBN puede calcular estadísticas de lotes en varias GPU, lo que aumenta el tamaño efectivo del lote.

Paso 3: use EA para buscar en la superred

El algoritmo evolutivo se utiliza para la búsqueda de arquitectura en Supernet. Al realizar la búsqueda, se muestrearán diferentes subredes por ruta en la superred. Porque las estadísticas de lote en cada ruta son relativamente independientes. Por lo tanto, antes de la evaluación, es necesario volver a establecer la información del lote en cada ruta. El autor extrae un pequeño subconjunto del conjunto de entrenamiento para volver a calcular las estadísticas de lote de la ruta única que se va a evaluar. Este paso solo acumula una media de ejecución razonable y una varianza de ejecución para BN, y no implica la retropropagación del gradiente.

4. Diseño de búsqueda espacial

La siguiente figura muestra la arquitectura de DetNASNet. La información detallada sobre el espacio de búsqueda se describe en la Tabla 1. El espacio de búsqueda se basa en ShuffleNetv2. El autor diseñó dos espacios de búsqueda de diferentes tamaños. El espacio de búsqueda grande se usa para los resultados principales y el espacio de búsqueda pequeño se usa para la investigación de ablación.

4446.png

 

4447.png

• Gran espacio de búsqueda (grande, 40 bloques)

El propósito es comparar los resultados principales con la columna vertebral hecha a mano. Los canales y bloques de cada etapa se especifican mediante c_1 y n_1. En cada etapa, el paso del primer bloque es 2 para el muestreo. Además de la primera etapa, hay 4 etapas con un total de 40 bloques para buscar. Para cada bloque que se va a buscar, hay 4 opciones a partir del bloque ShuffleNetv2 original: use {3 × 3, 5 × 5, 7 × 7} para cambiar el tamaño del kernel, o reemplace la rama derecha con el bloque Xception (tres separables repetidos Convolución de profundidad 3 × 3). El espacio de búsqueda incluye 4 ^ 40≈1,2 × 10 ^ 24 arquitecturas candidatas. La mayoría de los cálculos de red superan los FLOP de 1G.

• Espacio de búsqueda pequeño (pequeño, 20 bloques)

El número de bloques n_1 es el doble que el de n_2. En todas las etapas de búsqueda, el número de canales c_1 es 1,5 veces mayor que el de c_2. El espacio de búsqueda incluye 4 ^ 20≈1.0 × 10 ^ 12 arquitecturas candidatas. La mayoría de las redes tienen alrededor de 300 millones de FLOP.

5. Algoritmo de búsqueda

En comparación con los métodos NAS basados ​​en gradientes y RL, los algoritmos evolutivos pueden cumplir bien las limitaciones (como FLOP o velocidad de inferencia). Para optimizar los FLOP o la velocidad de inferencia, los métodos basados ​​en RL necesitan ajustar los parámetros de la función de retroalimentación. El método basado en gradientes requiere un ajuste fino de la función de pérdida. Sin embargo, sus resultados de producción siguen siendo difíciles de cumplir con todas las limitaciones. Con este fin, DetNAS optó por utilizar un algoritmo de búsqueda evolutivo.

Primero, un conjunto de redes P se inicializa aleatoriamente y cada red está compuesta por su arquitectura P.θ y su aptitud Pf. Cualquier arquitectura que viole la restricción η se eliminará y se seleccionará un plan alternativo. Después de la inicialización, el autor comenzó a evaluar cada arquitectura para obtener su aptitud Pf en el conjunto de verificación. En estas redes evaluadas, el autor elige la mejor arquitectura como los padres para generar la red secundaria. A continuación, la red de segunda generación se obtiene por mutación y cruce de combinación de los padres bajo la restricción η. Al repetir esta operación en el proceso iterativo, se puede encontrar una ruta con el mejor rendimiento en el conjunto de validación.

experimentar

1. Principales resultados

DetNASNet busca en FPN en espacios grandes. Los principales resultados se muestran en la siguiente tabla. El autor enumera tres redes hechas a mano para comparar, incluidas ResNet-50, ResNet-101 y ShuffleNetv2-40. DetNASNet puede lograr 40.2% de mAP con solo 1.3G FLOP, que es mejor que ResNet-50 y ResNet-101.

4448.png

Para eliminar la influencia del espacio de búsqueda, compare con ShuffleNetv2-40 (línea de base del espacio de búsqueda). Los resultados muestran que ShuffleNetv2-40 es 0.8% más bajo que el puntaje mmAP de DetNAS en COCO. Muestra que el efecto de DetNAS no se ve afectado por el espacio de búsqueda.

Posteriormente, se consideró el impacto del espacio de búsqueda, y el canal de DetNASNet se incrementó en 1.8 veces, alcanzando 3.8G FLOPs o DetNASNet (3.8), alcanzando un mmAP de 42.0%, superando ResNet-50 en 4.7% y ResNet- 101 en un 2,0%.

2. Experimento de ablación

En los detectores FPN y RetinaNet, el rendimiento de DetNAS en COCO es aproximadamente un 1% más alto que ShuffleNetv2-20. Esto muestra que NAS también puede lograr un mejor rendimiento que las redes hechas a mano en la detección de objetos.

4449.png

ClsNASNet es el mejor marco de búsqueda en la clasificación de ImageNet. El método de búsqueda y el espacio de búsqueda siguen a DetNAS. El autor lo utiliza como columna vertebral del detector de objetivos. Como se muestra en la tabla anterior, DetNAS es significativamente mejor que ClsNASNet en la detección de objetivos.

En varios conjuntos de datos, el rendimiento de DetNAS es mejor que el DetNAS-stratch (sin entrenamiento previo), lo que refleja la importancia del entrenamiento previo de DetNAS.

para resumir

Este documento propone el primer marco para la búsqueda de la red troncal de la tarea de detección de objetivos, DetNAS. El método incluye tres pasos: entrenamiento previo de la Supernet en ImageNet, ajuste fino de la Supernet en el conjunto de datos de prueba y búsqueda con el algoritmo EA. Los resultados experimentales muestran que el rendimiento de búsqueda de DetNAS supera las arquitecturas de red tradicionales hechas a mano, como ShuffleNet y ResNet en COCO.

referencias

【1】 Tsung-Yi Lin, Piotr Dollár, Ross B. Girshick, Kaiming He, Bharath Hariharan y Serge J. Belongie. Cuenta con redes piramidales para la detección de objetos. En CVPR, páginas 936–944, 2017

【2】 Tsung-Yi Lin, Priya Goyal, Ross B. Girshick, Kaiming He y Piotr Dollár. Pérdida focal para la detección de objetos densos. En ICCV, páginas 2999–3007, 2017

【3】 Tong Yang, Xiangyu Zhang, Zeming Li, Wenqiang Zhang y Jian Sun. Metaanchor: Aprender a detectar objetos con anclajes personalizados. En NIPS, páginas 318–328, 2018

[4] Zeming Li, Chao Peng, Gang Yu, Xiangyu Zhang, Yangdong Deng y Jian Sun. Detnet: Diseño de la columna vertebral para la detección de objetos. En ECCV, páginas 339–354

【5】 Barret Zoph y Quoc V. Le. Búsqueda de arquitectura neuronal con aprendizaje por refuerzo. CoRR, abs / 1611.01578, 2016

【6】 Barret Zoph, Vijay Vasudevan, Jonathon Shlens y Quoc V. Le. Aprendizaje de arquitecturas transferibles para el reconocimiento de imágenes escalables. páginas 8697–8710, 2018

【7】 Esteban Real, Alok Aggarwal, Yanping Huang y Quoc V. Le. Evolución regularizada para la búsqueda de arquitectura de clasificadores de imágenes. CoRR, abs / 1802.01548, 2018

【8】 Hieu Pham, Melody Y. Guan, Barret Zoph, Quoc V. Le y Jeff Dean. Búsqueda eficiente de arquitectura neuronal mediante el uso compartido de parámetros. En ICML, páginas 4092–4101, 2018

【9】 Hanxiao Liu, Karen Simonyan y Yiming Yang. DARTS: búsqueda de arquitectura diferenciable ICLR, abs / 1806.09055, 2019

[10] Sirui Xie, Hehui Zheng, Chunxiao Liu y Liang Lin. SNAS: búsqueda de arquitectura neuronal estocástica. ICLR, abs / 1812.09926, 2019

【11】 Han Cai, Ligeng Zhu y Song Han. Proxylessnas: búsqueda directa de arquitectura neuronal en tareas y hardware de destino. ICLR, abs / 1812.00332, 2019

【12】 Barret Zoph, Vijay Vasudevan, Jonathon Shlens y Quoc V. Le. Aprendizaje de arquitecturas transferibles para el reconocimiento de imágenes escalables. páginas 8697–8710, 2018

【13】 Kaiming He, Ross Girshick y Piotr Dollár. Repensar la formación previa a imagenet. página abs / 1811.08883, 2019

【14】 Zichao Guo, Xiangyu Zhang, Haoyuan Mu, Wen Heng, Zechun Liu, Yichen Wei y Jian Sun. Búsqueda de arquitectura neuronal de un solo paso con muestreo uniforme. Abs / 1904.00420, 2019

Lectura relacionada:

¡Interpretación! Una colección de 8 artículos de NeurIPS 2019, incluidos Beijing Post, Xidian y DeepMind

Supongo que te gusta

Origin blog.csdn.net/AMiner2006/article/details/103253391
Recomendado
Clasificación