BANANAS: optimización bayesiana con arquitecturas neuronales para la búsqueda de arquitectura neuronal

BANANAS: Optimización Bayesiana en Arquitectura Neural

inserte la descripción de la imagen aquí

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

Dirección del proyecto: https://github.com/naszilla/naszilla

Abstracto

En los últimos cinco años, se han considerado muchos enfoques para la búsqueda de arquitectura neuronal (NAS). La optimización bayesiana (BO), que durante mucho tiempo ha tenido éxito en la optimización de hiperparámetros, ha surgido recientemente como una estrategia NAS muy prometedora cuando se combina con predictores neuronales. El trabajo reciente propone diferentes instancias de este marco, por ejemplo, el uso de redes neuronales bayesianas o redes convolucionales de gráficos como modelos predictivos en BO. Sin embargo, los análisis en estos documentos generalmente se enfocan en algoritmos NAS bien establecidos, lo que dificulta juzgar qué componente individual del marco producirá el mejor rendimiento. Este documento proporciona un análisis en profundidad del marco "BO + Predictor neuronal" desde cinco aspectos: codificación estructural, predictor neuronal, método de calibración de incertidumbre, función de adquisición y estrategia de optimización de adquisición. Probamos varios enfoques diferentes para cada componente y desarrollamos un nuevo esquema de codificación basado en rutas para arquitecturas neuronales, que demostramos teórica y empíricamente para escalar mejor que otras codificaciones. Usando todos nuestros análisis, desarrollamos un algoritmo final llamado BANANAS, que logra un rendimiento de última generación en los espacios de búsqueda NAS. Nos adherimos a la lista de verificación de investigación de NAS (Lindauer y Hutter 2019) para promover las mejores prácticas.

1. Introducción

Desde la revolución del aprendizaje profundo en 2012, las redes neuronales se han vuelto cada vez más complejas y especializadas [25, 17, 57]. El desarrollo de nuevas arquitecturas de vanguardia a menudo requiere amplios conocimientos de ingeniería y dominio. Un campo de investigación en rápido crecimiento, Neural Architecture Search (NAS), intenta automatizar este proceso. Desde el popular trabajo de Zoph y Le [79], ha habido una oleada de investigaciones sobre NAS [34, 42, 35, 21, 10, 19]. Se han propuesto muchos métodos, incluida la búsqueda evolutiva, el aprendizaje por refuerzo, la optimización bayesiana (BO) y el descenso de gradiente. Los ceros como BO se pueden usar en algunos casos debido a las ventajas del paralelismo simple, la optimización conjunta con otros hiperparámetros, la facilidad de implementación, la portabilidad a diferentes espacios de arquitectura y la optimización a otros/múltiples objetivos no diferenciables. diferenciables) son de más interés que las técnicas de primer orden (one-shot).

El proceso gaussiano BO (gp) ha logrado el éxito en la optimización de hiperparámetros de aprendizaje profundo [14, 11] y es un método líder para la optimización eficiente de orden cero de funciones costosas en el espacio euclidiano. Sin embargo, los enfoques iniciales para aplicar BO basado en GP a NAS enfrentan desafíos que limitan su capacidad para obtener resultados de vanguardia. Por ejemplo, los enfoques iniciales requieren especificar una función de distancia entre arquitecturas, lo que implica un tedioso ajuste de hiperparámetros [21, 19] y requiere un paso de inversión de matriz que requiere mucho tiempo.

Recientemente, la optimización bayesiana con predictores neuronales se ha convertido en un marco de alto rendimiento para NAS. Este marco evita los problemas antes mencionados de BO en NAS: no hay necesidad de construir funciones de distancia entre arquitecturas, y los predictores neuronales se escalan mucho mejor que los modelos GP. Estudios recientes han propuesto diferentes instancias de este marco, por ejemplo, redes neuronales bayesianas con BO [53] y redes neuronales gráficas con BO [48, 36]. Sin embargo, estos análisis generalmente se enfocan en algoritmos NAS maduros, lo que dificulta juzgar qué componentes del marco conducen al mejor rendimiento.

En este trabajo, primero realizamos un análisis exhaustivo del marco "BO + Neural Predictor". Identificamos cinco componentes principales del marco: codificación arquitectónica, predictor neuronal, método de calibración de incertidumbre, función de adquisición y estrategia de optimización de adquisición. Por ejemplo, los predictores neuronales pueden usar redes convolucionales gráficas, redes basadas en codificadores automáticos variacionales o redes de avance, y los métodos de calibración de incertidumbre pueden usar redes neuronales bayesianas o diferentes tipos de métodos de conjunto. Después de realizar experimentos en todos los componentes del marco de predicción neuronal BO+, usamos este análisis para definir una instancia de alto rendimiento de este marco, que llamamos BANANAS: optimización bayesiana de arquitecturas neuronales para NAS.

Para lograr la mayor precisión para el predictor neuronal, también definimos una nueva codificación arquitectónica basada en rutas, a la que llamamos codificación de rutas. La motivación para la codificación de rutas es la siguiente. Cada arquitectura en el espacio de búsqueda se puede representar como un gráfico acíclico dirigido (DAG) etiquetado: un conjunto de nodos y bordes dirigidos, y una lista de operaciones representadas por cada nodo (o borde). Sin embargo, es difícil para las redes neuronales interpretar las matrices de adyacencia [78] porque las características dependen en gran medida unas de otras. En contraste, cada característica en nuestro esquema de codificación de ruta representa una ruta única que un tensor puede tomar desde una capa de entrada a una capa de salida de la arquitectura. Demostramos teórica y experimentalmente que esta codificación se escala mejor que la codificación de matriz de adyacencia y permite que los predictores neuronales logren una mayor precisión.

Comparamos BANANAS con una serie de algoritmos NAS populares, incluidos Random Search [30], DARTS [35], Regularized Evolution [44], BOHB [11], NASBOT [21], Local Search [66], TPE [4], BONAS[48], BOHAMIANN[53], REINFORCE[67], BO basado en GP[50], AlphaX[62], ASHA[30], GCN Predictor[64] y DNGO[52]. BANANAS logra un rendimiento de vanguardia en NASBench-101 y es competitivo en todos los conjuntos de datos de NASBench-201. Estudios posteriores también demostraron que BANANAS es competitivo en NASBench-301 incluso en comparación con métodos de primer orden como DARTS [35], PC-DARTS [69] y GDAS [8] [49].

