¿Solo las matemáticas de secundaria pueden encontrar algoritmos? Cuán poderoso es el código abierto AutoML-Zero de Google


Traductor | Liu Chang

Fuente | Campamento base de tecnología AI (ID: rgznai100)

La investigación del aprendizaje automático ha progresado en muchos aspectos, incluida la estructura del modelo y los métodos de optimización. También ha habido un progreso significativo en el trabajo de automatización de dicha investigación (llamada AutoML). Este progreso se centra principalmente en la arquitectura de las redes neuronales, que actualmente dependen de expertos para diseñar capas complejas para construir bloques (o espacios de búsqueda restringidos de manera similar).


El objetivo de este artículo es demostrar que AutoML puede ir más allá. Ahora es posible usar solo operaciones matemáticas básicas como bloques de construcción para descubrir automáticamente algoritmos completos de aprendizaje automático.


Este artículo presenta un nuevo marco para probar esto, el marco utiliza un espacio de búsqueda más general, que puede reducir significativamente la disposición subjetiva del diseño. A pesar del gran espacio de búsqueda, la búsqueda evolutiva todavía puede encontrar redes neuronales de dos capas entrenadas mediante propagación hacia atrás. Entonces, estas redes neuronales simples se pueden superar en algunas tareas. Incluso si estas redes usan los algoritmos de optimización de nivel superior actuales, como gradientes normalizados y promedios de peso.


Además, esta búsqueda puede adaptar el algoritmo a diferentes tipos de tareas: por ejemplo, cuando hay pocos datos disponibles, se producirá un efecto de deserción. Creemos que el éxito inicial de descubrir algoritmos de aprendizaje automático desde cero ha indicado una nueva dirección muy prometedora para este campo de investigación.

 

Introduccion

En los últimos años, las redes neuronales han logrado un excelente rendimiento en muchas tareas críticas. La duración y la dificultad de la investigación de aprendizaje automático han generado un nuevo campo llamado AutoML, que consiste en avanzar en la tecnología de aprendizaje automático al pasar el tiempo de computación de la máquina en lugar del tiempo de investigación humana. Este trabajo ha logrado resultados fructíferos, pero hasta ahora, la investigación actual se ha basado en gran medida en el espacio de búsqueda diseñado por humanos. Un ejemplo común es la búsqueda de arquitectura de red neuronal, que utiliza capas complejas diseñadas por expertos como bloques de construcción y sigue las reglas de propagación hacia atrás para limitar el espacio de búsqueda.

De manera similar, otros estudios de AutoML también han encontrado formas de limitar el espacio de búsqueda a un solo algoritmo, como las reglas de aprendizaje utilizadas durante la retropropagación, la estructura de compuerta LSTM o el aumento de datos; en estos estudios, todos los demás algoritmos Todavía diseñado a mano. Este método puede ahorrar tiempo de cálculo, pero tiene dos desventajas. En primer lugar, la estructura de bloques diseñada artificialmente sesgará los resultados de búsqueda a algoritmos diseñados artificialmente, lo que puede reducir la capacidad de innovación de AutoML. Menos opciones también limitan la innovación, porque es imposible encontrar contenido que no se pueda buscar. En segundo lugar, el espacio de búsqueda limitado debe combinarse cuidadosamente, lo que supone una nueva carga para los investigadores y viola el llamado objetivo de ahorrar tiempo humano.

 

Para resolver este problema, este documento propone un método para buscar automáticamente todos los algoritmos de aprendizaje automático utilizando solo algunas restricciones y simples módulos de operación matemática. Llamamos a este método AutoML-Zero, y su propósito es aprender con la menor participación humana.

En otras palabras, AutoML-Zero tiene como objetivo buscar el modelo de espacio de grano fino, proceso de optimización, inicialización y otras operaciones al mismo tiempo, reduciendo así la carga de trabajo del diseño manual e incluso descubriendo algoritmos de red no neuronales. Para demostrar que esto es factible hoy, este artículo propone una solución preliminar a este desafío.

 

