Видео проигрыватель загружается.Воспроизвести видеоВоспроизвестиБез звукаТекущее время 0:00/Продолжительность 3:14Загрузка: 0.00%0:00Тип потока ОНЛАЙНSeek to live, currently behind liveОНЛАЙНОставшееся время -3:14 1xСкорость воспроизведения2x1.75x1.5x1.25x1x, выбрано0.75x0.5xГлавыГлавыОписанияОтключить описания, выбраноСубтитрынастройки субтитров, откроется диалог настройки субтитровСубтитры выкл., выбраноЗвуковая дорожкаPicture-in-PictureПолноэкранный режимThis is a modal window.Начало диалоговго окна. Кнопка Escape закроет или отменит окноТекстColorБелыйЧерныйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйФонColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйПрозрачныйОкноColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачныйПолупрозрачныйПрозрачностьРазмер шрифта50%75%100%125%150%175%200%300%400%Стиль края текстаНичегоПоднятыйПониженныйОдинаковыйТеньШрифтПропорциональный без засечекМоноширинный без засечекПропорциональный с засечкамиМоноширинный с засечкамиСлучайныйПисьменныйМалые прописныеСбросить сбросить все найстройки по умолчаниюГотовоЗакрыть модальное окноКонец диалогового окна.
В 2017 году ребята из Google обратили внимание на механизм внимания[1], а именно — на механизм внутреннего внимания (или "self-attention" — его ещё называют "intra attention"), который, в целом, как свёртки, только дешевле и позволяет учитывать зависимости любой длины. Механизм внутреннего внимания принимает на вход матрицу признаков токенов. Вот тут столбцы соответствуют токенам, а строки — признакам токенов. В результате применения "внимания" получается матрица такого же размера, что и входная матрица, но в ней уже каждый вектор содержит информацию о значении соответствующего токена в контексте всех остальных токенов. Алгоритм работы внутреннего внимания принципиально ничем не отличается от обычного внимания. Но особенность заключается в том, что и в качестве запросов, и в качестве ключей, используются одни и те же данные, одни и те же элементы, то есть сами токены. На первом шаге рассчитывается квадратная матрица попарного сходства каждого токена с каждым. Затем эта матрица, с помощью софтмакса, нормируется по строкам или по столбцам так, чтобы сумма весов по строке или столбцу равнялась единице. В данном случае мы нормируем по столбцам. Затем исходные векторы выступают в роли значений. Они взвешиваются с помощью полученных весов и складываются. Эту же операцию можно записать с помощью матричного произведения. Получаем такую вот итоговую формулу — это самый простой вариант внутреннего внимания, он демонстрирует основной принцип работы. На практике же используют более навороченную схему. Отличие, на самом деле, минимальное и заключается в том, что перед тем, как считать попарное сходство токенов, мы преобразовываем исходные признаки токенов, причём делаем это двумя независимыми нейросетями. Часто используется простое линейное преобразование — домножение на матрицу. Здесь матрицы проекции — квадратные, и длина их стороны равняется размеру эмбеддинга токена. Это даёт гораздо больше гибкости и при расчёте релевантности токен будет иметь разные признаки, в зависимости от того, выступает он в качестве запроса или в качестве ключа. Такое преобразование можно понимать как применение одномерной свёртки с ядром размера 1. Тут не нарисовано, но аналогично может преобразовываться и результат. Итоговая формула выглядит практически так же, как и в самом простом случае — здесь только добавились матрицы проекций.
[1] Vaswani A. et al. Attention is all you need //Advances in neural information processing systems. – 2017. – С. 5998-6008. (https://arxiv.org/abs/1706.03762)
К сожалению, у нас пока нет статистики ответов на данный вопрос,
но мы работаем над этим.