Резюме

Оригинал (и с более качественным латексом) по адресу: https://atakanokan.com/papersummaries/2017-convolutional-sequence-to-sequence-learning/

Информация

Ссылка: Arxiv

Документ: Facebook AI Research (FAIR)

Почему эта статья важна ?: Введены операции свертки для задач последовательности в последовательность.

Код: Fairseq - Facebook Research

Резюме

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

Ввод

Начните с x, который является входной последовательностью, которая токенизируется (классическим разделением пробелов, парным байтовым кодированием или Wordpiece и т. Д.):

где x_ {1} будет соответствовать первому токену.

Все эти токены встроены в распределительное пространство как

где w_ {1} соответствует внедрению первого токена (x_ {1}).

Эти w_ {i} имеют размерность {R} ^ {f} и извлекаются из матрицы D размерности {R} ^ {V x f}, которая является матрицей вложения.

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

где p_ {1} соответствует встраиванию абсолютной позиции первого токена (x_ {1}) и имеет размерность {R} ^ {f}.

Затем объедините все вложения токенов (w_ {i}) с вложениями абсолютных позиций, поэлементно добавив каждую пару векторов для создания окончательных представлений входных токенов:

Кодировщик

Каждое ядро ​​свертки в кодере принимает k входных элементов (e_ {i}), соединенных вместе. Результатом этого вычисления будет A. Мы используем другое сверточное ядро ​​для создания другого вектора (с той же размерностью, что и A): B. Затем этот B подвергается нелинейности, которая в статье является закрытой линейной единицей (GLU). Затем A поэлементно умножается на результат GLU: sigma (B)

Вычисления до сих пор можно схематически представить, как показано ниже:

Также существуют остаточные связи от входа к выходу каждого сверточного блока (свертка + нелинейность). Это обеспечивает распространение градиента через большое количество слоев:

где v (…) представляет собой операцию свертки + нелинейности, выполняемую над конкатенированными векторами предыдущего слоя или входных данных, а z_ {i} ^ {l-1} представляет собой единственный выходной вектор из предыдущего слоя. В документе остаточная связь выделена здесь:

Многоступенчатое внимание

Архитектура использует отдельные механизмы внимания для каждого уровня декодера.

где h_ {i} ^ {l} - текущее состояние декодера, а g_ {i} - встраивание предыдущего целевого токена. И внимание состояния i и исходного токена j:

где c_ {i} ^ {l} - это условный ввод для текущего уровня декодера.

Декодер

После последнего уровня декодера вычисляется распределение по возможному целевому токену y_ {i + 1} по T (= размер целевого словаря):

Наборы данных

* Перевод

  • WMT’16 англо-румынский
  • WMT’14 англо-немецкий
  • WMT’14 англо-французский

* Обобщение (абстрактное)

  • Гигаворд
  • DUC-2004