La versatilidad del espacio de búsqueda AutoML-Zero lo hace más difícil que el algoritmo AutoML existente correspondiente a la búsqueda de espacio. El espacio de búsqueda AutoML existente ha creado una solución densa y buena, por lo que el método de búsqueda en sí ya no se enfatiza. Por ejemplo, al comparar en el mismo espacio de búsqueda, se encuentra que las tecnologías líderes generalmente son solo un poco mejores que la búsqueda aleatoria simple (RS).

AutoML-Zero es diferente: debido a que el espacio de búsqueda es más amplio, el resultado final se vuelve muy escaso. Nuestro marco propuesto expresa algoritmos de aprendizaje automático como programas de computadora que contienen tres funciones componentes que pueden predecir y aprender una muestra a la vez. Las instrucciones en estas funciones asignan operaciones matemáticas básicas a la memoria. Las operaciones y las direcciones de memoria utilizadas por cada instrucción son parámetros libres en el espacio de búsqueda, al igual que el tamaño de la función del componente.

 

En general, las contribuciones de este artículo son:

  • AutoML-Zero, que puede buscar automáticamente el algoritmo ML desde el principio con una participación manual mínima;

  • Nuevo marco con código fuente y espacio de búsqueda combinado solo con operaciones matemáticas básicas;

  • Los resultados experimentales detallados muestran el potencial de usar algoritmos de búsqueda evolutivos para descubrir algoritmos de ML.

Dirección del código:

https://github.com/google-research/google-research/tree/master/automl_zero#automl-zero

 

Método

El método AutoML-zero se puede dividir en dos partes, una es el espacio de búsqueda y la otra es el método de búsqueda.

 

Busca espacio

El autor representa el algoritmo como un programa de computadora que funciona en una memoria virtual más pequeña con espacios de direcciones separados para variables escalares, vectoriales y matriciales. Todos estos son números de coma flotante y comparten las dimensiones del mapa de características de entrada de tareas.

El autor representa el programa como una serie de instrucciones. Cada instrucción tiene una operación para determinar su función. Para evitar el sesgo de la operación de selección, este artículo utiliza un estándar simple: debe ser determinado por el aprendizaje de alto nivel. El autor excluyó a propósito los conceptos de aprendizaje automático, factorización matricial y derivados.

 

Inspirado por el aprendizaje supervisado, el autor expresó el algoritmo como un programa con tres funciones componentes, Configuración / Predicción / Aprendizaje. Como se muestra a continuación:

El proceso de evolución en la figura siguiente ilustra el uso de las funciones anteriores. En la figura a continuación, los dos bucles for implementan las etapas de capacitación y verificación, y para simplificar, procesan una muestra a la vez. Durante la fase de entrenamiento, "predicción" y "aprendizaje" se realizan alternativamente.

Método de búsqueda

El experimento de búsqueda debe descubrir el algoritmo de aprendizaje automático modificando las instrucciones en la función componente. Este artículo utiliza el método de búsqueda evolutiva regularizado porque es muy simple y recientemente ha logrado buenos resultados en la búsqueda de arquitectura. Este método se muestra en la figura a continuación.

la progenie mutante que producido por el padre debe adaptarse al espacio de búsqueda, que se utiliza en el presente documento, con los tres tipos de funcionamiento unidad seleccionada: (i) una posición aleatoria en el inserto un componente aleatorio en la instrucción de función o instrucción de borrado, (ii) la Aleatorice todas las instrucciones en la función componente, o (iii) modifique uno de los parámetros de la instrucción reemplazando la instrucción con una selección aleatoria. Como se muestra a continuación.

Experimento

En la siguiente parte experimental, este artículo responderá las siguientes tres preguntas: "¿Qué tan difícil es buscar en el espacio AutoML-Zero?", "¿Se puede usar el marco de este artículo para encontrar un algoritmo razonable con una entrada manual mínima?" "¿Puedo encontrar diferentes algoritmos cambiando el tipo de tareas utilizadas en el experimento de búsqueda?"

 

