Самообучение
Самообучение (англ. self-supervised learning, SSL) — парадигма в машинном обучении, при которой модель обучается на задаче, используя сами данные для генерации обучающих сигналов, вместо использования внешних, заранее размеченных меток. В контексте нейронных сетей самообучение направлено на использование внутренних структур или связей в исходных данных для создания осмысленных сигналов обучения. Задачи самообучения устроены таким образом, что их решение требует выделения существенных признаков или отношений в данных. Обычно входные данные модифицируют или преобразуют так, чтобы получить пары связанных примеров, где один из них используется как вход, а другой — для формирования сигнала обучения. Такая аугментация может включать добавление шума, обрезку, поворот изображения и другие преобразования. Самообучение ближе всего имитирует то, как человек учится распознавать объекты[1].
В процессе самообучения модель проходит два этапа. Сначала решается вспомогательная задача (pretext-task) с использованием псевдометок, что позволяет инициализировать параметры модели[2]. Затем выполняется основная задача с применением обучения с учителем либо без учителя.[3][4][5]
В последние годы самообучение показало высокие результаты и нашло практическое применение, например, в области обработки аудиосигналов, где используется такими компаниями, как Facebook, для распознавания речи[6].
Виды
Автоассоциативное самообучение — особый случай самообучения, при котором нейронная сеть обучается воспроизводить или восстанавливать собственные входные данные[7]. То есть модель учится представлять данные в форме, отражающей их существенные признаки или внутреннюю структуру, что позволяет точно воссоздавать исходный вход.
Термин «автоассоциативный» объясняется тем, что модель по существу соотносит входные данные с самими собой. Для этого часто применяются автоэнкодеры — архитектуры нейронных сетей для обучения представлений. Автоэнкодер состоит из кодировщика, который переводит входные данные в представление меньшей размерности (латентное пространство), и декодировщика, который восстанавливает исходные данные из этого представления.
Обучение происходит на примерах, где на вход модели подаётся исходный сигнал, а требуется его максимально точная реконструкция. Функция потерь на этапе обучения обычно учитывает разницу между входом и восстановленным выходом (например, среднеквадратичная ошибка). Минимизируя ошибку восстановления, автоэнкодер строит осмысленное представление данных в своём латентном пространстве.
Для задачи бинарной классификации обучающие данные можно поделить на положительные и отрицательные примеры. Положительные — те, что соответствуют целевому классу. Например, при обучении классификатора для распознавания птиц, положительные примеры — фотографии с изображением птиц, а отрицательные — без[8]. Контрастивное самообучение использует одновременно положительные и отрицательные примеры. Функция потерь минимизирует расстояние между положительными парами, одновременно максимизируя его для отрицательных[8].
Ранний пример — использование пары одномерных cверточных нейросетей, которые обрабатывают изображения и максимизируют степень их согласия[9].
Модель Contrastive Language-Image Pre-training (CLIP) позволяет совместно предобучать текстовый и визуальный энкодер так, чтобы вектора изображения и подписи образовывали малый угол в пространстве признаков (большая косинусная близость).
Метод InfoNCE (Noise-Contrastive Estimation)[10] позволяет совместно оптимизировать две модели по принципу контрастной оценки с шумом (NCE)[11]. Пусть дан набор из случайных примеров, в котором один положительный элемент взят из распределения , а остальные — из «предложенного» распределения . Минимизируется следующая функция потерь:
Неконтрастивное самообучение (NCSSL, англ. Non-contrastive self-supervised learning) использует только положительные примеры. Против ожиданий, NCSSL сходится к полезному локальному минимуму, не сводясь к тривиальному решению с нулевой ошибкой. Если взять пример бинарной классификации, тривиальное поведение — определять каждый пример как положительный. Для эффективного неконтрастивного самообучения требуется дополнительный предсказатель на рабочем участке, который не применяется при обратном распространении ошибки (back-propagate) на стороне целевого выхода[8].
Сравнение с другими видами машинного обучения
Самообучение по своей цели относится к методам обучения с учителем, так как модель должна научиться предсказывать классификацию на основании входных данных. Однако при этом ему не требуется явно размеченных пар «вход — выход»: служебная информация, метаданные или предметное знание извлекаются автоматически из исходных данных и служат супервизорными сигналами для обучения[1].
В отличие от обучения без учителя, самообучение не работает с априорными структурами данных, однако ему также не нужны метки в тренировочной выборке.
Полуобучение (англ. semi-supervised learning) совмещает обучение с учителем и без учителя, требуя, чтобы размечена была лишь небольшая часть обучающего массива[12].
В переносе обучения (англ. transfer learning) модель, изначально обученная для одной задачи, применяется к другой[13].
Обучение автоэнкодера, по существу, всегда самообучающееся, так как выход должен стать оптимальным воссозданием входа. Однако в современной литературе термин «самообучение» часто подразумевает постановку вспомогательных задач, специально спроектированных («pretext-task»), что отличает такой подход от полностью автономного обучения автоэнкодера[7].
В обучении с подкреплением самообучение через комбинацию функций потерь позволяет формировать абстрактные представления состояний, храня в сжатой форме только наиболее важную информацию[14].
Примеры
Модель BERT (двунаправленные представления на основе трансформера), созданная в Google, используется для лучшего понимания смысла поисковых запросов[15].
GPT-3 от OpenAI — авторегрессионная языковая модель, использующая самообучение для обработки текста: перевода, ответа на вопросы и т. п[16].
Bootstrap Your Own Latent (BYOL) — неконтрастивное самообучение, показавшее высокую эффективность на ImageNet и ряде других задач[17].
Алгоритм Яровского — пример самообучающегося подхода для обработки естественного языка: по нескольким размеченным примерам алгоритм учится определять, в каком значении употребляется многозначное слово в тексте.
DirectPred — неконтрастивное самообучение, в котором веса предсказателя задаются напрямую, а не через стандартный градиентный спуск[8]
Модель Self-GenomeNet реализует самообучение на задачах геномики.
Самообучение продолжает активно развиваться и становится важным инструментом в разных областях, так как эффективное использование неразмеченных данных открывает новые перспективы для машинного обучения, особенно в задачах, требующих больших объёмов данных.
Примечания
- ↑ 1 2 Bouchard, Louis What is Self-Supervised Learning? | Will machines ever be able to learn like humans? (англ.). Medium (25 ноября 2020). Дата обращения: 9 июня 2021. Архивировано 9 января 2022 года.
- ↑ Doersch, Carl. Multi-task Self-Supervised Visual Learning // 2017 IEEE International Conference on Computer Vision (ICCV) / Carl Doersch, Andrew Zisserman. — IEEE, Октябрь 2017. — P. 2070–2079. — ISBN 978-1-5386-1032-9. — doi:10.1109/iccv.2017.226.
- ↑ Doersch, Carl. Unsupervised Visual Representation Learning by Context Prediction // 2015 IEEE International Conference on Computer Vision (ICCV) / Carl Doersch, Abhinav Gupta, Alexei A. Efros. — IEEE, Декабрь 2015. — P. 1422–1430. — ISBN 978-1-4673-8391-2. — doi:10.1109/iccv.2015.167.
- ↑ Zheng, Xin; Wang, Yong; Wang, Guoyou; Liu, Jianguo (Апрель 2018). “Fast and robust segmentation of white blood cell images by self-supervised learning”. Micron. 107: 55—71. DOI:10.1016/j.micron.2018.01.010. ISSN 0968-4328. PMID 29425969. S2CID 3796689.
- ↑ Gidaris, Spyros. Boosting Few-Shot Visual Learning with Self-Supervision // 2019 IEEE/CVF International Conference on Computer Vision (ICCV) / Spyros Gidaris, Andrei Bursuc, Nikos Komodakis … [и др.]. — IEEE, Октябрь 2019. — P. 8058–8067. — ISBN 978-1-7281-4803-8. — doi:10.1109/iccv.2019.00815.
- ↑ Wav2vec: State-of-the-art speech recognition through self-supervision (англ.). ai.facebook.com. Дата обращения: 9 июня 2021. Архивировано 9 июня 2021 года.
- ↑ 1 2 Kramer, Mark A. (1991). “Nonlinear principal component analysis using autoassociative neural networks” (PDF). AIChE Journal. 37 (2): 233—243. Bibcode:1991AIChE..37..233K. DOI:10.1002/aic.690370209.
- ↑ 1 2 3 4 Demystifying a key self-supervised learning technique: Non-contrastive learning (англ.). ai.facebook.com. Дата обращения: 5 октября 2021. Архивировано 6 октября 2021 года.
- ↑ Becker, Suzanna; Hinton, Geoffrey E. (Январь 1992). “Self-organizing neural network that discovers surfaces in random-dot stereograms”. Nature [англ.]. 355 (6356): 161—163. Bibcode:1992Natur.355..161B. DOI:10.1038/355161a0. ISSN 1476-4687. PMID 1729650.
- ↑ Oord, Aaron van den; Li, Yazhe & Vinyals, Oriol (22 января 2019), Representation Learning with Contrastive Predictive Coding, arΧiv:1807.03748.
- ↑ Gutmann, Michael; Hyvärinen, Aapo (31 марта 2010). “Noise-contrastive estimation: A new estimation principle for unnormalized statistical models”. Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics [англ.]. JMLR Workshop and Conference Proceedings: 297—304.
- ↑ Beyer, Lucas. S4L: Self-Supervised Semi-Supervised Learning // 2019 IEEE/CVF International Conference on Computer Vision (ICCV) / Lucas Beyer, Xiaohua Zhai, Avital Oliver … [и др.]. — IEEE, Октябрь 2019. — P. 1476–1485. — ISBN 978-1-7281-4803-8. — doi:10.1109/iccv.2019.00156.
- ↑ Littwin, Etai. The Multiverse Loss for Robust Transfer Learning // 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) / Etai Littwin, Lior Wolf. — IEEE, Июнь 2016. — P. 3957–3966. — ISBN 978-1-4673-8851-1. — doi:10.1109/cvpr.2016.429.
- ↑ Francois-Lavet, Vincent; Bengio, Yoshua; Precup, Doina; Pineau, Joelle (2019). “Combined Reinforcement Learning via Abstract Representations”. Proceedings of the AAAI Conference on Artificial Intelligence. arXiv:1809.04506.
- ↑ Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing (англ.). Google AI Blog (2 ноября 2018). Дата обращения: 9 июня 2021. Архивировано 3 ноября 2018 года.
- ↑ Wilcox, Ethan. 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) / Ethan Wilcox, Peng Qian, Richard Futrell … [и др.]. — Stroudsburg, PA, USA : Association for Computational Linguistics, 2020. — P. 4640–4652. — doi:10.18653/v1/2020.emnlp-main.375.
- ↑ Grill, Jean-Bastien; Strub, Florian; Altché, Florent; Tallec, Corentin; Richemond, Pierre H.; Buchatskaya, Elena; Doersch, Carl; Pires, Bernardo Avila; et al. (10 сентября 2020), Bootstrap your own latent: A new approach to self-supervised Learning, arΧiv:2006.07733 [cs.LG].
Литература
- Balestriero, Randall; Ibrahim, Mark; Sobal, Vlad; Morcos, Ari; Shekhar, Shashank; Goldstein, Tom; Bordes, Florian; Bardes, Adrien; et al. (24 апреля 2023), A Cookbook of Self-Supervised Learning, arΧiv:2304.12210 [cs.LG].
Ссылки
- Doersch, Carl. Multi-task Self-Supervised Visual Learning // 2017 IEEE International Conference on Computer Vision (ICCV) / Carl Doersch, Andrew Zisserman. — Октябрь 2017. — P. 2070–2079. — ISBN 978-1-5386-1032-9. — doi:10.1109/ICCV.2017.226.
- Doersch, Carl. Unsupervised Visual Representation Learning by Context Prediction // 2015 IEEE International Conference on Computer Vision (ICCV) / Carl Doersch, Abhinav Gupta, Alexei A. Efros. — Декабрь 2015. — P. 1422–1430. — ISBN 978-1-4673-8391-2. — doi:10.1109/ICCV.2015.167.
- Zheng, Xin; Wang, Yong; Wang, Guoyou; Liu, Jianguo (1 апреля 2018). “Fast and robust segmentation of white blood cell images by self-supervised learning”. Micron [англ.]. 107: 55—71. DOI:10.1016/j.micron.2018.01.010. ISSN 0968-4328. PMID 29425969. S2CID 3796689.
- 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. Дата обращения 2022-11-01.