Red de Respuestas Legales - Directorio de abogados - Búsqueda de arquitectura de red

Búsqueda de arquitectura de red

Como representante de los métodos de inteligencia computacional, las redes neuronales artificiales se originaron en la década de 1940 y experimentaron prosperidad en las décadas de 1950 y 1960, un reflujo en la década de 1970, un resurgimiento en la década de 1980 y una atención generalizada en la última década. Ahora se ha convertido en una dirección de vanguardia con teorías cada vez más perfectas y aplicaciones desarrolladas gradualmente. ¿Hinton? ¿Esperando el 2006? Un artículo publicado en Science en 2000 desencadenó un auge en la investigación de redes neuronales profundas. Frente al desafío de los grandes datos, los modelos de redes neuronales profundas representados por redes de creencias profundas, redes neuronales convolucionales y redes neuronales recurrentes han mostrado ventajas y potenciales obvios en muchos campos de aplicación, especialmente a medida que aumentan la cantidad de datos y las dimensiones de los datos. del aprendizaje profundo son cada vez más prominentes. ¿Te gusta Google? ¿AlphaGo se desarrolló utilizando aprendizaje profundo? Puede aprender las decisiones correctas a partir de una gran cantidad de juegos. Microsoft Speech Recognition utiliza el aprendizaje profundo para reducir significativamente las tasas de error de reconocimiento. El robot "Xiao" basado en aprendizaje profundo de Baidu ha superado a los humanos en reconocimiento facial entre edades.

Tras años de investigación y desarrollo, los métodos de reconocimiento basados ​​en redes neuronales artificiales han ido sustituyendo poco a poco a los métodos tradicionales de reconocimiento de patrones. Las redes neuronales se han convertido ahora en una tecnología avanzada que se utiliza para resolver muchas tareas de reconocimiento desafiantes, como el reconocimiento de caracteres, el reconocimiento de voz, el reconocimiento de huellas dactilares, el reconocimiento de imágenes por teledetección, el reconocimiento facial, el reconocimiento de caracteres escritos a mano, etc. Entre ellos, los principales modelos de redes neuronales incluyen redes convolucionales y redes neuronales recurrentes. ¿De qué se componen las redes neuronales convolucionales? ¿Yann? ¿Lecun? ¿Estás en línea? Propuesto en 1998?2000, ¿desde? ¿AlexNe? ¿Estás en línea? ¿Año 2012? ¿ImageNet? Este marco se utilizó para ganar el primer premio en un concurso, y las redes neuronales convolucionales rápidamente se hicieron populares y ampliamente utilizadas en tareas de visión. El algoritmo de red neuronal convolucional más avanzado puede incluso superar la precisión del reconocimiento del ojo humano en el reconocimiento de imágenes. ¿Qué es la red neuronal recurrente? En 1990, como generalización de las redes neuronales recurrentes, las redes neuronales recurrentes pueden introducir mecanismos de activación para aprender dependencias a larga distancia, son adecuadas para tareas de aprendizaje automático que involucran relaciones estructurales y tienen aplicaciones importantes en el reconocimiento de secuencias.

Las redes neuronales profundas y los algoritmos de aprendizaje profundo son muy populares debido a sus notables resultados en tareas de investigación científica y de ingeniería. Reemplaza los métodos tradicionales de extracción manual de funciones y puede extraer y aprender funciones automáticamente de un extremo a otro. Entre ellos, el notable éxito de las redes neuronales profundas generalmente se debe a su exitoso diseño de arquitectura, y el enfoque de la investigación ha pasado de extraer características a encontrar arquitecturas óptimas. En términos generales, cuanto mayor sea la capacidad del modelo, mejor será el rendimiento de la red y podrá adaptarse a cualquier función. Por lo tanto, para mejorar el rendimiento de la red, las estructuras de la red están diseñadas para volverse cada vez más complejas. ¿Te gusta VGG-16? Hay aproximadamente 140 millones de parámetros de punto flotante, toda la red ocupa más de 500 megabytes de espacio de almacenamiento y requiere 150 millones de operaciones de punto flotante para procesar una imagen de tamaño $224 \times 224$. Aunque las capas de red más profundas y las topologías complejas pueden aprender características de manera más eficiente, el aumento en el tamaño de la red significa que se requiere más tiempo de prueba y error al diseñar la red manualmente, e incluso los expertos requieren muchos recursos y tiempo para crear un modelo con buen rendimiento.

