# Aprendizaje autosupervisado

El aprendizaje autosupervisado (en inglés: self-supervised learning, SSL) es un paradigma del aprendizaje automático y sus métodos correspondientes para procesar datos no etiquetados con el fin de obtener representaciones útiles que puedan ayudar en tareas de aprendizaje posteriores. Lo más destacado de los métodos SSL es que no necesitan etiquetas anotadas por humanos, lo que significa que están diseñados para aceptar conjuntos de datos compuestos en su totalidad por muestras de datos sin etiquetar. Entonces, el proceso típico de SSL consiste en aprender señales de supervisión (etiquetas generadas automáticamente) en una primera etapa, que luego se utilizan para alguna tarea de aprendizaje supervisado en la segunda y posteriores etapas. Por esta razón, el SSL puede describirse como una forma intermedia de aprendizaje no supervisado y supervisado.
El método de SSL típico se basa en una red neuronal artificial u otro modelo, como una lista de decisión. El modelo aprende en dos etapas. En primer lugar, la tarea se resuelve basándose en una tarea de clasificación auxiliar o de pretexto utilizando pseudoetiquetas que ayudan a iniciar los parámetros del modelo. En segundo lugar, la tarea real se realiza con aprendizaje supervisado o no supervisado. Otras tareas auxiliares consisten en completar patrones a partir de patrones de entrada enmascarados (pausas silenciosas en el habla o partes de imágenes enmascaradas en negro).
El aprendizaje autosupervisado se denominó "autoetiquetado" en 2013. El autoetiquetado genera etiquetas basadas en los valores de las variables de entrada, como por ejemplo, para permitir la aplicación de métodos de aprendizaje supervisado en series temporales sin etiquetar.
El aprendizaje autosupervisado ha producido resultados prometedores en los últimos años y ha encontrado aplicación práctica en el procesamiento de audio y está siendo utilizado por Facebook y otros para el reconocimiento de voz. El principal atractivo del SSL es que el entrenamiento puede producirse con datos de menor calidad, en lugar de mejorar los resultados finales. El aprendizaje autosupervisado imita más de cerca el modo en que los humanos aprenden a clasificar objetos.

## Tipos

Para una tarea de clasificación binaria, los datos de entrenamiento pueden dividirse en ejemplos positivos y ejemplos 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 los que no los contienen.

### Aprendizaje autosupervisado contrastivo

El aprendizaje autosupervisado contrastivo utiliza ejemplos positivos y negativos. La función de pérdida del aprendizaje contrastivo minimiza la distancia entre muestras positivas y maximiza la distancia entre muestras negativas.

### Aprendizaje autosupervisado no contrastivo

El aprendizaje autosupervisado no contrastivo (en inglés: non-contrastive self-supervised learning, NCSSL) sólo utiliza ejemplos positivos. Contraintuitivamente, el NCSSL converge en 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.

## Comparación con otras formas de aprendizaje automático

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, no requiere el uso explícito de pares de entrada-salida etiquetados. En su lugar, las correlaciones, los metadatos incrustados en los datos o el conocimiento del dominio presente en la entrada se extraen de forma implícita y autónoma de los datos. Estas señales de supervisión, generadas a partir de los datos, pueden utilizarse entonces para el entrenamiento.
El SSL es similar al aprendizaje no supervisado en 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 el no supervisado, requiriendo que sólo una pequeña parte de los datos de aprendizaje estén etiquetados.
En el aprendizaje por transferencia, un modelo diseñado para una tarea se reutiliza en otra diferente.
El entrenamiento de un autocodificador constituye intrínsecamente un proceso autosupervisado, porque el patrón de salida tiene que 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 a tareas de clasificación que se basan en una configuración de entrenamiento pretexto-tarea. Esto implica el diseño (humano) de dicha(s) tarea(s) de pretexto, a diferencia de lo que ocurre con el entrenamiento de autoencodificadores totalmente autónomos.
En el aprendizaje por refuerzo, el aprendizaje autosupervisado a partir de una combinación de pérdidas puede crear representaciones abstractas en las que sólo se conserva de forma comprimida la información más importante sobre el estado.

## Ejemplos

El aprendizaje autosupervisado es especialmente adecuado para el reconocimiento del habla. Por ejemplo, Facebook desarrolló wav2vec, un algoritmo autosupervisado, para realizar el reconocimiento del habla utilizando dos redes neuronales convolucionales profundas que se complementan entre sí.
El modelo de Representación de Codificador Bidireccional de Transformadores, BERT (en inglés: Bidirectional Encoder Representations from Transformers) de Google se utiliza para comprender mejor el contexto de las consultas de búsqueda.
GPT-3 de OpenAI es un modelo del lenguaje autorregresivo que puede utilizarse en el procesamiento del lenguaje. Puede utilizarse para traducir textos o responder preguntas, entre otras cosas.
Bootstrap Your Own Latent es un NCSSL que produjo excelentes resultados en ImageNet y en pruebas comparativas de transferencia y semisupervisión.
El algoritmo 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 utiliza en un punto determinado del texto.
DirectPred es un NCSSL que establece directamente los pesos del predictor en lugar de aprenderlo mediante la actualización del gradiente.