|
|
| Строка 1: |
Строка 1: |
| - | {{well|Статья написана с использованием LLM '''DeepSeek-V3''' и проверена участником [[Участник:Aleksei Klesov|А. Клёсов]] 16:58, 18 июля 2026 (MSD)}}
| + | #REDIRECT[[Самостоятельное обучение]] |
| - | {{TOCright}}
| + | |
| - | | + | |
| - | | + | |
| - | '''Самообучение''' (англ. ''Self-Supervised Learning, SSL'') — парадигма [[Машинное обучение|машинного обучения]], относящаяся к разделу [[Обучение без учителя|обучения без учителя]], в которой модель обучается понимать структуру данных, самостоятельно формируя сигналы контроля на основе самих данных, без использования внешней ручной разметки. В отличие от [[Обучение с учителем|обучения с учителем]], где каждый пример данных сопровождается эталонной меткой, SSL использует внутреннюю структуру данных для создания ''суррогатных'' (англ. ''pretext'') задач. Решая такие задачи, модель учится извлекать полезные представления, которые затем могут быть использованы для решения целевых (англ. ''downstream'') задач с небольшим количеством размеченных данных или без них. За последние годы методы самообучения достигли производительности, сопоставимой с полностью контролируемым обучением, в таких областях, как [[Компьютерное зрение]] и [[Обработка естественного языка]] (NLP)<ref name="survey">Liu, X., et al. "Self-supervised learning: Generative or contrastive." IEEE Transactions on Knowledge and Data Engineering (2021).</ref>.
| + | |
| - | | + | |
| - | == Концепция суррогатных задач ==
| + | |
| - | | + | |
| - | В основе самообучения лежит концепция суррогатной задачи. Суррогатная задача — это вспомогательная задача, для которой метки могут быть автоматически сгенерированы из самих неразмеченных данных. Модель обучается решать эту задачу, и в процессе решения вынуждена изучать внутренние закономерности и структуру данных. Полученные знания (представления) затем переносятся на основную целевую задачу<ref name="jing2021">Jing, L., & Tian, Y. "Self-supervised visual feature learning with deep neural networks: A survey." IEEE Transactions on Pattern Analysis and Machine Intelligence (2021).</ref>.
| + | |
| - | | + | |
| - | Основное отличие от обучения с учителем заключается в источнике сигнала контроля. В обучении с учителем сигнал поступает от внешнего аннотатора (человека), что делает этот процесс дорогостоящим и трудоёмким. В самообучении сигнал контроля извлекается из самих данных, что позволяет использовать практически неограниченные объёмы неразмеченных данных<ref name="survey" />.
| + | |
| - | | + | |
| - | Суррогатные задачи можно разделить на два основных типа: ''генеративные'' и ''дискриминативные''. Генеративные подходы (например, [[Автоэнкодер|автоэнкодеры]]) учатся восстанавливать исходные данные по их искажённой версии. Дискриминативные подходы (например, [[Контрастивное обучение]]) учатся различать схожие и различные примеры, не требуя генерации данных в исходном пространстве<ref name="chen2020simclr">Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. "A simple framework for contrastive learning of visual representations." International conference on machine learning. PMLR, 2020.</ref>.
| + | |
| - | | + | |
| - | == Математический аппарат ==
| + | |
| - | | + | |
| - | === Контрастивное обучение ===
| + | |
| - | | + | |
| - | Контрастивное обучение (англ. ''Contrastive Learning, CL'') является одной из наиболее успешных и широко распространённых парадигм самообучения. Основная идея заключается в обучении [[Кодировщик (машинное обучение)|кодировщика]] <tex>f: \mathcal{X} \to \mathcal{Z}</tex>, который отображает наблюдения <tex>x \in \mathcal{X}</tex> в латентные векторы <tex>z \in \mathcal{Z}</tex> таким образом, чтобы представления схожих примеров (''положительных пар'') сближались, а представления различных примеров (''отрицательных пар'') — отдалялись друг от друга.
| + | |
| - | | + | |
| - | В типичной постановке для каждого образца ''x'' создаются два его [[Аугментация данных|аугментированных]] представления <tex>x^{+}</tex> и <tex>x^{++}</tex>, которые считаются положительной парой. Все остальные образцы в батче образуют множество отрицательных примеров <tex>\{x^{-}_{1}, x^{-}_{2}, \dots, x^{-}_{K}\}</tex><ref name="chen2020simclr" />.
| + | |
| - | | + | |
| - | === Функция потерь InfoNCE ===
| + | |
| - | | + | |
| - | Ключевой функцией потерь в контрастивном обучении является '''InfoNCE''' (англ. ''Information Noise-Contrastive Estimation''), предложенная в работе van den Oord et al. (2018)<ref name="infonce">Oord, A. v. d., Li, Y., & Vinyals, O. "Representation learning with contrastive predictive coding." arXiv preprint arXiv:1807.03748 (2018).</ref>. Эта функция потерь позволяет модели эффективно учиться различать положительные и отрицательные пары, решая задачу классификации среди множества примеров. Формально, для батча из ''N'' примеров, функция потерь InfoNCE определяется как:
| + | |
| - | | + | |
| - | <tex>\mathcal{L}_{\mathrm{InfoNCE}} = -\frac{1}{N} \sum_{i=1}^{N} \log \frac{\exp(\mathrm{sim}(z_i, z_i^{+}) / \tau)}{\sum_{k=1}^{N} \exp(\mathrm{sim}(z_i, z_k^{+}) / \tau)}</tex>
| + | |
| - | | + | |
| - | где <tex>\mathrm{sim}(u, v) = u^{T}v / (\|u\|\|v\|)</tex> — [[Косинусное сходство|косинусное сходство]], <tex>\tau</tex> — температурный параметр, контролирующий жёсткость распределения внимания к отрицательным примерам<ref name="chen2020simclr" />. Знаменатель суммирует сходство текущего якоря <tex>z_i</tex> со всеми положительными представлениями в батче <tex>z_k^{+}</tex>, включая его собственную положительную пару <tex>z_i^{+}</tex>. Таким образом, модель должна присвоить максимальную вероятность правильной положительной паре среди всех ''N'' возможных<ref name="infonce" />. Минимизация InfoNCE эквивалентна максимизации нижней границы [[Взаимная информация|взаимной информации]] между представлениями ''z'' и исходными данными ''x''<ref name="infonce" />.
| + | |
| - | | + | |
| - | === Проблема коллапса представлений ===
| + | |
| - | | + | |
| - | Одной из центральных проблем при обучении без отрицательных примеров (или при их недостаточном количестве) является '''коллапс представлений''' (англ. ''representation collapse''). Коллапс может проявляться в двух формах: ''полный коллапс'', когда все представления схлопываются в одну точку, и ''размерностный коллапс'' (англ. ''dimensional collapse''), когда представления занимают лишь подпространство меньшей размерности, теряя информацию о различных факторах вариативности данных<ref name="collapse">Jing, L., Vincent, P., LeCun, Y., & Tian, Y. "Understanding dimensional collapse in contrastive self-supervised learning." arXiv preprint arXiv:2110.09348 (2021).</ref>.
| + | |
| - | | + | |
| - | Причина коллапса кроется в тривиальных решениях, к которым может прийти модель: например, если она будет выдавать постоянный вектор для всех входов, то расстояние между представлениями положительных пар станет минимальным, но при этом полезная информация будет полностью потеряна<ref name="collapse" />. Для предотвращения коллапса в контрастивных методах используется механизм отталкивания за счёт отрицательных примеров. В не-контрастивных методах (таких как BYOL или SimSiam) используются альтернативные стратегии: ''асимметричные архитектуры'', ''остановка градиента'' (англ. ''stop-gradient'') или специальные регуляризаторы<ref name="byol">Grill, J. B., et al. "Bootstrap your own latent: A new approach to self-supervised learning." Advances in neural information processing systems 33 (2020): 21271-21284.</ref><ref name="byol_works">Richemond, P. H., et al. "BYOL works even without batch statistics." arXiv preprint arXiv:2010.10241 (2020).</ref>. [[Регуляризация]] равномерности распределения представлений на гиперсфере также является эффективным средством борьбы с коллапсом<ref name="hyperspherical">Durrant, A., & Leontidis, G. "Hyperspherically regularized networks for self-supervision." arXiv preprint arXiv:2105.00925 (2021).</ref>.
| + | |
| - | | + | |
| - | == Ключевые методы ==
| + | |
| - | | + | |
| - | === SimCLR ===
| + | |
| - | | + | |
| - | '''SimCLR''' (англ. ''A Simple Framework for Contrastive Learning of Visual Representations'') — это простой и эффективный фреймворк для контрастивного самообучения, предложенный Chen et al. в 2020 году<ref name="chen2020simclr" />. SimCLR упрощает существующие подходы, отказываясь от специализированных архитектур и банков памяти. Ключевые компоненты SimCLR включают:
| + | |
| - | | + | |
| - | * '''Композиция аугментаций''': случайная комбинация аугментаций (кадрирование, изменение цвета, размытие и т. д.) играет критическую роль в определении эффективности суррогатной задачи.
| + | |
| - | * '''Нелинейная проекционная голова''': между базовым кодировщиком и функцией потерь InfoNCE добавляется нелинейный [[Многослойный перцептрон|многослойный перцептрон]] (MLP), что значительно улучшает качество представлений.
| + | |
| - | * '''Большие батчи и длительное обучение''': SimCLR требует больших размеров батча (до 4096 или 8192) для обеспечения достаточного количества отрицательных примеров, что делает его вычислительно затратным.
| + | |
| - | | + | |
| - | SimCLR показал, что линейный классификатор, обученный на представлениях, полученных с помощью SimCLR, достигает на ImageNet точности 76.5% top-1, что сравнимо с полностью контролируемым ResNet-50<ref name="chen2020simclr" />.
| + | |
| - | | + | |
| - | === MoCo ===
| + | |
| - | | + | |
| - | '''MoCo''' (англ. ''Momentum Contrast'') — это метод контрастивного обучения, предложенный He et al. в 2020 году<ref name="moco">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.</ref>. MoCo решает проблему ограниченного размера батча (а значит, и количества отрицательных примеров) за счёт использования ''динамического словаря'' (англ. ''dynamic dictionary'') в виде очереди.
| + | |
| - | | + | |
| - | Ключевые компоненты MoCo:
| + | |
| - | | + | |
| - | * '''Очередь''': словарь отрицательных примеров формируется как очередь фиксированного размера, которая постоянно обновляется: новые закодированные представления добавляются в конец, а самые старые удаляются из начала. Это позволяет использовать большое количество отрицательных примеров без увеличения размера батча.
| + | |
| - | * '''Импульсный кодировщик''': параметры кодировщика для словаря обновляются не через обратное распространение, а как скользящее среднее (импульсное обновление) параметров основного кодировщика. Это обеспечивает согласованность представлений в очереди.
| + | |
| - | | + | |
| - | MoCo и его улучшенные версии (MoCo v2, MoCo v3) стали стандартом в области самообучения для компьютерного зрения<ref name="moco" /><ref name="mocov2">Chen, X., Fan, H., Girshick, R., & He, K. "Improved baselines with momentum contrastive learning." arXiv preprint arXiv:2003.04297 (2020).</ref>.
| + | |
| - | | + | |
| - | === BYOL ===
| + | |
| - | | + | |
| - | '''BYOL''' (англ. ''Bootstrap Your Own Latent'') — это не-контрастивный подход к самообучению, предложенный Grill et al. в 2020 году<ref name="byol" />. BYOL отказывается от использования отрицательных примеров, что значительно снижает вычислительную сложную и требования к размеру батча.
| + | |
| - | | + | |
| - | Архитектура BYOL состоит из двух сетей:
| + | |
| - | | + | |
| - | * '''Online-сеть''': состоит из кодировщика, проекционной головы и предиктора (обычно MLP). Обучение происходит через обратное распространение.
| + | |
| - | * '''Target-сеть''': имеет ту же архитектуру, что и online-сеть, но без предиктора. Её параметры обновляются как импульсное среднее параметров online-сети.
| + | |
| - | | + | |
| - | Обучение происходит следующим образом: для каждого изображения создаются две различные аугментации ''v'' и <tex>v'</tex>. Online-сеть получает ''v'' и пытается предсказать представление <tex>z'</tex>, которое target-сеть сгенерировала из <tex>v'</tex>. Функция потерь — это среднеквадратичная ошибка между нормализованными представлениями. Ключевым элементом, предотвращающим коллапс, является ''остановка градиента'' (англ. ''stop-gradient'') на target-сети: градиенты не распространяются на target-сеть, что нарушает симметрию и предотвращает тривиальное решение<ref name="byol" />.
| + | |
| - | | + | |
| - | === Маскированные автоэнкодеры (BERT и MAE) ===
| + | |
| - | | + | |
| - | Маскированные автоэнкодеры представляют собой класс генеративных методов самообучения, где модель учится восстанавливать скрытые (маскированные) фрагменты данных по их видимой части.
| + | |
| - | | + | |
| - | '''BERT''' (англ. ''Bidirectional Encoder Representations from Transformers'') — это одна из самых влиятельных моделей в области обработки естественного языка, которая использует ''маскированное языковое моделирование'' (англ. ''Masked Language Modeling, MLM'') в качестве суррогатной задачи<ref name="bert">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).</ref>. В MLM случайным образом маскируется 15% токенов во входной последовательности, и модель обучается предсказывать эти маскированные токены на основе контекста.
| + | |
| - | | + | |
| - | '''MAE''' (англ. ''Masked Autoencoders'') — это адаптация идеи маскированного автоэнкодирования для компьютерного зрения, предложенная He et al. в 2021 году<ref name="mae">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).</ref>. MAE маскирует случайные патчи изображения (например, 75% всех патчей) и обучает кодировщик и декодировщик восстанавливать оригинальное изображение по оставшимся видимым патчам. Ключевая особенность MAE — это ''асимметричная архитектура'': тяжёлый кодировщик работает только с видимыми патчами, а лёгкий декодер использует как скрытые представления видимых патчей, так и специальные маск-токены для восстановления полного изображения<ref name="mae" />.
| + | |
| - | | + | |
| - | == Области применения ==
| + | |
| - | | + | |
| - | Самообучение нашло широкое применение в различных областях машинного обучения:
| + | |
| - | | + | |
| - | * '''Обработка естественного языка (NLP)''': предобучение больших языковых моделей (BERT<ref name="bert" />, GPT, RoBERTa) на огромных текстовых корпусах с использованием MLM и других суррогатных задач.
| + | |
| - | * '''Компьютерное зрение (CV)''': обучение представлений для классификации, детекции объектов, сегментации на неразмеченных изображениях с использованием методов SimCLR<ref name="chen2020simclr" />, MoCo<ref name="moco" />, BYOL<ref name="byol" />, MAE<ref name="mae" />.
| + | |
| - | * '''Обработка речи и аудио''': предобучение моделей для распознавания речи, идентификации диктора, классификации аудиособытий на основе неразмеченных аудиозаписей<ref name="survey" />.
| + | |
| - | * '''Медицинская визуализация''': обучение представлений на больших объёмах неразмеченных медицинских снимков (рентген, КТ, МРТ) для последующего решения задач с ограниченной разметкой<ref name="medical">Kaku, A., Upadhya, S., & Razavian, N. "Intermediate layers matter in momentum contrastive self supervised learning." arXiv preprint arXiv:2110.14805 (2021).</ref>.
| + | |
| - | * '''Мультимодальное обучение''': совместное обучение представлений из разных модальностей (например, текст и изображение) для таких задач, как визуальные вопросы и ответы (VQA) или поиск изображений по тексту.
| + | |
| - | | + | |
| - | == Ограничения ==
| + | |
| - | | + | |
| - | Несмотря на впечатляющие успехи, самообучение имеет ряд существенных ограничений:
| + | |
| - | | + | |
| - | * '''Высокие вычислительные затраты''': обучение современных SSL-моделей требует огромных вычислительных ресурсов и времени. Например, SimCLR требует больших батчей (сотни или тысячи примеров), а BYOL и MoCo — длительного обучения<ref name="chen2020simclr" /><ref name="byol" /><ref name="moco" />.
| + | |
| - | * '''Чувствительность к аугментациям''': эффективность SSL сильно зависит от выбора аугментаций данных, архитектуры сети, размера батча и температурного параметра <tex>\tau</tex> в InfoNCE. Неправильный выбор может привести к ухудшению качества представлений<ref name="chen2020simclr" />.
| + | |
| - | * '''Проблема коллапса''': без специальных механизмов (отрицательные примеры, остановка градиента, регуляризация) модели склонны к коллапсу, что требует тщательной разработки архитектуры и функции потерь<ref name="collapse" />.
| + | |
| - | * '''Сложность выбора суррогатной задачи''': не все суррогатные задачи одинаково полезны для целевых задач. Дизайн эффективной суррогатной задачи, которая заставляет модель изучать релевантные признаки, часто требует глубокого понимания предметной области<ref name="jing2021" />.
| + | |
| - | | + | |
| - | == Примечания ==
| + | |
| - | | + | |
| - | <references />
| + | |
| - | | + | |
| - | == Литература ==
| + | |
| - | | + | |
| - | {{статья |автор=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 |ref=bert}}
| + | |
| - | | + | |
| - | {{статья |автор=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 |ref=chen2020simclr}}
| + | |
| - | | + | |
| - | {{статья |автор=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 |ref=moco}}
| + | |
| - | | + | |
| - | {{статья |автор=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 |ref=byol}}
| + | |
| - | | + | |
| - | {{статья |автор=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 |ref=mae}}
| + | |
| - | | + | |
| - | {{статья |автор=van den Oord, A., Li, Y., & Vinyals, O. |заглавие=Representation learning with contrastive predictive coding |издание=arXiv preprint arXiv:1807.03748 |год=2018 |ref=infonce}}
| + | |
| - | | + | |
| - | {{статья |автор=Jing, L., Vincent, P., LeCun, Y., & Tian, Y. |заглавие=Understanding dimensional collapse in contrastive self-supervised learning |издание=arXiv preprint arXiv:2110.09348 |год=2021 |ref=collapse}}
| + | |
| - | {{статья |автор=Chen, X., Fan, H., Girshick, R., & He, K. |заглавие=Improved baselines with momentum contrastive learning |издание=arXiv preprint arXiv:2003.04297 |год=2020 |ref=mocov2}}
| + | |
| - | | + | |
| - | {{статья |автор=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 |ref=byol_works}}
| + | |
| - | | + | |
| - | {{статья |автор=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 |ref=survey}}
| + | |
| - | | + | |
| - | {{статья |автор=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 |ref=jing2021}}
| + | |
| - | | + | |
| - | {{статья |автор=Durrant, A., & Leontidis, G. |заглавие=Hyperspherically regularized networks for self-supervision |издание=arXiv preprint arXiv:2105.00925 |год=2021 |ref=hyperspherical}}
| + | |
| - | | + | |
| - | {{статья |автор=Kaku, A., Upadhya, S., & Razavian, N. |заглавие=Intermediate layers matter in momentum contrastive self supervised learning |издание=arXiv preprint arXiv:2110.14805 |год=2021 |ref=medical}}
| + | |
| - | | + | |
| - | [[Категория:Машинное обучение]]
| + | |
| - | [[Категория:Обучение без учителя]]
| + | |
| - | [[Категория:Глубокое обучение]]
| + | |