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.[1] 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.[2][3] En segundo lugar, la tarea real se realiza con aprendizaje supervisado o no supervisado.[4][5][6] 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.[7] 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.[8]
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.[9]
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.[9]
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.[9]
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.[8]
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.[3]
En el aprendizaje por transferencia, un modelo diseñado para una tarea se reutiliza en otra diferente.[10]
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.[11]
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.[12]
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í.[7]
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.[13]
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.[14]
Bootstrap Your Own Latent es un NCSSL que produjo excelentes resultados en ImageNet y en pruebas comparativas de transferencia y semisupervisión.[15]
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.
Véase también
Lectura adicional
Balestriero; Sobal; Morcos; Shekhar; Goldstein; Bordes; Mialon; Tian et ál. (2023-04-24). «A Cookbook of Self-Supervised Learning». arXiv:2304.12210
[cs.LG].
Enlaces externos
Referencias
- ↑ Yarowsky, David (1995). «Unsupervised Word Sense Disambiguation Rivaling Supervised Methods». Proceedings of the 33rd Annual Meeting of the Association for Computational Linguistics (Cambridge, MA: Association for Computational Linguistics): 189-196. doi:10.3115/981658.981684. Consultado el 1 de noviembre de 2022.
- ↑ Doersch, Carl; Zisserman, Andrew (2017). «Multi-task Self-Supervised Visual Learning». 2017 IEEE International Conference on Computer Vision (ICCV) (IEEE). ISBN 978-1-5386-1032-9. doi:10.1109/iccv.2017.226. Consultado el 2070–2079.
- ↑ a b Beyer, Lucas; Zhai, Xiaohua; Oliver, Avital; Kolesnikov, Alexander (2019). «S4L: Self-Supervised Semi-Supervised Learning». 2019 IEEE/CVF International Conference on Computer Vision (ICCV) (IEEE): 1476-1485. ISBN 978-1-7281-4803-8. doi:10.1109/iccv.2019.00156.
- ↑ Doersch, Carl; Gupta, Abhinav; Efros, Alexei A. (2015). «Unsupervised Visual Representation Learning by Context Prediction». 2015 IEEE International Conference on Computer Vision (ICCV) (IEEE): 1422-1430. ISBN 978-1-4673-8391-2. doi:10.1109/iccv.2015.167.
- ↑ Zheng, Xin; Wang, Yong; Wang, Guoyou; Liu, Jianguo. «Fast and robust segmentation of white blood cell images by self-supervised learning». Micron 107: 55-71. ISSN 0968-4328. doi:10.1016/j.micron.2018.01.010.
- ↑ Gidaris, Spyros; Bursuc, Andrei; Komodakis, Nikos; Perez, Patrick; Cord, Matthieu (2019). «Boosting Few-Shot Visual Learning With Self-Supervision». 2019 IEEE/CVF International Conference on Computer Vision (ICCV) (IEEE): 8058-8067. ISBN 978-1-7281-4803-8. doi:10.1109/iccv.2019.00815.
- ↑ a b «Wav2vec: State-of-the-art speech recognition through self-supervision». Ai.facebook.com (en inglés). Consultado el 9 de junio de 2021.
- ↑ a b Bouchard, Louis (25 de noviembre de 2020). «What is Self-Supervised Learning? | Will machines ever be able to learn like humans?». Medium (en inglés). Consultado el 9 de junio de 2021.
- ↑ a b c «Demystifying a key self-supervised learning technique: Non-contrastive learning». ai.facebook.com (en inglés). Consultado el 5 de octubre de 2021.
- ↑ Littwin, Etai; Wolf, Lior (2016). «The Multiverse Loss for Robust Transfer Learning». 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (IEEE): 3957-3966. ISBN 978-1-4673-8851-1. doi:10.1109/cvpr.2016.429.
- ↑ Kramer, Mark A. (1991). «Nonlinear principal component analysis using autoassociative neural networks». AIChE Journal 37 (2): 233-243. doi:10.1002/aic.690370209.
- ↑ Francois-Lavet, Vincent; Bengio, Yoshua; Precup, Doina; Pineau, Joelle (2019). «Combined Reinforcement Learning via Abstract Representations». Proceedings of the AAAI Conference on Artificial Intelligence.
- ↑ «Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing». Google AI Blog (en inglés). Consultado el 9 de junio de 2021.
- ↑ Wilcox, Ethan; Qian, Peng; Futrell, Richard; Kohita, Ryosuke; Levy, Roger; Ballesteros, Miguel (2020). «Structural Supervision Improves Few-Shot Learning and Syntactic Generalization in Neural Language Models». Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP) (Stroudsburg, PA, USA: Association for Computational Linguistics): 4640-4652. doi:10.18653/v1/2020.emnlp-main.375.
- ↑ Grill, Florent; Altché, Corentin; Tallec, Pierre H.; Richemond, Elena; Buchatskaya, Carl; Doersch, Bernardo Avila; Pires, Zhaohan Daniel; Guo et ál. (2020-09-10). «Bootstrap your own latent: A new approach to self-supervised Learning». arXiv:2006.07733
[cs.LG].