Finalmente, para mejorar la reproducibilidad, discutimos en el Apéndice E cómo nuestros experimentos se adhieren a la lista de verificación de mejores prácticas de NAS [33]. En particular, llevamos a cabo experimentos en espacios de búsqueda conocidos y canalizaciones NAS, realizamos suficientes pruebas para alcanzar la significación estadística y publicamos nuestro código.

nuestra contribución . Resumimos nuestras principales contribuciones.

  • Analizamos un marco NAS simple: Optimización Bayesiana con Predictor Neural, y probamos minuciosamente cinco componentes: Codificación, Predictor Neural, Calibración, Función de Adquisición y Optimización de Adquisición.
  • Proponemos una nueva codificación de arquitectura basada en rutas que mejora la precisión de los predictores neuronales. Los resultados teóricos y experimentales muestran que la codificación de ruta tiene mejor escalabilidad que la codificación de matriz de adyacencia.
  • Usamos nuestro análisis para desarrollar BANANAS, una instanciación de alto rendimiento del marco antes mencionado. Nuestra experiencia muestra que BANANAS está a la vanguardia en los puntos de referencia populares de NAS.

2 implicaciones sociales

Nuestro trabajo proporciona un nuevo enfoque para la búsqueda de arquitectura neuronal destinado a mejorar el rendimiento en futuras investigaciones de aprendizaje profundo. Como resultado, tenemos mucho menos control sobre el impacto neto de nuestro trabajo en la sociedad. Por ejemplo, nuestro trabajo podría usarse para ajustar optimizadores de aprendizaje profundo para reducir la huella de carbono de las grandes centrales eléctricas, pero podría usarse con la misma facilidad para mejorar los generadores falsos profundos. Obviamente, el primer ejemplo tendrá un impacto positivo en la sociedad, mientras que el segundo ejemplo puede tener un impacto negativo.

Nuestro trabajo es un nivel de abstracción para aplicaciones prácticas, pero nuestro algoritmo y el campo más amplio de NAS podrían ser un importante paso adelante en el avance del campo de la inteligencia artificial. Motivados por un razonamiento explícito reciente sobre el impacto de la investigación en IA [16], esperamos que la búsqueda de arquitectura neuronal se utilice para beneficiar a la sociedad.

3 Trabajo relacionado

NAS se ha estudiado desde al menos la década de 1990 y ha ganado una atención significativa en los últimos años [22, 56, 79]. Algunas de las técnicas NAS recientes más populares incluyen algoritmos evolutivos [37], aprendizaje por refuerzo [79, 42], BO [21] y descenso de gradiente [35]. Para una revisión de la búsqueda de arquitectura neuronal, consulte [10].

El método BO inicial define una función de distancia entre arquitecturas [21, 19]. Varios estudios han predicho la precisión de validación de las redes neuronales [23, 6, 18, 74, 1]. Algunos artículos recientes utilizan la optimización bayesiana con redes neuronales gráficas como predictores [36, 48]; sin embargo, no realizan estudios con pérdidas en todos los componentes del marco. En este trabajo, no afirmamos haber inventado el marco de predicción neuronal BO+, sin embargo, presentamos el análisis más profundo que conocemos, que utilizamos para diseñar instancias de alto rendimiento del marco.

También hay trabajos previos sobre la optimización de hiperparámetros en BO utilizando modelos de redes neuronales [52, 53] El objetivo explícito de estos documentos es mejorar la eficiencia de BO basado en el proceso gaussiano de tiempo cúbico a tiempo lineal, no para mejorar la eficiencia de BO en iterativo Se desarrollan diferentes tipos de modelos predictivos en función de su desempeño en términos de tiempos.

Documentos recientes exigen experimentos justos y reproducibles [30,72]. Con base en esta idea, creamos conjuntos de datos NASBench-101 [72], -201 [9] y -301 [49], que contienen decenas de miles de arquitecturas neuronales preentrenadas. Proporcionamos detalles adicionales del trabajo relacionado en el Apéndice A.

trabajo de seguimiento . Desde su lanzamiento, varios artículos incorporaron BANANAS en nuevos experimentos, lo que demuestra aún más que BANANAS es un algoritmo NAS competitivo [24, 49, 40, 45, 63]. Finalmente, un artículo reciente investiga varias codificaciones utilizadas por NAS [65] y concluye que los predictores neuronales funcionan bien con las codificaciones de ruta.

4 BO + marco de predicción neuronal

En esta sección, presentamos los antecedentes de BO y describimos el marco de predicción de BO+neural. En las aplicaciones BO de aprendizaje profundo, el objetivo típico es encontrar una arquitectura neuronal y/o un conjunto de hiperparámetros que conduzcan al mejor error de validación. Formalmente, BO busca calcular a ⋆ = argmina ∈ A f ( a ) a^{\star}= \mathbb{arg min}_{a \in A} f (a)a=a r g mina Af ( a ) , dondeAAA es el espacio de búsqueda,f ( a ) f(a)f ( a ) representa la arquitectura aadespués de un número fijo de entrenamiento de época en un conjunto de datos fijoEl error de validación de un . En la configuración estándar de BO, en una serie de iteraciones, la topología de {f(a)}a ∈ a se modela usando los resultados de todas las iteraciones anteriores usando la distribución posterior del modelo (generalmente GP). A continuación, se selecciona la siguiente arquitectura mediante la optimización de la función de adquisición, como la mejora esperada (EI) [38] o el muestreo de Thompson (TS) [59] . Estas características equilibran la exploración y la explotación durante el proceso de búsqueda. Luego, la arquitectura seleccionada se entrena y se usa para actualizar{ f ( a ) } a ∈ A \{f(a)\}_{a \in A}{ f ( un ) }a Amodelo. Calcule f ( a ) f(a) en cada iteraciónf ( a ) es el cuello de botella de BO (porque la red neuronal tiene que ser entrenada). Para paliar esta situación, los métodos de BO paralelos suelen generar k arquitecturas para el entrenamiento en cada iteración, de modo que las k arquitecturas se puedan entrenar en paralelo.

