Jump to content

Внимание (машинное обучение)

(Перенаправлено с Многоголового внимания )

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

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

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

Предшественники

[ редактировать ]

Предшественники механизма использовались в рекуррентных нейронных сетях , которые, однако, вычисляли «мягкие» веса последовательно и на каждом шаге учитывали текущее слово и другие слова в пределах контекстного окна. Они были известны как мультипликативные модули , сигма-пи . [1] и гиперсети . [2] Они использовались в сетях долговременной краткосрочной памяти (LSTM), мультисенсорной обработке данных (звука, изображений, видео и текста) в воспринимающих устройствах , быстрой памяти контроллера веса, [3] задачи рассуждения в дифференцируемых нейронных компьютерах и нейронных машинах Тьюринга . [4] [5] [6] [7] [8]

Основные расчеты

[ редактировать ]

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

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

Подсети Q w и K w одной «головы внимания» вычисляют мягкие веса, происходящие от слова «это». (Вариант QKV только для кодера).

Предложение передается через три параллельных потока (слева), которые в конце появляются как вектор контекста (справа). Размер встраивания слова составляет 300, а количество нейронов — 100 в каждой подсети головы внимания.

  • Заглавная буква X обозначает матрицу размером 4×300, состоящую из вложений всех четырех слов.
  • Маленькая подчеркнутая буква x обозначает вектор внедрения (размером 300) слова «это».
  • три (расположенные на рисунке вертикально) подсети, каждая из которых имеет 100 нейронов, имеющих Wq Голова внимания включает , Wk Wv и . 100 соответствующие весовые матрицы, все они имеют размер 300 ×
  • q (от «запрос») — вектор размером 100, K («ключ») и V («значение») — матрицы 4x100.
  • Звездочка в скобках « (*) » обозначает softmax( qW k / 100 ) . Результатом Softmax является вектор размером 4, который позже умножается на матрицу V=XW v для получения вектора контекста.
  • Изменение масштаба на 100 предотвращает высокую дисперсию qW k. Т это позволило бы одному слову чрезмерно доминировать в мягком максимуме, в результате чего внимание было бы сосредоточено только на одном слове, как это сделал бы дискретный жесткий максимум.

Обозначение для строк, : широко написанная формула softmax приведенная выше, предполагает, что векторы являются строками, что противоречит стандартным математическим обозначениям векторов-столбцов. Точнее, нам следует взять транспонирование вектора контекста и использовать softmax по столбцам , что приведет к более правильной форме.

запроса Вектор сравнивается (через скалярное произведение) с каждым словом в ключах. Это помогает модели обнаружить наиболее подходящее слово для слова запроса. В данном случае слово «девушка» было определено как наиболее подходящее слово для слова «это». Результат (в данном случае размер 4) обрабатывается функцией softmax , создавая вектор размера 4 с суммой вероятностей, равной 1. Умножение этого значения на матрицу значений эффективно усиливает сигнал для наиболее важных слов в предложении и уменьшает сигнал. для менее важных слов. [5]

Структура входных данных фиксируется весами W q и W k , а веса W v выражают эту структуру с точки зрения более значимых функций для задачи, для которой проводится обучение. По этой причине компоненты «головы внимания» называются «Запрос» ( W q ), «Ключ» ( W k ) и «Значение» ( W v ) — это расплывчатая и, возможно, вводящая в заблуждение аналогия с системами реляционных баз данных .

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

Общая аналогия ключа запроса с запросами к базе данных предполагает асимметричную роль этих векторов, когда один интересующий элемент (запрос) сопоставляется со всеми возможными элементами (ключами). Однако параллельные вычисления сопоставляют все слова предложения сами с собой; поэтому роли этих векторов симметричны. Возможно, из-за того, что упрощенная аналогия с базой данных ошибочна, много усилий было потрачено на дальнейшее понимание внимания путем изучения его роли в целенаправленных условиях, таких как контекстное обучение, [9] языковые задания в масках, [10] разобранные трансформаторы, [11] статистика биграмм, [12] парные свертки, [13] и арифметический факторинг. [14]

