Size: a a a

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

2019 October 24
gonzo-обзоры ML статей
CIFAR10: 100 images train test accuracy to 36.8% ± 1.2% (with unknown random initializations)
источник
gonzo-обзоры ML статей
Attack well-trained classifiers with unknown weights within 1 gradient step

CIFAR10: plane ⟶ car

100 images train classifiers with 78.2% ± 1.1% test accuracy
to predict 45.9% ± 18.1% label plane test images as label car
источник
2019 November 11
gonzo-обзоры ML статей
Stabilizing Transformers for Reinforcement Learning
Emilio Parisotto, H. Francis Song, Jack W. Rae, Razvan Pascanu, Caglar Gulcehre, Siddhant M. Jayakumar, Max Jaderberg, Raphael Lopez Kaufman, Aidan Clark, Seb Noury, Matthew M. Botvinick, Nicolas Heess, Raia Hadsell
CMU, Google
, DeepMind

Статья: https://arxiv.org/abs/1910.06764

Обсуждается возможность использования трансформерных архитектур в рамках RL-задач. Известно, что предыдущие попытки давали нестабильные результаты.

Авторы предлагают модифицированную архитектуру под называнием GTrXL (Gated Transformer-XL). Она более всего похожа на Transformer-XL и содержит следующие модификации:
 - как и в TrXL, используется относительное позиционирование токенов, что позволяет работать с широким окном;
 - как и в модификации TrXL-I, layernorm делается на входе каждого слоя, а не на выходе, а residual connection позволяет его обойти без нормализации — авторы утверждают, что это очень важно в RL для выучивания ранних простых реактивных стратегий, на основании которых далее формируются уже более сложные;
 - ключевым отличием является добавление gating-слоя вместо простого сложения в точке примыкания residual connection — здесь они экспериментировали с разными гейтами, победителем вышел GRU-style gating.

При этом показали, что если начальную инициализацию гейта делать близкой к identity map, то скорость обучения резко растёт (опять таки за счёт того, что сначала сразу выучивается простая policy).
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
Improving Transformer Models by Reordering their Sublayers
Ofir Press, Noah A. Smith, Omer Levy
University of Washington, Allen Institute for AI, Facebook AI Research

Статья: https://ofir.io/sandwich_transformer.pdf
Тредик с обсуждением: https://twitter.com/OfirPress/status/1193074964301111296

В обычном трансформере слои self-attn и feedforward чередуются через один. А что если попробовать другие порядки? Авторы делали много разных тестов на задаче LM на WikiText-103. Основные наблюдения:
 - случайные чередования слоёв дают большой разброс качества, в том числе случаются результаты получше чем у бейзлайна;
 - важен ли баланс в кол-ве self-attn и feedforward -- точно не понятно, решили оставить одинаковое количество;
 - выяснили, что self-attn полезнее снизу, а сверху feedforward;
 - искали оптимум в классе архитектур "k-сэндвичей", это вариант, где всего 32 слоя, и устроены они так: внизу k слоёв self-attn, потом (16-k) пар self-attn+feedforward и в конце k слоёв feedforward;
 - из 32 слоёв оптимумом оказался k=6, т.е.  sssssssfsfsfsfsfsfsfsfsfsfffffff, на нём perplexity оказался 17.96 (против 18.40 у бейзлайна).
источник
gonzo-обзоры ML статей
источник
2019 November 12
gonzo-обзоры ML статей
BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension
Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Ves Stoyanov, Luke Zettlemoyer
Facebook AI

#NLP #BERT #GPT2 #BART #denoising

Статья: https://arxiv.org/abs/1910.13461

По большому счёту, делают аналог denoising автоэнкодера на трансформерах. А именно, в качестве энкодера используют BERT, в качестве декодера GPT-2, общая схема -- классический seq2seq.

Экспериментируют со следующими видами шума на этапе предобучения:
 - Token Masking -- замена токенов на [mask] -- MLM, как в BERT;
 - Token Deletion -- удаление случайных токенов (без указания места удаления);
 - Text Infilling -- замена нескольких слов на один символ [mask];
 - Sentence Permutation -- случайная перестановка входных предложений местами;
 - Document Rotation -- рубим входную строку в случайном месте и переставляем две части местами.

Дальше доучивали на нужную задачу (смотрели на бенчмарки SQuAD, GLUE и другие). Из интересных идей -- пробовали доучивать на перевод, добавив дополнительный энкодер из нового языка в эмбеддинги, идущие на вход основному энкодеру.

На сравнении с бертом тестировали эффективность разных стратегий зашумления на этапе предобучения. В целом, вышло, что чаще всего Text Infilling даёт SOTA в одиночку или в комбинации с другими, но, вообще говоря, это зависит от задачи.

Далее сравнивались с разными бейзлайнами на разных задачах:
 - на дискриминативных задачах местами уступили RoBERTa,
 - на задачах суммаризации -- получили SOTA,
 - на некоторых других тоже, но не везде.

