Резюме
Оригинал (и с более качественным латексом) по адресу: 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