Un espacio de Búsqueda de arquitectura neuronal es clave para lograr un buen rendimiento. Este define todas las arquitecturas o parámetros posibles para explorar y buscar. La Búsqueda de arquitectura neuronal proporciona un conjunto de espacios de búsqueda predeterminados en el archivo search_spaces.py
:
Mnasnet
Efficientnet_v2
Nasfpn
Spinenet
Spinenet_v2
Spinenet_mbconv
Spinenet_scaling
Randaugment_detection
Randaugment_segmentation
AutoAugmentation_detection
AutoAugmentation_segmentation
Además, proporcionamos los siguientes ejemplos de espacio de búsqueda:
- Espacio de búsqueda Lidar para nubes de punto 3D
- Ejemplo de espacio de búsqueda de segmentación de imágenes médicas en 3D de PyTorch
- Ejemplo de espacio de búsqueda PyTorch MnasNet
El notebook de Lidar publica los resultados de verificación en el notebook. El resto del código de los espacios de búsqueda de PyTorch se usará solo como ejemplo y no para la evaluación comparativa.
Cada uno de estos espacios de búsqueda tiene un caso de uso específico:
- El espacio de búsqueda de MNasNet se usa para la clasificación de imágenes y las tareas de detección de objetos, y se basa en la arquitectura de MobileNetV2.
- El espacio de búsqueda de EfficientNetV2 se usa para las tareas de detección de objetos. EfficientNetV2 agrega operaciones nuevas, como Fused-MBCon. Consulta el documento de EfficientNetV2 para obtener más detalles.
- Por lo general, el espacio de búsqueda NAS-FPN se usa para la detección de objetos. Puedes encontrar una descripción detallada en esta sección.
La familia de espacios de búsqueda de SpineNet incluye
spinenet
,spinenet_v2
,spinenet_mbconv
yspinenet_scaling
. Por lo general, también se usan para la detección de objetos. Puedes encontrar una descripción detallada de SpineNet en esta sección.spinenet
es el espacio de búsqueda base en esta familia que ofrece candidatos con bloqueos residuales y de cuello de botella durante la búsqueda.spinenet_v2
ofrece una versión más pequeña despinenet
que puede ayudar a una convergencia más rápida, ofreciendo solo candidatos con bloqueos de cuello de botella durante la búsqueda.spinenet_mbconv
ofrece una versión despinenet
para las plataformas móviles y usa los candidatos de bloqueo mbconv durante la búsqueda.spinenet_scaling
se suele usar después de encontrar una buena arquitectura mediante el uso del espacio de búsquedaspinenet
para aumentar o reducir la escala a fin de cumplir con los requisitos de latencia. Esta búsqueda se realiza en elementos como el tamaño de la imagen, la cantidad de filtros, el tamaño del filtro y la cantidad de repeticiones de bloque.
Los espacios de búsqueda Randagoment y AutoMayment te permiten buscar operaciones óptimas de magnificación de datos para la detección y segmentación, respectivamente. Nota: Por lo general, la magnificación de datos se suele utilizar después de que un modelo se haya buscado. Puedes encontrar una descripción detallada de DataAugmentation en esta sección.
El espacio de búsqueda Lidar para las nubes de puntos en 3D muestra una búsqueda de extremo a extremo en el marcador, la red troncal, el decodificador y el encabezado de detección.
El ejemplo del espacio de búsqueda de segmentación de imágenes médicas de 3D PyTorch muestra la búsqueda en el codificador de UNet y el decodificador de UNet.
La mayoría de las veces, estos espacios de búsqueda predeterminados son suficientes. Sin embargo, si es necesario, puedes personalizar los que ya existen o agregar uno nuevo según sea necesario mediante la biblioteca PyGlove. Consulta el código de ejemplo para especificar el espacio de búsqueda de NAS-FPN.
Espacio de búsqueda MNasnet y EfficientNetV2
Los espacios de búsqueda MNasNet y EfficientV2 definen diferentes opciones de compilación de backbone
, como ConvOps
, KernelSize
y ChannelSize
. El backbone
se puede usar para diferentes tareas como la clasificación y la detección.
Espacio de búsqueda NAS-FPN
El espacio de búsqueda NAS-FPN define el espacio de búsqueda en las capas de FPN que conectan diferentes niveles de atributos para la detección de objetos, como se muestra en la siguiente figura.
Espacio de búsqueda SpineNet
El espacio de búsqueda SpineNet permite buscar una red troncal con atributos intermedios de permutados a escala y conexiones a escala cruzada, con un rendimiento de vanguardia de la detección de objetos de una etapa en COCO que tienen un 60% menos de procesamiento, y supera a las contrapartes de ResNet-FPN en un AP del 6%. Las siguientes son conexiones de capas troncales en la arquitectura SpineNet-49 de búsqueda.
Espacio de búsqueda de magnificación de datos
Después de buscar la mejor arquitectura, también puedes buscar una mejor política de aumento de datos. La magnificación de datos puede mejorar aún más la exactitud de la arquitectura que se consultó antes.
La plataforma de Búsqueda de arquitectura neuronal proporciona espacios de búsqueda de magnificación de Randagoment y AutoAgment para dos tareas: (a) randaugment_detection para la detección de objetos y (b) randaugment_segmentation para la segmentación. Elige de forma interna entre una lista de operaciones de magnificación, como el contraste automático, la distorsión o la rotación, que se aplicarán a los datos de entrenamiento.
Espacio de búsqueda RandAugment
El espacio de búsqueda RandAugment se configura mediante dos parámetros: (a) N
, que es la cantidad de operaciones de magnificación sucesivas que se aplicarán a una imagen y (b) M
, que es la magnitud de TODAS esas operaciones Por ejemplo, en la siguiente imagen, se muestra un ejemplo en el que se aplican operaciones N=2 (distorsionar y contrastar) con diferentes M=magnitud aplicada a una imagen.
Para un valor determinado de N, la lista de operaciones se selecciona de forma aleatoria del banco de operaciones. La búsqueda de magnificación encuentra el mejor valor de N
y M
para el trabajo de entrenamiento en cuestión. La búsqueda no usa una tarea de proxy y, por lo tanto, ejecuta los trabajos de entrenamiento hasta el final.
Espacio de búsqueda AutoAugment
El espacio de búsqueda de AutoAgment te permite buscar operaciones choice
, magnitude
y probability
para optimizar el entrenamiento de tu modelo.
El espacio de búsqueda AutoAgment te permite buscar las opciones de la política, que Randagoment no admite.