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

Введение

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

Одной из старейших проблем, решаемых в обработке естественного языка (NLP), была проблема исчезающего градиента (взвешенное (суммированное) входное значение нейронов становится все меньше и меньше, и, следовательно, сети становится трудно обновлять требуемые взвешенные значения для дальнейшая обработка). Алгоритмы плохо обрабатывали долгосрочные зависимости и, следовательно, приводили к нежелательным результатам. С изобретением долговременной кратковременной памяти (LSTM) проблема исчезающего градиента была частично решена, но появилась другая проблема, называемая «проблемой взрывающегося градиента» (взвешенное входное значение нейронов становится все больше и больше). С трансформатором обе эти проблемы были решены, и он стал самым эффективным во всех своих применениях.

Рис.1-Внимание - это все, что вам нужно

Работающий

В модели используется многоголовое внимание, что делает обучение и расшифровку математических значений входных слов максимально быстрыми. Механизм внутреннего внимания — это одна из частей кодировщика (часть нейронной сети, которая декодирует входные данные в машинопонятное представление) [другая — сеть с прямой связью] принимает входные кодировки от предыдущего кодировщика и взвешивает их актуальность для каждого другие для генерации выходных кодировок. Декодер функционирует аналогично кодировщику, но в него вставлен дополнительный механизм внимания, который вместо этого извлекает соответствующую информацию из кодировок, сгенерированных кодировщиками. Первый кодер и первый декодер всего алгоритма обрабатывают позиционную информацию и вложения входной последовательности в качестве своих входных данных. Модель преобразователя предварительно обучена для языкового моделирования, прогнозирования, ответов на вопросы, понимания прочитанного, анализа настроений и перефразирования; суммарный результат этого компенсирует часть представления человеческого творческого результата.

Рис.2- Иллюстрированный трансформер (Джей Аламмар)

Пошаговая разбивка

  • Ввод принимается кодировщиком, а позиционное встраивание дает сети представление о расположении входного вектора в предложении или фразе.
  • Многоголовое внимание пытается понять последовательные данные и запоминает матричное представление слова для дальнейшего использования.
  • Добавить относится к добавлению входных данных каждого слоя, а значение — это взвешенные выходные данные, которые действуют как входные данные для других слоев. Norm — это слой нормализации, который позволяет каждому слою данных обучаться независимо и обеспечивает плавность процесса обучения.
  • Нейронная сеть с прямой связью передает примененные матрицы внимания для следующего кодировщика.
  • В конце концов, линейный слой представляет собой нейронную сеть, которая проецирует вектор, созданный декодерами, в больший вектор, называемый логитс-вектором. Поскольку векторы имеют значения с плавающей запятой, их необходимо преобразовать в более крупные значения, чтобы каждое слово имело уникальное значение и с помощью которого вывод интерпретировался.
  • Затем функция softmax определяет вероятность значений, так что слово, связанное со значением, создается в качестве вывода.

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

Нейронные сети — это результат понимания человеческого мозга. В психологии внимание — это когнитивный процесс выборочной концентрации на одном или нескольких вещах и игнорирования других. Механизм внимания в искусственных нейронных сетях был впервые предложен для задачи машинного перевода Бахданау и др. (2015). Для искусственной нейронной сети это процесс работы с определенными входными весами при уменьшении других.

Обычно используемая функция внимания (функции здесь такие же, как функции в исчислении) — масштабированное скалярное произведение внимания.

Многостороннее внимание

В многоголовом внимании используются множественные матрицы внимания, называемые «головками внимания». В 3-х головном само-внимании (рис.1), соответствующему слову есть 3 разные головы. Как показано на рисунке, эти заголовки «Внимание» объединяются и умножаются на единую матрицу весов, чтобы получить один заголовок «Внимание», который будет собирать информацию со всех заголовков «Внимание».

Рис.3-многоголовое внимание (Внимание - это все, что вам нужно, 2017)

Необязательно

Марвин С. Сантиллан и Арнульфо П. Азкаррага в своем эксперименте для статьи «Генерация стихотворений с использованием трансформеров и вложений Doc2Vec» обучили преобразователь стихам нескольких поэтов, включая Шекспира, Эдмунда Спенсера и сэра Томаса Вятта, извлеченным из набора данных стихотворений kaggle, для проверить возможности модели. Преобразователь был обучен как каждый поэт на 300 шагов и соответствующая модель doc2vec на 400 эпох. Затем для каждого из них было сгенерировано стихотворение с использованием трех входных начальных значений стихотворения. Выходная поэма каждого преобразователя, использующая одно из входных начальных значений поэмы (подумайте о начальных значениях в природе), показано на рис. 2, 3 и 4.

Трансформеры смогли выучить новые слова и знаки препинания и оказались успешными. На рис. 4 рифмующиеся слова появились на концах первой и третьей строк, и это типичная черта шекспировских сонетов. На рис. 3 слово «THENOT» — одна из эклогов Спенсера. Кроме того, было обнаружено, что стихи, сгенерированные трансформером, менее связаны с семенем стихотворения, которое было о «Жизни и счастье».

Рис.4-Генерация стихотворения с использованием трансформеров и вложений Doc2Vec

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

Ссылки