Назад в библиотеку

Bird-Eye трансформеры для моделей генерации текста

Авторы: Лэй Ша, Юхан Сун, Йордан Йорданов, Томмазо Сальватори, Томас Лукасевич

Источник: Lei Sha, Yuhang Song, Yordan Yordanov, Tommaso Salvatori, Thomas Lukasiewicz. Bird-Eye Transformers for Text Generation Models [Электронный ресурс] – Режим доступа: https://arxiv.org/abs/2210.03985 – Загл. с экрана.

Аннотация

Трансформеры стали незаменимым модулем для моделей генерации текста после их огромного успеха в машинном переводе. Предыдущие работы объясняют успех трансформеров механизмом внимания с точечным произведением запрос-ключ-значение, который обеспечивает надежное индуктивное смещение благодаря полностью связанным графам токенов. Однако мы обнаружили, что самовнимание имеет серьезное ограничение. При предсказании (i + 1)-го токена самовнимание рассматривает только i-й токен как сборщик информации и склонно присваивать высокие веса внимания тем токенам, которые похожи на него самого. Таким образом, большая часть исторической информации, возникшей до i-го токена, не принимается во внимание. Основываясь на этом наблюдении, в данной статье мы предлагаем новую архитектуру, называемую обзорным трансформером (BET), которая делает еще один шаг вперед для улучшения производительности трансформеров путем перенастройки самовнимания, чтобы стимулировать его фокусироваться на более важной исторической информации. Мы провели эксперименты на нескольких задачах генерации текста, включая машинный перевод (2 набора данных) и языковые модели (3 набора данных). Эти экспериментальные результаты показывают, что наша предложенная модель достигает лучшей производительности, чем базовые архитектуры трансформеров, на всех наборах данных. Код доступен по адресу: https://sites.google.com/view/bet-transformer/home.

1 Введение

Успешное применение трансформеров (Vaswani et al., 2017) в машинном переводе показывает, что они являются гораздо лучшим выбором для моделирования последовательностей по сравнению с авторегрессивными архитектурами, такими как RNN (Rumelhart et al., 1986) и LSTM (Hochreiter and Schmidhuber, 1997). Суть трансформеров заключается в самовнимании — модуле вычисления корреляции между токенами на основе точечного произведения. По сравнению с предыдущими популярными авторегрессивными архитектурами, самовнимание напрямую устанавливает связь между токенами, что также позволяет улавливать зависимости на больших расстояниях.

Однако мы обнаружили, что самовнимание имеет некоторые серьёзные недостатки, а именно: модули самовнимания слишком сильно фокусируются на текущем токене и не обеспечивают специфического внимания к «высокоуровневым» историческим токенам. Под «высокоуровневыми» токенами понимаются токены, которые могут влиять на другие токены на большом расстоянии, например, токены, расположенные близко к предсказываемому токену в дереве синтаксического разбора зависимостей. Например, в предложении «...cat catch a mouse...», если текущий токен — «a», а мы предсказываем токен «mouse». В модуле самовнимания «a» выступает в качестве сборщика информации для вычисления весов внимания с другими токенами с помощью точечного произведения. Это приводит к тому, что следующий токен «mouse» в основном предсказывается на основе информации токена «a», в то время как более важная информация, появившаяся ранее, не учитывается в достаточной степени (такая как «cat» и «catch»).

Чтобы устранить вышеуказанные недостатки самовнимания, в данной статье мы предлагаем поощрять веса внимания фокусироваться на «высокоуровневых» токенах с помощью синтаксических указаний. Мы предлагаем новую архитектуру под названием обзорный трансформер (BET), чтобы предоставить трансформерам обзорный вид на все исторические токены. BET имеет две альтернативные архитектуры для достижения этой цели: (1) Синтаксически управляемая архитектура трансформера, называемая BET(SG): эта архитектура получает некоторые синтаксические подсказки из дерева синтаксического разбора зависимостей и использует их для перенастройки матрицы точечных произведений самовнимания. (2) Архитектура трансформера без синтаксических подсказок, называемая BET(SF): в этой архитектуре мы не используем никаких синтаксических подсказок. Чтобы обеспечить обзорный вид, мы сначала перенастраиваем матрицу точечных произведений самовнимания, направляя внимание на высокоуровневые токены. Мы достигаем этого с помощью функции, которая определяет, какие токены являются высокоуровневыми в соответствии с входной последовательностью и выходной последовательностью самовнимания. Ожидается, что архитектура сама будет выявлять высокоуровневую информацию.

Кроме того, мы показываем, что веса внимания на текущем токене (в матрице точечных произведений) должны быть распределены между другими историческими токенами. Эта модификация не приведёт к потере информации текущего токена, поскольку она будет добавлена обратно в части остаточного соединения (He et al., 2016) трансформера.

Наконец, уточнённая матрица самовнимания получается путём применения функции Softmax к перенастроенной матрице точечных произведений. Основные вклады данной статьи кратко суммируются следующим образом:

• Мы указываем на серьёзные недостатки в самовнимании трансформеров и представляем подробные экспериментальные результаты, подтверждающие эти недостатки.

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

• Мы проводим эксперименты на множестве задач и сравниваемся с несколькими естественными базовыми моделями, чтобы доказать эффективность нашего предложенного обзорного трансформера.

2 Предыстория

Трансформеры были предложены Vaswani et al. (2017) для машинного перевода, используя серию блоков трансформера в энкодере и декодере. Каждый блок трансформера содержит слой самовнимания, слой прямого распространения (feed-forward), несколько skip-соединений и нормализации по слоям. Самовнимание является ключевым компонентом трансформеров.

Для входной последовательности $X = (x_1, \ldots, x_n)$ представлений токенов, сначала применяются три линейных преобразования для отображения $X$ в три матрицы: запросы $Q$, ключи $K$ и значения $V$. Затем самовнимание вычисляется следующим образом:

$$\begin{aligned} Q &= XW_Q, \quad K = XW_K, \quad V = XW_V, \\ D &= QK^\top/\sqrt{d}, \quad A(Q, K, V) = \text{Softmax}(D)V, \end{aligned}$$ (1)