La búsqueda de estructuras de redes neuronales es un nuevo método para aprender automáticamente las estructuras de redes, que se utiliza para reducir los elevados costos de diseño de redes. Hasta ahora, el rendimiento de las redes diseñadas con métodos NAS ha superado al de las arquitecturas diseñadas a mano. NAS puede considerarse un subcampo del aprendizaje automático (AutoML), que se superpone claramente con la optimización de hiperparámetros y el metaaprendizaje. Las diferencias entre los diferentes métodos NAS radican principalmente en tres dimensiones: espacio de búsqueda, estrategia de búsqueda y evaluación del desempeño, que investigamos por separado.

Espacio de búsqueda: El espacio de búsqueda define todas las estructuras y operaciones opcionales de la red, y suele ser exponencial o incluso ilimitado. Combinar conocimientos previos al diseñar el espacio de búsqueda, es decir, hacer referencia al conocimiento de diseño estructural avanzado existente para la tarea actual, puede reducir efectivamente el espacio de búsqueda y simplificar la búsqueda. Sin embargo, esto también introduce preferencias que limitan el aprendizaje en red a estructuras más allá del conocimiento humano actual.

Estrategia de búsqueda: después de definir el espacio de búsqueda, la estrategia de búsqueda guía la búsqueda de una arquitectura modelo de alto rendimiento. La dificultad es garantizar el equilibrio entre exploración y utilización.

Por un lado, queremos encontrar rápidamente una arquitectura con buen rendimiento y, por otro lado, debemos evitar una convergencia prematura a una arquitectura subóptima.

Evaluación del desempeño: el propósito de NSA es encontrar un marco con un buen desempeño de generalización para datos desconocidos, y una vez generado el modelo, es necesario evaluar su desempeño. El método intuitivo consiste en entrenar en el conjunto de entrenamiento para converger y obtener su rendimiento en el conjunto de validación, pero este método consume una enorme potencia informática, lo que limita las estructuras de red que se pueden explorar. Algunos métodos avanzados se centran en reducir el coste computacional de la evaluación del desempeño, pero introducen errores. Por lo tanto, equilibrar la eficiencia y la eficacia de la evaluación es una cuestión que debe estudiarse.

Desde una perspectiva computacional, una red neuronal representa una función que convierte una variable de entrada X en una variable de salida Y mediante una serie de operaciones. Basada en un lenguaje de gráficos computacionales, una red neuronal se puede representar como un gráfico acíclico dirigido (DAG), donde cada nodo representa un tensor z? , conectado a su nodo padre I(k) por aristas, cada arista representa una operación o seleccionada del conjunto de operaciones candidatas o. La fórmula de cálculo de k es:

El conjunto de operaciones candidatas $O$ incluye principalmente operaciones básicas como convolución, agrupación, función de activación, conexión de salto, empalme y suma. Además, para mejorar aún más el rendimiento del modelo, algunos módulos avanzados diseñados artificialmente también se pueden utilizar como operaciones candidatas, como convolución separable en profundidad, convolución dilatada y convolución grupal. Se pueden seleccionar diferentes hiperparámetros según el tipo de operación, como la selección del nodo de entrada, el número, el tamaño, el tamaño del paso, etc. de los núcleos de convolución. Las diferentes operaciones de diseño, selección y combinación de espacios de búsqueda tienen diferentes métodos y, por lo tanto, las formas de parametrización también son diferentes. En general, un buen espacio de búsqueda debería poder excluir los prejuicios humanos y ser lo suficientemente flexible como para cubrir una gama más amplia de arquitecturas modelo.

El espacio de búsqueda global tiene un alto grado de libertad para buscar en toda la estructura de la red. El ejemplo más simple es el espacio de búsqueda en cadena, como se muestra en el lado izquierdo de la Figura 1. Se apila un número fijo de nodos en orden y solo la salida del nodo anterior se proporciona como entrada al siguiente nodo. Cada nodo representa una capa y tiene una operación específica. La imagen de la derecha presenta enlaces de salto más complejos y estructuras de múltiples ramas. En este momento, el nodo actual puede fusionar la salida de todos los nodos anteriores en la entrada, lo que aumenta en gran medida el grado de libertad de búsqueda. Muchas redes son casos especiales de redes de múltiples sucursales, como

1) Red en cadena:

2) Red residual:

3) DenseNets: < /p >

Aunque la búsqueda de estructura completa es fácil de implementar, también tiene algunas desventajas. Primero, el tamaño del espacio de búsqueda está exponencialmente relacionado con la profundidad de la red, por lo que encontrar una red profunda con buen rendimiento de generalización es costoso. Además, la arquitectura resultante carece de portabilidad y flexibilidad, y los modelos generados en conjuntos de datos pequeños pueden no ser adecuados para conjuntos de datos más grandes. Algunos estudios han demostrado que la elección de la arquitectura inicial es muy importante a la hora de buscar una estructura global. Bajo condiciones iniciales apropiadas, se pueden obtener arquitecturas comparables al rendimiento del espacio de búsqueda unitaria, pero los principios rectores para la selección de la arquitectura inicial aún no están claros.