BO + marco predictor neuronal . En cada iteración de BO, revisamos todas las arquitecturas previamente evaluadas aaEntrene una red neuronal en a para predecir la precisión de validación f para arquitecturas invisiblesf ( a ) f(a)f ( un ) . Estas arquitecturas se representan como DAG etiquetados [72, 9], con diferentes métodos de codificación [72, 65] antes de que los DAG pasen al predictor neuronal, que describimos en la siguiente sección. Las opciones para los predictores neuronales incluyen redes de avance, redes convolucionales de gráficos (GCN) y redes basadas en codificadores automáticos variacionales (VAE). Para evaluar la función de adquisición, también calculamos una estimación de incertidumbre para cada punto de datos de entrada. Esto se puede lograr mediante el uso de redes neuronales bayesianas o conjuntos de predictores neuronales. Dadas las capacidades de adquisición, se ejecuta la rutina de optimización de adquisición, que devuelve la siguiente arquitectura a evaluar. En la siguiente sección, analizaremos en detalle las elecciones que se deben hacer al instanciar el marco.

5 Análisis del Marco

En esta sección, llevamos a cabo un extenso estudio sobre el marco predictor neuronal BO+. Primero, discutimos la codificación de esquema y definimos una nueva propiedad llamada codificación de ruta. A continuación, se analizan diferentes opciones de predictores neuronales. A continuación, analizamos diferentes enfoques para obtener estimaciones de incertidumbre de calibración a partir de predictores neuronales. Posteriormente, experimentamos con diferentes funciones de adquisición y estrategias de optimización de adquisición. Finalmente, usamos estos análisis para crear nuestro algoritmo BANANAS.

En esta sección, realizamos experimentos en el conjunto de datos NASBench-101 (los experimentos en otros espacios de búsqueda se dan en la Sección 6). El conjunto de datos NASBench-101 [72] consta de más de 423 000 arquitecturas neuronales de un espacio de búsqueda basado en celdas, cada una con validación precalculada y precisión de prueba en CIFAR-10. El espacio de búsqueda consta de un DAG con 7 nodos, cada nodo puede realizar 3 operaciones diferentes y puede haber hasta 9 bordes entre nodos. Usamos la versión de código abierto del conjunto de datos NASBench-101 [72]. Brindamos detalles completos sobre el uso de NASBench-101 en el Apéndice D.

Codificaciones de arquitectura La mayoría de los trabajos de predictores neuronales existentes utilizan representaciones de matriz de adyacencia para codificar arquitecturas neuronales. La codificación de la matriz de adyacencia da un orden arbitrario de los nodos y luego da las características binarias del borde entre el nodo i y el nodo j, para todo i < ji < ji<j . Luego, la lista de operaciones en cada nodo también debe incluirse en la codificación. Esta es una estructura de datos desafiante para los predictores neuronales, ya que se basa en índices arbitrarios de nodos y las características dependen en gran medida entre sí. Por ejemplo, un borde desde una entrada hasta el nodo 2 es inútil si no hay una ruta desde el nodo 2 hasta la salida. Si hay un borde desde el nodo 2 hasta la salida, este borde está altamente correlacionado con las características que describen la operación del nodo 2 (conv 1x1, pool 3x3, etc.). También se han probado variantes de valor continuo de codificación de matriz de adyacencia [72].

Presentamos una nueva codificación, a la que llamamos codificación de ruta, que mostramos mejora sustancialmente el rendimiento de los predictores neuronales. Las codificaciones de ruta son fáciles de definir: cada ruta desde la entrada hasta la salida de una unidad arquitectónica tiene una característica binaria, dada en forma de operación (por ejemplo, entrada → conv 1x1 → grupo 3x3 → salida). Para codificar una arquitectura, simplemente verificamos qué rutas existen en la arquitectura y establecemos la función correspondiente en 1. Consulte la Figura 5.1. Intuitivamente, la codificación de ruta tiene varias ventajas poderosas. Las características no son interdependientes como en la codificación de matriz de adyacencia, porque cada característica representa una ruta única que un tensor de datos puede tomar desde un nodo de entrada a un nodo de salida. Además, ya no existe un orden arbitrario de nodos, lo que significa que cada estructura neuronal se asigna a una sola codificación (esto no es cierto para las codificaciones de matriz de adyacencia). Por otro lado, varias arquitecturas pueden asignarse a la misma codificación de ruta (es decir, la codificación está bien definida, pero no uno a uno). Sin embargo, estudios posteriores han demostrado que las arquitecturas con la misma codificación de ruta también tienen errores de validación muy similares [65], lo que es beneficioso en los algoritmos NAS.

inserte la descripción de la imagen aquí

La longitud de la codificación de la ruta es el número total de rutas posibles en una celda, Σ i = 0 nqi \Sigma^n_{i=0} q^iSyo = 0nqyo , de los cualesnnn representa el número de nodos en la unidad,qqq representa el número de operaciones para cada nodo. Sin embargo, presentamos evidencia teórica y experimental de que las codificaciones de ruta sustancialmente truncadas, incluso de menor longitud que las codificaciones de matriz de adyacencia, no degradan su rendimiento. Muchos algoritmos NAS muestrean arquitecturas muestreando aleatoriamente los bordes en un DAG bajo la restricción de borde máximo [72].

Intuitivamente, la probabilidad de que la gran mayoría de los caminos ocurran en las celdas devueltas por este procedimiento es muy baja. Por lo tanto, simplemente truncando las rutas menos probables, nuestra codificación se escala linealmente en el tamaño de la unidad con una cantidad arbitrariamente pequeña de pérdida de información. En el siguiente teorema, sea G n , k , r G_{n,k,r}GRAMOnorte , k , rsignifica tener nnArquitectura DAG de n nodos con rrr opciones de operación, donde cada posible borde delantero (un total den ( n − 1 ) 2 \frac{n(n−1)}{2}2norte ( norte - 1 )) se selecciona con una probabilidad de 2 kn ( n − 1 ) \frac{2k}{n(n−1)}norte ( norte - 1 )2k _(así, el número deseado de aristas es kkk )。