Пример языкового перевода

[ редактировать ]

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

Пошаговая последовательность языкового перевода.
Кодер-декодер с вниманием.[15] Левая часть (черные линии) — это кодер-декодер, средняя часть (оранжевые линии) — единица внимания, а правая часть (серый и цветной) — вычисляемые данные. Серые области в матрице H и векторе w имеют нулевые значения. Числовые индексы указывают размеры векторов, а буквенные индексы i и i - 1 указывают временные шаги.
Кодер-декодер с вниманием. [15] Левая часть (черные линии) — это кодер-декодер, средняя часть (оранжевые линии) — единица внимания, а правая часть (серый и цветной) — вычисляемые данные. Серые области в матрице H и векторе w имеют нулевые значения. Числовые индексы указывают размеры векторов, а буквенные индексы i и i - 1 указывают временные шаги.
Легенда
LabelDescription
100Max. sentence length
300Embedding size (word dimension)
500Length of hidden vector
9k, 10kDictionary size of input & output languages respectively.
x, Y9k and 10k 1-hot dictionary vectors. x → x implemented as a lookup table rather than vector multiplication. Y is the 1-hot maximizer of the linear Decoder layer D; that is, it takes the argmax of D's linear layer output.
x300-long word embedding vector. The vectors are usually pre-calculated from other projects such as GloVe or Word2Vec.
h500-long encoder hidden vector. At each point in time, this vector summarizes all the preceding words before it. The final h can be viewed as a "sentence" vector, or a thought vector as Hinton calls it.
s500-long decoder hidden state vector.
E500 neuron recurrent neural network encoder. 500 outputs. Input count is 800–300 from source embedding + 500 from recurrent connections. The encoder feeds directly into the decoder only to initialize it, but not thereafter; hence, that direct connection is shown very faintly.
D2-layer decoder. The recurrent layer has 500 neurons and the fully-connected linear layer has 10k neurons (the size of the target vocabulary).[16] The linear layer alone has 5 million (500 × 10k) weights – ~10 times more weights than the recurrent layer.
score100-long alignment score
w100-long vector attention weight. These are "soft" weights which changes during the forward pass, in contrast to "hard" neuronal weights that change during the learning phase.
AAttention module – this can be a dot product of recurrent states, or the query-key-value fully-connected layers. The output is a 100-long vector w.
H500×100. 100 hidden vectors h concatenated into a matrix
c500-long context vector = H * w. c is a linear combination of h vectors weighted by w.

Если рассматривать их в виде матрицы, веса внимания показывают, как сеть корректирует свой фокус в зависимости от контекста. [17]

я любовь ты
является 0.94 0.02 0.04
т' 0.11 0.01 0.88
любовь 0.03 0.95 0.02

Этот взгляд на веса внимания решает проблему « объяснимости » нейронной сети. Сети, выполняющие дословный перевод без учета порядка слов, покажут самые высокие баллы по (доминирующей) диагонали матрицы. Недиагональное доминирование показывает, что механизм внимания более тонкий. При первом проходе через декодер 94% веса внимания приходится на первое английское слово «I», поэтому сеть предлагает слово «je». На втором проходе декодера 88% внимания приходится на третье английское слово «you», поэтому оно предлагает «t». На последнем проходе 95% внимания приходится на второе английское слово «love», поэтому оно предлагает «aime».

Варианты

[ редактировать ]

Многие варианты внимания реализуют мягкие веса, такие как

  • «внутренние прожекторы внимания» [18] созданные быстрыми программистами веса или быстрыми контроллерами веса (1992) [3] (также известные как преобразователи с «линеаризованным самовниманием» [19] [20] ). Медленная нейронная сеть учится путем градиентного спуска программировать быстрые веса другой нейронной сети через внешние продукты самогенерируемых шаблонов активации, называемых «ОТ» и «ДО», которые в терминологии преобразователей называются «ключом» и «значением». Это быстрое «отображение внимания» применяется к запросам.
  • По-Богданову будь осторожен, [17] также называемое аддитивным вниманием ,
  • Внимание в стиле Луонг, [21] которое известно как мультипликативное внимание ,
  • высокопараллелизуемое самовнимание, представленное в 2016 году как разлагаемое внимание [22] успешно использовался в трансформаторах , и год спустя
  • позиционное внимание и факторизованное позиционное внимание . [23]