где $d$ — размерность вектора представления каждого токена, $W_Q$, $W_K$ и $W_V$ — обучаемые параметры, а $D$ — матрица точечных произведений.

Каждый блок трансформера имеет два подблока: один для самовнимания и другой для слоя прямого распространения. Результаты обоих операций самовнимания и прямого распространения затем складываются со входами через остаточное соединение (He et al., 2016), за которым следует нормализация по слою:

$$X' = \text{LayerNorm}(X + A(Q, K, V)),$$ (2)
$$H = \text{LayerNorm}(X' + \text{FFL}(X')),$$ (3)

где FFL обозначает слой прямого распространения.

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

3 Подход

3.1 Мотивация

Интуитивно модуль самовнимания должен фокусироваться на некоторых «высокоуровневых» токенах вместо чрезмерного внимания к текущему токену.

Предположим, что мы предсказываем (i + 1)-й токен относительно предыдущих токенов $x_0, \ldots, x_i$. Согласно уравнению (1), i-я строка матрицы точечных произведений $D$ вычисляется как:

$$D_i = \left[\frac{1}{\sqrt{d}}x_iW_QW_K^\top x_0^\top, \ldots, \frac{1}{\sqrt{d}}x_iW_QW_K^\top x_i^\top, [M], \ldots, [M]\right],$$ (4)

где «[M]» обозначает замаскированные элементы, соответствующие будущим токенам. Точечное произведение $D$ используется для измерения релевантности между токенами. Интуитивно, поскольку токен всегда более похож на самого себя, чем на другие токены, i-й элемент $x_iW_QW_K^\top x_i^\top$ ожидается быть наибольшим в уравнении (4).

Однако на самом деле i-му токену не обязательно уделять внимание самому себе, потому что в архитектуре трансформера информация i-го токена может быть добавлена к собранному вектору признаков через остаточное соединение (He et al., 2016), как показано в уравнении (2). Если мы замаскируем диагональные значения внимания в матрице самовнимания и распределим значения внимания на исторические токены, то исторические токены получат больше внимания, а внимание к текущему токену будет сохранено остаточным соединением.

3.2 Обзорные трансформеры

Модели генерации текста обычно используют информацию исторических токенов для предсказания следующего токена. Однако важность исторических токенов не всегда одинакова. С лингвистической точки зрения, естественный язык строится на наборе синтаксических правил (Chomsky, 1956, 2014), которые имеют древовидную структуру. Следовательно, согласно позиции токенов в синтаксическом дереве, токены можно грубо разделить на два типа: высокоуровневые и низкоуровневые токены. Высокоуровневые токены обычно содержат общую информацию текущего предложения и могут влиять на токены, находящиеся далеко от них, тогда как низкоуровневые токены могут влиять только на близлежащие токены.

Поэтому уделяя больше внимания высокоуровневым токенам, можно улучшить предсказание следующего токена в генеративных моделях, как показано в некоторых работах на основе LSTM (Shen et al., 2018; Sha et al., 2018).

Сравнение традиционного самовнимания и самовнимания с синтаксическими подсказками
Рисунок 1 – Сравнение между традиционным самовниманием и модулем самовнимания с синтаксическими подсказками. (a) самовнимание, (b) самовнимание с синтаксической подсказкой, (c) эвристический способ получения синтаксической подсказки. Для каждого токена w, синтаксическая подсказка — это другой токен, который является предком w в дереве зависимостей и встречается до w в предложении. Если такой токен не существует, то синтаксической подсказкой для w является сам токен.

Мы хотим сделать ещё один шаг вперёд и предложить новую архитектуру, называемую обзорным трансформером (BET). Эта архитектура трансформера уточняет веса самовнимания, чтобы стимулировать фокусировку на более информативных исторических токенах.

Синтаксически управляемый BET. Поскольку синтаксические признаки текущего токена обычно предоставляют полезные подсказки для следующего токена, мы предлагаем использовать некоторые синтаксические подсказки для направления изменения весов внимания в сторону «высокоуровневых» токенов, что называется BET(SG). Руководство синтаксическими подсказками осуществляется с помощью функции потерь указателя, как показано на рисунке 1(b). Синтаксические подсказки берутся непосредственно из дерева синтаксического разбора зависимостей. Если $x_{t+1}$ — это токен, который нужно предсказать, то мы берём его ближайший узел-предок в дереве синтаксического разбора зависимостей, который также встречается слева от $x_{t+1}$ в предложении, как синтаксическую подсказку для текущего токена $x_t$. Если ни один узел-предок не встречается слева от $x_{t+1}$, то синтаксической подсказкой является сам текущий токен. Здесь эта синтаксическая подсказка представляет собой «высокоуровневую» информацию по отношению к предсказываемому токену.

Формат ввода синтаксической подсказки — это вектор с однократным кодированием (one-hot) для каждого токена, где «1» находится в позиции, где расположена синтаксическая подсказка. Предположим, что эти векторы с однократным кодированием (длиной $n$) для $n$ токенов — это $y_s \in \mathbb{R}^{n \times n}$, функция потерь указателя для каждого блока трансформера:

$$L_p = \sum y_s \log A$$ (5)

Функции потерь указателя для каждого блока трансформера суммируются и умножаются на гиперпараметр $\lambda_p$, затем добавляются к итоговой функции потерь.

BET без синтаксических подсказок. Эта архитектура стремится сама обнаруживать синтаксические подсказки без внешних сигналов, что называется BET(SF), как показано на рисунке 2. Основное отличие BET(SF) от стандартного трансформера заключается в двух аспектах: (1) мы используем обзорную информацию для перенастройки самовнимания, что стимулирует внимание к более информативным историческим токенам. Детали описаны на рисунке 2, и (2) мы добавляем диагональную маску к матрице самовнимания.

Интуитивно, выход самовнимания собирает более высокоуровневую информацию, чем вход, поэтому он может помочь определить, какое слово во входе является высокоуровневым. Для входа $X$ мы можем получить результат самовнимания $H$ следующим образом:

