El aprendizaje autosupervisado ( SSL ) es un paradigma del aprendizaje automático en el que se entrena a un modelo en una tarea utilizando los propios datos para generar señales de supervisión, en lugar de depender de etiquetas externas proporcionadas por humanos. En el contexto de las redes neuronales, el aprendizaje autosupervisado tiene como objetivo aprovechar las estructuras o relaciones inherentes dentro de los datos de entrada para crear señales de entrenamiento significativas. Las tareas de SSL están diseñadas de modo que su resolución requiera capturar características o relaciones esenciales en los datos. Los datos de entrada normalmente se amplían o transforman de una manera que crea pares de muestras relacionadas. Una muestra sirve como entrada y la otra se utiliza para formular la señal de supervisión. Esta ampliación puede implicar la introducción de ruido, recorte, rotación u otras transformaciones. El aprendizaje autosupervisado imita más de cerca la forma en que los humanos aprenden a clasificar objetos. [1]
El método SSL típico se basa en una red neuronal artificial u otro modelo como una lista de decisiones . [2] El modelo aprende en dos pasos. Primero, la tarea se resuelve en base a una tarea de clasificación auxiliar o de pretexto usando pseudoetiquetas que ayudan a inicializar los parámetros del modelo. [3] [4] Segundo, la tarea real se realiza con aprendizaje supervisado o no supervisado. [5] [6] [7] Otras tareas auxiliares involucran completar patrones a partir de patrones de entrada enmascarados (pausas silenciosas en el habla o porciones de imagen enmascaradas en negro).
El aprendizaje autosupervisado ha producido resultados prometedores en los últimos años y ha encontrado aplicaciones prácticas en el procesamiento de audio y está siendo utilizado por Facebook y otros para el reconocimiento de voz . [8]
El aprendizaje autoasociativo autosupervisado es una categoría específica de aprendizaje autosupervisado en el que se entrena una red neuronal para reproducir o reconstruir sus propios datos de entrada. [9] En otras palabras, el modelo tiene la tarea de aprender una representación de los datos que capture sus características o estructura esenciales, lo que le permite regenerar la entrada original.
El término "autoasociativo" proviene del hecho de que el modelo esencialmente asocia los datos de entrada consigo mismo. Esto se logra a menudo utilizando autocodificadores , que son un tipo de arquitectura de red neuronal utilizada para el aprendizaje de representaciones. Los autocodificadores consisten en una red de codificadores que asigna los datos de entrada a una representación de menor dimensión (espacio latente) y una red de decodificadores que reconstruye los datos de entrada a partir de esta representación.
El proceso de entrenamiento implica presentar al modelo los datos de entrada y exigirle que reconstruya los mismos datos lo más fielmente posible. La función de pérdida utilizada durante el entrenamiento normalmente penaliza la diferencia entre la entrada original y la salida reconstruida. Al minimizar este error de reconstrucción, el autocodificador aprende una representación significativa de los datos en su espacio latente.
Para una tarea de clasificación binaria, los datos de entrenamiento se pueden dividir en ejemplos positivos y negativos. Los ejemplos positivos son aquellos que coinciden con el objetivo. Por ejemplo, si estás aprendiendo a identificar pájaros, los datos de entrenamiento positivos son aquellas imágenes que contienen pájaros. Los ejemplos negativos son aquellos que no los contienen. [10] El aprendizaje autosupervisado contrastivo utiliza ejemplos positivos y negativos. La función de pérdida del aprendizaje contrastivo minimiza la distancia entre pares de muestras positivas mientras maximiza la distancia entre pares de muestras negativas. [10]
Un ejemplo temprano utiliza un par de CNN unidimensionales para procesar un par de imágenes y maximizar su concordancia. [11]
El preentrenamiento contrastivo de lenguaje-imagen permite el preentrenamiento conjunto de un codificador de texto y un codificador de imágenes, de modo que un par imagen-texto coincidente tenga un vector de codificación de imagen y un vector de codificación de texto que abarquen un ángulo pequeño (que tenga una gran similitud de coseno).
InfoNCE (Noise-Contrastive Estimation) [12] es un método para optimizar dos modelos de forma conjunta, basado en Noise Contrastive Estimation (NCE). [13] Dado un conjunto de muestras aleatorias que contienen una muestra positiva y muestras negativas de la distribución de 'propuesta' , minimiza la siguiente función de pérdida:
El aprendizaje autosupervisado no contrastivo (NCSSL) utiliza solo ejemplos positivos. Contrariamente a la intuición, el NCSSL converge hacia un mínimo local útil en lugar de alcanzar una solución trivial, con pérdida cero. Para el ejemplo de la clasificación binaria, aprendería trivialmente a clasificar cada ejemplo como positivo. Un NCSSL eficaz requiere un predictor adicional en el lado en línea que no se retropropague en el lado objetivo. [10]
El SSL pertenece a los métodos de aprendizaje supervisado en la medida en que el objetivo es generar una salida clasificada a partir de la entrada. Sin embargo, al mismo tiempo, no requiere el uso explícito de pares de entrada-salida etiquetados. En cambio, las correlaciones, los metadatos integrados en los datos o el conocimiento del dominio presente en la entrada se extraen de los datos de forma implícita y autónoma. Estas señales de supervisión, generadas a partir de los datos, se pueden utilizar luego para el entrenamiento. [1]
El SSL es similar al aprendizaje no supervisado en el sentido de que no requiere etiquetas en los datos de muestra. Sin embargo, a diferencia del aprendizaje no supervisado, el aprendizaje no se realiza utilizando estructuras de datos inherentes.
El aprendizaje semisupervisado combina el aprendizaje supervisado y no supervisado, y requiere que solo se etiquete una pequeña parte de los datos de aprendizaje . [4]
En el aprendizaje por transferencia, un modelo diseñado para una tarea se reutiliza en una tarea diferente. [14]
El entrenamiento de un autocodificador constituye intrínsecamente un proceso autosupervisado, porque el patrón de salida debe convertirse en una reconstrucción óptima del propio patrón de entrada. Sin embargo, en la jerga actual, el término "autosupervisado" se ha asociado con tareas de clasificación que se basan en una configuración de entrenamiento de tareas de pretexto. Esto implica el diseño (humano) de dichas tareas de pretexto, a diferencia del caso del entrenamiento de un autocodificador totalmente autónomo. [9]
En el aprendizaje de refuerzo , el aprendizaje autosupervisado a partir de una combinación de pérdidas puede crear representaciones abstractas donde solo la información más importante sobre el estado se mantiene de forma comprimida. [15]
El aprendizaje autosupervisado es particularmente adecuado para el reconocimiento de voz. Por ejemplo, Facebook desarrolló wav2vec , un algoritmo autosupervisado, para realizar el reconocimiento de voz utilizando dos redes neuronales convolucionales profundas que se construyen una sobre la otra. [8]
El modelo de Representaciones de Codificador Bidireccional a partir de Transformadores (BERT) de Google se utiliza para comprender mejor el contexto de las consultas de búsqueda. [16]
El GPT-3 de OpenAI es un modelo de lenguaje autorregresivo que se puede utilizar en el procesamiento del lenguaje. Se puede utilizar para traducir textos o responder preguntas, entre otras cosas. [17]
Bootstrap Your Own Latent (BYOL) es un NCSSL que produjo excelentes resultados en ImageNet y en evaluaciones comparativas de transferencia y semisupervisadas. [18]
El algoritmo de Yarowsky es un ejemplo de aprendizaje autosupervisado en el procesamiento del lenguaje natural . A partir de un pequeño número de ejemplos etiquetados, aprende a predecir qué sentido de una palabra polisémica se está utilizando en un punto determinado del texto.
DirectPred es un NCSSL que establece directamente los pesos del predictor en lugar de aprenderlo a través de la actualización del gradiente . [10]
Self-GenomeNet es un ejemplo de aprendizaje autosupervisado en genómica. [19]