Джон Инакей, Майк Ван и Вили Ван (все авторы внесли одинаковый вклад)

  1. Почему трансформаторы важны?

Трансформеры штурмом захватили мир обработки естественного языка (НЛП) и глубокого обучения. Эта архитектура модели нейронной сети была представлена ​​в статье Внимание - это все, что вам нужно в 2017 году в качестве альтернативного механизма для привлечения внимания и быстро стала доминирующей техникой в ​​обработке естественного языка. Google BERT и OpenAI GPT-3 представляют собой современные языковые модели, которые в основном основаны на архитектуре Transformer.

До того, как была представлена ​​трансформаторная архитектура, НЛП использовало множество различных моделей для каждой конкретной задачи. В настоящее время обычно используется только одна модель в качестве основы для решения множества различных задач. По аналогии с областью компьютерного зрения, сверточные нейронные сети (CNN) обычно используются для таких задач, как обнаружение объектов, классификация изображений и сегментация экземпляров. CNN, которая обеспечивает основу для сети, обычно извлекает элементы промежуточного уровня, такие как края и капли в пределах изображения. Эти функции промежуточного уровня обычно полезны для множества различных задач компьютерного зрения, которые позволяют пользователям применять одну и ту же сеть, используя переносное обучение, для решения множества различных задач. Точно так же архитектуры преобразователей, такие как BERT, обычно извлекают функции промежуточного уровня, такие как синтаксис и встраивание слов, которые полезны для многих различных задач, таких как классификация тональности и машинный перевод. Архитектура трансформатора, такая как BERT, позволяет пользователям применять ту же предварительно обученную сеть для решения новых задач и достигать значительно более высокой производительности, чем раньше.

2. Что такое внимание? И как это работает в Трансформаторах?

Модели внимания - это сети, которые вводят взвешивание сигналов на основе важности. В качестве языкового примера рассмотрим из Cheng et al., 2016 предложение ФБР преследует преступника в бегах. При чтении предложения особое внимание уделяется определенным словам из-за контекста отношения текущего слова. При чтении слова преступник, ФБР и погоня имеют сильный вес вместе с ближайшими словами. Читатель может неосознанно делать это во время чтения, но нейронная сеть должна будет специально спроектировать ее части, чтобы воспроизвести это внимание к определенным словам.

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

Допустим, у нас есть s_t как скрытое состояние на декодере и h_i как скрытое состояние кодера, мы можем сформулировать это как скалярное произведение между ними. Мы масштабируем его по размерам вектора n, так как простое скалярное произведение может вызвать проблему с softmax, используемым дальше по сети, вызывая чрезвычайно маленькие градиенты. С этой формулировкой мы получаем функцию Масштабированного точечного произведения. (Подробнее о внимании читайте в этом сообщении)

Трансформаторы используют это скоринг скалярного произведения, имея 3 обучаемых весовых слоя, которые применяются к одному и тому же закодированному входу. Эти выходные данные называются вложениями Key (K), Query (Q) и Value (V) размерности d_k. Назначение вложений Key и Query - s_t и h_i из формулы масштабированного скалярного произведения. Мы получаем оценки в качестве входных данных для softmax, и окончательное включение внимания выглядит следующим образом:

3. Что такое Time2Vec?

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

В статье 2019 года «Time2Vec: изучение векторного представления времени» изучается вектор времени. Функция времени построена с учетом следующих свойств; периодичность, инвариантность к масштабированию по времени и простота.

Где i - это i-й элемент, а τ - понятие времени. В нейронной сети он представлен как изученный слой.

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

4. Как вы используете BERT?

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

Для проблемы обработки естественного языка простым решением было бы взять предварительно обученную нейронную сеть BERT из HuggingFace и применить ее к вашей конкретной проблеме. Некоторые примеры приложений люди могут точно настроить BERT для включения анализа настроений и обнаружения спама. Для решения реальных проблем, требующих более высокой скорости обработки, DistilBERT представляет собой меньшую и более быструю сеть, которая работает на 60% быстрее, но все же обеспечивает 95% производительности исходного BERT.

5. Масштабируемость

В отличие от рекуррентных нейронных сетей (RNN), таких как Long Short Term Memory (LSTM) и Gated Recurrent Units (GRU), трансформаторам не нужно обрабатывать последовательные данные по порядку. До появления Transformers исследователи экспериментировали с добавлением механизма внимания к LSTM и GRU и добились значительного увеличения производительности. Люди поняли, что механизм внимания был мощным даже без повторения в RNN, что привело к созданию архитектуры Transformer. Присущая архитектуре параллелизируемость позволяет преобразователю масштабироваться намного лучше, чем RNN, поскольку длина входной последовательности увеличивается в размере. Эта возможность распараллеливания - одно из свойств, позволяющих OpenAI GPT-3 успешно масштабироваться до 175 миллиардов параметров.

6. Что такое DETR?

Внимание - это мощное сетевое представление, которое используется не только в НЛП и задачах от последовательности к последовательности. Один из примеров, DETR, показывает его применение в области обнаружения 2D-объектов.

Detection Transformer (DETR) - это сеть обнаружения объектов от Facebook Research, использующая головку Transformer для обнаружения мультиклассовых ограничивающих рамок. Поскольку преобразователи придают важность последовательности входных данных в NLP, они могут генерировать важность в двумерных координатах x-y в области CV. DETR кодирует место 2D-кодирования части изображения вместо временного кодирования, такого как Time2Vec.

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

7. Значение трансформаторов

Архитектура Transformer представляет собой современный уровень обработки естественного языка. Эта архитектура демонстрирует, насколько мощным может быть механизм внимания. Кроме того, присущая преобразователю возможность распараллеливания позволяет нам масштабировать нейронные сети, чтобы они были намного больше и могли обучаться на больших наборах данных. Объединив механизм внимания с повышенной масштабируемостью, трансформеры изменили наше понимание НЛП.

8. Ресурсы

Иллюстрированный трансформер

Трансформеры HuggingFace

Наглядное руководство по использованию BERT в первый раз

DistilBERT, дистиллированная версия BERT: меньше, быстрее, дешевле и легче

Трансформер (модель машинного обучения)

Time2Vec: изучение векторного представления времени

Прогнозы акций с использованием современного трансформатора и вложений времени