Teorema 5.1 (informal) . Dado un entero r , c > 0 r, c>0r ,C>0 , existe un N,NNN tal que∀ n > N \forall n>Nnorte>N , existeunEl conjunto de n caminosP ′ \mathcal{P}^{\prime}PAG , tal queG n , n + c , r G_{n, n+c, r}GRAMOnorte , norte + c , rP ′ \mathcal{P}^{\prime} que contiene caminos que no están en P0PAG La probabilidad es menor que1 n 2 \frac{1}{n^2}norte21

Para la declaración formal y la prueba completa, consulte el Apéndice C. El teorema muestra que cuando n es lo suficientemente grande, con alta probabilidad, podemos truncar la codificación de la ruta solo al tamaño de n sin pérdida de información. Si bien la naturaleza asintótica de este resultado lo convierte en una prueba de concepto, mostramos empíricamente en la Figura 5.1 que en BANANAS que se ejecutan en NASBench-101, la codificación de la ruta puede variar de Σ i = 0 5 3 i = 364 \Sigma ^ 5_ {i=0} 3^i=364Syo = 053i=El tamaño completo de 364 bits se trunca a solo 20 bits de longitud sin pérdida de rendimiento. (La configuración experimental exacta para este resultado se describe más adelante en esta sección). De hecho, el rendimiento después del truncamiento mejora un poco. Creemos que esto se debe a que el predictor neural se sobreajusta a rutas muy raras utilizando codificaciones de longitud completa. Enel Apéndice D, mostramos resultados similares para NASBench-201 [9]:Σ i = 0 3 5 i = 156 \Sigma^3_{i=0} 5^i=156Syo = 035i=La longitud completa del código de ruta de 156 se puede truncar a 30 sin pérdida de rendimiento.

predicción neuronal . Ahora estudiamos el Predictor neuronal, que es un componente clave del marco del Predictor neuronal BO+. Recuerde de la sección anterior que un predictor neuronal es una red neuronal que se entrena repetidamente en el conjunto de arquitecturas neuronales evaluado actualmente y predice la precisión de las arquitecturas neuronales no vistas. El trabajo anterior utilizó GCN [48, 36] o arquitecturas basadas en Vae [75] para esta tarea. Evaluamos el rendimiento de las redes neuronales feed-forward estándar utilizando una matriz de adyacencia o codificación basada en rutas y lo comparamos con VAE y GCN en términos de precisión de validación para predecir arquitecturas neuronales. La red neuronal feed-forward que utilizamos es una red continua totalmente conectada con 10 capas y un ancho de 20, con una tasa de aprendizaje del optimizador de Adam de 0,01 y una función de pérdida configurada como error absoluto medio (MAE). Usamos implementaciones de código abierto de GCN [76] y VAE [75]. Consulte el Apéndice D para obtener una descripción completa de nuestra implementación.

En la Figura 5.2 (izquierda), comparamos diferentes predictores neuronales, así como la precisión de la validación, entrenándolos en un conjunto de arquitecturas neuronales extraídas de NASBench-101, luego calculadas en un conjunto de prueba de retención de tamaño 1000 MAE. Realizamos 50 pruebas con diferentes tamaños de conjuntos de entrenamiento y promediamos los resultados. Los predictores neuronales de mejor rendimiento son las redes de avance y los GCN con codificación de ruta (con y sin truncamiento). El tiempo de ejecución de la red feed-forward también es más corto en comparación con GCN y VAE, sin embargo, el tiempo de ejecución del algoritmo NAS completo es principalmente para evaluar la arquitectura neuronal en lugar de entrenar el predictor neuronal.

inserte la descripción de la imagen aquí

Corrección de incertidumbre . En la sección anterior, evaluamos predictores neuronales independientes. Para incorporarlos en BO, para cualquier punto de datos, un predictor neuronal debe generar una predicción y una estimación de incertidumbre para esa predicción. Dos formas comunes de lograr la incertidumbre son el uso de redes neuronales bayesianas (BNN) o el uso de conjuntos de predictores neuronales. En BNN, inferimos la distribución posterior de los pesos de la red. Recientemente se ha demostrado que se puede lograr una predicción precisa y una estimación de la incertidumbre de las redes neuronales utilizando el algoritmo hamiltoniano de Monte Carlo [53]. En el enfoque de conjunto, entrenamos m predictores neuronales con diferentes inicializaciones de peso aleatorio y órdenes de conjuntos de entrenamiento. Luego, para un punto de datos arbitrario, podemos calcular la media y la desviación estándar de estas m predicciones. En algunos casos, incluso los conjuntos de redes neuronales de tamaños 3 y 5 brindan estimaciones de incertidumbre más confiables que otros métodos líderes como BNN [28, 3, 5, 51, 73].

Comparamos las estimaciones de incertidumbre de los BNN con un conjunto de tamaño 5 para cada predictor neuronal descrito en la sección anterior. Usamos la implementación BOHAMIANN [53] para el BNN, que entrenamos cinco veces más para asegurar una comparación justa con el conjunto. La configuración experimental es similar a la sección anterior, pero calculamos una métrica estándar para la calibración: Error de calibración cuadrático medio (RMSCE) [26, 60] en el conjunto de prueba. Consulte la Figura 5.2 (centro). Intuitivamente, el RMSCE es bajo si un método produce una estimación de pronóstico bien calibrada (es decir, la cobertura del intervalo de predicción es igual a la cobertura observada). De acuerdo con el trabajo anterior, todos los predictores basados ​​en conjuntos produjeron mejores estimaciones de incertidumbre que los BNN. Tenga en cuenta que RMSCE solo mide la calidad de las estimaciones de incertidumbre y no tiene nada que ver con la precisión de la predicción. Por lo tanto, al evaluar predictores neurales, debemos considerar tanto la predicción (Fig. 5.2 a la izquierda) como el RMSCE (Fig. 5.2 en el medio).