Los espacios de búsqueda basados ​​en unidades están inspirados en el conocimiento del diseño artificial, y muchas estructuras de red efectivas reutilizan estructuras fijas, como la repetición de bloques LSTM o el apilamiento de módulos residuales en RNN. Por lo tanto, sólo se pueden buscar esas celdas repetidas, y el problema de búsqueda de toda la estructura neuronal se reduce a buscar la estructura celular óptima en el espacio de búsqueda de celdas, reduciendo así en gran medida el espacio de búsqueda. La mayoría de los estudios comparan los resultados experimentales basados ​​en el espacio de búsqueda global y en el espacio de búsqueda unitario, lo que demuestra que se puede obtener un mejor rendimiento en función del espacio de búsqueda unitario. Otra ventaja del espacio de búsqueda de unidades es que se puede generalizar fácilmente entre conjuntos de datos y tareas, ya que la complejidad de la arquitectura se puede cambiar casi arbitrariamente aumentando o disminuyendo el número de núcleos y unidades.

NASNet es uno de los primeros espacios de búsqueda de unidades propuestos y actualmente es la opción más popular. La mayoría de las mejoras posteriores fueron sólo modificaciones menores a las estrategias de selección operativa y composición de la tripulación. Como se muestra en la Figura 2, consta de dos tipos de celdas, a saber, una celda estándar (¿normal? ¿Celda?) y una celda simplificada (¿reducción? Celda). Cada celda se compone de b bloques y cada bloque consta de sus dos entradas. y definiciones de operación correspondientes.

Las entradas opcionales incluyen las salidas de las dos primeras celdas y las salidas de bloques previamente definidos en la celda, por lo que admite conexiones de salto entre celdas. Los bloques no utilizados se conectan y se utilizan como salidas de unidades y, finalmente, estas unidades se conectan en cascada mediante reglas predefinidas.

A diferencia de conectar la estructura de la unidad de acuerdo con la macroestructura definida artificialmente, la estructura jerárquica utiliza la estructura de la unidad generada en el paso anterior como el componente básico de la estructura de la unidad en el siguiente paso y obtiene el resultado final. Estructura de red a través de la idea de iteración. El espacio de búsqueda jerárquico de Hier genera unidades de alto nivel fusionando unidades de bajo nivel, logrando una optimización simultánea a nivel de unidad y de red. Este método se divide en tres capas. La primera capa contiene una serie de operaciones básicas; la segunda capa conecta la primera capa a través de un gráfico acíclico dirigido para construir diferentes unidades. Las estructuras de gráficos se codifican mediante matrices de adyacencia. La tercera capa es la codificación a nivel de red, que determina cómo se conectan las unidades de la segunda capa para formar una red completa. Los espacios de búsqueda basados ​​en celdas pueden verse como un caso especial de dichos espacios de búsqueda jerárquicos.

El aprendizaje por refuerzo puede simular eficazmente un proceso continuo de toma de decisiones en el que el agente interactúa con el entorno y aprende a mejorar su comportamiento para maximizar la recompensa objetivo. (Figura 3) ofrece una descripción general del algoritmo NAS basado en endurecimiento. El agente suele ser una red neuronal recurrente (RNN), que realiza una acción en cada paso T, toma muestras de una nueva muestra del espacio de búsqueda, recibe observaciones de estado y recompensas del entorno y actualiza la estrategia de muestreo del agente. Este enfoque es muy adecuado para la búsqueda de arquitectura neuronal. El comportamiento del agente es generar una estructura neuronal, el espacio de comportamiento es el espacio de búsqueda, el entorno se refiere al entrenamiento y evaluación de la red generada por el agente y la recompensa es el rendimiento de predicción de la estructura de red entrenada en desconocido. datos, que se obtienen después del último comportamiento de.

4.2 Algoritmo evolutivo

El algoritmo evolutivo es un método de optimización global maduro con gran robustez y amplia aplicabilidad. Muchos estudios utilizan algoritmos evolutivos para optimizar la estructura de las redes neuronales. El algoritmo evolutivo desarrolla un conjunto de modelos, es decir, un conjunto de redes; en cada generación, se selecciona al menos un modelo de este conjunto de modelos como padre y descendencia mutada. Después de entrenar a la descendencia, se evalúa su aptitud y se agrega a la población.

