Size: a a a

gonzo-обзоры ML статей

2021 March 25
gonzo-обзоры ML статей
источник
2021 April 22
gonzo-обзоры ML статей
Всем привет!

Мы продолжаем наши активности в журнальном клубе вокруг AGI (https://t.me/gonzo_ML/449).

В ближайшую субботу 24 апреля в 17:00 MSK мы соберёмся обсудить статью "Embodied Intelligence via Learning and Evolution" (https://arxiv.org/abs/2102.02202).
источник
2021 April 25
gonzo-обзоры ML статей
Вчера на AGI семинаре обсудили статью:

"Embodied Intelligence via Learning and Evolution"
Agrim Gupta, Silvio Savarese, Surya Ganguli, Li Fei-Fei
https://arxiv.org/abs/2102.02202

Материалы семинара:
- запись https://www.youtube.com/watch?v=M82hKVL0G2c
- слайды https://docs.google.com/presentation/d/1-KcUCx99iHLyUaA9Vmz7uTU5z9XUemOVjwxE-_8DQiU/edit?usp=sharing
- видео авторов https://www.youtube.com/watch?v=MMrIiNavkuY
источник
2021 May 30
gonzo-обзоры ML статей
[BYOL] Bootstrap your own latent: A new approach to self-supervised Learning
Jean-Bastien Grill, Florian Strub, Florent Altché, Corentin Tallec, Pierre H. Richemond, Elena Buchatskaya, Carl Doersch, Bernardo Avila Pires, Zhaohan Daniel Guo, Mohammad Gheshlaghi Azar, Bilal Piot, Koray Kavukcuoglu, Rémi Munos, Michal Valko
Статья: https://arxiv.org/abs/2006.07733
Код (на JAX и Haiku): https://github.com/deepmind/deepmind-research/tree/master/byol

Мы уже писали про разные интересные результаты в contrastive learning (CL), например, SimCLR (https://t.me/gonzo_ML/324), LoCo (https://t.me/gonzo_ML/342) или даже про применение этого подхода для работы с кодом (https://t.me/gonzo_ML/330). За последнее время появилось много новых интересных результатов, которые хочется разобрать. Но перед этим важно рассказать про некоторые вещи, ставшие уже классическими. BYOL от DeepMind и Imperial College как раз из таких.

Многие методы CL используют для обучения и позитивные и негативные примеры, и цель обучения — для позитивных примеров получить близкие репрезентации, а для пар позитивного и негативного — далёкие. BYOL интересен тем, что получает SoTA (на тот момент) без использования негативных пар. В этом смысле его, пожалуй, некорректно называть contrastive learning, а правильнее звать более широким термином self-supervised learning (SSL) .

Классические SSL методы часто строят фреймворк вокруг репрезентаций различных отображений одного и того же объекта (различные аугментированные представления [view] одной и той же картинки, например), и репрезентация одного представления должна быть способна предсказать репрезентацию другого представления того же самого изображения. Предсказание напрямую в пространстве репрезентаций может вести к коллапсу этих самых репрезентаций (например, к константе по всем представлениям), поэтому CL методы обходят это переформулированием проблемы предсказания проблемой разделения (discrimination) — по репрезентации аугментированного представления они учатся различать репрезентации других аугментированных представлений того же самого объекта от репрезентаций аугментированных представлений совсем других объектов (других картинок, например). Это спасает от коллапса репрезентаций.

В данной работе авторы задались вопросом, нужны ли эти негативные примеры для борьбы с коллапсом или можно обойтись без них.

BYOL использует две сети: онлайн (online) и целевую (target). Онлайн сеть состоит из трёх этапов: энкодер, проектор и предиктор. Целевая сеть имеет почти такую же архитектуру (нет предиктора), и свой набор весов. Между двумя сетями нет шаринга, но связь есть — веса целевой сети являются экспоненциальным скользящим средним весов онлайн сети.

Из интересного, авторы заметили, что целевая сеть может быть зафиксирована в рандомно инициализированном состоянии и онлайн сеть при обучении предсказывать её репрезентации даёт репрезентации сравнительно неплохого качества (18.8% top-1 acc на ImageNet, в то время как сама рандомная сеть лишь 1.4%, что кстати тоже многовато...). В этом в целом кроется суть метода: для некой целевой репрезентации мы можем, пытаясь её предсказать, выучить новую, потенциально улучшенную. А отсюда мы можем повторить процесс для новой репрезентации, итерируя процедуру и каждый раз делая целевой предыдущую онлайн репрезентацию. Такой вот собственно бутстрапинг.

BYOL генерирует два разных представления (v и v’) по исходной картинке (каждое со своими аугментациями, такими же как в SimCLR — случайный патч изображения + случайный горизонтальный флип + дисторсия цвета + гауссовское размытие + соляризация). Обе сети далее прогоняют это через свои энкодеры (ResNet-50 и больше/шире) и проекторы (MLP), онлайн сеть также прогоняет через предиктор (MLP), и здесь её цель — предсказать репрезентацию целевой сети.
источник
gonzo-обзоры ML статей
Ошибка считается через MSE от нормализованных выхода предиктора онлайн сети и выхода проектора целевой сети. Лосс симметризуется путём прогона обоих представлений по обоим путям (v также прогоняется через целевую сеть, а v’ через онлайн сеть). Лосс минимизируется изменением параметров только онлайн сети. После обучения оставляют только энкодер онлайн сети.

Обучали на ImageNet с большим батчем (4096) на 512 TPU-v3, получалось примерно 8 часов для ResNet-50.

Результаты хорошие. При обучении линейного классификатора поверх получившихся репрезентаций на ImageNet метод побил SimCLR и MoCo v2 (SimCLRv2 появился параллельно BYOL и был лучше). При файнтюнинге на ImageNet тоже хорошо, и при переносе на другие датасеты неплохо работает. На другие задачи типа семантической сегментации, детектирования объектов и оценки глубины также переносится.

Отсутствие негативных примеров даёт некоторые преимущества. Например, традиционные методы используют в качестве негативных остальные сэмплы в батче и соответственно при маленьком батче репрезентации начинают деградировать. BYOL в целом ведёт себя лучше, хотя тоже начинает деградировать при уменьшении батча, но не так сильно.

Также контрастивные методы чувствительны к выбору аугментаций и этому есть разные причины, например, при некоторых аугментациях достаточно какой-нибудь побочной информации, чтобы определить принадлежность к одному изображению (например, гистограмма цветов решает эту задачу) и методу нет стимула оставлять в репрезентации что-либо кроме этой информации, соответственно репрезентация оказывается малополезной. У BYOL же есть стимулы сохранять в онлайн сети любую информацию, которую выхватывает целевая сеть, потому что это улучшает предсказания. Так что по идее метод должен быть более устойчивым к выбору аугментаций и эксперимент это подтверждает.

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

К работе были претензии в духе, что негативные примеры могут использоваться неявно через BatchNorm (коего внутре модели было немало) и что статистика батча даёт эффект контраста. Но авторы показали в отдельной работе (“BYOL works even without batch statistics“, https://arxiv.org/abs/2010.10241), что замена BN на независимую от батча нормализацию даёт сопоставимый с оригинальным BYOL перформанс, так что статистика батчей не является ключевой информацией для выучивания хороших репрезентаций.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
2021 May 31
gonzo-обзоры ML статей
Barlow Twins: Self-Supervised Learning via Redundancy Reduction
Jure Zbontar, Li Jing, Ishan Misra, Yann LeCun, Stéphane Deny

Статья: https://arxiv.org/abs/2103.03230
Код (PyTorch): https://github.com/facebookresearch/barlowtwins

Мартовская работа от команды FB, включая Яна Лекуна, сильно перекликающаяся с BYOL. Тоже про self-supervised learning (SSL) без негативных пар.

Общий фреймворк аналогичен — мы ищем репрезентации, которые инвариантны относительно различных искажений (аугментаций) входного объекта. Проблема здесь, как уже упоминалось в посте про BYOL, это константные вырожденные репрезентации, и различные современные методы обходят это по-разному, часто это какая-то особенность имплементации (асимметричность архитектуры ветвей или же обновления весов), не дающая туда скатиться, но такое решение по-прежнему остаётся валидным решением задачи минимизации заданного лосса. В текущей работе авторы предлагают новый лосс, который by design устраняет такие решения, так что всякие хитрые уловки больше не нужны, и архитектуру можно сделать симметричную.

Предложенный метод вдохновлён нейронаукой, а точнее работой Барлоу (https://en.wikipedia.org/wiki/Horace_Barlow) 1961 года под названием “Possible Principles Underlying the Transformations of Sensory Messages” (https://www.cnbc.cmu.edu/~tai/microns_papers/Barlow-SensoryCommunication-1961.pdf), где он предложил гипотезу о кодировании сенсорной информации в нервной системе. В соответствии с гипотезой, цель обработки сенсорной информации — избавиться от избыточности и перекодировать сигнал в factorial code (факториальный код? https://en.wikipedia.org/wiki/Factorial_code) — код, компоненты которого статистически независимы.

Отсюда следует основная инновация авторов текущей работы, их хитрая функция потерь. Она работает поверх матрицы кросс-корреляции для выходов двух идентичных сетей, обрабатывающих каждая свою аугментацию входного объекта.

Функция потерь в свою очередь состоит из двух компонентов, первый, т.н. invariance term, отвечает за близость диагонали матрицы к единицам, что даёт инвариантность к искажениям входа. Второй компонент, redundancy reduction term, представляет собой сумму квадратов недиагональных элементов и стремится их все занулить, тем самым декоррелируя компоненты вектора. Авторы также предлагают взгляд на эту функцию через призму теории информации и Information Bottleneck принципа Нафтали Тишби.

Двухкомпонентная функция на первый взгляд напоминает двухкомпонентный же лосс в InfoNCE (стандартный лосс в контрастивных методах, где первая компонента про позитивные пары, а вторая про негативные). Но есть концептуальные различия. InfoNCE максимизирует изменчивость репрезентаций, максимизируя попарные расстояния между разными сэмплами, а BT достигает этого декоррелированием компонент вектора репрезентации. То есть BT по факту не зависит от большого количества примеров для негативных пар и нормально работает на небольших батчах (как вы помните, негативные пары набираются внутри одного батча). В этом поведении BT похож на BYOL. Дополнительно BT может работать с репрезентациями очень большой размерности, что часто плохо умеют другие методы.

Вся остальная имплементация в целом очень похожа на конкурирующие методы. Всё так же есть две сети, но теперь они полностью идентичны и бэкпроп идёт через обе. Энкодер это снова ResNet-50, сеть проектор — это трёхслойный MLP с 8192 юнитами (это больше, чем обычно). Аугментации и сам процесс оптимизации аналогичен BYOL.

Всё это добро обучалось на ImageNet на 32 V100 в течение 124 часов (батч 2018). На той же конфигурации BYOL обучался 113 часов (батч 4096).
источник
gonzo-обзоры ML статей
Результаты показывают, что BT ведёт себя достойно и сравним с лидерами типа BYOL или SwAV, обгоняя MoCo v2 и SimCLR (но почему-то v1, хотя v2 уже давно вышел, результаты его намного выше и игнорировать его мягко говоря странно). У авторов вообще много заявлений типа что их метод “outperforms SimCLR and MoCo-v2 across all datasets” (хотя цифры показывают, что не across all) или “performs comparably or better” (хотя по таблице про любой из конкурентов можно сказать точно так же). В общем нельзя сказать, что однозначный лидер и SoTA, но всё равно интересно.

Из любопытного, метод плохо устойчив к выбору аугментаций (как и SimCLR), что отличает его в худшую сторону от BYOL.

Из загадочного, метод хорошо работает на проекциях большой размерности (вплоть до 16384) не особо заметно скатываясь в насыщение, при этом выход резнета перед проектором всего лишь размерности 2048, так что непонятно, что в реальности дают эти дополнительные измерения и почему с ними лучше.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник