stringtranslate.com

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

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

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

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

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

Предшественники механизма использовались в рекуррентных нейронных сетях, которые, однако, вычисляли «мягкие» веса последовательно и на каждом шаге учитывали текущее слово и другие слова в пределах контекстного окна. Они были известны как мультипликативные модули , сигма-пи - единицы [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 соответствующие весовые матрицы , все они имеют размер 300 × 100 .
  • q (от «запрос») — вектор размером 100, K («ключ») и V («значение») — матрицы 4x100.
  • Звездочка в скобках « (*) » обозначает softmax( qW k / 100 ) . Результатом Softmax является вектор размером 4, который позже умножается на матрицу V=XW v для получения вектора контекста.
  • Изменение масштаба на 100 предотвращает высокую дисперсию qW k T , которая позволила бы одному слову чрезмерно доминировать над мягким максимумом, в результате чего внимание было бы сосредоточено только на одном слове, как это было бы при дискретном жестком максимуме.

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

Контекст знак равно (XW v ) Т × softmax( (W k Икс Т ) × ( Икс W q ) Т / 100 ) .

Вектор запроса сравнивается (через скалярное произведение) с каждым словом в ключах. Это помогает модели обнаружить наиболее подходящее слово для слова запроса. В данном случае слово «девушка» было определено как наиболее подходящее слово для слова «это». Результат (в данном случае размер 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 указывают временные шаги.

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

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

Варианты

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

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

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

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

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

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

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

[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. PMID  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 .
  10. ^ Ренде, Риккардо (2023). «Сопоставление механизмов внимания с обобщенной моделью Поттса». arXiv : 2304.07235 .
  11. ^ Он, Бобби (2023). «Упрощение блоков-трансформеров». arXiv : 2311.01906 .
  12. ^ «Трансформаторные схемы». Transformer-circuits.pub .
  13. ^ Нейронная сеть трансформатора, созданная с нуля. 2023 год. Событие происходит в 05:30 . Проверено 7 апреля 2024 г.
  14. ^ Чартон, Франсуа (2023). «Изучение наибольшего общего делителя: объяснение предсказаний трансформатора». arXiv : 2308.15594 .
  15. ^ Бритц, Денни; Голди, Анна; Луонг, Минь-Тхань; Ле, Куок (21 марта 2017 г.). «Массовое исследование архитектур нейронного машинного перевода». arXiv : 1703.03906 [cs.CV].
  16. ^ "Урок по seq2seq на Pytorch.org" . Проверено 2 декабря 2021 г.
  17. ^ abc Богданов, Дмитрий; Чо, Кёнхён; Бенджио, Йошуа (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. ^ abc Луонг, Минь-Тханг (20 сентября 2015 г.). «Эффективные подходы к нейронному машинному переводу, основанному на внимании». arXiv : 1508.04025v5 [cs.CL].
  22. ^ «Документы с кодом - разложимая модель внимания для вывода на естественном языке» . paperswithcode.com .
  23. ^ Чжу, Сичжоу; Ченг, Дажи; Чжан, Чжэн; Лин, Стивен; Дай, Цзифэн (2019). «Эмпирическое исследование механизмов пространственного внимания в глубоких сетях». Международная конференция IEEE/CVF по компьютерному зрению (ICCV) 2019 . стр. 6687–6696. arXiv : 1904.05873 . дои : 10.1109/ICCV.2019.00679. ISBN  978-1-7281-4803-8. S2CID  118673006.
  24. ^ Ху, Цзе; Шен, Ли; Солнце, Банда (2018). «Сети сжатия и возбуждения». Конференция IEEE/CVF 2018 по компьютерному зрению и распознаванию образов . стр. 7132–7141. arXiv : 1709.01507 . дои : 10.1109/CVPR.2018.00745. ISBN 978-1-5386-6420-9. S2CID  206597034.
  25. ^ У, Санхён; Пак, Чончан; Ли, Джун-Ён; Квеон, Ин Со (18 июля 2018 г.). «CBAM: Модуль внимания сверточного блока». arXiv : 1807.06521 [cs.CV].
  26. ^ Георгеску, Мариана-Юлиана; Ионеску, Раду Тудор; Мирон, Андреа-Юлиана; Савенку, Оливиан; Ристеа, Николае-Каталин; Верга, Николае; Хан, Фахад Шахбаз (12 октября 2022 г.). «Мультимодальное многоголовое сверточное внимание с различными размерами ядра для сверхвысокого разрешения медицинских изображений». arXiv : 2204.04218 [eess.IV].
  27. ^ Нил Роудс (2021). CS 152 NN-27: Внимание: ключи, запросы и значения. Событие происходит в 06:30 . Проверено 22 декабря 2021 г.
  28. ^ Альфредо Канциани и Ян Лекун (2021). Курс глубокого обучения Нью-Йоркского университета, весна 2020 г. Событие происходит в 05:30 . Проверено 22 декабря 2021 г.
  29. ^ Альфредо Канциани и Ян Лекун (2021). Курс глубокого обучения Нью-Йоркского университета, весна 2020 г. Событие произойдет в 20:15 . Проверено 22 декабря 2021 г.
  30. ^ Робертсон, Шон. «НЛП с нуля: перевод с помощью сети последовательностей и внимания». pytorch.org . Проверено 22 декабря 2021 г.

Внешние ссылки