Los algoritmos evolutivos típicos incluyen selección, cruce, mutación y actualización. Al seleccionar, el algoritmo de selección de alianza generalmente se usa para muestrear la clase principal, y la que tiene la mejor adaptabilidad se usa como clase principal. Lemonade utiliza la estimación de la densidad del núcleo para la aptitud, de modo que la probabilidad de selección de la red es inversamente proporcional a la densidad. El patrón de entrelazado cambia con diferentes esquemas de codificación. La mutación se refiere a algunas operaciones en el padre, como agregar o eliminar capas, cambiar los hiperparámetros de la capa, agregar conexiones de salto y cambiar los hiperparámetros de entrenamiento. Para la descendencia, la mayoría de los métodos inicializan aleatoriamente los pesos de la subred, mientras que Lemonade utiliza morfismos de red para transferir los pesos aprendidos por la red principal a sus subredes. Real et al. permitieron que la descendencia heredara todos los parámetros de sus padres que no se vieron afectados por las mutaciones. Aunque esta herencia no es una preservación estrictamente funcional, puede acelerar el aprendizaje. Al generar una nueva red, es necesario eliminar algunos individuos de la población. Real et al. eliminaron a los peores individuos de la población y AmoebaNet eliminó a los individuos de mayor edad. También existen métodos que descartan periódicamente a todos los individuos o no los eliminan en absoluto. EENA ajusta la probabilidad de eliminación del peor modelo y del modelo más antiguo a través de una variable.

El método de optimización basado en modelo de agente (SMBO) utiliza un modelo de agente para aproximar la función objetivo. Es decir, no es necesario entrenar la estructura de red muestreada, solo es necesario entrenar un modelo sustituto y utilizar el modelo sustituto para predecir el rendimiento de la red. Por lo general, en la práctica, solo necesitamos obtener la clasificación de rendimiento de la arquitectura sin tener que calcular el valor de pérdida específico, por lo que el modelo proxy solo necesita predecir la puntuación relativa y seleccionar arquitecturas candidatas prometedoras. Luego, solo se evalúan las arquitecturas con buen rendimiento de predicción y el modelo proxy se actualiza con su precisión de verificación, de modo que solo es necesario entrenar completamente una pequeña cantidad de arquitecturas candidatas, lo que reduce en gran medida el tiempo de búsqueda. Los modelos sustitutos generalmente se entrenan para minimizar el error al cuadrado:

La optimización bayesiana es uno de los métodos más populares en la optimización de hiperparámetros. El más clásico es BO basado en el proceso gaussiano, y los resultados de verificación de la estructura neuronal generada se pueden modelar como un proceso gaussiano.

La escala de tiempo de inferencia de BO basada en el proceso gaussiano es cúbica en el número de observaciones y no es buena para tratar con redes neuronales de longitud variable. Algunos trabajos utilizan métodos basados ​​en árboles o bosques aleatorios para una búsqueda eficiente en espacios de muy altas dimensiones y logran excelentes resultados en muchos problemas. Negrinho utiliza una estructura de árbol para su espacio de búsqueda y utiliza árboles de Monte Carlo para la búsqueda. Aunque no existe una comparación completa, la evidencia preliminar sugiere que estos métodos pueden superar a los algoritmos evolutivos.

La estrategia de búsqueda anterior extrae muestras de estructuras neuronales de espacios de búsqueda discretos. DARTS propone una relajación continua del espacio de búsqueda. La estructura neuronal para buscar en un espacio de búsqueda continuamente diferenciable se muestra en la Figura 4. La siguiente función softmax se utiliza para relajar el espacio discreto:

?

Después de la relajación, la tarea de búsqueda de estructuras se transforma en la optimización conjunta de la estructura de la red y los pesos neuronales. Estos dos tipos de parámetros se optimizan alternativamente en el conjunto de entrenamiento y el conjunto de verificación respectivamente, lo que representa un problema de optimización de dos capas.

Para guiar el proceso de búsqueda es necesario evaluar el rendimiento de la red neuronal resultante. Un enfoque intuitivo es entrenar la red para que converja y luego evaluar su rendimiento. Sin embargo, este enfoque requiere mucho tiempo y recursos informáticos. Con este fin, se han propuesto varios métodos para acelerar la evaluación del modelo.

