Матильда Карон о SWaV: Как победить обучение с учителем на его же поле

Machine Learning Street Talk 7,7 тыс. 1 ч 27 мин 5 мин 14.09.2020
Главное

В новом выпуске 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) призван заменить первый этап полностью автономным процессом, не требующим аннотаций .

Основная идея алгоритма:

По словам Матильды Карон, использование кластеризации позволяет модели извлекать сигнал из сходства между разными изображениями внутри датасета, что недоступно обычным контрастивным методам, которые дискриминируют каждое изображение как уникальный экземпляр .

⚙️ Механизм Sinkhorn-Knopp и борьба с «коллапсом» 25:17

Одной из главных проблем кластеризации в нейросетях является риск «коллапса», когда сеть «читтерит» и назначает все изображения в один и тот же кластер, сводя потери к нулю . Чтобы избежать этого, команда SWaV сформулировала задачу назначения кластеров как проблему оптимальной транспортировки .

Для решения этой задачи используется алгоритм Синкхорна-Кноппа (Sinkhorn-Knopp):

  1. Ограничение равнораспределения: На каждую группу (батч) накладывается условие, согласно которому все прототипы (кластеры) должны быть представлены в равной степени .
  2. Онлайн-обучение: В отличие от предыдущих методов (например, DeepCluster), требующих прохода по всему датасету для пересчета кластеров, SWaV делает это итеративно для каждого батча .
  3. Мягкое назначение (Soft assignment): Вместо жесткого присвоения изображения одному кластеру, SWaV использует вероятностное распределение. По мнению Матильды Карон, это замедляет оптимизацию и предотвращает преждевременную сходимость прототипов, которая портит качество признаков .

Матильда отмечает, что алгоритм Синкхорна итеративно масштабирует строки и столбцы матрицы назначений, пока она не станет дважды стохастической (сумма по каждой строке и столбцу равна единице) .

🖼️ Multi-crop: Секретное оружие в аугментации данных 42:47

Значительная часть успеха SWaV (прирост производительности от 2% до 4,2% на ImageNet) обусловлена новой стратегией Multi-crop . Вместо того чтобы брать два стандартных фрагмента изображения, алгоритм использует:

Этот метод позволяет модели обучаться взаимосвязи между целым объектом и его частями, не увеличивая вычислительную нагрузку так сильно, как если бы все фрагменты были в высоком разрешении . Матильда Карон признает, что схема аугментации (цветовые искажения, размытие по Гауссу) была заимствована из SimCLR, так как авторы той работы уже провели колоссальный объем экспериментов по подбору лучших параметров .

🧪 Почему самообучение бьет обучение с учителем? 1:20:44

Ведущие и гости обсуждают парадокс: почему представления, полученные без меток, иногда лучше тех, что получены с учителем?

Матильда Карон подчеркивает практическую ценность: в медицине или спутниковой съемке аннотации стоят огромных денег или невозможны, поэтому самообучение — единственный путь .

🛠️ Опыт воспроизведения: Трудности перевода на TensorFlow 1:07:06

Аюш Тхакур и Саяк Пол потратили более полутора месяцев на реализацию SWaV в экосистеме TensorFlow . Они выделили несколько критических моментов:

  1. Gathering Views: Самым сложным оказалось эффективно реализовать конвейер данных для Multi-crop, который объединяет изображения разного разрешения в системные тензоры для подачи в ResNet-50 .
  2. Отсутствие RandomResizeCrop: В TensorFlow на тот момент не было прямой качественной реализации этой функции из PyTorch, что заставило их писать собственную версию для работы в eager mode .
  3. Подбор числа прототипов: Для маленьких датасетов (например, Flowers) 3000 прототипов, используемых в оригинальной статье для ImageNet, оказались избыточными; авторы воспроизведения снизили это число до 15–20 .

Матильда Карон отметила, что для маленьких батчей полезно использовать механизм очереди (queue), чтобы брать признаки из предыдущих шагов обучения и точнее решать задачу кластеризации Синкхорна .

🏢 Исследования в Facebook AI Research (FAIR) 48:53

Матильда Карон делится деталями работы в индустриальной лаборатории:

По словам Матильды, её девиз в исследованиях — использовать доступные вычислительные мощности по максимуму, следуя стратегии «больше данных и крупнее модели» .

💬 Цитаты

«Когда мы начали обходить результаты обучения с учителем, это очень меня озадачило. Я до сих пор не понимаю до конца, почему это происходит.»

Матильда Карон 1:21:47

«Для медицинских изображений или спутниковых снимков аннотации безумно дороги. Там у вас нет выбора, кроме как использовать unsupervised learning.»

Матильда Карон 1:18:47

«Самообучение позволяет модели быть более свободной в изучении семантики, в то время как обучение с учителем слишком жестко привязывает признаки к меткам.»

👥 Спикеры
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
Sinkhorn-Knopp
Алгоритм, преобразующий матрицу в дважды стохастическую, используемый в SWaV для равномерного распределения данных по кластерам.
Contrastive Learning
Метод обучения, основанный на сближении представлений похожих объектов и отталкивании непохожих.
Downstream task
Прикладная задача (например, детекция лиц), на которой проверяется качество признаков, полученных в ходе предварительного обучения.
Multi-crop
Стратегия аугментации, использующая множество фрагментов изображения разного разрешения для обучения инвариантности к масштабу.
📊 Цифры
🗓 Хронология
  1. 2018 Матильда Карон начинает работу над самообучением (DeepCluster), когда тема еще не была популярной.
  2. 2020 Публикация статьи SimCLR, которая принесла значительные улучшения в аугментации данных.
  3. 2020 Публикация SWaV и достижение результатов, сопоставимых с обучением с учителем.
⚖️ Другая сторона
Искусственный интеллект Mathilde Caron SWaV Sinkhorn-Knopp Facebook AI Research Self-supervised learning