Inteligencia artificial
Analítica de datos

¿Qué es la búsqueda de arquitecturas neuronales? AutoML para el aprendizaje profundo

La búsqueda de arquitecturas neuronales promete acelerar el proceso de localización de aquellas redes neuronales que produzcan buenos modelos para un conjunto de datos determinado.

inteligencia artificial

La búsqueda de arquitecturas neuronales es la tarea de encontrar automáticamente una o más arquitecturas para una red neuronal que produzca modelos con buenos resultados (bajas pérdidas), de forma relativamente rápida, para un conjunto de datos determinado. La búsqueda de arquitectura neuronal es actualmente un área emergente. Se está investigando mucho, hay muchos enfoques diferentes para la tarea, y no hay un único método mejor en general, ni siquiera un único método mejor para un tipo de problema especializado, como la identificación de objetos en imágenes.

La búsqueda de arquitecturas neuronales es un aspecto de AutoML, junto con la ingeniería de características, el aprendizaje de transferencia y la optimización de hiperparámetros. Es probablemente el problema de aprendizaje automático más difícil que se está investigando actualmente; incluso la evaluación de los métodos de búsqueda de arquitecturas neuronales es difícil. La investigación de la búsqueda de arquitecturas neuronales también puede ser costosa y requerir mucho tiempo. La métrica del tiempo de búsqueda y de entrenamiento se da a menudo en días-GPU, a veces miles de días-GPU.

La motivación para mejorar la búsqueda de arquitecturas neuronales es bastante obvia. La mayoría de los avances en los modelos de redes neuronales, por ejemplo, en la clasificación de imágenes y la traducción de idiomas, han requerido un considerable ajuste manual de la arquitectura de la red neuronal, lo que lleva mucho tiempo y es propenso a errores. Incluso comparado con el coste de las GPU de gama alta en las nubes públicas, el coste de los científicos de datos es muy elevado, y su disponibilidad tiende a ser baja.

 

Evaluación de la búsqueda de arquitecturas neuronales

Como han observado varios autores (por ejemplo, Lindauer y Hutter, Yang et al., y Li y Talwalkar), muchos estudios de búsqueda de arquitectura neuronal (NAS) son irreproducibles, por varias razones. Además, muchos algoritmos de búsqueda de arquitecturas neuronales no superan la búsqueda aleatoria (con criterios de terminación temprana aplicados) o nunca se compararon con una línea de base útil.

Yang et al. demostraron que muchas técnicas de búsqueda de arquitecturas neuronales tienen dificultades para superar significativamente una línea de base de arquitectura media muestreada aleatoriamente. (Llamaron a su artículo "La evaluación del NAS es frustrantemente difícil"). También proporcionaron un repositorio que incluye el código utilizado para evaluar los métodos de búsqueda de arquitecturas neuronales en varios conjuntos de datos diferentes, así como el código utilizado para aumentar las arquitecturas con diferentes protocolos.

Lindauer y Hutter han propuesto una lista de comprobación de las mejores prácticas de NAS basada en su artículo (al que también se ha hecho referencia anteriormente):

Mejores prácticas para la publicación de código

Para todos los experimentos de los que informe, compruebe si ha publicado:

  • Código para la canalización de entrenamiento utilizado para evaluar las arquitecturas finales.
  • Código del espacio de búsqueda
  • Los hiperparámetros utilizados para la evaluación final, así como las semillas aleatorias
  • Código para su método NAS
  • Hiperparámetros para su método NAS, así como las semillas aleatorias

Tenga en cuenta que la forma más fácil de satisfacer los tres primeros es utilizar los puntos de referencia NAS existentes, en lugar de cambiarlos o introducir otros nuevos.

Mejores prácticas para comparar métodos NAS

  • Para todos los métodos NAS que compara, ¿utilizó exactamente el mismo punto de referencia NAS, incluyendo el mismo conjunto de datos (con la misma división de entrenamiento y prueba), espacio de búsqueda y código para entrenar las arquitecturas y los hiperparámetros para ese código?
  • ¿Controló los factores de confusión (diferente hardware, versiones de bibliotecas DL, diferentes tiempos de ejecución para los diferentes métodos)?
  • ¿Realizó estudios de ablación?
  • ¿Ha utilizado el mismo protocolo de evaluación para los métodos que se comparan?
  • ¿Comparó el rendimiento a lo largo del tiempo?
  • ¿Comparó con la búsqueda aleatoria?
  • ¿Realizó múltiples ejecuciones de sus experimentos y reportó semillas?
  • ¿Utilizó puntos de referencia tabulares o sustitutos para las evaluaciones en profundidad?

