Size: a a a

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

2021 May 31
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
2021 June 01
gonzo-обзоры ML статей
Сегодня интересный семинар. Как минимум одну из работ мы здесь разбирали и обсуждали
источник
gonzo-обзоры ML статей
На следующей неделе, 1 июня в 17:00 (МСК), пройдет вебинар “Современные Хопфилдовские нейронные сети в машинном обучении и нейробиологии”.

Спикер: Дмитрий Кротов, MIT-IBM Watson AI Lab, IBM Research, Кембридж, штат Массачусетс, США.

Дмитрий о вебинаре
Современный Хопфилдовские Сети, или модели Плотной Ассоциативной Памяти, представляют собой нейронные сети с набором фиксированных точек аттракторов к которым сходится реккуррентная динамическая траектория в пространстве нейтронных состояний. В отличие от классических Хопфилдовских сетей, их современная модификация позволяет записывать и хранить экспоненциально большое количество памятей. Благодаря этому, с их помощью можно решать многие интересные задачи в машинном обучении и использовать эти математические модели для описания биологической памяти. Я расскажу про математическую теорию этих моделей и про конкретные задачи где эти идеи оказываются полезными. Я также приведу примеры этих моделей которые сводятся в предельных случаях к нейронным сетям которые используются на практике (например механизм внимания в трансформерах).

➡️Регистрация

📚Дополнительные материалы
Идеи, которые Дмитрий будет обсуждать на вебинаре, были упомянуты в нескольких статьях ранее. Две наиболее актуальные статьи:
▪️ Krotov & Hopfield “Large Associative Memory Problem in Neurobiology and Machine Learning”, ICLR 2021, https://arxiv.org/abs/2008.06996
▪️ Krotov & Hopfield “Dense Associative Memory for Pattern Recognition”, NeurIPS 2016, https://arxiv.org/abs/1606.01164

Статьи, которые менее актуальны для вебинара, но имеют большое отношение к  теме:
▪️ Demircigil et al, “On a model of associative memory with huge storage capacity”, J. Stat. Phys. 2017, https://arxiv.org/abs/1702.01929
▪️Ramsauer et al., “Hopfield Networks is All You Need”, ICLR 2021, https://arxiv.org/abs/2008.02217
▪️Widrich, et al., “Modern Hopfield Networks and Attention for Immune Repertoire Classification”, NeurIPS 2020, https://arxiv.org/abs/2007.13505
▪️Krotov & Hopfield "Dense Associative Memory Is Robust to Adversarial Inputs", Neural Computation 2018, https://direct.mit.edu/neco/article/30/12/3151/8426/Dense-Associative-Memory-Is-Robust-to-Adversarial
источник
gonzo-обзоры ML статей
A Note on Connecting Barlow Twins with Negative-Sample-Free Contrastive Learning
Yao-Hung Hubert Tsai, Shaojie Bai, Louis-Philippe Morency, Ruslan Salakhutdinov

Статья: https://arxiv.org/abs/2104.13712
Код (PyTorch): https://github.com/yaohungt/Barlow-Twins-HSIC

Примерно через два месяца после Barlow Twins (и всего лишь месяц назад!) команда из Карнеги Меллон во главе с Русланом Салахутдиновым выпустила любопытное теоретическое обоснование метода.

Как вы помните, у Barlow Twins (BT) было два интересных свойства: 1) он не требует негативных примеров и заодно нечувствителен к маленьким размерам батча (что характерно для неконтрастивных SSL методов), 2) он избегает введения асимметрии в модель (что вроде как стало свойственно свежим CL SSL методам).

Вопрос авторов: что делает BT таким аутлаером среди существующих методов?

В оригинальной работе про BT авторы предложили интерпретацию его через теорию Information Bottleneck. В текущей работе предлагается альтернативная интерпретация целевой функции BT как negative-sample-free contrastive learning objective.

Цель контрастивных методов — выучить похожие репрезентации для позитивных пар (когда оба объекта X и Y зависимы и берутся из совместного распределения P_{XY}) и непохожие для негативных (когда X и Y независимы и пара берётся из произведения маргинальных распределений P_X и P_Y).

