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: |

"Someone posing as a Ukrainian citizen just joins the chat and starts spreading misinformation, or gathers data, like the location of shelters," Tsekhanovska said, noting how false messages have urged Ukrainians to turn off their phones at a specific time of night, citing cybersafety. The Dow Jones Industrial Average fell 230 points, or 0.7%. Meanwhile, the S&P 500 and the Nasdaq Composite dropped 1.3% and 2.2%, respectively. All three indexes began the day with gains before selling off. The account, "War on Fakes," was created on February 24, the same day Russian President Vladimir Putin announced a "special military operation" and troops began invading Ukraine. The page is rife with disinformation, according to The Atlantic Council's Digital Forensic Research Lab, which studies digital extremism and published a report examining the channel. As a result, the pandemic saw many newcomers to Telegram, including prominent anti-vaccine activists who used the app's hands-off approach to share false information on shots, a study from the Institute for Strategic Dialogue shows. Multiple pro-Kremlin media figures circulated the post's false claims, including prominent Russian journalist Vladimir Soloviev and the state-controlled Russian outlet RT, according to the DFR Lab's report.
from us


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