Для сверточных нейронных сетей механизмы внимания можно различать по измерению, в котором они работают, а именно: пространственное внимание, [24] канал внимания, [25] или комбинации. [26] [27]

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

1. скалярное произведение кодер-декодер 2. кодер-декодер QKV 3. скалярное произведение только для кодировщика 4. QKV только для энкодера 5. Учебное пособие по Pytorch
Для расчета внимания необходимы как кодер, так и декодер. [21]
Для расчета внимания необходимы как кодер, так и декодер. [28]
Декодер не используется для расчета внимания. Имея только один вход в corr, W представляет собой автокорреляцию скалярных произведений. ш ij = х я х j [29]
Декодер не используется для расчета внимания. [30]
Полносвязный слой используется для расчета внимания вместо корреляции скалярного произведения. [31]
Легенда
LabelDescription
Variables X, H, S, TUpper case variables represent the entire sentence, and not just the current word. For example, H is a matrix of the encoder hidden state—one word per column.
S, TS, decoder hidden state; T, target word embedding. In the Pytorch Tutorial variant training phase, T alternates between 2 sources depending on the level of teacher forcing used. T could be the embedding of the network's output word; i.e. embedding(argmax(FC output)). Alternatively with teacher forcing, T could be the embedding of the known correct word which can occur with a constant forcing probability, say 1/2.
X, HH, encoder hidden state; X, input word embeddings.
WAttention coefficients
Qw, Kw, Vw, FCWeight matrices for query, key, value respectively. FC is a fully-connected weight matrix.
⊕, ⊗⊕, vector concatenation; ⊗, matrix multiplication.
corrColumn-wise softmax(matrix of all combinations of dot products). The dot products are xi * xj in variant #3, hi* sj in variant 1, and column i ( Kw * H ) * column j ( Qw * S ) in variant 2, and column i ( Kw * X ) * column j ( Qw * X ) in variant 4. Variant 5 uses a fully-connected layer to determine the coefficients. If the variant is QKV, then the dot products are normalized by the d where d is the height of the QKV matrices.

Математическое представление

[ редактировать ]

Внимание к стандартному масштабированному скалярному произведению

[ редактировать ]

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

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

[ редактировать ]

где каждая головка рассчитывается как: и , и являются матрицами параметров.

Богданау (Присадка) Внимание

[ редактировать ]

где и и являются обучаемыми весовыми матрицами. [17]

Луонг Внимание (Общее)

[ редактировать ]

где это обучаемая весовая матрица. [21]

См. также

