В новом выпуске Machine Learning Street Talk Матильда Карон (Mathilde Caron), исследователь из Facebook AI Research (FAIR), обсуждает свою работу «Unsupervised Learning of Visual Features by Contrasting Cluster Assignments», представляющую алгоритм SWaV. В беседе также участвуют Аюш Тхакур и Саяк Пол из Weights & Biases, которые воспроизвели результаты исследования, и постоянные ведущие канала, обсуждающие будущее самообучающегося (self-supervised) обучения и его способность превзойти классические методы обучения с учителем.
🧠 Суть SWaV: Обучение без учителя через кластеризацию 11:20
Традиционный подход к распознаванию изображений состоит из двух этапов: предварительное обучение нейросети на огромном размеченном датасете (например, ImageNet) и последующая адаптация (fine-tuning) для конкретной задачи (например, детекции объектов) . Матильда Карон объясняет, что SWaV (Swapped Assignments between Views) призван заменить первый этап полностью автономным процессом, не требующим аннотаций .
Основная идея алгоритма:
- Система одновременно кластеризует данные и обеспечивает согласованность между различными «видами» (crops/distortions) одного и того же изображения .
- Если два искаженных представления изображения содержат одну и ту же семантическую информацию, должно быть возможно предсказать назначение кластера одного вида на основе признаков другого .
- SWaV отказывается от прямого сравнения пар изображений (как в SimCLR), переходя к сравнению векторов признаков с набором обучаемых «прототипов» .
По словам Матильды Карон, использование кластеризации позволяет модели извлекать сигнал из сходства между разными изображениями внутри датасета, что недоступно обычным контрастивным методам, которые дискриминируют каждое изображение как уникальный экземпляр .
⚙️ Механизм Sinkhorn-Knopp и борьба с «коллапсом» 25:17
Одной из главных проблем кластеризации в нейросетях является риск «коллапса», когда сеть «читтерит» и назначает все изображения в один и тот же кластер, сводя потери к нулю . Чтобы избежать этого, команда SWaV сформулировала задачу назначения кластеров как проблему оптимальной транспортировки .
Для решения этой задачи используется алгоритм Синкхорна-Кноппа (Sinkhorn-Knopp):
- Ограничение равнораспределения: На каждую группу (батч) накладывается условие, согласно которому все прототипы (кластеры) должны быть представлены в равной степени .
- Онлайн-обучение: В отличие от предыдущих методов (например, DeepCluster), требующих прохода по всему датасету для пересчета кластеров, SWaV делает это итеративно для каждого батча .
- Мягкое назначение (Soft assignment): Вместо жесткого присвоения изображения одному кластеру, SWaV использует вероятностное распределение. По мнению Матильды Карон, это замедляет оптимизацию и предотвращает преждевременную сходимость прототипов, которая портит качество признаков .
Матильда отмечает, что алгоритм Синкхорна итеративно масштабирует строки и столбцы матрицы назначений, пока она не станет дважды стохастической (сумма по каждой строке и столбцу равна единице) .
🖼️ Multi-crop: Секретное оружие в аугментации данных 42:47
Значительная часть успеха SWaV (прирост производительности от 2% до 4,2% на ImageNet) обусловлена новой стратегией Multi-crop . Вместо того чтобы брать два стандартных фрагмента изображения, алгоритм использует:
- Два изображения высокого разрешения (например, 224x224).
- Несколько (обычно 6) дополнительных фрагментов низкого разрешения (например, 96x96), которые покрывают меньшие области объекта .
Этот метод позволяет модели обучаться взаимосвязи между целым объектом и его частями, не увеличивая вычислительную нагрузку так сильно, как если бы все фрагменты были в высоком разрешении . Матильда Карон признает, что схема аугментации (цветовые искажения, размытие по Гауссу) была заимствована из SimCLR, так как авторы той работы уже провели колоссальный объем экспериментов по подбору лучших параметров .
🧪 Почему самообучение бьет обучение с учителем? 1:20:44
Ведущие и гости обсуждают парадокс: почему представления, полученные без меток, иногда лучше тех, что получены с учителем?
- Ошибки в разметке: Матильда Карон напоминает, что ImageNet не идеален. Например, если на фото есть и яблоко, и банан, а метка только «банан», сеть с учителем наказывается за распознавание яблока . Самообучение же просто фиксирует наличие структуры.
- Гибкость представлений: По мнению Саяка Пола, обучение с учителем слишком «жесткое», оно заставляет модель игнорировать всё, что не ведет к конкретной метке . Самообучение более «свободное» и позволяет извлекать более богатую семантику.
- Смещение датасета: Янник Килчер предполагает, что кластеризация в SWaV работает так хорошо именно на ImageNet, потому что сам этот датасет был изначально построен на иерархии WordNet и «заточен» под четкое разделение на классы .
Матильда Карон подчеркивает практическую ценность: в медицине или спутниковой съемке аннотации стоят огромных денег или невозможны, поэтому самообучение — единственный путь .
🛠️ Опыт воспроизведения: Трудности перевода на TensorFlow 1:07:06
Аюш Тхакур и Саяк Пол потратили более полутора месяцев на реализацию SWaV в экосистеме TensorFlow . Они выделили несколько критических моментов:
- Gathering Views: Самым сложным оказалось эффективно реализовать конвейер данных для Multi-crop, который объединяет изображения разного разрешения в системные тензоры для подачи в ResNet-50 .
- Отсутствие RandomResizeCrop: В TensorFlow на тот момент не было прямой качественной реализации этой функции из PyTorch, что заставило их писать собственную версию для работы в eager mode .
- Подбор числа прототипов: Для маленьких датасетов (например, Flowers) 3000 прототипов, используемых в оригинальной статье для ImageNet, оказались избыточными; авторы воспроизведения снизили это число до 15–20 .
Матильда Карон отметила, что для маленьких батчей полезно использовать механизм очереди (queue), чтобы брать признаки из предыдущих шагов обучения и точнее решать задачу кластеризации Синкхорна .
🏢 Исследования в Facebook AI Research (FAIR) 48:53
Матильда Карон делится деталями работы в индустриальной лаборатории:
- Масштаб: У неё есть возможность обучать модели на 1 миллиарде изображений из Instagram, что она считает «безумием» и огромной привилегией .
- Свобода: Исследователи в FAIR могут заниматься теоретическими задачами, которые не имеют немедленной пользы для продуктов Facebook .
- Эволюция темы: Когда Матильда начинала работу над самообучением почти 3 года назад, это не было «горячей темой» и не вызывало интереса у производственных команд. Сейчас её наработки внедряются для обнаружения вредоносного контента и защиты авторских прав .
По словам Матильды, её девиз в исследованиях — использовать доступные вычислительные мощности по максимуму, следуя стратегии «больше данных и крупнее модели» .