Текущие же авторы в одной из предыдущих работ (мартовская “Self-supervised Representation Learning with Relative Predictive Coding”, https://arxiv.org/abs/2103.11275) продемонстрировали, что контрастивные целевые функции можно интерпретировать как максимизацию дивергенции между P_{XY} и P_X*P_Y, а в роли дивергенции могут быть разные известные функции: Kullback-Leibler, Jensen-Shannon, Wasserstein, хи квадрат и так далее, каждая дающая свой метод контрастивного обучения.

CALL TO ACTION: кто хочет придумать ещё несколько новых методов CL? Выберите дивергенцию, которую ещё никто не пробовал!

Авторы берут Hilbert-Schmidt Independence Criterion (HSIC) и показывают, что этот критерий обходится без негативных примеров, а потому представляет собой тот самый negative-sample-free CL objective.

Из HSIC авторы получают новый лосс очень похожий на оригинальный лосс в BT с разницей в последнем терме, где вместо суммы квадратов внедиагональных элементов находится сумма квадратов (единиц + внедиагональный элемент). Вся разница по факту в том, что BT стремился занулить внедиагональные элементы, а HSIC уводит их в -1. Ну и ещё гиперпараметр lambda при замешивании двух компонентов лосса теперь иной, вместо подобранного поиском, здесь теоретически обоснованный 1/d, где d — размерность.

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

Экспериментально авторы проверились на лайтовых датасетах CIFAR-10 и Tiny-Imagenet (могу понять, не каждый работает в гугле или фб с кластерами из сотен V100 или TPU). Взяли также ResNet-50, проектор оставили как и выход резнета размером 2048 (пробовали разные значения до этого, а большие размерности до 16К как в BT не пробовали).

На обоих датасетах результат HSIC и BT получился примерно одинаковый. Из интересного, при увеличении размера проекции качество не меняется (но правда они не увеличивали за пределами 2К) и это типа разница со статьёй про BT — там-то было неожиданное улучшение. Авторы теоретизируют, что это во-первых из-за маленьких датасетов, а во-вторых из-за иного выбора гиперпараметра lambda. Ну, кстати, может и правда эти увеличенные размерности информации не добавляют, но выступают как регуляризация.

Ещё по мере увеличения размера батча качество падает. На BT такое тоже было, но на более высоких размерах батча (но опять же, может маленькие датасеты влияют).

В общем интересная движуха. Кажется, мы только открываем большой новый сундук с неизвестным. И вы можете лично приложить руку к этому исследованию новых территорий! Не тормозите.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
2021 June 02
gonzo-обзоры ML статей
VICReg: Variance-Invariance-Covariance Regularization for Self-Supervised Learning
Adrien Bardes, Jean Ponce, Yann LeCun

Статья: https://arxiv.org/abs/2105.04906
Неофициальный код: https://github.com/vturrisi/solo-learn (с разными методами SSL, включая VICReg)
Библиотека для SSL от FAIR (где можно ожидать появления VICReg, но пока нет): https://github.com/facebookresearch/vissl + https://vissl.ai/

Май 2021, продолжение развития Barlow Twins от Яна Лекуна и ко.

Проблема всё та же — хочется избежать коллапса репрезентаций, но желательно не разными [работающими, заметим] хаками и имплементациями, а каким-нибудь красивым методом, который был бы обоснован и интерпретируем.

Архитектура сиамская симметричная, обе ветви одинаковые и с расшаренными весами, ResNet-50 энкодер + MLP проектор, в каждую ветвь подаётся своя аугментация входного изображения. Вся инновация снова в лосс-функции.

В данной работе предлагается новая трёхкомпонентная целевая функция под названием VICReg (Variance-Invariance-Covariance Regularization), самое новое из которого — это Variance.

Разберём по частям.

Invariance regularization — в целом общее место во многих методах, отвечающее за одинаковость репрезентаций аугментаций одного и того же объекта. Здесь реализуется через mean-squared euclidean distance.

Covariance regularization — идея аналогичная Barlow Twins для того, чтобы получить независимые фичи, декоррелируя их. Реализована в виде суммы квадратов внедиагональных элементов матрицы ковариации, которые данный лосс стремится занулить. Но разница в том, что в BT была кросс-корреляция векторов из двух ветвей сиамской сети, а здесь это ковариация между фичами внутри каждой ветви сети, делающая фичи независимыми друг от друга локально в пределах ветви. Заодно избавились от стандартизации, которая была в BT (и приводила к численной нестабильности, когда эмбеддинг уезжал в константу), здесь вместо неё работает Variance regularization.

Variance regularization — метод регуляризации дисперсии фич, защищает от коллапса. Технически это hinge loss на стандартное отклонение фич проекции по измерению батча. В лоссе фигурирует параметр гамма, который является целевым для стандартного отклонения по каждой фиче, в работе был установлен в 1.

То есть по сути в работе декомпозировали различные цели SSL в отдельные компоненты лосса. Они замешиваются в итоговый лосс с гиперпараметрами, дающими вес каждому компоненту.

Из новых свойств метода то, что он (вроде как первый) не требует какой-либо отдельной нормализации фич.

Эксперименты снова на ImageNet в режимах linear classification (обучают линейный классификатор поверх эмбеддингов полученных в self-supervised режиме) и semi-supervised (когда дополнительно обучают с учителем на 1% или 10% разметки). Метод примерно в одной группе с BYOL, SwAV и Barlow Twins. Аналогично на других картиночных датасетах и задаче детекции объектов.

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

Метод снова не особо чувствителен к размеру батча и нормально работает на небольших батчах.

Потенциальный недостаток метода — необходимость вычисления матрицы ковариации, а это квадратичная сложность по размеру фич (но всё равно не настолько ужасно как в методах, требующих вычисления обратных матриц, что используется в методе W-MSE на основе whitening). Собираются в будущем поискать более эффективные решения, не требующие вычисления полной матрицы.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
2021 June 05
gonzo-обзоры ML статей
Not All Memories are Created Equal: Learning to Forget by Expiring
Sainbayar Sukhbaatar, Da Ju, Spencer Poff, Stephen Roller, Arthur Szlam, Jason Weston, Angela Fan
Статья: https://arxiv.org/abs/2105.06548
Code: https://github.com/facebookresearch/transformer-sequential (плюс там же код для недавно обсуждавшегося Feedback Transformer)

Прикольная работа от хороших авторов в тему трансформеров с памятью.

Много свежей движухи в стане трансформеров направлено на увеличение attention span (все эти Big Bird, Longformer, Reformer и т.п.) и/или добавление памяти (Compressive Transformer и другая экзотика). Но, как известно, не все йогурты одинаково полезны. Мало увеличивать span и добавлять больше памяти, надо уметь и забывать ненужное и освобождать память.

Данная работа посвящена именно этому и идейно во многом является продолжением линий Adaptive Attention Span (тех же авторов, https://t.me/gonzo_ML/99) и Compressive Transformer (DeepMind, https://t.me/gonzo_ML/165).

Adaptive Attention Span позволял адаптивно определять этот самый span для каждой головы внимания независимо и не считать внимание по большим окнам, где это не надо. Compressive transformer перегонял в долгую память репрезентации, уходящие из обычного поля зрения, но делал это довольно топорно.

Суть текущей работы, Expire-Span, в том, что давайте считать внимание не по всем элементам какого-то окна (attention span), а только по тем, которые “не забылись”. Тогда и окно можно сделать сильно больше, если в нём не так много ключевой информации, которую надо помнить. В данной работе attention span доходит до 128К токенов, что, кажется, рекорд. Фокусируются на декодерах.

Технически это работает так. Для каждой репрезентации токена (hidden state) мы имеем предиктор (по сути однослойная сетка с сигмоидой), дающий значение expiration value — как долго (сколько шагов по времени) эту репрезентацию нужно помнить. Как только элемент выходит из этого окошка, он “забывается” и не участвует далее в вычислении весов внимания. Количество элементов, участвующих в этом вычислении, называется размером памяти (C).

Окошко памяти сделано по аналогии с работой про adaptive attention span без резкого перепада, а как soft mask, в нём есть участок длины R (гиперпараметр), где вес элемента линейно спадает от единицы до нуля. Это чтобы был нормальный участок, откуда бы поступали градиенты на обучение этого механизма.

Лосс функция содержит дополнительный терм, уменьшающий средний размер используемой памяти C.

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

В работе указано много тонкостей имплементации. Среди них, например, есть абзац про регуляризацию памяти, когда при обучении для каждого батча случайным образом определяется число l<L (максимальный span) и память дальше этого l зануляется. Это чтобы модель не рассчитывала, что память всегда будет содержать специфическую информацию. Есть чувство, что это можно было бы назвать memory dropout и посвятить ему отдельную статью. А тут скромно абзац внутри текста.

Для сравнения бейзлайнами взяты Transformer-XL, Adaptive-Span и Compressive Transformer. Expire-Span демонстрирует очень хорошие результаты.

На задачке с коридором (когда в начале коридора есть цветное пятно, говорящее, в каком из поворотов в конце коридора будет награда, а коридор может быть длинным, так что помнить надо долго) ощутимо бьёт XL даже при малом объёме памяти (что логично, для такой задачи её как раз нужно мало). Есть задача навигации по нескольким комнатам с порталами (надо помнить, какой портал где правильный) и задача про длинные текстовые инструкции для игры, которые надо запоминать и в нужном месте использовать. Тут тоже лучше, чём XL.

Есть задача копирования последовательности, когда идёт сколько-то символов A, потом много B, и потом надо скопировать то самое количество A. Чем больше span, тем лучше работает (до 128К).
источник
gonzo-обзоры ML статей
Языковое моделирование на Enwik8 дало новую SoTA, побив в том числе и Compressive Transformer.

На PG-19 качество сравнимое с Compressive Transformer, но существенно быстрее.

Есть и другие задачи, где модель ведёт себя достойно.

Что ценно, кроме высокого качества, модель ест меньше памяти, чем Adaptive-Span или Compressive Transformer, а также стабильно быстрее их на обучении, иногда в 2-3 раза.

Есть интересный анализ expiration value в зависимости от конкретных позиций в разных текстах. Показывают, что разные слои модели специализируются на разных объектах: какие-то хранят именованные сущности, другие отмечают пробелы, ещё одни смотрят на заголовки секций в документах.

Мне кажется, и adaptive span раньше был хороший и незаслуженно малоизвестный, а эта штука бьёт его везде. Плюс, она вполне ортогональна многим другим улучшениям трансформеров. Было бы интересно собрать новый GPT с этим механизмом плюс ещё несколькими многообещающими. И также было бы интересно применить его к окологеномным задачам, там длинный контекст часто важен. 128К это прям уже хорошо!
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник