Самообучение
Материал из MachineLearning.
Aleksei Klesov (Обсуждение | вклад)
(Новая: '''Самообучение''' (англ. ''Self-Supervised Learning, SSL'') — парадигма машинного обучения, относ...)
К следующему изменению →
Версия 13:46, 18 июля 2026
Самообучение (англ. Self-Supervised Learning, SSL) — парадигма машинного обучения, относящаяся к разделу обучения без учителя, в которой модель обучается понимать структуру данных, самостоятельно формируя сигналы контроля на основе самих данных, без использования внешней ручной разметки. В отличие от обучения с учителем, где каждый пример данных сопровождается эталонной меткой, SSL использует внутреннюю структуру данных для создания суррогатных (англ. pretext) задач. Решая такие задачи, модель учится извлекать полезные представления, которые затем могут быть использованы для решения целевых (англ. downstream) задач с небольшим количеством размеченных данных или без них. За последние годы методы самообучения достигли производительности, сопоставимой с полностью контролируемым обучением, в таких областях, как Компьютерное зрение и Обработка естественного языка (NLP)[1].
Содержание |
Концепция суррогатных задач
В основе самообучения лежит концепция суррогатной задачи. Суррогатная задача — это вспомогательная задача, для которой метки могут быть автоматически сгенерированы из самих неразмеченных данных. Модель обучается решать эту задачу, и в процессе решения вынуждена изучать внутренние закономерности и структуру данных. Полученные знания (представления) затем переносятся на основную целевую задачу[1].
Основное отличие от обучения с учителем заключается в источнике сигнала контроля. В обучении с учителем сигнал поступает от внешнего аннотатора (человека), что делает этот процесс дорогостоящим и трудоёмким. В самообучении сигнал контроля извлекается из самих данных, что позволяет использовать практически неограниченные объёмы неразмеченных данных[1].
Суррогатные задачи можно разделить на два основных типа: генеративные и дискриминативные. Генеративные подходы (например, автоэнкодеры) учатся восстанавливать исходные данные по их искажённой версии. Дискриминативные подходы (например, Контрастивное обучение) учатся различать схожие и различные примеры, не требуя генерации данных в исходном пространстве[1].
Математический аппарат
Контрастивное обучение
Контрастивное обучение (англ. Contrastive Learning, CL) является одной из наиболее успешных и широко распространённых парадигм самообучения. Основная идея заключается в обучении кодировщика , который отображает наблюдения
в латентные векторы
таким образом, чтобы представления схожих примеров (положительных пар) сближались, а представления различных примеров (отрицательных пар) — отдалялись друг от друга.
В типичной постановке для каждого образца x создаются два его аугментированных представления и
, которые считаются положительной парой. Все остальные образцы в батче образуют множество отрицательных примеров
[1].
Функция потерь InfoNCE
Ключевой функцией потерь в контрастивном обучении является InfoNCE (англ. Information Noise-Contrastive Estimation), предложенная в работе van den Oord et al. (2018)[1]. Эта функция потерь позволяет модели эффективно учиться различать положительные и отрицательные пары, решая задачу классификации среди множества примеров. Формально, для батча из N примеров, функция потерь InfoNCE определяется как:
где — косинусное сходство,
— температурный параметр, контролирующий жёсткость распределения внимания к отрицательным примерам[1]. Знаменатель суммирует сходство текущего якоря
со всеми положительными представлениями в батче
, включая его собственную положительную пару
. Таким образом, модель должна присвоить максимальную вероятность правильной положительной паре среди всех N возможных[1]. Минимизация InfoNCE эквивалентна максимизации нижней границы взаимной информации между представлениями z и исходными данными x[1].
Проблема коллапса представлений
Одной из центральных проблем при обучении без отрицательных примеров (или при их недостаточном количестве) является коллапс представлений (англ. representation collapse). Коллапс может проявляться в двух формах: полный коллапс, когда все представления схлопываются в одну точку, и размерностный коллапс (англ. dimensional collapse), когда представления занимают лишь подпространство меньшей размерности, теряя информацию о различных факторах вариативности данных[1].
Причина коллапса кроется в тривиальных решениях, к которым может прийти модель: например, если она будет выдавать постоянный вектор для всех входов, то расстояние между представлениями положительных пар станет минимальным, но при этом полезная информация будет полностью потеряна[1]. Для предотвращения коллапса в контрастивных методах используется механизм отталкивания за счёт отрицательных примеров. В не-контрастивных методах (таких как BYOL или SimSiam) используются альтернативные стратегии: асимметричные архитектуры, остановка градиента (англ. stop-gradient) или специальные регуляризаторы[1][1]. Регуляризация равномерности распределения представлений на гиперсфере также является эффективным средством борьбы с коллапсом[1].
Ключевые методы
SimCLR
SimCLR (англ. A Simple Framework for Contrastive Learning of Visual Representations) — это простой и эффективный фреймворк для контрастивного самообучения, предложенный Chen et al. в 2020 году[1]. SimCLR упрощает существующие подходы, отказываясь от специализированных архитектур и банков памяти. Ключевые компоненты SimCLR включают:
- Композиция аугментаций: случайная комбинация аугментаций (кадрирование, изменение цвета, размытие и т. д.) играет критическую роль в определении эффективности суррогатной задачи.
- Нелинейная проекционная голова: между базовым кодировщиком и функцией потерь InfoNCE добавляется нелинейный многослойный перцептрон (MLP), что значительно улучшает качество представлений.
- Большие батчи и длительное обучение: SimCLR требует больших размеров батча (до 4096 или 8192) для обеспечения достаточного количества отрицательных примеров, что делает его вычислительно затратным.
SimCLR показал, что линейный классификатор, обученный на представлениях, полученных с помощью SimCLR, достигает на ImageNet точности 76.5% top-1, что сравнимо с полностью контролируемым ResNet-50[1].
MoCo
MoCo (англ. Momentum Contrast) — это метод контрастивного обучения, предложенный He et al. в 2020 году[1]. MoCo решает проблему ограниченного размера батча (а значит, и количества отрицательных примеров) за счёт использования динамического словаря (англ. dynamic dictionary) в виде очереди.
Ключевые компоненты MoCo:
- Очередь: словарь отрицательных примеров формируется как очередь фиксированного размера, которая постоянно обновляется: новые закодированные представления добавляются в конец, а самые старые удаляются из начала. Это позволяет использовать большое количество отрицательных примеров без увеличения размера батча.
- Импульсный кодировщик: параметры кодировщика для словаря обновляются не через обратное распространение, а как скользящее среднее (импульсное обновление) параметров основного кодировщика. Это обеспечивает согласованность представлений в очереди.
MoCo и его улучшенные версии (MoCo v2, MoCo v3) стали стандартом в области самообучения для компьютерного зрения[1][1].
BYOL
BYOL (англ. Bootstrap Your Own Latent) — это не-контрастивный подход к самообучению, предложенный Grill et al. в 2020 году[1]. BYOL отказывается от использования отрицательных примеров, что значительно снижает вычислительную сложную и требования к размеру батча.
Архитектура BYOL состоит из двух сетей:
- Online-сеть: состоит из кодировщика, проекционной головы и предиктора (обычно MLP). Обучение происходит через обратное распространение.
- Target-сеть: имеет ту же архитектуру, что и online-сеть, но без предиктора. Её параметры обновляются как импульсное среднее параметров online-сети.
Обучение происходит следующим образом: для каждого изображения создаются две различные аугментации v и . Online-сеть получает v и пытается предсказать представление
, которое target-сеть сгенерировала из
. Функция потерь — это среднеквадратичная ошибка между нормализованными представлениями. Ключевым элементом, предотвращающим коллапс, является остановка градиента (англ. stop-gradient) на target-сети: градиенты не распространяются на target-сеть, что нарушает симметрию и предотвращает тривиальное решение[1].
Маскированные автоэнкодеры (BERT и MAE)
Маскированные автоэнкодеры представляют собой класс генеративных методов самообучения, где модель учится восстанавливать скрытые (маскированные) фрагменты данных по их видимой части.
BERT (англ. Bidirectional Encoder Representations from Transformers) — это одна из самых влиятельных моделей в области обработки естественного языка, которая использует маскированное языковое моделирование (англ. Masked Language Modeling, MLM) в качестве суррогатной задачи[1]. В MLM случайным образом маскируется 15% токенов во входной последовательности, и модель обучается предсказывать эти маскированные токены на основе контекста.
MAE (англ. Masked Autoencoders) — это адаптация идеи маскированного автоэнкодирования для компьютерного зрения, предложенная He et al. в 2021 году[1]. MAE маскирует случайные патчи изображения (например, 75% всех патчей) и обучает кодировщик и декодировщик восстанавливать оригинальное изображение по оставшимся видимым патчам. Ключевая особенность MAE — это асимметричная архитектура: тяжёлый кодировщик работает только с видимыми патчами, а лёгкий декодер использует как скрытые представления видимых патчей, так и специальные маск-токены для восстановления полного изображения[1].
Области применения
Самообучение нашло широкое применение в различных областях машинного обучения:
- Обработка естественного языка (NLP): предобучение больших языковых моделей (BERT[1], GPT, RoBERTa) на огромных текстовых корпусах с использованием MLM и других суррогатных задач.
- Компьютерное зрение (CV): обучение представлений для классификации, детекции объектов, сегментации на неразмеченных изображениях с использованием методов SimCLR[1], MoCo[1], BYOL[1], MAE[1].
- Обработка речи и аудио: предобучение моделей для распознавания речи, идентификации диктора, классификации аудиособытий на основе неразмеченных аудиозаписей[1].
- Медицинская визуализация: обучение представлений на больших объёмах неразмеченных медицинских снимков (рентген, КТ, МРТ) для последующего решения задач с ограниченной разметкой[1].
- Мультимодальное обучение: совместное обучение представлений из разных модальностей (например, текст и изображение) для таких задач, как визуальные вопросы и ответы (VQA) или поиск изображений по тексту.
Ограничения
Несмотря на впечатляющие успехи, самообучение имеет ряд существенных ограничений:
- Высокие вычислительные затраты: обучение современных SSL-моделей требует огромных вычислительных ресурсов и времени. Например, SimCLR требует больших батчей (сотни или тысячи примеров), а BYOL и MoCo — длительного обучения[1][1][1].
- Чувствительность к аугментациям: эффективность SSL сильно зависит от выбора аугментаций данных, архитектуры сети, размера батча и температурного параметра
в InfoNCE. Неправильный выбор может привести к ухудшению качества представлений[1].
- Проблема коллапса: без специальных механизмов (отрицательные примеры, остановка градиента, регуляризация) модели склонны к коллапсу, что требует тщательной разработки архитектуры и функции потерь[1].
- Сложность выбора суррогатной задачи: не все суррогатные задачи одинаково полезны для целевых задач. Дизайн эффективной суррогатной задачи, которая заставляет модель изучать релевантные признаки, часто требует глубокого понимания предметной области[1].
Примечания
Литература
Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. BERT: Pre-training of deep bidirectional transformers for language understanding // arXiv preprint arXiv:1810.04805. — 2018.
Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. A simple framework for contrastive learning of visual representations // International conference on machine learning. PMLR. — 2020. — С. 1597-1607.
He, K., Fan, H., Wu, Y., Xie, S., & Girshick, R. Momentum contrast for unsupervised visual representation learning // Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. — 2020. — С. 9729-9738.
Grill, J. B., Strub, F., Altché, F., Tallec, C., Richemond, P. H., Buchler, E., ... & Valko, M. Bootstrap your own latent: A new approach to self-supervised learning // Advances in neural information processing systems. — 2020. — Т. 33. — С. 21271-21284.
He, K., Chen, X., Xie, S., Li, Y., Dollár, P., & Girshick, R. Masked autoencoders are scalable vision learners // arXiv preprint arXiv:2111.06377. — 2021.
van den Oord, A., Li, Y., & Vinyals, O. Representation learning with contrastive predictive coding // arXiv preprint arXiv:1807.03748. — 2018.
Jing, L., Vincent, P., LeCun, Y., & Tian, Y. Understanding dimensional collapse in contrastive self-supervised learning // arXiv preprint arXiv:2110.09348. — 2021. Chen, X., Fan, H., Girshick, R., & He, K. Improved baselines with momentum contrastive learning // arXiv preprint arXiv:2003.04297. — 2020.
Richemond, P. H., Grill, J. B., Altché, F., Tallec, C., Strub, F., Brock, A., ... & Valko, M. BYOL works even without batch statistics // arXiv preprint arXiv:2010.10241. — 2020.
Liu, X., Zhang, F., Hou, Z., Mian, L., Wang, Z., Zhang, J., & Tang, J. Self-supervised learning: Generative or contrastive // IEEE Transactions on Knowledge and Data Engineering. — 2021.
Jing, L., & Tian, Y. Self-supervised visual feature learning with deep neural networks: A survey // IEEE Transactions on Pattern Analysis and Machine Intelligence. — 2021. — Т. 43. — № 11. — С. 4037-4058.
Durrant, A., & Leontidis, G. Hyperspherically regularized networks for self-supervision // arXiv preprint arXiv:2105.00925. — 2021.
Kaku, A., Upadhya, S., & Razavian, N. Intermediate layers matter in momentum contrastive self supervised learning // arXiv preprint arXiv:2110.14805. — 2021.

