Как работает трансформер

Инструменты Анализа текста в наборе GeoAI используют недавно разработанную архитектуру преобразователя для выполнения задач обработки естественного языка (NLP). Эта архитектура делает инструменты более точными и распараллеливаемыми, при этом требуя меньше размеченных данных для обучения.

Трансформеры - это языковые модели, обучаемые в режиме самообучения на больших объемах данных в виде необработанного текста. Вы можете точно настроить эти предварительно обученные модели для своих данных, используя трансферное обучение. Это новые архитектуры, предложенные в статье Attention Is All You Need и предназначенные для решения таких задач, как классификация текста, перевод текста, генерация текста и распознавание сущностей. Трансформер состоит из двух основных элементов: компонента кодирования и компонента декодирования. Компонент кодирования представляет собой стек кодировщиков, которые получают входные данные и кодируют их в представление в виде объектов. Компонент декодирования представляет собой стек декодировщиков, которые используют представление из компонента кодирования вместе с другими входными данными для создания выходных данных в виде целевой последовательности.

Архитектура трансформера
Общий вид изображает компоненты трансформера.

В зависимости от задачи кодировщики и декодировщики могут использоваться следующими способами:

  • Компонент кодирования можно использовать для таких задач, как классификация текста и распознавание именованных объектов. Некоторые известные модели кодировки - это ALBERT, BERT, и RoBERTa.
  • Компонент декодирования можно использовать для таких задач, как генерирование текста. Некоторые известные модели декодирования - это CTRL и Transformer XL.
  • Вместе компоненты могут использоваться для таких задач, как перевод текста и обобщение. Некоторые известные модели кодирования-декодирования - это BART и T5.

Слои кодировщика
Общий вид изображает компоненты кодировщика.

Все кодировщики в компоненте кодирования имеют одинаковую структуру. У каждого кодировщика есть два подслоя:

  • Слой самоконтроля — этот слой позволяет моделям находить другие слова во входной последовательности для улучшения кодирования текущего слова.

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

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

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

Слои декодировщика
Общий вид изображает компоненты декодировщика.

Ресурсы

Для получения дополнительной информации обратитесь к следующим ресурсам:


В этом разделе
  1. Ресурсы