заглушки Что такое нейронные сети-трансформеры? - Unite.ИИ
Свяжитесь с нами:
Мастер-класс по ИИ:

AI 101

Что такое нейронные сети-трансформеры?

mm
обновленный on

Описание нейронных сетей-трансформеров

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

Эта статья будет охватывать:

  • Последовательные модели
  • Архитектура нейронной сети-трансформера
  • Механизм внимания
  • Различия между трансформаторами и RNN/LSTM

Последовательные модели

Модели «последовательность к последовательности» — это тип модели НЛП, который используется для преобразования последовательностей одного типа в последовательности другого типа. Существуют различные типы моделей последовательностей, таких как Рекуррентная нейронная сеть модели и Долговременная краткосрочная память (LSTM) модели.

Традиционные модели последовательностей, такие как RNN и LSTMS, не находятся в центре внимания этой статьи, но их понимание необходимо, чтобы понять, как работают модели преобразования и почему они превосходят традиционные модели последовательностей.

Короче говоря, модели RNN и модели LSTM состоят из сетей кодировщиков и декодеров, которые анализируют входные данные на различных временных шагах. Модель кодера отвечает за формирование закодированного представления слов во входных данных. На каждом временном шаге сеть кодировщика принимает входную последовательность и скрытое состояние из предыдущего временного шага в серии. Значения скрытого состояния обновляются по мере прохождения данных по сети до последнего временного шага, на котором генерируется «вектор контекста». Вектор контекста затем передается в сеть декодера, которая используется для генерации целевой последовательности путем прогнозирования наиболее вероятного слова, которое сочетается с входным словом для соответствующих временных шагов.

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

Трансформаторная архитектура нейронной сети

Мы рассмотрим механизм внимания более подробно позже, а пока давайте взглянем на него. архитектура нейронной сети трансформера на более высоком уровне.

В общем случае нейронная сеть-трансформер выглядит примерно так:

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

Позиционные кодировки и векторы слов

Работает преобразователь нейросетей путем взятия последовательности входных данных и преобразования этих входных данных в две другие последовательности. Преобразователь создает последовательность векторных вложений слов и позиционных кодировок.

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

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

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

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

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

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

Механизм внимания

Механизм внимания является наиболее важной частью трансформаторной сети. Механизм внимания — это то, что позволяет моделям трансформаторов выходить за пределы внимания типичной модели RNN или LSTM. Традиционные модели Sequence-to-Sequence отбрасывают все промежуточные состояния и используют только конечный вектор состояния/контекста при инициализации сети декодера для генерации прогнозов относительно входной последовательности.

Отбрасывание всего, кроме конечного вектора контекста, работает нормально, когда входные последовательности довольно малы. Однако по мере увеличения длины входной последовательности производительность модели будет снижаться при использовании этого метода. Это связано с тем, что становится довольно сложно суммировать длинную входную последовательность в виде одного вектора. Решение состоит в том, чтобы увеличить «внимание» модели и использовать промежуточные состояния кодировщика для построения векторов контекста для декодера.

Механизм внимания определяет, насколько важны другие входные токены для модели, когда для любого заданного токена создаются кодировки. Например, «это» — это общее местоимение, часто используемое для обозначения животных, когда их пол неизвестен. Механизм внимания позволил бы модели-трансформеру определить, что в текущем контексте «это» относится к белке, потому что она может изучить все релевантные слова во входном предложении.

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

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

Построение механизма внимания можно разделить на пять этапов:

  1. Вычисление оценки для всех состояний энкодера.
  2. Расчет веса внимания
  3. Вычисление векторов контекста
  4. Обновление вектора контекста с выводом предыдущего временного шага
  5. Генерация вывода с помощью декодера

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

Для расчета весов внимания используется функция softmax для создания вероятностного распределения весов внимания.

После того, как веса внимания были рассчитаны, необходимо вычислить вектор контекста. Это делается путем перемножения весов внимания и скрытого состояния для каждого временного шага.

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

Различия между трансформаторами и RNN/LSTM

Давайте быстро рассмотрим некоторые различия между RNN и LSTM.

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

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

LSTM — это модифицированная версия RNN, адаптированная для обработки более длинных входных последовательностей. Архитектура LSTM использует структуру, называемую «воротами», с «входными воротами», «выходными воротами» и «затворами забывания». Затворный дизайн имеет дело с потерей информации, характерной для моделей RNN. Данные по-прежнему обрабатываются последовательно, а повторяющийся дизайн архитектуры затрудняет обучение моделей LSTM с использованием параллельных вычислений, что в целом увеличивает время обучения.

Инженеры LSTM часто добавляли в сеть механизмы внимания, которые, как известно, улучшали производительность модели. Однако в конце концов было обнаружено, что один только механизм внимания повышает точность. Это открытие привело к созданию сетей-трансформеров, в которых использовались механизмы внимания и параллельные вычисления благодаря графическим процессорам.