$$\begin{aligned} Q &= XW_Q, \quad K = XW_K, \quad V = XW_V, \\ M_{dp} &= \text{Masked-MatMul}(Q, K), \\ A &= \text{Softmax}(M_{dp}), \quad H = V^\top A \end{aligned}$$ (6)

где Masked-MatMul использует треугольную маску, чтобы гарантировать, что каждый токен не может обращать внимание на будущие токены, $M_{dp}$ — матрица точечных произведений, а $H$, $Q$ и $K$ имеют размер $n \times d$. Этот процесс также чётко указан на рисунке 2(b).

Затем мы используем скрытый слой $H$ и ключ $K$, чтобы определить, какое слово является высокоуровневым:

$$R = \text{Sigmoid}(w^\top([H, K])),$$ (7)

где $w \in \mathbb{R}^{2d \times 1}$ — обучаемый параметрический вектор, «$[\cdot, \cdot]$» представляет конкатенацию двух тензоров, а $R \in \mathbb{R}^d$ — вероятностный вектор, кодирующий, является ли соответствующее слово высокоуровневым.

Наконец, мы используем вероятностный вектор $R$ для перенастройки матрицы точечных произведений и пересчитываем матрицу самовнимания следующим образом:

$$M' = M_{dp} * R,$$ (8)
$$A' = \text{Softmax}(M'),$$ (9)
$$H' = V^\top A'.$$ (10)

После операции масштабирования полученная матрица признаков, как ожидается, будет содержать информацию на уровне слов. $H'$ — это выход модуля самовнимания нашего BET. Модуль внимания BET также может быть расширен до многоголового внимания и может служить альтернативой стандартному многоголовому вниманию, как показано на рисунке 2(c). Поскольку основное изменение BET заключается в модуле самовнимания, мы также можем объединить несколько слоёв BET вместе. По сравнению с обычными трансформерами, единственным параметром, который мы добавляем в BET, является вектор $w$ при определении высокоуровневых слов. Этот параметрический вектор не требует слишком много дополнительной памяти по сравнению с большим количеством параметров в стандартных трансформерах.

Упрощённая иллюстрация обзорного трансформера без синтаксических подсказок
Рисунок 2 – Упрощённая иллюстрация обзорного трансформера без синтаксических подсказок: (a) обзорное внимание, и (b) обзорный трансформер.

Маска без диагонали. В слое трансформера остаточное соединение (He et al., 2016) может напрямую передавать входные данные на следующий слой. Поэтому в модели генерации текста при предсказании (i + 1)-го токена представление i-го токена уже напрямую поступает на слой после самовнимания. В результате модулю самовнимания больше не нужно уделять внимание текущему токену.

Таким образом, мы предлагаем добавить маску без диагонали после операции обзорного масштабирования, которая напрямую маскирует все диагональные элементы в матрице точечных произведений перед применением операции Softmax для получения матрицы самовнимания. Поскольку первый токен имеет только один токен (самого себя) для внимания, первая строка матрицы самовнимания не будет замаскирована. Как показано на рисунке 2(b), диагональная маска применяется перед итоговым модулем Softmax.

4 Эксперименты

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

4.1 Наборы данных и экспериментальные настройки

Согласно нашим наблюдениям, недостатки самовнимания влияют на производительность декодера трансформера. Поэтому мы используем две задачи генерации текста: машинный перевод и языковое моделирование, для анализа механизма самовнимания. Наборы данных для машинного перевода — IWSLT 2014 German-English (De-En) (Cettolo et al., 2016) и WMT 2017 English-German (En-De) (Ondrej et al., 2017), оцениваемые по метрике BLEU (Papineni et al., 2002). Наборы данных для языкового моделирования — WikiText-2 (Merity et al., 2016), Wiki-103 (Merity et al., 2016) и Enwiki8 (Mahoney, 2011). Метрика оценки — перплексия (Brown et al., 1992) для наборов данных на уровне слов (WikiText-2, Wiki-103) и биты на символ (BPC) (Graves, 2013) для наборов данных на уровне символов (Enwiki8). Подробные экспериментальные настройки приведены ниже.

Машинный перевод. Мы используем два набора данных для машинного перевода (лицензия CC-BY-SA): IWSLT 2014 German-English (De-En) (Cettolo et al., 2016) и WMT 2017 English-German (En-De) (Ondrej et al., 2017). Метрика оценки — BLEU-оценка (Papineni et al., 2002).

Для машинного перевода с немецкого на английский (De-En) мы используем такое же разделение обучающих/валидационных/тестовых данных, как и в предыдущих работах. У нас есть 153 тыс. параллельных предложений для обучения, 7 тыс. для валидации и 7 тыс. для тестирования. Мы используем BPE (Sennrich et al., 2015) для получения словарей подслов. Затем мы получаем общий словарь источника и цели размером более 10 тыс. токенов. Мы разрабатываем нашу модель на основе репозитория Fairseq (Ott et al., 2019). В качестве базовой модели мы используем архитектуру энкодер-декодер на основе трансформера (Vaswani et al., 2017), которая в Fairseq называется "iwslt14.tokenized.de-en". Размер скрытого слоя и размерность эмбеддингов слов установлены равными 512. Мы также используем 6 слоёв трансформера для энкодера и декодера. Размер батча установлен равным 22, для оптимизации используется Adam (Kingma and Ba, 2014) с β₁ = 0.9 и β₂ = 0.98, а скорость обучения обновляется во время обучения с использованием метода Vaswani et al. (2017).

Для машинного перевода с английского на немецкий (En-De) имеется 1.9 млн параллельных предложений для обучения, 2 тыс. для валидации и 3 тыс. для тестирования. Мы используем ту же модель, что и в предыдущей задаче. После сегментации BPE мы объединяем словари английского и немецкого языков, как это сделано у Vaswani et al. (2017). Итоговый размер словаря составляет 25 860. Количество слоёв энкодера и декодера — 6. Остальные настройки такие же, как для De-En.