Mejores prácticas para reportar detalles importantes

  • ¿Informó de cómo ajustó los hiperparámetros y qué tiempo y recursos requirió?
  • ¿Informó del tiempo de todo el método NAS (en lugar de, por ejemplo, sólo de la fase de búsqueda)?
  • ¿Informó de todos los detalles de su configuración experimental?

Vale la pena discutir el término "estudios de ablación" mencionado en el segundo grupo de criterios. Los estudios de ablación se referían originalmente a la extirpación quirúrgica de tejido corporal. Cuando se aplican al cerebro, los estudios de ablación (generalmente motivados por una enfermedad grave, y la investigación se realiza después de la cirugía) ayudan a determinar la función de partes del cerebro.

En la investigación de redes neuronales, la ablación significa eliminar características de las redes neuronales para determinar su importancia. En la investigación de las redes neuronales, se refiere a la eliminación de características de las técnicas de búsqueda y entrenamiento, incluidos los componentes ocultos, de nuevo para determinar su importancia.

 

Métodos de búsqueda de arquitecturas neuronales

Elsken et al. (2018) realizó una encuesta sobre los métodos de búsqueda de arquitecturas neuronales y los clasificaron en términos de espacio de búsqueda, estrategia de búsqueda y estrategia de estimación del rendimiento. Los espacios de búsqueda pueden ser para arquitecturas completas, capa por capa (macro búsqueda), o pueden restringirse a ensamblar células predefinidas (búsqueda de células). Las arquitecturas construidas a partir de células utilizan un espacio de búsqueda drásticamente reducido; Zoph et al. (2018) estiman un aumento de velocidad de 7 veces.

Las estrategias de búsqueda para las arquitecturas neuronales incluyen la búsqueda aleatoria, la optimización bayesiana, los métodos evolutivos, el aprendizaje de refuerzo y los métodos basados en el gradiente. Ha habido indicios de éxito para todos estos enfoques, pero ninguno ha destacado realmente.

La forma más sencilla de estimar el rendimiento de las redes neuronales es entrenarlas y validarlas con datos. Desgraciadamente, esto puede llevar a demandas computacionales del orden de miles de días de GPU para la búsqueda de arquitecturas neuronales. Entre las formas de reducir el cálculo se encuentran las estimaciones de menor fidelidad (menos épocas de entrenamiento, menos datos y modelos reducidos); la extrapolación de la curva de aprendizaje (basada en unas pocas épocas); el entrenamiento en caliente (se inicializan los pesos copiándolos de un modelo principal); y los modelos one-shot con reparto de pesos (los subgráficos utilizan los pesos del modelo one-shot). Todos estos métodos pueden reducir el tiempo de entrenamiento a unos pocos días de GPU en lugar de unos miles de días de GPU. Sin embargo, todavía no se conocen bien los sesgos que introducen estas aproximaciones.

 

Proyecto Petridish de Microsoft

Microsoft Research afirma haber desarrollado un nuevo enfoque para la búsqueda de arquitecturas neuronales que añade conexiones de acceso directo a las capas de red existentes y utiliza el reparto de pesos. Las conexiones de acceso directo añadidas realizan efectivamente el refuerzo del gradiente en las capas aumentadas. A esto lo llaman Proyecto Petridish.

Supuestamente, este método reduce el tiempo de entrenamiento a unos pocos días de GPU en lugar de unos miles de días de GPU, y permite el entrenamiento en caliente. Según los investigadores, el método funciona bien tanto en la búsqueda de celdas como en la búsqueda de macros.

Los resultados experimentales citados fueron bastante buenos para el conjunto de datos de imágenes CIFAR-10, pero nada especial para el conjunto de datos lingüísticos Penn Treebank. Aunque el proyecto Petridish parece interesante tomado de forma aislada, sin una comparación detallada con los otros métodos discutidos, no está claro si es una mejora importante para la búsqueda de arquitecturas neuronales en comparación con los otros métodos de aceleración que hemos discutido, o simplemente otra forma de llegar al mismo lugar.



Contenido Patrocinado

Forma parte de nuestra comunidad

 

¿Te interesan nuestras conferencias?

 

 
Cobertura de nuestros encuentros
 
 
 
 
Lee aquí nuestra revista de canal

DealerWorld Digital