Finalmente, evaluamos el rendimiento de cada predictor neuronal dentro del marco completo de predictor neuronal + BO. Utilizamos el muestreo y la mutación independientes de Thompson para la optimización de la adquisición (que se describe con más detalle en la siguiente sección) utilizando el método descrito en la Sección 4. Cada algoritmo tiene un presupuesto de 47 horas de TPU, o aproximadamente 150 evaluaciones de arquitectura neuronal en NASBench-101. Es decir, hay 150 iteraciones para entrenar un predictor neuronal y seleccionar una nueva arquitectura para evaluar usando la función de adquisición. El algoritmo genera 10 arquitecturas en cada iteración de BO para una mejor paralelización, como se describe en la sección anterior. Después de cada iteración, devolvemos los errores de prueba del esquema, que contienen los mejores errores de validación encontrados hasta el momento. Realizamos 200 pruebas para cada algoritmo y promediamos los resultados. Esta es la misma configuración experimental que en la Figura 5.1, y los experimentos posteriores en esta sección y en la siguiente. Consulte la Figura 5.2 (derecha). Los dos predictores neuronales con mejor rendimiento son los conjuntos de GCN y los conjuntos de redes neuronales de avance con codificación de ruta, y este último tiene una ligera ventaja. Una red feed-forward también es deseable porque requiere menos ajuste de hiperparámetros que GCN.

Características y optimizaciones de la colección . Ahora analizamos aspectos del marco de M&A, a saber, la selección de funciones de M&A y la optimización de M&A. Consideramos cuatro funciones de adquisición comunes que se pueden calcular utilizando valores medios y estimaciones de incertidumbre para cada punto de datos de entrada: EI [38], PI [27], UCB [54] y TS [59]. También consideramos una variante de TS llamada muestreo de Thompson independiente. Primero dé la definición formal de cada función de adquisición.

Supongamos que entrenamos a MMUna colección de modelos de predicción M , { fm } m = 1 M \left\{f_m\right\}_{m=1}^M{ fm}metro = 1m, donde fm : A → R f_m: A \rightarrow \mathbb{R}Fm:ARy min y_{\text {min}}yminuto Representa el error de validación más bajo para la arquitectura encontrado hasta ahora. De acuerdo con el trabajo previo [39], para la arquitectura de entrada a ∈ A a \in AaA se estima utilizando la siguiente función de adquisición:

ϕ EI ( a ) = mi [ 1 [ fm ( a ) > ymin ] ( ymin − fm ( a ) ) ] = ∫ − ∞ ymin ( ymin − y ) norte ( f ^ , σ ^ 2 ) dy ( 5.1 ) \ begin{alineado}\phi_{\mathrm{EI}}(a)&=\mathbb{E}\left[1\left[f_{m}(a)>y_{\mathrm{min}}\right]( y_{\mathrm{min}}-f_{m}(a))\right]\\ &=\int_{-\infty}^{y_{\mathrm{min}}}(y_{\mathrm{min} }-y)\mathcal{N}\left(\hat{f},\hat{\sigma}^{2}\right)dy\end{alineado} \tag{5.1}ϕNO( un )=mi[ 1[ fm( un )>yminuto]( yminutoFm( un )) ]=yminuto( yminutoy)N(F^,pag^2 )dy _( 5.1 )

ϕ PI ( x ) = mi [ 1 [ fm ( x ) > y min ⁡ ] ] = ∫ − ∞ ymin norte ( f ^ , σ ^ 2 ) dy (5.2) \begin{alineado} \phi_{\mathrm{PI }}(x)& =\mathbb{E}\left[1\left[f_m(x)>y_{\min}\right]\right] \\ &=\int_{-\infty}^{y_\ mathrm{min}}\mathcal{N}\left(\hat{f},\hat{\sigma}^2\right)dy \end{alineado} \tag{5.2}ϕIP( X )=mi[ 1[ fm( X )>ym yo n] ]=yminutonorte(F^,pag^2 )dy _( 5.2 )

ϕ UCB ( x ) = f ^ − β σ ^ (5.3) \phi_{\mathrm{UCB}}(x)=\hat{f}-\beta\hat{\sigma} \tag{5.3}ϕUCB( X )=F^bpag^( 5.3 )

ϕ TS ( x ) = fm ~ ( x ) , metro ~ ∼ U nif ( 1 , METRO ) (5.4) \phi_{\mathrm{TS}}(x)=f_{\tilde{m}}(x), \tilde{m}\sim\mathrm{Unif}(1,M) \tag{5.4}ϕTS( X )=Fmetro~( X ) ,metro~uniforme ( 1 ,m )( 5.4 )

ϕ SU ( x ) = f ~ x ( x ) , f ~ x ( x ) ∼ norte ( f ^ , σ ^ 2 ) (5.5) \phi_{\mathrm{ITS}}(x)=\tilde{f} _x(x),\tilde{f}_x(x)\sim\mathcal{N}(\hat{f},\hat{\sigma}^2) \tag{5.5}ϕES( X )=F~x( X ) ,F~x( X )N (F^,pag^2 )( 5.5 )

En estas definiciones de funciones de búsqueda, si xxx es verdadero, entonces1 ( x ) = 1 \mathbb1(x) = 11 ( x )=1 , de lo contrario 0, y estamos haciendo una aproximación normal a la densidad predictiva posterior del modelo, donde estimamos los parámetros
f ^ = 1 M ∑ m = 1 M fm ( x ), y σ ^ = ∑ m = 1 M ( fm ( x ) − f ^ ) 2 METRO − 1 . (5.6) \hat{f}=\frac{1}{M}\sum_{m=1}^M f_m(x),\mathrm{y} \hat {\sigma}=\sqrt{\frac{\sum_{m=1}^M(f_m(x)-\hat{f})^2}{M-1}}. \tag{5.6}F^=METRO1metro = 1mFm( X ) ,ypag^=METRO1metro = 1m( fm( X )F^)2 .( 5.6 )
En el experimento de la función de adquisición UCB, establecemos el parámetro de compensaciónβ = 0.5 \beta = 0.5b=0.5 . Probamos cada función de adquisición dentro del marco de predictor neuronal BO+, utilizando mutaciones para la optimización de la adquisición y el mejor predictor neuronal de la sección anterior: un conjunto de redes de avance con codificación de ruta. El montaje experimental es el mismo que en las secciones anteriores. Consulte la Figura 6.1 (izquierda). Vemos que la función Fetch no tiene tanto impacto en el rendimiento como los otros componentes, aunque es el mejor rendimiento general. También se debe tener en cuenta que tanto TS como ITS tienen ventajas cuando se ejecutan experimentos paralelos, ya que son funciones de adquisición estocástica y se pueden aplicar directamente en la configuración de BO por lotes [20].