Para reducir la carga computacional, el rendimiento se puede estimar mediante una aproximación de baja calidad del rendimiento real. Los métodos de implementación incluyen: acortar el tiempo de entrenamiento, seleccionar subconjuntos del conjunto de datos, entrenar en imágenes de baja resolución, usar menos canales por capa y apilar menos estructuras de unidades. La red o unidad óptima buscada en condiciones de baja calidad construye la estructura final y se vuelve a entrenar en el conjunto de datos para obtener la red objetivo. Aunque estas aproximaciones de baja precisión pueden reducir los costos de capacitación, el rendimiento se subestima y inevitablemente se introducen errores. Estudios recientes han demostrado que la clasificación relativa del rendimiento de la red puede cambiar significativamente cuando hay una gran diferencia entre las evaluaciones completas y de baja calidad, enfatizando que este error aumenta gradualmente.

Las técnicas de parada temprana se utilizaron originalmente para evitar el sobreajuste. Algunos estudios predicen el rendimiento de la red en las primeras etapas del entrenamiento, prediciendo que los modelos con un rendimiento deficiente en el conjunto de validación se verán obligados a detener el entrenamiento para acelerar la evaluación del modelo. Una forma de evaluar el rendimiento de la red en una etapa temprana es la extrapolación de la curva de aprendizaje. ¿Domhan? Se recomienda insertar una curva de aprendizaje al comienzo del entrenamiento y finalizar el entrenamiento de estructuras de red con un rendimiento de predicción deficiente. Swersky et al. utilizaron los hiperparámetros de la arquitectura de red como factor de referencia al evaluar la curva de aprendizaje. Otro enfoque implementa una parada anticipada basada en estadísticas locales de gradientes y ya no depende del conjunto de validación, lo que permite al optimizador utilizar plenamente todos los datos de entrenamiento.

Los modelos de agentes se pueden entrenar para predecir el rendimiento de la red. PNAS recomienda entrenar una red proxy (LSTM) para predecir el rendimiento de las estructuras de red. En lugar de tener en cuenta la curva de aprendizaje, PNAS predice el rendimiento basándose en las características de la estructura e infiere la estructura de red más grande durante el entrenamiento. SemiNAS es un método NAS semisupervisado que mejora aún más la eficiencia de la búsqueda mediante el uso de una gran cantidad de arquitecturas sin etiquetar. No es necesario entrenar el modelo, solo se utiliza el modelo proxy para predecir la precisión del modelo. La principal dificultad para predecir el rendimiento de la red es que, para acelerar el proceso de búsqueda, es necesario realizar buenas predicciones basándose en una menor evaluación de un espacio de búsqueda grande. Cuando el espacio de optimización es demasiado grande y difícil de cuantificar, y el costo de evaluar cada estructura es extremadamente alto, el método basado en agentes no es aplicable.

Los modelos de agentes también se pueden utilizar para predecir los pesos de la red. Una hiperred es una red neuronal entrenada para generar pesos de red para diversas arquitecturas. Las superredes ahorran tiempo de entrenamiento para las arquitecturas candidatas durante el proceso de búsqueda porque sus pesos se obtienen a partir de las predicciones de las superredes. Zhang et al. propusieron un método de representación gráfica y utilizaron hiperredes gráficas para predecir los pesos de todas las estructuras posibles de forma más rápida y precisa que el algoritmo SMASH tradicional.

La herencia de pesos consiste en permitir que la nueva estructura de red herede los pesos de otras estructuras de red que se han entrenado anteriormente. Un enfoque son los morfismos de red. El método general de diseño de redes consiste en diseñar primero una estructura de red y luego entrenar y probar su rendimiento en el conjunto de verificación. Si el rendimiento es deficiente, rediseñe la red.

Es obvio que este método de diseño hará mucho trabajo inútil, por lo que consumirá mucho tiempo. Los métodos basados ​​en estructuras de morfismo de red se pueden modificar en función de la estructura de red original, y la red modificada puede reutilizar pesos previamente entrenados. Su método de transformación especial puede garantizar que la nueva estructura de red pueda restaurarse a la red original, de modo que el rendimiento de la subred no sea al menos peor que el de la red original y pueda continuar creciendo hasta convertirse en una red más robusta en un tiempo de entrenamiento más corto. Específicamente, los morfismos de red pueden manejar cualquier función de activación no lineal, pueden agregar conexiones de salto, admitir la adición de capas o canales y obtener modelos equivalentes más profundos o más amplios. Los morfismos de red clásicos solo pueden hacer que la red sea más grande y pueden hacer que la red sea demasiado compleja. El morfismo de red aproximado propuesto más tarde permitió reducir la estructura de la red mediante el refinamiento del conocimiento. Los algoritmos evolutivos a menudo utilizan mutaciones basadas en morfismos de red, o permiten directamente que los niños hereden los pesos de sus padres y luego realizan operaciones de mutación generales para que la red generada tenga mejores valores iniciales sin reiniciar el entrenamiento.