Языковое моделирование. Мы используем три набора данных (лицензия CC-BY-SA) для языкового моделирования: WikiText-2 (Merity et al., 2016), Wiki-103 (Merity et al., 2016) и Enwiki8 (Mahoney, 2011). WikiText-2 (Merity et al., 2016) — небольшой набор данных на уровне слов, содержащий 2 млн обучающих токенов и словарь размером 33 тыс. Wiki-103 (Merity et al., 2016) — большой набор данных на уровне слов с множеством дальних зависимостей. Это хорошо подходит для выявления недостатков самовнимания. В Wiki-103 имеется 103 млн токенов и 28 тыс. статей для обучения. Средняя длина статей составляет 3.6 тыс. токенов. Enwiki8 (Mahoney, 2011) — набор данных на уровне символов, содержащий 100 млн байт необработанного текста Википедии. В наборе данных Enwiki8 имеется 205 уникальных символов. Метрика оценки — перплексия (Brown et al., 1992) для наборов данных на уровне слов и биты на символ (BPC) (Graves, 2013) для наборов данных на уровне символов. Размерность скрытого слоя и эмбеддингов слов трансформеров составляет 300 для WikiText-2 и WikiText-103 и 512 для Enwiki8. Для оптимизации используется Adam (Kingma and Ba, 2014) со скоростью обучения 0.001.

4.2 Анализ самовнимания трансформеров

Чтобы доказать, что текущий токен получает слишком большой вес внимания, который должен принадлежать другим историческим токенам, мы вычислили и сравнили усреднённые значения весов самовнимания i-го токена, направленные на самого себя и на другие исторические токены. Мы проводим такой анализ для задач машинного перевода и языкового моделирования и представляем результаты в таблице 1.

В таблице 1 мы используем три метрики для анализа: CA, HA и Ratio, которые определяются следующим образом:

Текущее внимание (CA): При предсказании (i + 1)-го токена самовнимание использует i-й токен как сборщик признаков, поэтому CA означает вес внимания i-го токена к самому себе, который находится на диагонали матрицы самовнимания. Число CA в таблице 1 — это среднее всех диагональных весов в матрице самовнимания по всему тестовому набору.

Историческое внимание (HA): При предсказании (i + 1)-го токена HA означает вес внимания i-го токена ко всем предыдущим историческим токенам (0 ∼ (i − 1)-й), который находится в нижней треугольной части матрицы самовнимания. Мы вычисляем среднее и стандартное отклонение всех нижних треугольных матриц самовнимания по всему тестовому набору и записываем их в таблицу 1.

Коэффициент: Это отношение между CA и HA. Если это число велико, это означает, что i-й токен уделяет слишком много внимания самому себе.

Таблица 1 – Количественный анализ самовнимания. Эти результаты собраны из сходящихся 6-слойных трансформеров для двух задач. Для задачи машинного перевода мы собираем часть декодера. "CA" означает вес текущего внимания, "HA(μ)" и "HA(σ)" означают среднее значение и стандартное отклонение предыдущих весов внимания, а "Ratio" — отношение между CA и HA(μ): CA/HA. Для оценки машинного перевода мы используем набор данных IWSLT De-En, а для оценки языкового моделирования — WikiText-2.
Слои 1 2 3 4 5 6
MT CA 0.2964 0.0592 0.0762 0.0544 0.0629 0.0754
MT HA(μ) 0.0435 0.0475 0.0466 0.0479 0.0473 0.0464
MT HA(σ) 0.0126 0.0034 0.0053 0.0046 0.0048 0.0051
MT Ratio 6.81 1.25 1.64 1.14 1.33 1.63
LM CA 0.0628 0.0584 0.0541 0.0546 0.0939 0.0664
LM HA(μ) 0.0192 0.0193 0.0194 0.0194 0.0186 0.0192
LM HA(σ) 0.0131 0.0103 0.0098 0.0143 0.0157 0.0124
LM Ratio 3.27 3.02 2.79 2.81 5.05 3.46

Согласно таблице 1, во всех шести слоях языкового моделирования i-й токен фокусируется на самом себе (мы называем это явление "самовнимающим" в данной статье) примерно в три раза больше, чем на исторических токенах при предсказании (i + 1)-го токена. Особенно в пятом слое это отношение превышает 5. Также в задачах машинного перевода коэффициент CA/HA первого слоя чрезвычайно высок и достигает почти 7. Этот факт показывает, что текущий механизм самовнимания позволяет каждому токену уделять слишком много внимания самому себе, что не способствует эффективному использованию исторических токенов.

4.3 Настройки аблационного тестирования трансформеров

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

Эффект диагональных значений внимания. Для дальнейшего исследования возможных способов улучшения производительности самовнимания мы вносим три небольших изменения в текущий механизм самовнимания и тестируем их влияние на производительность в двух задачах: машинного перевода и языкового моделирования. Три небольших изменения и их комбинация описаны ниже:

Уменьшенная/Усиленная диагональ: Для ослабления/усиления весов внимания "самовнимающего" мы сначала умножаем диагональные элементы матрицы точечных произведений на 20%/200%. Затем выполняем операцию Softmax.

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

4.4 Базовые методы для BET

Мы провели экспериментальное сравнение со следующими базовыми моделями, использующими только декодер, все из которых вносят некоторые улучшения в модуль самовнимания:

Сеть Хопфилда (Hopfield, 2007): Мы используем точно такую же архитектуру, как у Ramsauer et al. (2020), которая раскрывает связь между сетями Хопфилда и трансформерами, а также интегрирует сети Хопфилда в методы глубокого обучения на основе обратного распространения ошибки. Ramsauer et al. (2020) использует теорию ассоциативной памяти (Radhakrishnan et al., 2020) для уточнения матрицы самовнимания путём минимизации энергетической функции. На практике этот процесс минимизации проводится путём итеративного обновления матрицы самовнимания для достижения стационарного состояния. Мы напрямую интегрировали код слоёв сети Хопфилда в наш код.

Yang et al. (2018): Этот метод пытается добавить гауссово смещение к самовниманию для захвата полезного локального контекста.

