Comprensión profunda del meta aprendizaje

Tabla de contenido

Entendimiento básico

¿Cuál es la diferencia entre el metaaprendizaje y el aprendizaje automático tradicional?

Idea básica

MAML

¿Cuál es la diferencia entre MAML y preentrenamiento?

1. Diferentes funciones de pérdida

 2. Diferentes ideas de optimización

Las ventajas y características de MAML

Mecanismo de trabajo MAML

 Aplicación MAML: ejemplo de juguete

Reptil


Entendimiento básico

El metaaprendizaje, traducido como metaaprendizaje, también se puede considerar como aprender a aprender.

¿Cuál es la diferencia entre el metaaprendizaje y el aprendizaje automático tradicional?

Sabiendo que el bloguero "South You Qiaomu" comprende el metaaprendizaje y el aprendizaje automático tradicional. A continuación, se incluye un ejemplo fácil de entender para compartir con usted:

El algoritmo de entrenamiento es análogo al aprendizaje del estudiante en la escuela. La tarea tradicional de aprendizaje automático corresponde a entrenar un modelo en cada tema , mientras que el metaaprendizaje es mejorar la capacidad de aprendizaje general del estudiante y aprender a aprender .

En las escuelas, algunos estudiantes tienen buenas calificaciones en todas las materias, pero algunos estudiantes tienen materias parciales.

  • Las buenas calificaciones en todas las materias indican que los estudiantes tienen fuertes habilidades de "metaaprendizaje" , han aprendido a aprender y pueden adaptarse rápidamente a las tareas de aprendizaje de diferentes materias.
  • La capacidad de "metaaprendizaje" de los estudiantes de asignaturas parciales es relativamente débil y solo pueden lograr buenos resultados en una determinada asignatura y no pueden cambiar de asignatura. No sacará inferencias por analogía.

Las redes neuronales profundas que se utilizan a menudo ahora son todas "estudiantes parciales". Los modelos de red correspondientes a la clasificación y la regresión son completamente diferentes. Incluso si se trata de la misma tarea de clasificación, la arquitectura de red de reconocimiento facial puede no ser capaz de lograr mucho buenos resultados Alta tasa de precisión.

 

Hay una diferencia más:

  • Los métodos tradicionales de aprendizaje profundo son aprender desde cero (formación) , es decir, aprender desde cero, lo que consume más potencia y tiempo de cálculo.
  • Yuan enfatizó que aprender de una serie de pequeñas tareas diferentes muestra pequeña para aprender una muestra de la categoría desconocida desconocida tiene buen juicio y generalización del modelo

Idea básica

Escrito al frente: Las imágenes son todas del video de enseñanza del maestro Li Hongyi

Figura 1
Figura 1

Explicación de la Figura 1:

El metaaprendizaje, también conocido como aprender a aprender, significa permitir que la máquina "aprenda a aprender" y tenga la capacidad de aprender.

Las muestras de formación y las muestras de prueba del metaaprendizaje se basan en tareas. Entrene modelos a través de diferentes tipos de tareas , actualice los parámetros del modelo, domine las habilidades de aprendizaje y luego aprenda mejor otras tareas . Por ejemplo, la tarea 1 es el reconocimiento de voz, la tarea 2 es el reconocimiento de imágenes, ..., la tarea 100 es la clasificación de texto, la tarea 101 es diferente de las 100 tareas anteriores, la tarea de entrenamiento son estas 100 tareas diferentes y la tarea de prueba es la primeras 101 tareas.

Figura 2
Figura 2

Explicación de la Figura 2:

En el aprendizaje automático, el conjunto de entrenamiento en la muestra de entrenamiento se llama conjunto de entrenamiento y el conjunto de prueba se llama conjunto de prueba. El metaaprendizaje se usa ampliamente en el aprendizaje de muestra pequeña. En el metaaprendizaje, el conjunto de entrenamiento en el ejemplo de entrenamiento se llama conjunto de soporte y el conjunto de prueba en el ejemplo de entrenamiento se llama conjunto de consultas.

Nota: En el aprendizaje automático, solo hay un gran conjunto de datos de muestra. Este gran conjunto de datos se divide en dos partes, denominadas conjunto de entrenamiento y conjunto de prueba;

