Alterna · учебный материал
14.5 Как доли превращаются в смесь
Доля внимания умножает каждую координату передаваемого значения. Затем складываются вклады всех разрешённых позиций.
Что в этом материале
- Каждый coefficient умножает весь value-вектор
Содержание и основные понятия
На предыдущей странице: нельзя читать ещё не известный ответ.
Доля внимания умножает каждую координату передаваемого значения. Затем складываются вклады всех разрешённых позиций.
Запрос сравнивается с ключами; полученные доли взвешивают передаваемые значения. Будущее недоступно при предсказании продолжения. Несколько голов проводят независимые сравнения.
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
Каждый coefficient умножает весь value-вектор
После получения A вычисляем O=AV. Shapes: [n,n]×[n,d_v]=[n,d_v]. Для координатыr выходной строкиi:
O
i
r
=
∑
j
A
i
j
V
j
r
.
O_{ir}=\sum_j A_{ij}V_{jr}.
O
i
r
=
j
∑
A
ij
V
j
r
.
Один и тот же coefficient Aᵢⱼ участвует во всех координатах value_j. Это не выбор отдельного максимального элемента каждой координаты.
В default третья строка A имеет вид[a,a,b], где a=1/(2+exp(1/√2)),b=1−2a. Values[1,0],[0,1],[1,1], поэтому output[a+b,a+b]. Каждый вклад можно проверить отдельно: по первой координате a×1+a×0+b×1.
Эксперимент.
Выберите query и измените только W_V. Таблица coefficients должна сохраниться, а outputs — измениться. При равных values все их нормированные смеси совпадают независимо от scores.
Граница.
До выходной проекции смесь лежит в выпуклой оболочке values при этих неотрицательных нормированных коэффициентах. После W_O и residual это геометрическое ограничение к итоговому hidden state уже напрямую не относится.
from math import exp,sqrt
a=1/(2+exp(1/sqrt(2))); b=1-2*a
v=[[1,0],[0,1],[1,1]]; w=[a,a,b]
out=[sum(w[j]*v[j][r] for j in range(3)) for r in range(2)]
assert abs(out[0]-(a+b))<1e-12 and out[0]==out[1]
Код повторяет только что разобранные операции.
Полный проверяемыйPython-пример главы
доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.
Затем по j суммируются вклады в каждую координату.
Несколько отдельных способов собрать информацию. Как этот вопрос продолжает полученный результат?
Python-примеры главы 14
Академическая база →