Zhao et al. (2019): Этот метод использует разрежённое самовнимание top-k для концентрации внимания на наиболее вкладных токенах.

Transformer-XL (Dai et al., 2019): Этот метод был предложен для изучения долгосрочных зависимостей с помощью рециркуляции на уровне сегментов в скрытых состояниях. Мы запускали опубликованный код, сохраняя гиперпараметры такими же, как в наших настройках, для сравнения.

Routing Transformer (Roy et al., 2021b): Этот метод пытается снизить вычислительную стоимость модуля самовнимания с помощью кластеризации k-means, чтобы избежать обращения внимания к контенту, не связанному с запросом. Чтобы сделать результаты сопоставимыми, мы напрямую изменили их гиперпараметры в исходном коде, чтобы сделать их такими же, как в наших экспериментальных настройках, и повторно запустили эксперименты на наших наборах данных.

Таблица 2 – Сравнение общей производительности. «↑» (соответственно, «↓») означает, что чем выше (соответственно, ниже), тем лучше. Для машинного перевода метрика оценки — BLEU (Papineni et al., 2002). Для языкового моделирования на уровне слов (WikiText-2 и WikiText-103) — перплексия, а для языкового моделирования на уровне символов (Enwiki8) — BPC (биты на символ). «*» означает значительное превосходство над базовой моделью трансформера в первой строке (при p < 0.05 в t-тесте Стьюдента). Результаты BET(SG) подчёркнуты, потому что BET(SG) имеет внешнюю синтаксическую информацию на входе.
Задача De-En (↑) En-De (↑) WikiText-2 (↓) WikiText-103 (↓) Enwiki8 (↓)
Transformer 35.26 27.55 54.53 24.27 1.164
Transformer (Reduced Diag) 35.39 27.64 54.22 24.18 1.158*
Transformer (Magnified Diag) 35.02 26.89 56.73 25.86 1.187
Transformer + DiagFreeMask 35.42* 27.67 54.08* 24.05* 1.155*
Hopfield 33.70 25.44 54.09* 26.45 1.201
Yang et al. (2018) 35.39 27.64 54.48 24.21 1.160
Zhao et al. (2019) 35.51 27.84 54.39 24.16 1.159
Transformer-XL - - 54.39 24.00 1.161
Routing Transformer - - 53.81 23.79 1.158
BET(SG) 36.04 28.43 51.66 23.34 1.147
BET(SF) 35.85* 28.03* 52.97* 23.76* 1.153*
BET(SF) − DiagFreeMask 35.67* 27.89 53.50* 23.98* 1.156*

4.5 Общая производительность и аблационное исследование

Общая производительность показана в таблице 2. Можно видеть, что с помощью синтаксических подсказок BET(SG) достигает наивысшей производительности. Когда мы позволяем модели самой извлекать синтаксические подсказки, наш предложенный метод BET без синтаксических подсказок (BET(SF)) также превосходит все базовые методы, хотя и не так сильно, как BET(SG). Это демонстрирует эффективность нашего обзорного механизма.

Особенно мы обнаружили, что DiagFreeMask также очень полезен в нашей архитектуре BET(SF). Для аблационных тестов значений диагонального внимания результаты представлены в таблице 2. Мы видим, что после маскирования диагональных элементов матрицы точечных произведений производительность по пяти задачам значительно повысилась, поскольку исторические токены получили больше внимания после маскирования диагональных элементов и внесли больший вклад в предсказание (i + 1)-го токена. Аналогично, когда мы уменьшаем диагональные элементы до 20%, производительность также немного улучшается. Кривая изменения BLEU-оценок (для задач машинного перевода) и перплексии (для задач языкового моделирования) в зависимости от коэффициента уменьшения показана на рисунке 3.

После удаления DiagFreeMask перплексии и BPC немного увеличились, что означает, что языковая модель становится менее точной без DiagFreeMask. Сравнение кривых потерь до и после добавления DiagFreeMask к матрице самовнимания показано на рисунке 4.

Кроме того, сравнение кривых обучения для трёх наборов данных (рис. 5) показывает очень явное преимущество BET(SF).

После установки гиперпараметров всех базовых методов одинаковыми (включая количество слоёв, количество головок, размерность скрытых слоёв) мы обнаружили, что наш предложенный метод превосходит все конкурентные методы. Сеть Хопфилда использует преимущества ассоциативных памятей для хранения входных паттернов (текстов или изображений), что является начальным шагом интеграции нейронауки в глубокое обучение на основе обратного распространения. Это позволяет сетям Хопфилда превосходить трансформеры в задачах, где требуется большая ассоциативная память, например, в задачах множественного обучения экземплярам (Ramsauer et al., 2020). Таким образом, сеть Хопфилда более мощная в кодировании, а не в декодировании. Yang et al. (2018) и Zhao et al. (2019) пытались использовать гауссово смещение или разрежённое самовнимание top-k для фокусировки на токенах, которые уже получили больший вес внимания. В отличие от них, наш предложенный метод стремится фокусироваться больше на синтаксически связанных токенах, так что модифицированный модуль внимания становится более информативным. Transformer-XL не разрабатывал специальный модуль самовнимания, тогда как маршрутизирующие трансформеры стремятся фокусироваться на токенах, которые могут быть сгруппированы вместе с текущим токеном; это также менее информативно, чем синтаксически связанные токены. Поэтому наш предложенный метод способен достичь более высокой производительности.

Корреляция между производительностью и коэффициентом уменьшения
Рисунок 3 – Когда мы сначала уменьшаем диагональные элементы матрицы точечных произведений, а затем применяем softmax, производительность моделей и коэффициент уменьшения показывают отрицательную корреляцию. Таким образом, чем меньше мы сохраняем диагональных элементов матрицы точечных произведений, тем лучше будет производительность.
Сравнение кривых потерь до и после добавления DiagFreeMask
Рисунок 4 – Сравнение кривых потерь до и после добавления DiagFreeMask к матрице самовнимания: (a) машинный перевод De-En, (b) WikiText-2, и (c) Enwiki8
Сравнение кривых обучения BET и Transformer
Рисунок 5 – Сравнение кривых обучения BET и Transformer: (a) машинный перевод De-En, (b) WikiText-2, и (c) Enwiki8.

