Суммирование самовнимания и потеря информации

Вопрос или проблема

В самовнимании внимание для слова вычисляется следующим образом:

$$
A(q, K, V) = \sum_{i} \frac{exp(q.k^{<i>})}{\sum_{j} exp(q.k^{<j>})}v^{<i>}
$$

Мой вопрос: почему мы суммируем векторы множественночности * Значение. Разве это не теряет информацию о том, какие другие слова в частности важны для рассматриваемого слова?

Иными словами, как этот суммированный вектор указывает, какие слова являются актуальными?

Например, рассмотрим два крайних сценария, в которых практически весь выход зависит от вектора внимания слова $x^{<t>}$, и один, в котором он зависит от вектора слова $x^{<t+1>}$. Возможно, что $A(q, K, V)$ имеет точно такие же значения в обоих сценариях.

Должен признать, что существует предположение, что $A(q, K, V)$ представляет собой схожесть между q и словами в предложении. На самом деле $A(q, K, V)$ кодирует отношения от q к словам в предложении.

Информация о какие другие слова в частности важны для рассматриваемого слова уже закодирована в $q \cdot k^{<i>}$.


Предположим, есть предложение я люблю суши, $v^{<i>}$ – это вектор позиционно закодированного встраивания слова для каждого слова, а рассматриваемое слово $q = v^{<1>}$, которое соответствует люблю.

$v^{<0>} = я\\
v^{<1>} = люблю\\
v^{<2>} = суши$

$scale(i)=\frac{exp(q.k^{<i>})}{\sum_{j} exp(q.k^{<j>})}$ количественно определяет, насколько сильно связь между люблю и $v^{<i>}$.

$\frac{exp(q.k^{<i>})}{\sum_{j} exp(q.k^{<j>})}v^{<i>}$ или $scale(i)v^{<i>}$ – это масштабирование каждого вектора $v^{<i>}$ пропорционально тому, насколько сильно связано $v^{<i>}$ с люблю.

Агрегирование всех масштабированных векторов $\sum_{i} scale(i)v^{<i>}$ создает новый вектор $A$, который кодирует отношения от q к словам в предложении.

введите описание изображения здесь

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

Вот отрывок из Обработки речи и языка Глава 9.

Чтобы эффективно использовать эти оценки, мы нормализуем их с помощью softmax, чтобы создать вектор весов, $\alpha_{ij}$, который указывает на пропорциональную значимость каждого входного элемента по отношению к элементу входа $i$, который в данный момент является объектом внимания.

Моя интуиция; та же причина для нормализации между слоями. Ускоряет и стабилизирует процесс обучения, поддерживая выходные данные (входные данные для следующего слоя) в рамках.

Ответ или решение

Самообращение, Суммирование и Потеря Информации в Моделях Transformer

В последнее время внимание механизмов, таких как самообращение (self-attention), стало основным элементом архитектур глубокого обучения, включая модели Transformer. Понимание работы данных механизмов имеет критическое значение для эффективного применения и доработки существующих технологий. В частности, возникает вопрос: почему в самообращении сумма производится по вектору значимости, и как это влияет на сохранение информации о важности слов в контексте.

Механизм Самообращения

В общем, механизм самообращения рассчитывается следующим образом:

$$
A(q, K, V) = \sum{i} \frac{exp(q.k^{})}{\sum{j} exp(q.k^{})}v^{}
$$

Здесь:

  • (A(q, K, V)) — итоговый вектор, получаемый от слова (q).
  • (q) — запрос (query), представляющий текущее слово.
  • (K) — ключи (keys), соответствующие всем словам в предложении.
  • (V) — значения (values), которые также соответствуют всем словам.

Суть Суммирования Значений

Суммирование значений (Value vectors), взвешенных по Softmax, позволяет формировать итоговый вектор, отражающий отношение между текущим словом и всеми остальными словами в предложении. Важно отметить, что каждая пара (q) и (k^{}) (где (k^{}) — ключи слов) предоставляет информацию о степени связности между текущим словом и другими словами:

  • Процесс вычисления:
    • На первом этапе происходит расчет подобия (q \cdot k^{}), которое позволяет установить, насколько сильно слово (q) связано с каждым из других слов.
    • После получения этих значений, они нормализуются с помощью функции Softmax, создавая вектор весов, который указывает на относительную важность каждого слова.

Сохранение Информации

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

  1. Влияние Веса: Суммирование происходит с учетом весов, полученных через Softmax. Это означает, что слова, которые менее связаны с текущим словом, будут иметь низкий вес и, следовательно, их влияние на итоговый вектор будет минимальным.

  2. Кодирование Связей: Итоговый вектор (A) в какой-то степени «кодирует» реверации других слов относительно слова (q). Например, если «люблю» имеет высокую степень связи с «суши», это отразится в весах, что позволяет акцентировать внимание на значениях, связанных с этой связью.

  3. Обучение Модели: Во время процесса обучения механизма самообращения модель настраивает веса, чтобы они более точно отражали важность каждого слова в зависимости от контекста. Это позволяет модели адаптироваться к различным сценариям, не теряя информации о структуре и контексте.

Пример

Рассмотрим предложение «Я люблю суши», где вектор значения для каждого слова — это его позиционно-кодированное векторное представление. Пусть (q = v^{<1>}), соответствующий слову «люблю». После вычисления косинусного сходства между «люблю» и остальными словами, очень возможно, что слова «Я» и «суши» будут иметь разные веса.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...