Введение

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

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

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

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

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

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

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

Некоторые из наиболее известных языковых моделей, использующих Transformers, включают BERT от Google и GPT-3 от OpenAI. Эти модели используют возможности Transformers для достижения беспрецедентных возможностей понимания языка и генерации.

Архитектура

Не сильно утомит вас архитектурой, дополнит ее четко.

Это основной обзор трансформатора.

Позвольте мне объяснить это шаг за шагом

Высокий уровень

Архитектура Transformer состоит из 6 кодеров и 6 декодеров.

Каждый кодировщик имеет 1 слой самоконтроля и 1 нейронный слой прямой связи. С другой стороны, каждый декодер имеет 2 слоя самоконтроля и 1 слой нейронной сети с прямой связью.

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

Входной слой

Входы и выходы в Transformer встроены, то есть они преобразуются в векторы.

Позиционное кодирование

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

Выходной слой

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

Добавить и нормализовать слой

В дополнение к слоям самоконтроля и прямой связи Transformers включают два дополнительных слоя, называемых «добавить» и «нормализовать». Эти уровни выполняют нормализацию выходных данных подуровня, в частности, используя нормализацию слоя вместо нормализации пакета.

Пропустить подключения

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

Идеи, которые отличают Трансформеров

Позиционное кодирование и уровни внимания

Многоголовое внимание

При многоголовом внимании все слова во входном предложении сравниваются друг с другом, что позволяет проводить всесторонний анализ взаимосвязей между словами.

Внимание с несколькими головами в маске

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

все изображения взяты из видео YouTube https://www.youtube.com/watch?v=_UVfwBqcnbM&t=15s

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

Что такое внимание?

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

Чтобы проиллюстрировать это, рассмотрим предложение «Я иду в банк, чтобы подать заявку на кредит». Слово «банк» может иметь несколько значений, например, финансовое учреждение или банк крови. Однако в данном конкретном предложении мы намерены обратиться к финансовому учреждению. Способность понимать контекст и интерпретировать значение слов в предложении — это то, на что мы обращаем внимание. Хотя трансформеры могут не обладать безупречными возможностями контекстуализации, в настоящее время они являются нашим наиболее многообещающим подходом.

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

Как работает Внимание?

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

Масштабированное точечное произведение

Масштабированное скалярное произведение представляет собой набор линейных алгебраических операций, используемых в механизмах внимания. Он состоит из трех матриц: q, k и v, которые называются запросом, ключом и значением. Эта концепция черпает вдохновение из баз данных, где значения индексируются по ключам, и пользователи могут выполнять запросы для получения определенных значений. В случае самоконтроля нет внешнего пользователя или контроллера, выдающего запросы; вместо этого машина сама корректирует значения q, k и v посредством обратного распространения, чтобы имитировать взаимодействие пользователя с базой данных.

Например, процесс поиска можно представить в виде α⃗⋅v⃗, где α⃗ — однократный вектор с единицами и нулями, а v⃗ — вектор, содержащий извлекаемые значения. В этом случае вектор α⃗ выступает в роли запроса, а на выходе будут значения из v⃗, где α⃗α равно 1.

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

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

Внимание нескольких пользователей

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

изображения и контент с https://www.baeldung.com/cs/attention-mechanism-transformers

Заключение

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

Справочник

https://www.baeldung.com/cs/внимание-механизм-трансформеры

https://www.youtube.com/watch?v=_UVfwBqcnbM&t=15s

Подпишитесь на меня:

Арджун П | LinkedIn

arjunprakash027 (Arjun P) (github.com)

Арджун Пракаш (@ArjunPrakash12) / Twitter

Посетите мой веб-сайт: Портфолио Арджуна (google.com).