[ редактировать ]
  1. ^ Румельхарт, Дэвид Э.; Макклелланд, Джеймс Л.; Группа, Исследования PDP (29 июля 1987 г.). Параллельная распределенная обработка, Том 1: Исследования микроструктуры познания: Основы, Глава 2 (PDF) . Кембридж, Массачусетс: Bradford Books. ISBN  978-0-262-68053-0 .
  2. ^ Янн Лекун (2020). Курс глубокого обучения в Нью-Йоркском университете, весна 2020 г., видеолекции, 6-я неделя . Событие происходит в 53:00 . Проверено 8 марта 2022 г.
  3. ^ Перейти обратно: а б Шмидхубер, Юрген (1992). «Научимся контролировать быстрые воспоминания: альтернатива повторяющимся сетям». Нейронные вычисления . 4 (1): 131–139. дои : 10.1162/neco.1992.4.1.131 . S2CID   16683347 .
  4. ^ Грейвс, Алекс; Уэйн, Грег; Рейнольдс, Малькольм; Харли, Тим; Данигелка, Иво; Грабская-Барвинская, Агнешка; Кольменарехо, Серхио Гомес; Грефенштетт, Эдвард; Рамальо, Тьяго; Агапиу, Джон; Бадия, Адриа Пучдоменек; Герман, Карл Мориц; Зволс, Йори; Островский, Георг; Каин, Адам; Король, Хелен; Саммерфилд, Кристофер; Блансом, Фил; Кавукчуоглу, Корай; Хассабис, Демис (12 октября 2016 г.). «Гибридные вычисления с использованием нейронной сети с динамической внешней памятью» . Природа . 538 (7626): 471–476. Бибкод : 2016Natur.538..471G . дои : 10.1038/nature20101 . ISSN   1476-4687 . ПМИД   27732574 . S2CID   205251479 .
  5. ^ Перейти обратно: а б Васвани, Ашиш ; Шазир, Ноам; Пармар, Ники; Ушкорейт, Якоб; Джонс, Лион; Гомес, Эйдан Н ; Кайзер, Лукаш; Полосухин, Илья (2017). «Внимание — это все, что вам нужно» (PDF) . Достижения в области нейронных систем обработки информации . 30 . Карран Ассошиэйтс, Инк.
  6. ^ Рамачандран, Праджит; Пармар, Ники; Васвани, Ашиш; Белло, Ирван; Левская, Ансельм; Шленс, Джонатон (13 июня 2019 г.). «Автономное внимание к себе в моделях видения». arXiv : 1906.05909 [ cs.CV ].
  7. ^ Джегл, Эндрю; Гимено, Феликс; Брок, Эндрю; Зиссерман, Эндрю; Виньялс, Ориол; Каррейра, Жоао (22 июня 2021 г.). «Воспринимающий: общее восприятие с повторяющимся вниманием». arXiv : 2103.03206 [ cs.CV ].
  8. ^ Рэй, Тирнан. «Супермодель Google: DeepMind Perceiver — это шаг на пути к машине искусственного интеллекта, которая сможет обрабатывать всё и вся» . ЗДНет . Проверено 19 августа 2021 г.
  9. ^ Чжан, Жуйци (2024). «Обученные трансформаторы изучают линейные модели в контексте» (PDF) . Журнал исследований машинного обучения 1-55 . 25 . arXiv : 2306.09927 .
  10. ^ Ренде, Риккардо (2024). «Сопоставление механизмов внимания с обобщенной моделью Поттса». Обзор физических исследований . 6 (2): 023057. arXiv : 2304.07235 . Бибкод : 2024PhRvR...6b3057R . doi : 10.1103/PhysRevResearch.6.023057 .
  11. ^ Он, Бобби (2023). «Упрощение блоков-трансформеров». arXiv : 2311.01906 [ cs.LG ].
  12. ^ «Трансформаторные схемы» . Transformer-circuits.pub .
  13. ^ Нейронная сеть-трансформер, созданная с нуля . 2023 год. Событие происходит в 05:30 . Проверено 7 апреля 2024 г.
  14. ^ Чартон, Франсуа (2023). «Изучение наибольшего общего делителя: объяснение предсказаний трансформатора». arXiv : 2308.15594 [ cs.LG ].
  15. ^ Бритц, Денни; Голди, Анна; Луонг, Минь-Тхань; Ле, Куок (21 марта 2017 г.). «Массовое исследование архитектур нейронного машинного перевода». arXiv : 1703.03906 [ cs.CV ].
  16. ^ «Учебное пособие по seq2seq на Pytorch.org» . Проверено 2 декабря 2021 г.
  17. ^ Перейти обратно: а б с Богданов Дмитрий; Чо, Кёнхён; Бенджио, Йошуа (2014). «Нейронный машинный перевод путем совместного обучения выравниванию и переводу». arXiv : 1409.0473 [ cs.CL ].
  18. ^ Шмидхубер, Юрген (1993). «Уменьшение соотношения между сложностью обучения и количеством изменяющихся во времени переменных в полностью рекуррентных сетях». ИКАНН, 1993 год . Спрингер. стр. 460–463.
  19. ^ Шлаг, Иманол ; Ириэ, Кадзуки; Шмидхубер, Юрген (2021). «Линейные трансформаторы — тайно быстрые программисты веса». ICML 2021 . Спрингер. стр. 9355–9366.
  20. ^ Хороманский, Кшиштоф; Лихошерстов Валерий; Дохан, Дэвид; Сун, Синю; Гейн, Андреа; Сарлос, Тамас; Хокинс, Питер; Дэвис, Джаред; Мохиуддин, Афроз; Кайзер, Лукаш; Беланджер, Дэвид; Колвелл, Люси; Веллер, Адриан (2020). «Переосмысление внимания с исполнителями». arXiv : 2009.14794 [ cs.CL ].
  21. ^ Перейти обратно: а б с Луонг, Минь-Тхан (20 сентября 2015 г.). «Эффективные подходы к нейронному машинному переводу, основанному на внимании». arXiv : 1508.04025v5 [ cs.CL ].
  22. ^ «Документы с кодом — разложимая модель внимания для вывода на естественном языке» . paperswithcode.com .
  23. ^ «Обучение позиционному вниманию для последовательных рекомендаций» . catalyzex.com .
  24. ^ Чжу, Сичжоу; Ченг, Дажи; Чжан, Чжэн; Лин, Стивен; Дай, Цзифэн (2019). «Эмпирическое исследование механизмов пространственного внимания в глубоких сетях» . Международная конференция IEEE/CVF по компьютерному зрению (ICCV) 2019 . стр. 6687–6696. arXiv : 1904.05873 . дои : 10.1109/ICCV.2019.00679 . ISBN  978-1-7281-4803-8 . S2CID   118673006 .
  25. ^ Ху, Цзе; Шен, Ли; Солнце, Банда (2018). «Сети сжатия и возбуждения» . Конференция IEEE/CVF 2018 по компьютерному зрению и распознаванию образов . стр. 7132–7141. arXiv : 1709.01507 . дои : 10.1109/CVPR.2018.00745 . ISBN  978-1-5386-6420-9 . S2CID   206597034 .
  26. ^ Уу, Санхён; Пак, Чончан; Ли, Джун-Ён; Квеон, Ин Со (18 июля 2018 г.). «CBAM: Модуль внимания сверточного блока». arXiv : 1807.06521 [ cs.CV ].
  27. ^ Георгеску, Мариана-Юлиана; Ионеску, Раду Тудор; Мирон, Андреа-Юлиана; Савенку, Оливиан; Ристеа, Николае-Каталин; Верга, Николае; Хан, Фахад Шахбаз (12 октября 2022 г.). «Мультимодальное многоголовое сверточное внимание с различными размерами ядер для сверхразрешения медицинских изображений». arXiv : 2204.04218 [ eess.IV ].
  28. ^ Нил Роудс (2021). CS 152 NN-27: Внимание: ключи, запросы и значения . Событие происходит в 06:30 . Проверено 22 декабря 2021 г.
  29. ^ Альфредо Канциани и Ян Лекун (2021). Курс глубокого обучения Нью-Йоркского университета, весна 2020 г. Событие происходит в 05:30 . Проверено 22 декабря 2021 г.
  30. ^ Альфредо Канциани и Ян Лекун (2021). Курс глубокого обучения Нью-Йоркского университета, весна 2020 г. Событие происходит в 20:15 . Проверено 22 декабря 2021 г.
  31. ^ Робертсон, Шон. «НЛП с нуля: перевод с помощью сети последовательностей и внимания» . pytorch.org . Проверено 22 декабря 2021 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2edc1c3e32c4f61d9cb8193026034b6a__1722088020
URL1:https://arc.ask3.ru/arc/aa/2e/6a/2edc1c3e32c4f61d9cb8193026034b6a.html
Заголовок, (Title) документа по адресу, URL1:
Attention (machine learning) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)