4.6 Кейс-стади

Нам всё ещё нужно ответить на вопрос, может ли BET без синтаксической информации использовать преимущества более важных токенов. Мы перечислили наиболее часто используемые токены во всех шести слоях BET(SF) или трансформера в таблице 3. Можно видеть, что в более высоких слоях (четвёртом-шестом слое) BET(SF) может фокусироваться на многих релевантных токенах при предсказании красного токена. Например, в четвёртом слое при предсказании «iron» BET(SF) уделяет наибольшее внимание «warship», в то время как другие трансформеры фокусируются на предыдущем слове «by». Очевидно, что токен «warship» вносит больший вклад, чем токен «by», при предсказании токена «iron». Однако в то же время в более низких слоях, таких как второй слой, токены, на которые фокусируются как BET(SF), так и другие трансформеры, могут быть не так релевантны предсказываемому токену. Это указывает на то, что BET(SF) также может извлекать пользу из большего количества стековых слоёв. Обратите внимание, что в третьем слое токен «attack» действительно очень близко связан с предыдущим словом «heart», которое точно учитывается другими трансформерами. Хотя в матрице внимания BET(SF) токен «heart» не учитывается, наша архитектура BET(SF) не потеряет информацию токена «heart», потому что она может быть дополнена остаточным соединением в BET(SF).

5 Смежные работы

После того как трансформеры были признаны полезными в машинном переводе (Vaswani et al., 2017; Tay et al., 2020b), было создано большое количество вариантов трансформеров. Большинство из них фокусируются на аппроксимации квадратичной по стоимости матрицы самовнимания с помощью низкозатратного метода. Эти модели можно разделить на четыре категории в зависимости от вычисления внимания.

Первая категория использует разреживание самовнимания для снижения вычислительной стоимости. Среди них Qiu et al. (2020) и Parmar et al. (2018) разбивают входную последовательность на несколько блоков и вычисляют самовнимание только между блоками. Sparse Transformer (Child et al., 2019) и Longformer (Beltagy et al., 2020) рассматривают шаблоны внимания с шагом. Compressed Attention (Liu et al., 2018) дополнительно использует стрейд-свёртку для сжатия матрицы самовнимания. Кроме того, Axial Transformer (Ho et al., 2019) комбинирует множество разреженных шаблонов самовнимания для лучшего охвата исходного самовнимания. Transformer-XL (Dai et al., 2019) дополнительно соединяет несколько сегментов и блоков с помощью механизма рекуррентности.

Вторая категория учится разбивать входную последовательность на чанки. Например, Reformer (Kitaev et al., 2020) и Routing Transformer (Roy et al., 2021a) используют хеш-меру схожести и кластеризацию k-means для группировки входных токенов в чанки. Sinkhorn Sorting Network (Tay et al., 2020a) даже обучается сортировать блоки входной последовательности.

Третья категория использует внешнюю память для одновременного доступа ко всем токенам, например, Set Transformers (Lee et al., 2019) и ETC (Ainslie et al., 2020). Этот метод похож на параметрическое внимание (Sukhbaatar et al., 2019). Big Bird (Zaheer et al., 2020) построен на основе ETC, поэтому он также использует глобальные памяти.

Четвёртая категория — это низкоранговые методы, которые предполагают, что матрица самовнимания может быть получена путём умножения нескольких низкоранговых матриц. К代表性ным исследованиям относятся Linformer (Wang et al., 2020), Performer (Choromanski et al., 2020) и методы на основе ядер (Katharopoulos et al., 2020).

Многие работы также интегрируют древовидные структуры в трансформеры. Tree transformers (Wang et al., 2019) добавляют конституентный приор для поощрения самовнимания к обучению определению, принадлежат ли два токена к одному промежутку, таким образом иерархическая структура может быть изучена многослойной моделью. Варианты позиционного кодирования (Shiv and Quirk, 2019) также могут помочь в изучении древовидных структур. Хотя наш механизм обзорного масштабирования заимствует некоторое вдохновение из иерархической структуры естественного языка, наша основная цель — распознавать высокоуровневые слова в исторических токенах (например, синтаксически связанные токены) и позволять им помогать в предсказании будущих токенов вместо изучения всего синтаксического дерева.

Таблица 3 – Сравнение токенов, на которые обращают внимание BET(SF) и трансформеры. Задача — языковое моделирование с использованием WikiText-2. Токен красного цвета — это токен, который предсказывается на текущем шаге. Номер слоя указывает точный слой трансформера, из которого извлекаются значения внимания.
Слой Предложение Метод Топ-3 токена с наибольшим вниманием
1 the increasing violence in derry and elsewhere led to increasing speculation that internment without trial would be introduced. . . BET led, increasing, elsewhere
Transformer derry, the, increasing
2 manila 's healthcare is also provided by private corporations, private hospitals that operates in the city are the manila. . . BET by, also, corporations
Transformer by, also, private
3 samuel suffered a heart attack four days after his beating, on 17 july he suffered a further heart attack and died . . . BET suffered, further, he,
Transformer heart, [точка], he
4 an ironclad is a steam propelled warship protected by iron or steel armor plates used in the early part of the. . . BET warship, propelled, protected
Transformer by, protected, propelled
5 on september 15, 1999, american beauty opened to the public in limited release at three theaters in los angeles and . . . BET open, beauty, public
Transformer september, 15, beauty
6 congress previously held office at the old congress building, in 1972, due to declaration of martial law, congress was dissolved. BET declaration, congress, held
Transformer in, [запятая], old