1. Encuentra una red neuronal simple en el espacio de búsqueda

La siguiente figura resume los resultados del análisis de los cuatro tipos de tareas: encontró un algoritmo / método completo para aprender solo datos de regresión lineal / afín. El espacio de búsqueda AutoML-Zero es universal, pero tiene un precio: incluso para tareas simples, los buenos algoritmos son escasos. A medida que la tarea se vuelve cada vez más difícil, la solución se vuelve cada vez más escasa y su rendimiento es mucho mejor que RS.

2. Búsqueda con entrada manual mínima

Mediante la búsqueda, encontramos regresión lineal, red neuronal de dos capas con propagación hacia atrás e incluso un algoritmo de línea de base con una complejidad que excede el diseño manual. La figura anterior muestra un ejemplo en nuestro experimento, y podemos ver cómo el algoritmo evolutivo resuelve la tarea de clasificación binaria paso a paso. El primero es un modelo lineal, sin ningún método de optimización, y luego gradualmente descubrió SGD para la optimización, luego comenzó a agregar una tasa de aprendizaje aleatorio, y luego encontró la función de activación ReLU, inicialización de peso aleatorio, normalización de gradiente, etc., más y más Estructura de red y método de optimización cercano al diseño manual.

 

3. Descubre la universalidad del algoritmo

En esta sección, el autor buscará tres tipos diferentes de tareas para demostrar la aplicabilidad más amplia de este método. Cada tipo de tarea tiene sus propios desafíos (por ejemplo, "muy pocos datos"). Mostraremos el proceso de algoritmos de adaptación evolutiva para enfrentar los desafíos. Como hemos obtenido un modelo razonable desde cero, ahora solo necesitamos inicializar la población usando la red neuronal efectiva en la figura a continuación, lo que puede ahorrar tiempo.

 

Resumen

En este artículo, el autor propone un objetivo ambicioso para AutoML: descubrir automáticamente todo el algoritmo de ML a partir de operaciones básicas, reduciendo las preferencias que las personas aportan en el espacio de búsqueda, con la esperanza de que esto eventualmente genere nuevo contenido de ML.


Este documento crea un nuevo marco para expresar el algoritmo de ML para demostrar el potencial de esta dirección de investigación.El algoritmo expresa el algoritmo de ML como un programa de computadora compuesto por tres funciones componentes (Configuración, Predicción, Aprendizaje). A partir de la función de componente vacío, utilizando solo operaciones matemáticas básicas, el algoritmo en este trabajo evolucionó gradualmente hacia regresión lineal, red neuronal, descenso de gradiente, promedio de peso, gradiente normalizado, etc. Estos resultados muestran que el algoritmo es muy prometedor, pero aún queda mucho trabajo por hacer.

Dirección de tesis:

https://arxiv.org/abs/2003.03384

【FIN】

Más recomendaciones interesantes

CEO de Microsoft Satir · Nadella: No vuelva a crear la rueda, tecnología actualización y densidad fuertes

GitHub star 10,000+, el camino de código abierto del principal proyecto de Apache ShardingSphere

HKUST académico Zheng Guangting futuro interrogatorio, reveló las últimas aplicaciones y la práctica de la gripe aviar

Challenge Desafío inteligente de O&M bajo una gran promoción: ¿Cómo puede Ali resistirse a la "Noche de gatos doble 11"?

Plaza Ethernet 2.0 Custodia del juego y poner en práctica MPC

He escrito 9 preguntas de entrevista MySQL para usted con mucho cuidado.

Cada "observación" que pides, me lo tomo en serio

Artículos originales publicados en 1979 · 40 mil likes + · 18.39 millones de visitas

Supongo que te gusta

Origin blog.csdn.net/csdnnews/article/details/105672148
Recomendado
Clasificación