Трансформаторы и механизм внимания произвели революцию в области обработки естественного языка (NLP) и привели к значительным улучшениям в таких задачах, как моделирование языка, машинный перевод и классификация текста. Модель трансформатора, представленная в 2017 году Васвани и др., заменила традиционную архитектуру рекуррентных нейронных сетей (RNN) механизмом самоконтроля, который позволяет более эффективно обрабатывать последовательные данные. Механизм внимания, который позволяет модели выборочно фокусироваться на разных частях входной последовательности, стал фундаментальным строительным блоком для современных систем НЛП. В этом контексте внимание можно рассматривать как механизм, который позволяет модели научиться взвешивать входные элементы по-разному в зависимости от их относительной важности по отношению к текущему результату. В этом введении будет представлен краткий обзор преобразователей и механизма внимания, а также их важность в современных исследованиях НЛП.

Введение во внимание

Механизм внимания — это вычислительная техника, которая позволяет нейронной сети выборочно обращать внимание на определенные части входной последовательности при ее обработке. Этот механизм был впервые представлен в контексте машинного перевода Bahdanau et al. в 2014 году и с тех пор широко используется в различных задачах, таких как моделирование языка, классификация текстов, анализ настроений или компьютерное зрение, став широко популярным после Vaswani et al. Опубликовано в 2017 г. Внимание — это все, что вам нужно.

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

Ключевая идея внимания состоит в том, чтобы вычислить вес для каждого входного элемента, который отражает его отношение к текущему результату. Затем эти веса используются для вычисления взвешенной суммы входной последовательности, которая передается на следующий уровень нейронной сети. Веса обычно рассчитываются на основе меры подобия между текущим выходом и каждым входным элементом.

Формальное определение

Математически это определяется следующим образом:

где Q, K и V — матрицы запроса, ключа и значения соответственно, а d — размерность ключа и запроса. В этой формулировке матрица запроса Q представляет текущее состояние декодера, а матрица ключей K и матрица значений V представляют входную последовательность. . Скалярное произведение между матрицами запроса и ключа измеряет сходство между текущим состоянием и каждым входным элементом. Затем к скалярному произведению применяется функция softmax для вычисления набора весов, отражающих относительную важность каждого входного элемента для текущего состояния. Коэффициент масштабирования d используется для предотвращения слишком большого скалярного произведения, которое может привести к насыщению функции softmax и исчезновению градиентов во время обучения. Это известно как проблема «исчезающего градиента», которая может снизить производительность модели. Наконец, взвешенная сумма входной последовательности вычисляется путем умножения вектора весов на матрицу значений V. Это создает вектор контекста, который представляет соответствующие части входной последовательности для текущего вывода.

Затем мы можем определить наши веса внимания как

Теперь мы можем переписать Q, K и V с точки зрения нашего ввода X:

где субиндексы i и j указывают, что это будет весовой коэффициент внимания вектора i по отношению к j.

Используя приведенные выше определения, веса внимания можно переопределить следующим образом (для простоты я буду удалять сводки):

где A — это матрица, которая будет содержать информацию о том, насколько релевантно Xᵢ для Xⱼ.

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

Пример: "Большая собака".

Давайте приведем пример, чтобы сделать его немного менее формальным. Представьте, что у нас есть следующие входные данные:

Как только мы применим нормализацию и softmax, мы получим матрицу, которая указывает на релевантность между разными словами:

В этом примере наша матрица внимания A указывает, что собака имеет высокую релевантность на больших (и наоборот), в то время как мало влияет на два других. Затем мы можем встроить каждое слово, используя вектор V: x’ᵢ = V xᵢ. При умножении этого вектора на вес внимания мы получим наш итоговый вектор, содержащий информацию о релевантности слов в предложении между собой.

Заключение

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