Нейронные сети обучаются с помощью чисел, поэтому каждое слово будет сопоставлено с векторами, представляющими конкретное слово. Слой внедрения можно рассматривать как таблицу поиска, которая хранит вложения слов и извлекает их с помощью индексов.
Слова, имеющие одинаковое значение, будут близки с точки зрения евклидова расстояния/косинусного сходства. например, в приведенном ниже представлении слова «суббота», «воскресенье» и «понедельник» связаны с одним и тем же понятием, поэтому мы можем видеть, что слова получаются похожими.
Определение позиции слова, Зачем нам нужно определять позицию слова? поскольку кодер-трансформер не имеет повторения, как рекуррентные нейронные сети, мы должны добавить некоторую информацию о позициях во входные вложения. Это делается с помощью позиционного кодирования. Авторы статьи использовали следующие функции для моделирования положения слова.
Мы попытаемся объяснить позиционное кодирование.
Здесь «pos» относится к положению «слова» в последовательности. P0 относится к позиции встраивания первого слова; «d» означает размер встраивания слова/токена. В этом примере d=5. Наконец, «i» относится к каждому из 5 отдельных размеров вложения (т. е. 0, 1,2,3,4, XNUMX, XNUMX, XNUMX).
если «i» варьируется в приведенном выше уравнении, вы получите набор кривых с различными частотами. Считывание значений встраивания положения на разных частотах, дающее разные значения при разных размерах вложения для P0 и P4.
В этом запрос, Q представляет собой векторное слово, ключи К все остальные слова в предложении, и значение В представляет собой вектор слова.
Целью внимания является вычисление важности ключевого термина по сравнению с термином запроса, относящимся к тому же человеку/предмету или понятию.
В нашем случае V равно Q.
Механизм внимания дает нам важность слова в предложении.
Когда мы вычисляем нормализованное скалярное произведение между запросом и ключами, мы получаем тензор, который представляет относительную важность каждого другого слова для запроса.
При вычислении скалярного произведения между Q и KT мы пытаемся оценить, как выровнены векторы (то есть слова между запросом и ключами), и вернуть вес для каждого слова в предложении.
Затем мы нормализуем результат, возведенный в квадрат d_k, и функция softmax упорядочивает термины и изменяет их масштаб между 0 и 1.
Наконец, мы умножаем результат (т. е. веса) на значение (т. е. все слова), чтобы уменьшить важность нерелевантных слов и сосредоточиться только на самых важных словах.
Выходной вектор многоголового внимания добавляется к исходному позиционному входному вложению. Это называется остаточным соединением/пропускным соединением. Выход остаточного соединения проходит нормализацию уровня. Нормализованный остаточный вывод передается через сеть точечной прямой связи для дальнейшей обработки.
Маска представляет собой матрицу того же размера, что и оценки внимания, заполненные значениями нулей и отрицательных бесконечных величин.
Причина использования маски заключается в том, что как только вы берете softmax замаскированных оценок, отрицательные бесконечности становятся равными нулю, оставляя нулевые оценки внимания для будущих токенов.
Это говорит модели не обращать внимания на эти слова.
Цель функции softmax — получить действительные числа (положительные и отрицательные) и превратить их в положительные числа, сумма которых равна 1.
Равикумар Надувин занят созданием и пониманием задач НЛП с использованием PyTorch.
Оригинал, Перемещено с разрешения.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://www.kdnuggets.com/2023/01/concepts-know-getting-transformer.html?utm_source=rss&utm_medium=rss&utm_campaign=concepts-you-should-know-before-getting-into-transformer
- 1
- a
- О нас
- выше
- добавленный
- против
- выровненный
- Все
- и
- связанный
- внимание
- Авторы
- , так как:
- до
- ниже
- между
- Строительство
- Группа
- под названием
- случаев
- Закрыть
- сравненный
- Вычисление
- вычисление
- сама концепция
- понятия
- связи
- Определять
- определения
- различный
- размеры
- DOT
- каждый
- оценка
- пример
- Объяснять
- заполненный
- в заключение
- First
- Фокус
- после
- функция
- Функции
- далее
- будущее
- получить
- получающий
- GitHub
- дает
- Отдаете
- идет
- захват
- Как
- HTTPS
- значение
- важную
- in
- Индексы
- individual
- информация
- вход
- КДнаггетс
- Основные
- ключи
- Знать
- слой
- УЧИТЬСЯ
- уход
- поиск
- маска
- матрица
- смысл
- означает
- механизм
- модель
- самых
- Необходимость
- отрицательный
- сеть
- сетей
- нервный
- нейронные сети
- НЛП
- номера
- оригинал
- Другие контрактные услуги
- бумага & картон
- особый
- Прошло
- разрешение
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- должность
- позиции
- положительный
- обработка
- Продукт
- цель
- положил
- pytorch
- Reading
- реальные
- причина
- повторение
- уменьшить
- понимается
- Связанный
- представлять
- представление
- представляет
- результат
- в результате
- возвращают
- то же
- предложение
- Последовательность
- должен
- аналогичный
- Размер
- So
- некоторые
- В квадрате
- магазины
- ТАБЛИЦЫ
- взять
- задачи
- говорит
- terms
- Ассоциация
- мысль
- Через
- в
- Лексемы
- трансформеры
- ОЧЕРЕДЬ
- понимание
- us
- ценностное
- Наши ценности
- вес
- который
- будете
- Word
- слова
- зефирнет
- нуль