inserte la descripción de la imagen aquí

A continuación, probaremos diferentes estrategias de optimización de adquisiciones. En cada iteración de BO, nuestro objetivo es encontrar la arquitectura neuronal a partir del espacio de búsqueda de la función de adquisición mínima. Es computacionalmente inviable evaluar la función de adquisición de cada arquitectura neuronal en el espacio de búsqueda. En su lugar, creamos un conjunto de 100-1000 esquemas (posiblemente de forma iterativa) y seleccionamos los de ese conjunto que han obtenido valores de características.

La estrategia más simple es dibujar 1000 arquitecturas aleatorias. Sin embargo, es beneficioso generar un conjunto de arquitecturas con una distancia de edición cercana a las del conjunto de entrenamiento, ya que es más probable que el predictor neuronal proporcione predicciones precisas para estas arquitecturas. Además, se ha demostrado que los métodos de optimización local, como la mutación, la evolución y la búsqueda local, son efectivos para la optimización de la adquisición [2, 21, 68]. En "mutación", simplemente mutamos la arquitectura con la mejor precisión de verificación que hemos encontrado hasta ahora al cambiar aleatoriamente una operación o un borde. En la búsqueda local, tomamos iterativamente la arquitectura actual con el valor más alto de la función de adquisición y calculamos la función de adquisición de todas las arquitecturas en su vecindad.

En la evolución, mantenemos iterativamente la población alterando la arquitectura con el valor adquisitivo más alto y eliminando la arquitectura con el valor adquisitivo más bajo. Damos detalles completos de estos métodos en el Apéndice D. El montaje experimental es el mismo que en las secciones anteriores. Consulte la Figura 6.1 (centro). Vemos que las mutaciones funcionan mejor, lo que sugiere que es mejor considerar arquitecturas cuya distancia de edición sea más cercana al conjunto de arquitecturas evaluadas.

BANANAS: optimización bayesiana de arquitecturas neuronales basadas en NAS . Utilizando los mejores componentes de las secciones anteriores, construimos el algoritmo NAS completo BANANAS, que consta de un conjunto de redes neuronales de avance que utilizan funciones de codificación de rutas, ITS y adquisición de mutaciones. Ver Algoritmo 1 y Figura 5.3. Tenga en cuenta que en las subsecciones anteriores realizamos experimentos en cada componente por separado mientras manteníamos todos los demás componentes constantes. En el Apéndice D , brindamos un análisis más detallado mientras variamos todos los componentes para garantizar que BANANAS sea de hecho la mejor instancia del marco.

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

Para la función de pérdida en el predictor neuronal, usamos el error porcentual absoluto medio (MAPE) porque otorga mayor peso a las arquitecturas con menor pérdida de validación: L ( ypred , ytrue ) = 1 n ∑ i = 1 n ∣ ypred ( i )
− y LB yverdadero ( i ) − y LB − 1 ∣ (5.7) \mathcal{L}(y_{\mathrm{pred}},y_{\mathrm{verdadero}})=\frac{1 }{n}\sum_ {i=1}^n\left|\frac{y_{\mathrm{pred}}^{(i)}-y_{\mathrm{LB}}}{y_{\mathrm{verdadero}}^{(i )}-y_{\mathrm{LB}}}-1\right| \tag{5.7}L ( yantes,yverdadero)=norte1yo = 1n yverdadero( yo )ylibrayantes( yo )ylibra1 ( 5.7 )
de los cualesypred ( i ) y^{(i)}_{pred}yantes de _ _( yo )yverdadero ( i ) y^{(i)}_{verdadero}ycierto _ _ _( yo )es el valor predicho y verdadero del error de validación para la arquitectura i, y LB y_{LB}yLB _es el límite inferior global del error de validación verdadero mínimo. Para paralelizar el Algoritmo 1, en el paso iv simplemente seleccionamos k arquitecturas con los valores más pequeños de la función de adquisición y las evaluamos en paralelo.

6 Experimentos con PLÁTANOS

En esta sección, comparamos BANANAS con muchos otros algoritmos NAS populares en tres espacios de búsqueda. Para mejorar la reproducibilidad, discutimos nuestra adherencia a la lista de verificación del estudio NAS en el Apéndice E de [33]. En particular, publicamos nuestro código, usamos un conjunto de datos NAS tabulares y realizamos múltiples pruebas de cada algoritmo.

Realizamos experimentos en NASBench-101 como se describe en la sección anterior, así como en NASBench-201 y el espacio de búsqueda DARTS. El conjunto de datos NASBench-201 [71] consta de 15625 arquitecturas neuronales con precisión de prueba y validación precalculada para 200 épocas en CIFAR-10, CIAR-100 e ImageNet-16-120. El espacio de búsqueda consiste en un gráfico acíclico dirigido completo en 4 nodos, y cada borde puede realizar 5 operaciones diferentes. El tamaño del espacio de búsqueda de DARTS [35] es 1018. Consta de dos unidades: una unidad de convolución y una unidad de reducción. Cada celda tiene cuatro nodos y cada nodo tiene dos bordes entrantes que realizan una de ocho operaciones.