Недавно методы (Ramsauer et al., 2020), основанные на ассоциативных памятях (Radhakrishnan et al., 2020; Feldman and Zhang, 2020; Krotov and Hopfield, 2016, 2020; Marullo and Agliari, 2021), оказались связаны с самовниманием. Ассоциативные памяти (Le et al., 2020; Chatterjee, 2018; Wang and Cui, 2018) — это концепция из психологии, которая представляет собой способность учиться и запоминать связи между несвязанными элементами. Обычно они применяются в подходах, ориентированных на нейронауку, и оптимизируются путём минимизации энергетической функции. Сети Хопфилда (Ramsauer et al., 2020) являются хорошим примером интеграции ассоциативных памятей в нейронные сети на основе обратного распространения. В сетях Хопфилда энергетическая функция минимизируется через итеративное обновление самовнимания.

6 Заключение

В данной статье мы с помощью серии убедительных экспериментов демонстрируем недостаток архитектуры самовнимания в трансформерах. Мы обнаруживаем, что текущая архитектура самовнимания уделяет слишком много внимания диагональным элементам матрицы самовнимания, в то время как не обеспечивает специфического внимания к «высокоуровневой» исторической информации в токенах. Поэтому мы предлагаем новую архитектуру трансформеров: обзорные трансформеры без синтаксической информации (BET-SF), которые способны находить синтаксические подсказки и уделять больше внимания историческим токенам, связанным с синтаксисом. В экспериментальном анализе мы обнаружили, что BET с внешней синтаксической информацией (BET-SG) достигает наилучшей производительности. Хотя обзорный трансформер без синтаксической информации (BET-SF) и не содержит внешней синтаксической информации, он всё равно значительно превосходит стандартные архитектуры трансформеров, а также многие базовые методы на всех наборах данных двух задач (машинного перевода и языкового моделирования).

