alterna ai
ALTERNA AI / ГЛАВА 14 · 05

14.5 Как доли превращаются в смесь

На предыдущей странице: нельзя читать ещё не известный ответ.

Доля внимания умножает каждую координату передаваемого значения. Затем складываются вклады всех разрешённых позиций.

Запрос сравнивается с ключами; полученные доли взвешивают передаваемые значения. Будущее недоступно при предсказании продолжения. Несколько голов проводят независимые сравнения.

Каждый coefficient умножает весь value-вектор

После получения A вычисляем O=AV. Shapes: [n,n]×[n,d_v]=[n,d_v]. Для координатыr выходной строкиi:

Oir=∑jAijVjr.O_{ir}=\sum_j A_{ij}V_{jr}.

Один и тот же 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 Академическая база →