Telegram Group & Telegram Channel
3. Сложные модификации Трансформера -- борьба с ограничениями.

Базовых ограничений у Трансформера несколько:
* не может быть контекста длиннее длины входа
* тяжело увеличивать длину входа (attention это квадрат от входа по сложности)
* не Turing Complete
Соответственно, последние полгода народ активно работает над снятием этих ограничений. Тут мне попались такие штуки:

3.1. Universal Transformers, Google, написан в прошлом году, попал на ICLR2019
Статья: https://arxiv.org/abs/1807.03819
Блогопост: https://ai.googleblog.com/2018/08/moving-beyond-translation-with.html
Свежий разбор: http://mostafadehghani.com/2019/05/05/universal-transformers/

Мотивация -- трасформеры не Turing Complete и у трасформеров нет Recurrent Inductive Bias, а оно, говорят, очень полезно для генерализации структуры.
Давайте сделаем реккурентную сеть поверх трансформерной ячейки.

Ячейка -- один энкодерный слой из трансформера, на каждом такте она обрабатывает все входы и выдаёт самой себе выход на следующий шаг.
При этом надо как-то понять когда остановиться -- делаем вычисляемый признак остановки -- отдельный для каждой позиции входа.
Такая конструкция называется Adaptive universal transformer (идея adaptive остновки взята из аналогичных более старых работ про RNN).
Если для какой-то позиции случалась остановка -- стейт этой позиции замораживаем и копируем дальше на входы внимания другим словам на более поздних итерациях.

Утверждается, что UT существенно более эффективен, чем обычный Трансформер на задачах, где мало входных данных.

3.2. Transformer-XL, начало 2019, Google Brain + CMU
Статья: https://arxiv.org/abs/1901.02860
Разбор: https://towardsdatascience.com/transformer-xl-explained-combining-transformers-and-rnns-into-a-state-of-the-art-language-model-c0cfe9e5a924

Боремся с проблемой фиксированной длины входа. Transformer-XL это модификация LM over vanilla Transformer, позволяющая откусить больше, чем в рот помещается. Полезная для понимания схема -- ниже.
Логика простая:
* Пусть у нас есть допустимый вход длины Х. И входное предложение длины Y>X.
* Порежем входное предложение на куски длины Х.
* Первый кусок пропустим как обычно, но будем сохранять промежуточные стейты.
* Дальше будем обрабатывать следующий кусок, плюс подавать на вход ещё и стейты с предыдущего куска (и запоминать новые).
Такая схема позволяет, сохраняя историю стейтов равную высоте стэка, имитировать длинное окно входа. Это не совсем честно, т.к. градиент на прошлый кусок уже не уйдёт, но всё равно не так плохо. Есть ещё одна загвоздка -- в оригинальном Трансформере у нас есть абсолютное позиционное кодирование. Здесь вместо него предлагается использовать относительное: при расчёте внимания со слова в позиции А на слово в позиции В считать вес внимания отдельно по совпадению Query/Key (без позиционного сигнала) + часть веса добавлять как функицю от разности (В-А). И такую конструкцию, в отличие от оригинального Трансформера, следует делать на каждом слое сети.

Показано, что такой подход даёт SOTA на задачах, где нужно держать длинный контекст.



group-telegram.com/gonzo_ML/62
Create:
Last Update:

3. Сложные модификации Трансформера -- борьба с ограничениями.

Базовых ограничений у Трансформера несколько:
* не может быть контекста длиннее длины входа
* тяжело увеличивать длину входа (attention это квадрат от входа по сложности)
* не Turing Complete
Соответственно, последние полгода народ активно работает над снятием этих ограничений. Тут мне попались такие штуки:

3.1. Universal Transformers, Google, написан в прошлом году, попал на ICLR2019
Статья: https://arxiv.org/abs/1807.03819
Блогопост: https://ai.googleblog.com/2018/08/moving-beyond-translation-with.html
Свежий разбор: http://mostafadehghani.com/2019/05/05/universal-transformers/

Мотивация -- трасформеры не Turing Complete и у трасформеров нет Recurrent Inductive Bias, а оно, говорят, очень полезно для генерализации структуры.
Давайте сделаем реккурентную сеть поверх трансформерной ячейки.

Ячейка -- один энкодерный слой из трансформера, на каждом такте она обрабатывает все входы и выдаёт самой себе выход на следующий шаг.
При этом надо как-то понять когда остановиться -- делаем вычисляемый признак остановки -- отдельный для каждой позиции входа.
Такая конструкция называется Adaptive universal transformer (идея adaptive остновки взята из аналогичных более старых работ про RNN).
Если для какой-то позиции случалась остановка -- стейт этой позиции замораживаем и копируем дальше на входы внимания другим словам на более поздних итерациях.

Утверждается, что UT существенно более эффективен, чем обычный Трансформер на задачах, где мало входных данных.

3.2. Transformer-XL, начало 2019, Google Brain + CMU
Статья: https://arxiv.org/abs/1901.02860
Разбор: https://towardsdatascience.com/transformer-xl-explained-combining-transformers-and-rnns-into-a-state-of-the-art-language-model-c0cfe9e5a924

Боремся с проблемой фиксированной длины входа. Transformer-XL это модификация LM over vanilla Transformer, позволяющая откусить больше, чем в рот помещается. Полезная для понимания схема -- ниже.
Логика простая:
* Пусть у нас есть допустимый вход длины Х. И входное предложение длины Y>X.
* Порежем входное предложение на куски длины Х.
* Первый кусок пропустим как обычно, но будем сохранять промежуточные стейты.
* Дальше будем обрабатывать следующий кусок, плюс подавать на вход ещё и стейты с предыдущего куска (и запоминать новые).
Такая схема позволяет, сохраняя историю стейтов равную высоте стэка, имитировать длинное окно входа. Это не совсем честно, т.к. градиент на прошлый кусок уже не уйдёт, но всё равно не так плохо. Есть ещё одна загвоздка -- в оригинальном Трансформере у нас есть абсолютное позиционное кодирование. Здесь вместо него предлагается использовать относительное: при расчёте внимания со слова в позиции А на слово в позиции В считать вес внимания отдельно по совпадению Query/Key (без позиционного сигнала) + часть веса добавлять как функицю от разности (В-А). И такую конструкцию, в отличие от оригинального Трансформера, следует делать на каждом слое сети.

Показано, что такой подход даёт SOTA на задачах, где нужно держать длинный контекст.

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


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/gonzo_ML/62

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Perpetrators of these scams will create a public group on Telegram to promote these investment packages that are usually accompanied by fake testimonies and sometimes advertised as being Shariah-compliant. Interested investors will be asked to directly message the representatives to begin investing in the various investment packages offered. "And that set off kind of a battle royale for control of the platform that Durov eventually lost," said Nathalie Maréchal of the Washington advocacy group Ranking Digital Rights. Russian President Vladimir Putin launched Russia's invasion of Ukraine in the early-morning hours of February 24, targeting several key cities with military strikes. Since its launch in 2013, Telegram has grown from a simple messaging app to a broadcast network. Its user base isn’t as vast as WhatsApp’s, and its broadcast platform is a fraction the size of Twitter, but it’s nonetheless showing its use. While Telegram has been embroiled in controversy for much of its life, it has become a vital source of communication during the invasion of Ukraine. But, if all of this is new to you, let us explain, dear friends, what on Earth a Telegram is meant to be, and why you should, or should not, need to care. So, uh, whenever I hear about Telegram, it’s always in relation to something bad. What gives?
from tw


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