SimCLR
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM '''Gemini''' и проверена участником ~~~~}} '''SimCLR''' (A Simple Framework for Contrastive ...) |
|||
| (1 промежуточная версия не показана) | |||
| Строка 1: | Строка 1: | ||
{{well|Статья написана с использованием LLM '''Gemini''' и проверена участником [[Участник:Kirill Bazhutov|Kirill Bazhutov]] 20:47, 5 июля 2026 (MSD)}} | {{well|Статья написана с использованием LLM '''Gemini''' и проверена участником [[Участник:Kirill Bazhutov|Kirill Bazhutov]] 20:47, 5 июля 2026 (MSD)}} | ||
| - | '''SimCLR''' (A Simple Framework for Contrastive Learning of Visual Representations) — метод самоконтролируемого обучения (Self-supervised learning, SSL) для задач [[Компьютерное зрение|компьютерного зрения]], предложенный исследователями Google Research в 2020 году. В отличие от ряда других подходов того времени (например, [[ | + | '''SimCLR''' (A Simple Framework for Contrastive Learning of Visual Representations) — метод самоконтролируемого обучения (Self-supervised learning, SSL) для задач [[Компьютерное зрение|компьютерного зрения]], предложенный исследователями Google Research в 2020 году. В отличие от ряда других подходов того времени (например, [[MoCo|MoCo]]), SimCLR не использует банки памяти или очереди, а опирается на большие мини-пакеты, сильные аугментации данных и специально подобранную контрастивную [[Функция потерь|функцию потерь]]. |
== Архитектура метода == | == Архитектура метода == | ||
Текущая версия
| | Статья написана с использованием LLM Gemini и проверена участником Kirill Bazhutov 20:47, 5 июля 2026 (MSD) |
SimCLR (A Simple Framework for Contrastive Learning of Visual Representations) — метод самоконтролируемого обучения (Self-supervised learning, SSL) для задач компьютерного зрения, предложенный исследователями Google Research в 2020 году. В отличие от ряда других подходов того времени (например, MoCo), SimCLR не использует банки памяти или очереди, а опирается на большие мини-пакеты, сильные аугментации данных и специально подобранную контрастивную функцию потерь.
Содержание |
Архитектура метода
Фреймворк SimCLR обучается на основе парадигмы контрастивного обучения (задачи различения экземпляров) и состоит из четырёх основных компонентов:
- Модуль стохастической аугментации данных: Каждое изображение
из мини-пакета подвергается двум случайным преобразованиям, в результате чего получаются два аугментированных вида
и
, образующих положительную пару. Авторы экспериментально показали, что критически важной для успеха SimCLR является композиция случайного вырезания с изменением размера (random crop and resize) и сильного цветового искажения (color jitter).
- Базовый энкодер (Base Encoder)
: Нейронная сеть (обычно ResNet), извлекающая векторные представления из аугментированных изображений. На выходе получается вектор
, который является выходом слоя глобального усредняющего пулинга (global average pooling). Именно вектор
используется в дальнейшем для решения целевых задач (downstream tasks).
- Проекционный слой (Projection Head)
: Нелинейный многослойный персептрон (MLP) с одним скрытым слоем и активацией ReLU, отображающий представление
в пространство меньшей размерности:
. Применение контрастивной функции потерь к
, а не к
, позволяет улучшить качество представлений
для последующих задач, поскольку часть инвариантностей, навязываемых контрастивной функцией потерь, переносится в пространство
.
- Контрастивная функция потерь NT-Xent: Вариант контрастивной функции потерь семейства InfoNCE, адаптированный для обучения внутри одного батча.
Функция потерь NT-Xent
Для выборки из изображений генерируется
аугментированных видов. Для каждого вида
существует ровно один парный ему вид
(положительная пара), полученный из того же исходного изображения. Остальные
видов в мини-пакете рассматриваются как отрицательные примеры.
В качестве меры сходства используется косинусное сходство:
Функция потерь NT-Xent (Normalized Temperature-scaled Cross Entropy) для положительной пары определяется как:
где:
-
— функция-индикатор, равная единице при
и нулю в противном случае.
-
— гиперпараметр температуры, контролирующий «жёсткость» распределения.
Итоговая функция потерь вычисляется по всем положительным парам в мини-пакете (как , так и
).
Вычислительные аспекты и оптимизация
Поскольку SimCLR не использует очереди отрицательных примеров (как MoCo), качество контрастивного обучения напрямую зависит от количества отрицательных примеров в знаменателе NT-Xent. Из-за этого метод существенно выигрывает от больших размеров мини-пакета (batch size) — от 256 до 8192 изображений.
Для устойчивого обучения с очень большими батчами авторы использовали оптимизатор LARS (Layer-wise Adaptive Rate Scaling), который адаптирует скорость обучения индивидуально для каждого слоя в зависимости от нормы его весов и градиентов, позволяя распределять вычисления на десятки TPU без разрушения сходимости.
Дальнейшее развитие: SimCLR v2
В 2020 году авторы представили SimCLR v2, который развил идеи базовой модели с упором на обучение при малой доле размеченных данных (semi-supervised learning). Основные нововведения:
- Использование более глубоких и широких базовых энкодеров (ResNet-152 с селективным механизмом каналов).
- Углубление проекционного слоя (MLP) до 3 и более слоёв, причем для целевых задач предлагалось использовать выход первого слоя MLP, а не только базового энкодера.
- Интеграция механизма дистилляции знаний, где большая сеть сначала предобучается контрастивно, затем дообучается на малой доле размеченных данных, после чего её предсказания используются для дистилляции знаний в меньшую сеть на неразмеченных данных.
См. также
- Самоконтролируемое обучение
- Контрастивное обучение
- Momentum Contrast (MoCo)
- Многослойный персептрон
- ResNet
- Функция потерь
- Дистилляция моделей
Литература
- Oord A. v. d., Li Y., Vinyals O. Representation learning with contrastive predictive coding // arXiv preprint arXiv:1807.03748. — 2018.
- Chen T., Kornblith S., Norouzi M., Hinton G. A Simple Framework for Contrastive Learning of Visual Representations // ICML. — 2020. — С. 1597–1607.
- Chen T., Kornblith S., Swersky K., Norouzi M., Hinton G. Big Self-Supervised Models are Strong Semi-Supervised Learners // NeurIPS. — 2020. — С. 22243–22255.
- You Y., Gitman I., Ginsburg B. Large Batch Training of Convolutional Networks // arXiv preprint arXiv:1708.03888. — 2017.