Общий вывод я бы сформулировал так:
 - в целом модель выглядит универсальной и гибкой в управлении, можно ожидать, что она имеет некоторые шансы стать единой стандартной базой для transfer learning-а в разных задачах,
 - Text Infilling как обобщение MLM -- хорошая идея, а вообще из работы следует, что оптимальная схема предобучения определяется финальной задачей (что печально),
 - какого-то большого прорыва не вышло, но на отдельных задачах полулось заметно улучшить SOTA.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
2019 November 13
gonzo-обзоры ML статей
FreeLB: Enhanced Adversarial Training for Language Understanding
Chen Zhu, Yu Cheng, Zhe Gan, Siqi Sun, Tom Goldstein, Jingjing Liu
University of Maryland, Microsoft Dynamics 365 AI Research

#NLP #BERT #adversarial #ICLR

Версия на архиве: https://arxiv.org/abs/1909.11764
Версия, поданная на ICLR 2020: https://openreview.net/pdf?id=BygzbyHFvB
Кстати, одна из 11 статей, получившая на днях 8 из 8 баллов на blind review ICLR 2020.

Авторы предлагают новую adversarial схему обучения, FreeLB (Free Large-Batch), и показывают её эффективность при обучении трансформеров (BERT и RoBERTa) под NLP задачи из бенчмарков GLUE и ARC. Предлагаемый подход FreeLB применяется на этапе тюнинга обычной трансформер-модели на конкретную задачу.

В качестве общего соображения сообщается, что, в то время, как на задачах CV использование adversarial training приводит к улучшению генерализации и устойчивости модели к шуму за счёт некоторых потерь в точности, на задаче LM иногда наблюдается другой эффект -- улучшается как генерализация, так и точность.

Идея используемого adversarial подхода довольно проста -- после того, как мы сделали lookup за эмбеддингами токенов батча, мы их немного "портим", добавляя шум, и используем такие зашумлённые версии для обучения с тем же таргетом, что и в оригинале. Степень зашумления ограничивается небольшой евклидовой нормой добавляемого тензора шума. При этом позиционные и прочие служебные эмбеддинги не трогаем. В каком-то абстрактном смысле это отдалённо похоже на data augmentation подход. Шум, однако, у нас не случайный, а adversarial, т.е. всякий раз мы пытаемся подсунуть наиболее сложное для сети искажение.

В работе Madry et al. (2018) показано, что для поиска такого сложного зашумления можно использовать PGD (projected gradient descent): метод, в котором градиент проецируется на epsilon-сферу, и это помогает стабилизировать обучение. Проблема в том, для одного надёжного шага "спуска по шуму" нужно накопить несколько (К) forward-backward проходов по сети, что в случае с большими моделями и датасетами совсем не практично -- приводит к удорожанию обучения в К раз. В более поздних работах (модели FreeAT и YOPO) предлагается так или иначе экономить на расчётах, например, делая обновление градиента adversarial шума только раз в К шагов спуска основной модели.

Авторы данной работы предлагают новую схему (FreeLB) одновременной оптимизации сети и подстройки шума: при обработке минибатча будем делать К шагов по градиенту основной модели, накапливая его и пересчитывая оптимальный шум на основании текущего накопленного градиента на каждом шаге, а в конце разово применим итоговый накопленный градиент основной модели. Предлагается некоторое теоретическое обоснование, почему такой подход даёт более устойчивое обучение чем обычный PGD.

Дополнительно обсуждается возможность использования дропаутов при таком обучении (обычно в таких adversarial схемах dropout не используют) -- авторы предлагают фиксировать одинаковую маску дропаута на К шагов, примерно так, как это было сделано в Variational Dropout. Такой подход позволяет использовать dropout одновременно с adversarial training, и на ablation study (таб. 4) показано, что это даёт заметный профит.

В итоге, на тестовых задачах оптимизация с FreeLB показала лучшие результаты, обогнав как ванильные BERT и RoBERTa, так и варианты с PDG, FreeAT и YOPO.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
2020 January 07
gonzo-обзоры ML статей
Just Add Functions: A Neural-Symbolic Language Model
David Demeter, Doug Downey
Статья: https://arxiv.org/abs/1912.05421

Прикольная статья про расширение нейросетевых языковых моделей (Neural Network Language Model, NNLM) более правильными inductive biases путём внедрения простых функций. Эти функции явно кодируют символьные отношения и выдают вероятностные распределения для слов.

У NNLM есть проблемы с некоторыми текстами, например, если там встречаются определённые пространственные, временные или количественные отношения.

Например, предсказание последнего слова в тексте:

William the Conqueror won the Battle of Hastings in 1066, and died in [1087]

где мы знаем, что это скорее всего четырёхзначное число большее (но не сильно) 1066.

Или в тексте:

Exciting European cities are Paris, Rome and [London]

где мы скорее всего ожидаем что-то географически близкое к перечисленным.

Эту всю логику довольно непросто заложить в классические NNLM, но можно легко описать простыми математическими или логическими выражениями.

