В последние годы модель Transformer распространилась по области обработки естественного языка (NLP). Модели, представленные BERT и GPT, неоднократно возглавляли список и теперь стали стандартной моделью в этой области. В то же время в таких областях, как компьютерное зрение, модели Трансформеров постепенно привлекли внимание, и все больше и больше исследовательских усилий начали внедрять такие модели в алгоритмы. Эта статья основана на статье, опубликованной Google в 2017 году, и знакомит с принципами модели Transformer.
Самая ранняя предложенная модель Transformer [1] предназначена для задач перевода на естественный язык. В задачах перевода на естественный язык необходимо понимать значение каждого слова и использовать последовательную связь слов. Обычно используемые модели естественного языка — это рекуррентная нейронная сеть (RNN) и сверточная нейронная сеть (CNN).
Среди них модель рекуррентной нейронной сети считывает одно слово за раз и обновляет скрытое состояние узла на основе текущего скрытого состояния узла и входного слова. Судя по описанному выше процессу, когда рекуррентная нейронная сеть обрабатывает предложение, она может обрабатывать только одно слово по порядку. Предыдущие слова должны быть обработаны до того, как будут обработаны последующие слова. Следовательно, вычисления рекуррентной нейронной сети. все сериализованы, обучение модели и вывод модели займут больше времени.
С другой стороны, сверточная нейронная сеть рассматривает все предложение как 1*D-мерный вектор (где D — размерность признаков каждого слова) и обрабатывает предложение посредством одномерной свертки. В сверточных нейронных сетях за счет наложения сверточных слоев размер рецептивного поля каждого сверточного слоя постепенно увеличивается, тем самым используя контекст. Поскольку сверточная нейронная сеть не различает каждый блок в предложении, она может обрабатывать каждый блок в предложении параллельно. Таким образом, во время расчета процесс расчета каждого слоя можно легко распараллелить, а эффективность вычислений выше, чем у. круговые нейронные сети. Однако в модели сверточной нейронной сети для установления связи между двумя словами необходимая глубина сети положительно связана с расстоянием до слова в предложении. Поэтому трудно изучить ассоциацию на большом расстоянии в предложении. предложение через модель сверточной нейронной сети. Очень большое.
Модель Трансформера была предложена для решения двух вышеупомянутых проблем: (1) она может эффективно вычисляться; (2) она может точно запоминать ассоциации в предложениях на расстоянии.
Как показано на рисунке ниже, модель Transformer использует классическую структуру кодера-декодера. Среди них предложение, подлежащее переводу, используется в качестве входных данных кодера. После кодирования кодировщиком оно затем вводится в декодер. Помимо получения выходных данных кодера, декодеру также нужны выходные слова. были получены до текущего шага. Конечным результатом всей модели является переведенное предложение. Вероятность следующего слова.
В существующих методах кодер и декодер обычно реализуются посредством многослойных рекуррентных нейронных сетей или сверток, тогда как Transformer предлагает новый, полностью основанный на внимании сетевой уровень для замены существующих модулей, как показано ниже. Как показано на рисунке. Кодер и декодер на рисунке имеют схожую структуру. Оба они состоят из модулей, сложенных N раз. Однако существуют определенные различия в модулях, используемых в кодере и декодере. В частности, базовый модуль кодера включает в себя две части: операцию многоголового внимания (Multi-Head Attention) и многоуровневый персептрон (Feed Forward). Базовый модуль декодера включает в себя две различные операции многоголового внимания (Masked Multi); - Head Attention и Multi-Head Attention), многослойный перцептрон (Feed Forward) три части.
Среди вышеперечисленных операций основной частью являются три различные операции Multi-Head Attention. Процесс этой операции показан на рисунке ниже. Его можно просто понять как преобразование входного признака через взаимосвязь между признаками (вниманием). ), усиливать или ослаблять интенсивность различных размеров объекта. В модели используются следующие три модуля внимания:
В дополнение к основной операции Multi-Head Attention автор также использует кодирование позиции, остаточное соединение, нормализацию слоев, выпадение и другие операции для соединения ввода, внимания и многослойного персептрона для формирования полной модели Трансформера. Изменяя такие параметры, как количество базовых модулей, установленных в кодере и декодере, количество узлов многоуровневого перцептрона и количество головок в многоголовом внимании, можно получить различные структуры модели, такие как BERT и GPT-3. .
В ходе эксперимента автор обучил модель на newstest2013 и newstest2014 и проверил точность перевода модели между англо-немецким и англо-французским языками. Результаты экспериментов показывают, что модель Трансформера обеспечивает высочайшую точность, а затраты на ее обучение на один-два порядка ниже, чем у существующих методов, что демонстрирует превосходство этого метода.
Сравнительные эксперименты с существующими методами показывают более высокие оценки BLEU и меньшие вычислительные затраты:
Проверка достоверности модуля. Такие параметры, как размерность каждого отдельного момента в модели, количество голов в режиме многоголового внимания и количество стеков базовых модулей, оказывают существенное влияние на точность модели:
[1] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin. Attention Is All You Need. NIPS 2017.