Rendimiento del espacio de búsqueda de NASBench . Comparamos BANANAS con los algoritmos NAS más populares de varios paradigmas: búsqueda aleatoria [30], evolución regularizada [44], BOHB [11], NASBOT [21], búsqueda local [66], TPE [4], BOHAMIANN [53] , BONAS [48], REINFORCE [67], BO basado en GP [50], AlphaX [62], GCN Predictor [64] y DNGO [52]. Siempre que sea posible, usamos directamente el código de los repositorios de código abierto sin cambiar los hiperparámetros (con algunas excepciones). Consulte el Apéndice D para obtener una descripción de cada algoritmo y los detalles de implementación que utilizamos .

El montaje experimental es el mismo que en el apartado anterior. Consulte la Figura 6.1 (derecha) para ver los resultados de NASBench-101. Los tres algoritmos principales son BANANAS, búsqueda local y BONAS. En el Apéndice D , también demostramos que BANANAS logra un desempeño sólido en los tres conjuntos de datos de NASBench-201.

Rendimiento en el espacio de búsqueda de DARTS . Probamos BANANAS en el espacio de búsqueda de DARTS. Dado que el espacio de búsqueda de DARTS no es un conjunto de datos tabulares, no podemos compararlo de manera justa con otros métodos [33] que utilizan canalizaciones de prueba y entrenamiento completamente diferentes. Usamos una canalización común de prueba y evaluación de entrenamiento de 600 épocas con recortes y torres auxiliares [35, 30, 70], donde el estado del arte en CIF AR-10 es de aproximadamente 2,6 %. Otros documentos utilizan diferentes configuraciones de evaluación de pruebas (por ejemplo, entrenar para más épocas) para lograr errores más bajos, pero no se pueden comparar de manera justa con otros algoritmos.

En nuestros experimentos, BANANAS tiene un presupuesto de 100 evaluaciones. En cada evaluación, la arquitectura elegida se entrena durante 50 épocas y se registra el error de validación promedio de las últimas 5 épocas. Para garantizar una comparación justa al controlar todas las configuraciones de hiperparámetros y el hardware, volvimos a entrenar la arquitectura en trabajos anteriores. En este caso, informamos el error de prueba promedio de cinco semillas aleatorias de la mejor arquitectura encontrada para cada método. Comparamos BANANAS con DARTS [35], búsqueda aleatoria [35], búsqueda local [66] y ASHA [30]. Consulte la Tabla 1.

inserte la descripción de la imagen aquí

Tenga en cuenta que recientemente se introdujo un nuevo punto de referencia de proxy de espacio de búsqueda de DARTS [49], llamado NASBench-301, para permitir experimentos justos y computacionalmente factibles. Los experimentos iniciales muestran [49] que BANANAS puede competir con otros nueve algoritmos populares de NAS, incluidos DARTS [35] y dos mejoras de DARTS [69, 8].

7 Conclusión y trabajo futuro

Llevamos a cabo un análisis del marco predictor neuronal BO+, que ha surgido recientemente como un marco de alto rendimiento para NAS. Probamos varios métodos para cada componente principal: codificación, predictor neuronal, método de calibración, función de adquisición y estrategia de optimización de adquisición. También proponemos un nuevo esquema de codificación basado en rutas que mejora el rendimiento del predictor neuronal. Utilizamos todos estos análisis para desarrollar BANANAS, una instancia del marco predictor neuronal BO+ que logra un rendimiento de última generación en el popular espacio de búsqueda NAS. Una idea de seguimiento interesante es desarrollar una versión de BANANAS de fidelidad múltiple o reducción a la mitad sucesiva. La combinación de estos métodos con BANANAS puede reducir significativamente el tiempo de ejecución sin sacrificar la precisión.

Apéndice

Un trabajo relacionado todavía está en marcha.

optimización bayesiana . La optimización bayesiana es la técnica líder para la optimización de orden cero cuando las consultas de funciones son costosas [43, 13] y ha logrado un gran éxito en la optimización de hiperparámetros para el aprendizaje profundo [43, 14, 31]. La mayor parte de la literatura sobre optimización bayesiana se centra en dominios de entrada euclidianos o categóricos y utiliza modelos GP [43, 14, 13, 50]. Existen técnicas para la optimización bayesiana paralela [15,20,41]. También ha habido estudios previos que utilizan modelos de redes neuronales para la optimización de hiperparámetros en la optimización bayesiana [52,53]. El objetivo de estos documentos es mejorar la eficiencia de la optimización bayesiana basada en procesos gaussianos desde el tiempo cúbico hasta el tiempo lineal, en lugar de desarrollar un tipo diferente de modelo predictivo para mejorar el rendimiento de BO en términos de número de iteraciones. En nuestro trabajo, proponemos técnicas que se desvían de la optimización bayesiana basada en procesos gaussianos y observamos ganancias de rendimiento en términos del número de iteraciones.

Búsqueda de Arquitectura Neural . La búsqueda de arquitectura neuronal se ha estudiado desde al menos la década de 1990 [12, 22, 56], pero el campo se revitalizó solo en 2017 [79]. Algunas de las técnicas NAS más populares incluyen algoritmos evolutivos [47,37], aprendizaje reforzado [79,42,34,58,61], optimización bayesiana [21,19,77], descenso de gradiente [35,32,29], búsqueda de árboles [62,61] y predicción neuronal [48,64]. Para una encuesta de NAS ver [10]. Documentos recientes exigen experimentos justos y reproducibles [30,72]. Con base en esta idea, creamos conjuntos de datos NASBench-101 [72], -201 [9] y -301 [49], que contienen decenas de miles de arquitecturas neuronales preentrenadas. El método BO inicial para NAS definía una función de distancia entre arquitecturas [21, 19]. Algunos artículos recientes utilizan la optimización bayesiana con redes neuronales gráficas como predictores [36, 48], sin embargo, no realizan estudios con pérdidas en todos los componentes del marco. En este trabajo, no afirmamos haber inventado el marco de predicción neuronal BO+, sin embargo, presentamos el análisis más profundo que conocemos, que utilizamos para diseñar instancias de alto rendimiento del marco.