Список литературы

  1. Joshua Ainslie, Santiago Ontanón, Chris Alberti, Vaclav Cvicek, Zachary Fisher, Philip Pham, Anirudh Ravula, Sumit Sanghai, Qifan Wang, and Li Yang. 2020. ETC: Encoding Long and Structured Inputs in Transformers. arXiv preprint arXiv:2004.08483.
  2. Iz Beltagy, Matthew E Peters, and Arman Cohan. 2020. Longformer: The Long-document Transformer. arXiv preprint arXiv:2004.05150.
  3. Peter F Brown, Stephen A Della Pietra, Vincent J Della Pietra, Jennifer C Lai, and Robert L Mercer. 1992. An Estimate of an Upper Bound for the Entropy of English. Computational Linguistics, 18(1):31–40.
  4. Mauro Cettolo, Niehues Jan, Stüker Sebastian, Luisa Bentivogli, Roldano Cattoni, and Marcello Federico. 2016. The IWSLT 2016 Evaluation Campaign. In International Workshop on Spoken Language Translation.
  5. Satrajit Chatterjee. 2018. Learning and Memorization. In International Conference on Machine Learning, pages 755–763. PMLR.
  6. Rewon Child, Scott Gray, Alec Radford, and Ilya Sutskever. 2019. Generating Long Sequences With Sparse Transformers. arXiv preprint arXiv:1904.10509.
  7. Noam Chomsky. 1956. Three Models for the Description of Language. IRE Transactions on information theory, 2(3):113–124.
  8. Noam Chomsky. 2014. Aspects of the Theory of Syntax, volume 11. MIT press.
  9. Krzysztof Choromanski, Valerii Likhosherstov, David Dohan, Xingyou Song, Andreea Gane, Tamas Sarlos, Peter Hawkins, Jared Davis, David Belanger, Lucy Colwell, et al. 2020. Masked Language Modeling for Proteins via Linearly Scalable Long-context Transformers. arXiv preprint arXiv:2006.03555.
  10. Zihang Dai, Zhilin Yang, Yiming Yang, Jaime G Carbonell, Quoc Le, and Ruslan Salakhutdinov. 2019. Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pages 2978–2988.
  11. Vitaly Feldman and Chiyuan Zhang. 2020. What Neural Networks Memorize and Why: Discovering the Long Tail via Influence Estimation. arXiv preprint arXiv:2008.03703.
  12. Alex Graves. 2013. Generating Sequences With Recurrent Neural Networks. arXiv preprint arXiv:1308.0850.
  13. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. 2016. Deep Residual Learning for Image Recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 770–778.
  14. Jonathan Ho, Nal Kalchbrenner, Dirk Weissenborn, and Tim Salimans. 2019. Axial Attention in Multidimensional Transformers. arXiv preprint arXiv:1912.12180.
  15. Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long Short-Term Memory. Neural computation, 9(8):1735–1780.
  16. John J Hopfield. 2007. Hopfield Network. Scholarpedia, 2(5):1977.
  17. Angelos Katharopoulos, Apoorv Vyas, Nikolaos Pappas, and François Fleuret. 2020. Transformers Are RNNs: Fast Autoregressive Transformers With Linear Attention. In International Conference on Machine Learning, pages 5156–5165. PMLR.
  18. Diederik P Kingma and Jimmy Ba. 2014. Adam: A Method for Stochastic Optimization. arXiv preprint arXiv:1412.6980.
  19. Nikita Kitaev, Łukasz Kaiser, and Anselm Levskaya. 2020. Reformer: The Efficient Transformer. arXiv preprint arXiv:2001.04451.
  20. Dmitry Krotov and John Hopfield. 2020. Large Associative Memory Problem in Neurobiology and Machine Learning. arXiv preprint arXiv:2008.06996.
  21. Dmitry Krotov and John J Hopfield. 2016. Dense Associative Memory for Pattern Recognition. In Proceedings of the 30th International Conference on Neural Information Processing Systems, pages 1180–1188.
  22. Hung Le, Truyen Tran, and Svetha Venkatesh. 2020. Self-attentive Associative Memory. In International Conference on Machine Learning, pages 5682–5691. PMLR.
  23. Juho Lee, Yoonho Lee, Jungtaek Kim, Adam Kosiorek, Seungjin Choi, and Yee Whye Teh. 2019. Set Transformer: A Framework for Attention-based Permutation-invariant Neural Networks. In International Conference on Machine Learning, pages 3744–3753. PMLR.
  24. Peter J Liu, Mohammad Saleh, Etienne Pot, Ben Goodrich, Ryan Sepassi, Lukasz Kaiser, and Noam Shazeer. 2018. Generating Wikipedia by Summarizing Long Sequences. arXiv preprint arXiv:1801.10198.
  25. Matt Mahoney. 2011. Large Text Compression Benchmark.
  26. Chiara Marullo and Elena Agliari. 2021. Boltzmann Machines As Generalized Hopfield Networks: A Review of Recent Results and Outlooks. Entropy, 23(1):34.
  27. Stephen Merity, Caiming Xiong, James Bradbury, and Richard Socher. 2016. Pointer Sentinel Mixture Models. arXiv preprint arXiv:1609.07843.
  28. Bojar Ondrej, Rajen Chatterjee, Federmann Christian, Graham Yvette, Haddow Barry, Huck Matthias, Koehn Philipp, Liu Qun, Logacheva Varvara, Monz Christof, et al. 2017. Findings of the 2017 Conference on Machine Translation (WMT17). In Second Conference on Machine Translation, pages 169–214. The Association for Computational Linguistics.
  29. Myle Ott, Sergey Edunov, Alexei Baevski, Angela Fan, Sam Gross, Nathan Ng, David Grangier, and Michael Auli. 2019. Fairseq: A Fast, Extensible Toolkit for Sequence Modeling. In NAACL-HLT (Demonstrations).
  30. Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. 2002. BLEU: a Method for Automatic Evaluation of Machine Translation. In Proceedings of the 40th annual meeting of the Association for Computational Linguistics, pages 311–318.
  31. Niki Parmar, Ashish Vaswani, Jakob Uszkoreit, Lukasz Kaiser, Noam Shazeer, Alexander Ku, and Dustin Tran. 2018. Image Transformer. In International Conference on Machine Learning, pages 4055–4064. PMLR.
  32. Jiezhong Qiu, Hao Ma, Omer Levy, Wen-tau Yih, Sinong Wang, and Jie Tang. 2020. Blockwise Self-Attention for Long Document Understanding. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: Findings, pages 2555–2565.
  33. Adityanarayanan Radhakrishnan, Mikhail Belkin, and Caroline Uhler. 2020. Overparameterized Neural Networks Implement Associative Memory. Proceedings of the National Academy of Sciences, 117(44):27162–27170.
  34. Hubert Ramsauer, Bernhard Schäfl, Johannes Lehner, Philipp Seidl, Michael Widrich, Thomas Adler, Lukas Gruber, Markus Holzleitner, Milena Pavlović, Geir Kjetil Sandve, et al. 2020. Hopfield Networks Is All You Need. arXiv preprint arXiv:2008.02217.
  35. Aurko Roy, Mohammad Saffar, Ashish Vaswani, and David Grangier. 2021a. Efficient Content-based Sparse Attention With Routing Transformers. Transactions of the Association for Computational Linguistics, 9:53–68.
  36. Aurko Roy, Mohammad Taghi Saffar, Ashish Vaswani, and David Grangier. 2021b. Efficient content-based sparse attention with routing transformers. Transactions of the Association for Computational Linguistics, 9:53–68.
  37. David E Rumelhart, Geoffrey E Hinton, and Ronald J Williams. 1986. Learning Representations by Back-propagating Errors. nature, 323(6088):533–536.
  38. Rico Sennrich, Barry Haddow, and Alexandra Birch. 2015. Neural Machine Translation of Rare Words With Subword Units. arXiv preprint arXiv:1508.07909.
  39. Lei Sha, Feng Qian, Baobao Chang, and Zhifang Sui. 2018. Jointly Extracting Event Triggers and Arguments by Dependency-bridge RNN and Tensor-based Argument Interaction. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 32.
  40. Yikang Shen, Shawn Tan, Alessandro Sordoni, and Aaron Courville. 2018. Ordered Neurons: Integrating Tree Structures Into Recurrent Neural Networks. In International Conference on Learning Representations.
  41. Vighnesh Shiv and Chris Quirk. 2019. Novel Positional Encodings to Enable Tree-based Transformers. Advances in Neural Information Processing Systems, 32:12081–12091.
  42. Sainbayar Sukhbaatar, Edouard Grave, Guillaume Lample, Herve Jegou, and Armand Joulin. 2019. Augmenting Self-attention With Persistent Memory. arXiv preprint arXiv:1907.01470.
  43. Yi Tay, Dara Bahri, Liu Yang, Donald Metzler, and Da-Cheng Juan. 2020a. Sparse Sinkhorn Attention. In International Conference on Machine Learning, pages 9438–9447. PMLR.
  44. Yi Tay, Mostafa Dehghani, Dara Bahri, and Donald Metzler. 2020b. Efficient Transformers: A Survey. arXiv preprint arXiv:2009.06732.
  45. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is All You Need. In Advances in Neural Information Processing Systems, pages 5998–6008.
  46. Jin-Hui Wang and Shan Cui. 2018. Associative Memory Cells and Their Working Principle in the Brain. F1000Research, 7.
  47. Sinong Wang, Belinda Li, Madian Khabsa, Han Fang, and Hao Ma. 2020. Linformer: Self-attention With Linear Complexity. arXiv preprint arXiv:2006.04768.
  48. Yaushian Wang, Hung-Yi Lee, and Yun-Nung Chen. 2019. Tree Transformer: Integrating Tree Structures Into Self-Attention. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 1060–1070.
  49. Baosong Yang, Zhaopeng Tu, Derek F Wong, Fangdong Meng, Lidia S Chao, and Tong Zhang. 2018. Modeling localness for self-attention networks. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 4449–4458.
  50. Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, et al. 2020. Big Bird: Transformers for Longer Sequences. arXiv preprint arXiv:2007.14062.
  51. Guangxiang Zhao, Junyang Lin, Zhiyuan Zhang, Xuancheng Ren, Qi Su, and Xu Sun. 2019. Explicit sparse transformer: Concentrated attention through explicit selection. arXiv preprint arXiv:1912.11637.