Aprendizaje automático 15 - meta aprendizaje

1 ¿Qué es el metaaprendizaje?

La tarea general de aprendizaje automático es obtener un modelo a través de datos de entrenamiento y luego verificarlo en los datos de prueba. En términos generales, solo nos enfocamos en el desempeño del modelo en esta tarea. El metaaprendizaje explora para resolver otro problema, es decir, ¿podemos aprender a aprender aprendiendo diferentes tareas? Eso es aprender a aprender. Lo que nos preocupa ya no es el desempeño del modelo en una determinada tarea, sino la capacidad del modelo para aprender en múltiples tareas.

Imagine que la máquina ha aprendido 100 tareas. Generalmente, puede aprender mejor en la tarea 101. Por ejemplo, después de que la máquina haya aprendido tareas como clasificación de imágenes, reconocimiento de voz y clasificación de recomendaciones, en la clasificación de texto, puede aprender mejor debido a lo que ha aprendido antes. El metaaprendizaje consiste en resolver este problema, cómo dejar que la máquina aprenda.

image.png

Para las tareas generales de aprendizaje automático, necesitamos aprender un modelo f y obtener la salida y de la entrada x. Y el metaaprendizaje es aprender una F y usarla para aprender f en varias tareas. Como se muestra abajo

image.png

 

2 ¿Por qué necesitamos el metaaprendizaje?

Las principales ventajas del meta aprendizaje son

  1. Haga que el aprendizaje sea más eficiente. Aprendemos de múltiples tareas para facilitar que el modelo aprenda otras tareas.
  2. Para tareas con un número relativamente pequeño de muestras, el aprendizaje eficiente es más necesario para mejorar la precisión y la velocidad de convergencia. El metaaprendizaje es una mejor solución para el aprendizaje de pocos disparos

 

3 Qué se puede aprender mediante el metaaprendizaje

A través del metaaprendizaje, podemos aprender

  1. Parámetros del modelo. Incluyendo parámetros de inicialización del modelo, incrustación, expresión de características, etc.
  2. Arquitectura modelo. La arquitectura del modelo se puede obtener mediante búsqueda de arquitectura de red (NAS), como varias capas de red, cómo diseñar cada capa, etc.
  3. Modelo de hiperparámetros. Como tasa de aprendizaje, tasa de abandono, optimizador, etc. Esta es la categoría de AutoML
  4. El algoritmo en sí, porque no es necesariamente un modelo de red.

 

4 conjuntos de datos comunes

El metaaprendizaje necesita entrenar múltiples tareas, por lo que generalmente no hay muchas muestras para cada tarea, y el conjunto de datos en sí también es de pocos disparos. Los conjuntos de datos más utilizados son los siguientes.

omniglot

Está compuesto por muchos idiomas diferentes, incluidos 1623 caracteres, con 20 muestras por carácter. Por lo tanto, se puede considerar un aprendizaje de varios disparos.

image.png

 

miniImageNet

Versión de pocas tomas de ImageNet

image.png

 

CACHORRO

Aves de Caltech-UCSD. Las imágenes de varias aves también son algunas tomas.

image.png

 

5 Objetivos de optimización y pérdida

¿Cómo evaluar la calidad del meta aprendizaje, es decir, cuál es nuestro objetivo de optimización? En términos generales, el metaaprendizaje requiere múltiples tareas de aprendizaje automático como un conjunto de datos, algunas de las cuales se utilizan como tareas de capacitación y otras como tareas de prueba. Tanto la tarea de entrenamiento como la tarea de prueba incluyen datos de entrenamiento y datos de prueba.

image.png

Primero aprendemos el modelo f1 a través de la tarea1 y obtenemos la función de pérdida l1. Luego aprenda el modelo f2 en la tarea2 y obtenga l2. Por analogía, se obtiene la suma de las funciones de pérdida en todas las tareas, que es la función de pérdida del meta aprendizaje. como sigue

image.png

Nuestro objetivo es reducir esta función de pérdida L (F).

image.png

 

6 MAML

image.png

