machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Внедрение слоя самообслуживания в трансформаторе

Дата публикации Oct 3, 2019

Каждые статьи о Трансформаторе, начните с трансформатора

Краткое изложение Трансформера

Название"Трансформатор"в области обработки естественного языка (NLP) определяется публикацией Google под названием«Внимание - это все, что вам нужно»в середине 2017 года. Короче говоря, концепция Transformer заключается в замене рекурсивного или сверточного нейронного слоя наСлой самообслуживания,

С тех пор, в основном, все работы, выполненные в области НЛП, были переработаны Transformer. И неудивительно, что они превосходят предыдущие результаты. Трансформер издан в 2017 году и до сих пор доминирует в этой области сейчас. В частности, современная модель НЛПБЕРТопубликованный в 2018 году просто обученный трансформатор без присмотра, иGPT2,ИИ, который слишком опасен, чтобы выпускатьв 2019 годуэто BERT с использованием маскированного слоя самообслуживания.

Трансформер теперь буквально является святым Граалем НЛП, он даже успешно переопределил слововниманиепослеЧарли Пут,

Внимание - это не только все, что вам нужно, это официально все, что имеет значение (сейчас 2019)

Self-Внимание

Механизм, основанный на внимании, опубликован в 2015 году. Первоначально он работал как структура Encoder-Decoder.Внимание это просто матрица, показывающая относительность словПодробности о внимании смотрите в статье написаннойсинхронизированныениже:

Краткий обзор механизма внимания

Что такое внимание?

medium.com

Само-внимание - это сжатие внимания к себе. Основными преимуществами Self-Attention Layer по сравнению с предыдущими архитектурами являются:

  1. Возможность параллельных вычислений(сравнивает с RNN)
  2. Нет необходимости в глубокой сети, чтобы искать длинное предложение(сравнивает с CNN)

Чтобы говорить правильно, НЛП на основе сверточной нейронной сети (CNN) также является решением для рекурсивной нейронной сети. Однако недостатки CNN ярко выражены, он не подходит для обработки длинных предложений.

Слой самообслуживания проверяет внимание сразу со всеми словами в одном предложении, что делает его простым матричным вычислением и способным выполнять параллельные вычисления на вычислительных единицах. Кроме того, слой самообслуживания может использоватьMulti-Headархитектура, упомянутая ниже, чтобы расширить видение (расстояние между соответствующими словами в предложении).

Базовая структура

Слой самообслуживания для достижения внимания с помощью 3 частей

Для каждого входаИкс, слова вИксвстраиваются в векторкак вход для самообслуживания. Далее рассчитаемЗапрос, Ключа такжеЦенностьэтого собственного внимания соответственно.

  • q ⁱ (запрос) = W ᑫ a ⁱ
  • k ⁱ (ключ) = W ᵏ a ⁱ
  • v ⁱ (значение) = W ᵛ a ⁱ

W ᑫ, W ᵏ, W ᵛ - цель тренироваться в слое. Внимание это комбинациизапроса такжеключ, гдеЗапрос действует как дающийа такжеКлюч действует как приемник,Значение может показаться извлечением информации, будет извлекать уникальное значение на основе внимания слов.

Внимание

Шаг пошагового расчета внимания

ухаживаниеαопределяются как внутреннее произведение Query (дающий) и Key (получатель), деленное на квадратный корень из его размеров. Каждое слово привлекает внимание ко всем словам, предоставляя Query для соответствия Key, который является целевым словом внимания. Так как более длинное предложение (больше слов) приводит к большему количеству внутренних произведений, квадратный корень здесь действует как баланс отклонения. Матрица вниманиябудет создан,

Шаг пошагового расчета выходных данных слоя самообслуживания

Примените функцию softmax через A за строкой (вводимые слова). Выходбрассчитывается на сумму внимания умножить на извлечение информации изЦенностькаждого слова обращал внимание.

Чудо здесь в том, что уровень самосовершенствования позволил построить отношения и самостоятельно извлечь информацию с помощью 3 дисперсий.Запрос, Ключа такжеЦенность.

Query и Key строят отношения, Value суммируют все отношения внутри и выводят результат b, который содержит отношения между входом x и всеми другими словами.

Matricize

Все расчеты происходят в Самообслуживаемом слое в матричных расчетах

Как мы упоминали выше, каждый расчет в слое самосохраненияМатричные вычисления.Чрезвычайно подходит для современных вычислений на GPU.

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

Multi-Head

Так как отношения между словами могут состоять из более чем одного типа. Для экземпляра проверьте два предложения ниже:

«LSC - лучший!»

«Это лучшее из LSC».

В этих двух предложениях связь между«LSC»а также"Лучший"это большая разница, они не должны относиться одинаково во внимании. А также, расстояние между словами должно учитываться и вниманием.

Как Multi-Head создает разные внимания

Multi-Head - это функции, которые могут создавать несколько матриц внимания в одном слое. Просто удвойте комбинации запросов, ключей и значений на уровне самообслуживания и независимо рассчитайте матрицу внимания С Multiple-Head, слой самообслуживания создаст несколько выходов. Следовательно, будет еще один обучаемый вес Wᵒ, так чтоO = WᵒBгде B - это выходы с разным вниманием.

Сложность времени

Временная сложность уровня самообслуживания также имеет свои преимущества. Сравнение FLOPS различных структур НЛП показано ниже:

  • Self-Внимание:O (length² • тусклый)
  • РНН (LSTM):Вывода (длина • dim²)
  • Свертка:Вывода (длина • dim² • ядро-ширина)

Поэтому Внимание стоит дешево, когда длина предложения << размеры.


Выводы

Самообслуживание в эти годы демонстрирует господство на полях и привело нас к новой эре. И понятие это то, что я пытался представить здесь. Если кому-то нужна дополнительная структурная информация, пожалуйста, прочитайте оригинал«Внимание - это все, что вам нужно», Если вы такой же ленивый, как я, я рекомендую статью от Toward DataScience:

Самообслуживание и Трансформеры

От внимания к самому вниманию к трансформаторам

towardsdatascience.com

if you like(this_article):
please(CLAPS)
follow(LSC_PSO)
# Thanks :)

Ссылки:

  1. «Внимание - это все, что вам нужно» декабрь 2017
  2. Трансформаторная лекция Хунг-И Ли, NTU EE (Youtube)
  3. НЛП с глубоким обучением, Stanford CS224N
  4. Механизмы самосохранения в обработке естественного языка, Alibaba Cloud
  5. 用 神經 機器 翻譯 & 用 Трансформатор 與 TensorFlow 2 英 翻 中

Оригинальная статья

Footer decor

© machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map