Pero en el metaaprendizaje, hay más de un conjunto de datos. Hay tantos conjuntos de datos como tareas diferentes. Luego, cada conjunto de datos se divide en dos partes, llamadas conjunto de apoyo y conjunto de consultas.

El conjunto de validación no se considera aquí.

imagen 3

 Explicación de la Figura 3 :

 

La Figura 3 muestra el funcionamiento del aprendizaje profundo tradicional, a saber:

  1. Definir una arquitectura de red;
  2. Parámetros de inicialización
  3. Actualice los parámetros a través del optimizador de su elección ;
  4. Actualice los parámetros a través de dos épocas;
  5. Obtenga el resultado final de la red .

¿Dónde está la conexión entre el metaaprendizaje y el aprendizaje profundo tradicional?

Los elementos del cuadro rojo en la Figura 3 están definidos por el diseño humano, que es lo que a menudo llamamos "hiperparámetros", y el objetivo del metaaprendizaje es aprender o reemplazar automáticamente los elementos del cuadro. Se inventan diferentes alternativas Diferentes algoritmos de metaaprendizaje .

Figura 4

Explicación de la Figura 4:

La figura 4 presenta brevemente el principio del metaaprendizaje.

En el algoritmo de redes neuronales es necesario definir una función de pérdida para evaluar la calidad del modelo, la pérdida de metaaprendizaje se obtiene sumando las pérdidas de prueba de N tareas. La pérdida de prueba definida en la enésima tarea es  , luego, para N tareas, la pérdida total es  , que es el objetivo de optimización del metaaprendizaje.

Suponga que hay dos tareas, Tarea1 y Tarea2. A través de la tarea de entrenamiento 1, se obtiene la función de pérdida l1 de la tarea 1. A través de la tarea de entrenamiento 2, se obtiene la función de pérdida l2 de la tarea 2. Luego se suman las funciones de pérdida de estas dos tareas para obtener el total La función de pérdida de la tarea de entrenamiento es la fórmula en la esquina superior derecha de la Figura 4.

 

Si el artículo anterior no tiene suficiente comprensión del metaaprendizaje, hay una explicación más detallada más adelante:

Hay muchos algoritmos para el metaaprendizaje. Algunos algoritmos de alto nivel pueden generar diferentes estructuras de redes neuronales e hiperparámetros para diferentes tareas de entrenamiento, como la búsqueda de arquitectura neuronal (NAS) y AutoML. La mayoría de estos algoritmos son bastante complejos y para la gente común es difícil de implementar. Otro algoritmo de metaaprendizaje más fácil de implementar es el MAML y Reptile que se describen en este artículo, que no cambian la estructura de la red neuronal profunda, solo cambian los parámetros de inicialización de la red.

 

MAML

Para comprender el significado y el proceso de derivación de la función de pérdida del algoritmo MAML, primero debemos distinguirlo del preentrenamiento.

Explicación de la Figura 5:

Definimos el parámetro de inicialización como , el parámetro de inicialización es , el parámetro del modelo después del entrenamiento en la enésima tarea de prueba se define como , por lo que la función de pérdida total de MAML es  .

Figura 5

¿Cuál es la diferencia entre MAML y preentrenamiento?

1. Diferentes funciones de pérdida

La función de pérdida de MAML es  .

La función de pérdida del pre-entrenamiento es .

La comprensión intuitiva es que la pérdida medida por MAML es la pérdida de la prueba después del entrenamiento de la tarea , mientras que el entrenamiento previo es calcular la pérdida directamente sobre la base original sin entrenamiento . Como se muestra en la Figura 6.

Figura 6

 2. Diferentes ideas de optimización

Permítanme primero compartir la descripción más apropiada de la función de pérdida que he visto: ( https://zhuanlan.zhihu.com/p/72920138 )

El misterio de la función de pérdida: los parámetros de inicialización controlan la audiencia y los parámetros de la tarea son independientes

Figura 7

 

Figura 8

 Como se muestra en la Figura 7 y la Figura 8:

En la figura anterior, la abscisa representa los parámetros de la red y la ordenada representa la función de pérdida. Las curvas verde claro y verde oscuro representan la curva de cambio de la función de pérdida de las dos tareas con parámetros.

Suponiendo que el vector de suma de los parámetros del modelo es unidimensional,

La intención original del pre-entrenamiento del modelo es encontrar un estado que minimice la suma de pérdidas de todas las tareas desde el principio . No garantiza que todas las tareas se puedan entrenar de la mejor manera . Como se muestra en la figura anterior, converge a el óptimo local . Se puede ver en la Figura 7 que el valor de pérdida alcanzó el mínimo según la fórmula de cálculo , pero en este momento la línea task2 (verde claro) solo puede converger al punto verde de la izquierda, es decir, el mínimo local, y desde la perspectiva general, el mínimo global aparece a la derecha.

La intención original de MAML es encontrar un insesgado , de modo que, ya sea en la curva de pérdida de la tarea 1 o en la curva de pérdida de la tarea 2, pueda caer al óptimo global respectivo . Se ve desde la FIG 8, el valor de pérdida se calcula de acuerdo con el valor mínimo alcanzado en este momento, puede converger al punto verde de Task1 a la izquierda, a la derecha Task2 puede converger al punto verde, ambos de los cuales son mínimos globales.

El maestro Li Hongyi dio una analogía muy vívida aquí: compara MAML con elegir estudiar para un doctorado, es decir, está más preocupado por el potencial de desarrollo futuro de los estudiantes; y el modelo de pre-entrenamiento es equivalente a elegir graduarse e ir directamente a una gran fábrica. Saque provecho de las habilidades que aprendió de inmediato, preocupándose por su desempeño en este momento. Como se muestra en la Figura 9.

Imagen 9

Las ventajas y características de MAML

Como se muestra en la Figura 10: MAML

  1. Cálculo rápido
  2. Todos los pasos de los parámetros de actualización están limitados a uno, es decir, un paso
  3. Al utilizar este algoritmo, se puede actualizar más veces al probar el rendimiento de una nueva tarea .
  4. Adecuado para situaciones con datos limitados
Imagen 10

Mecanismo de trabajo MAML

 En el artículo que presenta MAML, el algoritmo proporcionado se muestra en la Figura 11:

Imagen 11

 A continuación se proporciona una explicación detallada de cada paso: Referencia ( https://zhuanlan.zhihu.com/p/57864886 )

  • Requisito1: distribución de tareas, es decir, seleccionar aleatoriamente varias tareas para formar un grupo de tareas
  • Requisito2: El tamaño del paso es la tasa de aprendizaje. MAML se basa en un gradiente doble. Cada iteración incluye dos procesos de actualización de parámetros, por lo que hay dos tasas de aprendizaje que se pueden ajustar.
  1. Inicializar aleatoriamente los parámetros del modelo
  2. Ciclo, puede entenderse como un proceso iterativo o una época
  3. Muestra varias tareas al azar para formar un lote.
  4. Recorre cada tarea del lote
  5. Utilice el conjunto de soporte en una tarea en el lote para calcular el gradiente de cada parámetro. Bajo la configuración de N-way K-shot, debería haber NK en el conjunto de soporte . (K-shot de N vías significa que hay N tareas diferentes, y cada tarea tiene K muestras diferentes).
  6. La primera actualización de gradiente.
  7. Finalizar la primera actualización de gradiente
  8. La segunda actualización de gradiente. La muestra utilizada aquí es un conjunto de consultas. Una vez finalizado el paso 8, el modelo finaliza el entrenamiento en el lote, comienza a volver al paso 3 y continúa muestreando el siguiente lote.

Hay un diagrama más intuitivo del proceso MAML:

Imagen 12

La interpretación de la Figura 12 es:

 Aplicación MAML: ejemplo de juguete

El objetivo de este ejemplo de juguete es ajustar una curva sinusoidal:,   donde ayb son números aleatorios, cada grupo de ayb corresponde a una curva sinusoidal, muestrea K puntos de la curva sinusoidal y usa sus coordenadas horizontales y verticales como una tarea de grupo, la abscisa es la entrada de la red neuronal y la ordenada es la salida de la red neuronal.

Esperamos que, a través del aprendizaje de muchas tareas, aprendamos un conjunto de parámetros de inicialización de la red neuronal y luego ingresemos los puntos K de la tarea de prueba; después de un aprendizaje rápido, la red neuronal pueda ajustarse a la curva sinusoidal correspondiente a la tarea de prueba.

Figura 13

A la izquierda está la inicialización de los parámetros de la red neuronal utilizando el algoritmo de ajuste fino convencional. Observamos que cuando la suma de las funciones de pérdida de todas las tareas de entrenamiento se usa como la función de pérdida total para actualizar directamente los parámetros de la red , sin importar qué coordenadas se ingresen a la tarea de prueba, la curva predicha es siempre la curva cercana a 0, porque ayb pueden ser arbitrarios Set, por lo que todas las funciones seno posibles se suman y su valor esperado es 0. Por lo tanto, para obtener los mínimos globales de la suma de las funciones de pérdida de todas las tareas de entrenamiento, la red neuronal generará 0 independientemente de las coordenadas de entrada.

A la derecha está la red entrenada por MAML. El resultado inicial de MAML es una línea verde, que es diferente a la línea naranja. Pero a medida que avanzaba el ajuste fino, el resultado se acercaba más a la línea naranja.

 

En respuesta al MAML presentado anteriormente, se plantea una pregunta:

Al actualizar la red de la tarea de entrenamiento, solo se da un paso y luego se actualiza la metared. ¿Por qué es un paso, pueden ser varios pasos?

El curso del profesor Li Hongyi mencionó:

  • Solo actualice una vez, la velocidad es más rápida ; porque en el metaaprendizaje, hay muchas subtareas, todas las cuales se actualizan muchas veces, y el tiempo de entrenamiento es más largo.

  • Los parámetros de inicialización que MAML espera obtener son efectivos cuando se ajusta con precisión una nueva tarea . Si lo actualiza solo una vez, puede obtener un buen rendimiento en la nueva tarea. Tratar esto como un objetivo puede hacer que el entrenamiento de parámetros de metared sea muy bueno (el objetivo es consistente con la demanda).

  • Cuando se inicializan parámetros para tareas específicas, pero también para afinar muchas veces .

  • El aprendizaje de pocas oportunidades tiende a tener menos datos .

Reptil

Reptile es similar a MAML, y su diagrama de algoritmo es el siguiente:

Figura 14

En Reptile, cada vez  que se actualiza  , debe muestrear una tarea por lotes (tamaño de lote = 1 en la figura) y aplicar múltiples descensos de gradiente en cada tarea para obtener la tarea correspondiente   . Luego calcule  el vector de diferencia con  los parámetros de la tarea principal como  dirección de actualización  . Itere repetidamente de esta manera y finalmente obtenga los parámetros de inicialización globales.

 El pseudocódigo es el siguiente:

Reptil, cada muestra genera 1 tarea de entrenamiento

 

Reptil, cada muestra genera 1 tarea de entrenamiento por lotes

 

En reptil:

  • La red de tareas de formación se puede actualizar varias veces

  • reptile ya no calcula el gradiente como MAML (lo que mejora el rendimiento de la ingeniería), sino que  actualiza directamente los parámetros de la meta red multiplicando un parámetro  por la diferencia entre la meta red y los parámetros de red de la tarea de entrenamiento.

  • Desde el punto de vista del efecto, el efecto reptil es básicamente el mismo que el MAML.

 

Lo anterior es una comprensión profunda del metaaprendizaje. Puede que siga la derivación de la fórmula matemática MAML. Los lectores interesados ​​dejarán un mensaje ~


Referencia

[1] https://zhuanlan.zhihu.com/p/72920138

[2] https://zhuanlan.zhihu.com/p/57864886

[3] https://zhuanlan.zhihu.com/p/108503451

[4] Documento de MAML https://arxiv.org/pdf/1703.03400.pdf

【5】 https://zhuanlan.zhihu.com/p/136975128

Supongo que te gusta

Origin blog.csdn.net/allein_STR/article/details/113925326
Recomendado
Clasificación