ICML 2017

Metaaprendizaje agnóstico del modelo para una rápida adaptación de las redes profundas

 

6.1 ¿Qué problema se usa para resolver?

El enfoque de MAML está en el aprendizaje de los parámetros de inicialización del modelo, que es el mismo que el objetivo de los modelos previos al entrenamiento. Los modelos de preentrenamiento usan métodos supervisados ​​o auto-supervisados ​​para entrenar primero el modelo en la tarea A con un conjunto de datos suficiente y luego usan los parámetros del modelo para inicializar la tarea B con menos datos. Mediante el aprendizaje por transferencia, también se pueden entrenar tareas con una cantidad relativamente pequeña de datos. Aunque tanto los modelos de metaaprendizaje como los de preentrenamiento pueden ayudar a modelar la inicialización de parámetros, la diferencia entre los dos sigue siendo muy grande

  1. Tarea A del modelo de preentrenamiento, en términos generales, la cantidad de datos es suficiente; de ​​lo contrario, no puede entrenarse a sí mismo y no podrá obtener un buen parámetro de inicialización
  2. Los parámetros de inicialización del modelo de preentrenamiento se centran en un buen desempeño en la tarea A y pueden no ser buenos en la tarea B. El metaaprendizaje utiliza parámetros de inicialización para continuar entrenando en cada tarea y el efecto es bueno. Se centra en el potencial del modelo.

image.png

 

6.2 objetivos de pérdida y optimización

La función de pérdida de MAML es la siguiente

image.png

La suma de la pérdida en el conjunto de prueba de todas las tareas es la pérdida de MAML. Necesitamos minimizar esta pérdida. Se puede lograr mediante el método de descenso en pendiente.

 

6.3 Innovación

La innovación de MAML es que al entrenar el modelo, los parámetros del modelo se actualizan solo una vez en una sola tarea. El maestro Li Hongyi cree que la razón principal es

  1. MAML espera que el modelo tenga una sola tarea, y que los parámetros se actualicen solo una vez, y pueda obtener buenos parámetros de inicialización.
  2. Los conjuntos de datos de metaaprendizaje generalmente son pocas tomas, de lo contrario, muchas tareas y capacitación llevarán mucho tiempo. En el escenario de pocas tomas, los parámetros generales del modelo no se pueden actualizar varias veces.
  3. Aunque los parámetros de inicialización solo se actualizan una vez al entrenar el modelo, en la prueba de tarea, los parámetros se pueden actualizar varias veces para permitir que el modelo se entrene por completo
  4. El metaaprendizaje generalmente incluye muchas tareas y una sola tarea se actualiza solo una vez, lo que puede garantizar la eficiencia del aprendizaje.

 

6.4 Cómo actualizar los parámetros

El proceso de actualización de los parámetros de MAML es el siguiente

  1. Inicializar el parámetro de meta aprendizaje φ0
  2. Disminuir una vez desde el gradiente φ0, actualizar para obtener θm
  3. Actualice los parámetros una vez en la tarea m
  4. A través de la dirección del segundo θ, se determina la dirección de actualización de φ y se obtiene φ1.

Para el preentrenamiento del modelo, la actualización de φ y θ siempre es consistente.

image.png

 

7 reptil

image.png

openAI , 2018 ,Sobre algoritmos de metaaprendizaje de primer orden

 

7.1 Características del modelo

Al igual que MAML, Reptile también se centra en la inicialización de parámetros del modelo. Por tanto, la función de pérdida es básicamente la misma. La diferencia es que combina las características del modelo previo al entrenamiento y MAML, y es diferente en las actualizaciones de los parámetros del modelo. Reptile también inicializa primero el parámetro φ0, luego muestra la tarea my la actualiza varias veces (en lugar de una sola vez en MAML) para obtener un buen parámetro θm. Utilice la dirección de θm para actualizar φ0 a φ1. Actualice a φ2 de la misma manera

image.png

 

Supongo que te gusta

Origin blog.csdn.net/u013510838/article/details/108580449
Recomendado
Clasificación