Собственно после добавления в модель таких функций и получается нейро-символьная языковая модель (Neuro-Symbolic Language Model, NSLM).

NSLM представляет собой иерархическую NNLM (HNLM), генерирующую совместное распределение классов и слов. Простые функции используются для явного кодирования вероятностных распределений слов внутри класса. В работе такие функции называются микро-моделями (micro-models, MM). В обычных иерархических языковых моделях на месте микро-модели была бы какая-то другая сеточка.

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

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

В работе NSLM делается на базе LSTM и разбираются классы про числа (year, day, round, decimal, range, convert) и географию (city, state, country).

NSLM бьёт по perplexity различные бейзлайны (LSTM NNLM, HNLM, character RNN, Neural cache models). На больших датасетах преимущество не настолько большое, но всё равно остаётся значительным на редких токенах. Более хитрые бейзлайны (например, с эмбеддингами, обученными на 6B корпусе, или с добавлением в эмбеддинги географических координат) тоже бьёт. И более продвинутую современную AWD-LSTM бьёт.

В общем получился красивый простой метод затачивания NNLM под доменно-специфичные задачи.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
2020 January 08
gonzo-обзоры ML статей
Compressive Transformers for Long-Range Sequence Modelling
Jack W. Rae, Anna Potapenko, Siddhant M. Jayakumar, Timothy P. Lillicrap
Статья: https://arxiv.org/abs/1911.05507

Ещё более продвинутый трансформер от DeepMind’а. По сути расширение Transformer-XL путём добавления долговременной сжатой памяти.

Transformer-XL был достижением в том смысле, что позволил работать с более длинными последовательностями, которые не влезают в attention span трансформера. Там это достигалось за счёт сохранения состояний от предыдущего attention span и таким образом рекурсивно и от предыдущих ему тоже.

Увеличивать глубину памяти трансформера непросто, в основном из-за квадратичной вычислительной сложности механизма внимания, а также из-за дополнительных костов на хранение. Проблему вычислительной сложности решал Sparse Transformer от OpenAI, но он не решал проблему хранения, плюс его эффективная имплементация нетривиальна. Также был трансформер с адаптивным attention span (https://t.me/gonzo_ML/99), но его вычисления вроде как не реализуются эффективно на текущем железе типа TPU (что впрочем противоречиво, потому что этот трансформер вроде как может быть обучен на довольно слабом железе за разумное время в отличие от других трансформеров, https://arxiv.org/pdf/1911.11423). В текущей работе авторы преследуют цель компактного хранения прошлого, желательно так чтобы это работало со стандартной простой dense линейной алгеброй.

В Compressive Transformer’е реализован двухуровневый механизм памяти. Первый уровень памяти (short-term) аналогичен памяти Transformer XL. Второй уровень (long-term) -- новый, в него память уходит из краткосрочной памяти, подвергаясь сжатию в процессе переноса. Механизм внимания смотрит на текущую последовательность + краткосрочную память + долгосрочную память.

Попутно с новым тратсформером авторы собрали и новый датасет для тестирования long-term dependencies. Это датасет из книг Проекта Гутенберг, называется PG-19 (книги до 1919 года, привет авторским правам). Датасет огромен, средняя длина последовательности сильно больше аналогов. Это круто.

Эксперименты как полагается показали, что новый трансформер лучше прежних, включая Transformer-XL (на мой взгляд важно также, что Adaptive Transformer также очень хорош и не особо сильно отстаёт). Разница больше заметна на новом датасете, а также на редких словах.

Также показали, что работает на звуке лучше Transformer-XL и даже не хуже WaveNet. А также делает IMPALA (штука из RL) лучше, если заменить им встроенный LSTM.

Предложенный механизм вполне ортогонален многим другим улучшениям трансформеров. Так что ждём новых комбинаций. И как полагается, теперь ждём новых BERT/XLNet/GPT-2/...
Telegram
gonzo-обзоры ML статей
Adaptive Attention Span in Transformers
Sainbayar Sukhbaatar, Edouard Grave, Piotr Bojanowski, Armand Joulin
Статья: https://arxiv.org/abs/1905.07799
Бенчмарки: https://paperswithcode.com/paper/adaptive-attention-span-in-transformers

Работа идейно близкая к ACT: давайте теперь сделаем адаптивным attention span трансформера.

Проблема обычного трансформера в том, что размер контекста, по которому считается self-attention, фиксирован и кроме того не может быть большим, потому что вычисления и память растут квадратично. Для увеличения контекста недавно уже было несколько решений, например, Transformer XL или Sparse Transformer. В первом из них ввели нечто вроде рекуррентности по времени, а во втором сильно облегчили матрицу внимания за счёт факторизации. Здесь же авторы (все из FB) вводят адаптивность, слой сам определяет необходимый ему размер контекста, так что это сокращает вычислительную сложность трансформера и позволяет, где надо, иметь большой контекст.

Кроме адаптивности в обычный трансформер вводятся…
источник