Predicción de la precisión de las redes neuronales . Hay varias formas de predecir la precisión de validación de las redes neuronales, como el uso de la codificación jerárquica de las redes neuronales con el algoritmo LSTM [6] y el uso de la codificación jerárquica y las características del conjunto de datos para predecir la precisión de la red neuronal y los pares de conjuntos de datos [18]. También hay estudios que utilizan técnicas bayesianas para predecir la curva de aprendizaje de las redes neuronales para la optimización de hiperparámetros [23,7] o NAS [1]. Ninguno de estos métodos puede predecir la precisión de las redes neuronales extraídas de espacios de búsqueda DAG basados ​​en celdas, como NASBench o espacios de búsqueda de dardos. Otro trabajo reciente utiliza hiperredes en NAS para la predicción de redes neuronales [74]. Otro trabajo reciente sobre la predicción de la precisión de las redes neuronales incluye AlphaX [62] y tres artículos [36, 48, 64] que usan GCN para predecir la precisión de las redes neuronales. Los conjuntos de redes neuronales son un enfoque popular para la estimación de la incertidumbre y, en muchos casos, superan a todos los demás métodos, como las redes neuronales bayesianas, incluso para conjuntos de tamaño 5 [28,3,5,51] .

trabajo de seguimiento . Desde su lanzamiento, varios artículos han demostrado de forma independiente que BANANAS es un algoritmo competitivo para NAS [24, 49, 40, 45, 63]. Por ejemplo, un artículo muestra que BANANAS supera a otros algoritmos en NASBench-101 cuando se le da un presupuesto de 3200 evaluaciones [24], y otro artículo muestra que BANANAS supera a muchos otros algoritmos en NASBench-301, el popular algoritmo NAS [49]. Finalmente, un artículo reciente investiga varias codificaciones utilizadas por NAS [65] y concluye que los predictores neuronales funcionan bien en las codificaciones de ruta y mejoran los resultados teóricos presentados en la Sección 5.

B El trabajo preliminar continúa

Brindamos información básica sobre los tres componentes clave del algoritmo NAS.

espacio de búsqueda . Antes de implementar un algoritmo NAS, debemos definir el espacio de la red neuronal que el algoritmo puede buscar. Quizás el tipo más común de espacio de búsqueda para NAS es el espacio de búsqueda basado en celdas [79, 42, 35, 30, 46, 72]. Una celda consta de partes relativamente pequeñas de la red neuronal, normalmente de 6 a 12 nodos que forman un gráfico acíclico dirigido (DAG). Luego se construye una estructura neuronal apilando repetidamente una o dos células diferentes juntas de forma secuencial, posiblemente separadas por capas especializadas. El diseño de las celdas y las capas especializadas, denominada arquitectura superior, es fijo, mientras que el algoritmo NAS busca las mejores celdas. El espacio de búsqueda en una celda consiste en todos los dags posibles de un cierto tamaño, donde cada nodo puede ser una de varias operaciones, como convolución de 1 × 1, convolución de 3 × 3 o agrupación máxima de 3 × 3. También se suelen poner límites al número total de aristas o al grado de entrada de cada nodo [72, 35]. En este trabajo, nos enfocamos en NAS en espacios de búsqueda basados ​​en celdas convolucionales, aunque nuestro método se puede aplicar a una gama más amplia de dominios.

estrategia de búsqueda . La estrategia de búsqueda es un método de optimización para que el algoritmo encuentre la estructura neuronal óptima o casi óptima del espacio de búsqueda. Existen muchas estrategias de búsqueda diferentes, como la optimización bayesiana, la búsqueda evolutiva, el aprendizaje por refuerzo y el descenso de gradiente. En la Sección 5, presentamos la estrategia de búsqueda estudiada en este artículo: Optimización Bayesiana con Predictores Neurales.

método de evaluación . Muchos tipos de algoritmos NAS consisten en un marco iterativo en el que el algoritmo selecciona una red neuronal para el entrenamiento, calcula su error de validación y utiliza este resultado para guiar la selección de la red neuronal en la siguiente iteración. La instancia más simple de este enfoque es entrenar cada red neuronal de forma fija, es decir, el algoritmo tiene una función de acceso de caja negra que entrena la red neuronal x veces y luego devuelve un error de validación. Los algoritmos con métodos de evaluación de caja negra se pueden comparar devolviendo la arquitectura con el error de validación más bajo después de un cierto número de consultas contra la función de caja negra. También hay enfoques de fidelidad múltiple, por ejemplo, cuando el algoritmo NAS elige el número de épocas de entrenamiento además de la arquitectura.

Teoría de codificación de ruta C

D Experimentos y detalles adicionales

Ponemos los resultados de la Figura 6.1 (derecha) en una tabla (Tabla 2).

inserte la descripción de la imagen aquí

En la Sección 6, describimos los detalles de ejecutar BANANAS en el espacio de búsqueda DARTAS, lo que da como resultado una arquitectura. Mostramos esta arquitectura en la Figura D.1.

inserte la descripción de la imagen aquí

Usamos la misma configuración experimental que en la Sección 5 y ejecutamos 500 pruebas para cada algoritmo. Figura D.2.

inserte la descripción de la imagen aquí

Resultados de NASBench-201.

inserte la descripción de la imagen aquí

El documento original realiza experimentos (1) seleccionando aleatoriamente un error de verificación al evaluar cada arquitectura y luego informando el error de prueba medio al final del algoritmo NAS. La configuración más realista es: (2) elegir un error de validación aleatorio al evaluar cada arquitectura y luego informar el error de prueba correspondiente, que se aproxima por (3) usar el error de validación promedio en la búsqueda e informar el error de prueba promedio en el error final. Usamos (3) en la Figura 6.1 y ahora usamos (1) en la Figura D.4. Encontramos la misma tendencia general en la figura D.4 (en particular, después de 40 iteraciones, BANANAS aún supera significativamente a todos los demás algoritmos), pero el método basado en la optimización bayesiana funciona mejor desde el principio.

inserte la descripción de la imagen aquí

Lista de verificación de mejores prácticas de investigación de E NAS

Supongo que te gusta

Origin blog.csdn.net/weixin_43790925/article/details/130687748
Recomendado
Clasificación