Одна строка E, разные результаты обработки
Embedding lookup зависит от ID: одно и то же слово выбирает одну строку E при фиксированных весах. Но после смешивания с соседями representation зависит от контекста. Обозначение h_i^(l) сообщает позициюiи слойl; это activation текущего прохода, не новая строка обучаемого словаря.
В опыте сравниваются последовательности «рыба кот ест» и «кость кот ест». «Кот» стоит на позиции1вобеих, E[кот] одинаков. Causal attention с фиксированными identity projections смешивает эту строку с доступным префиксом. Значение соседней строки меняется, поэтому contextual output может измениться без изменения параметров.
Ручной случай. Если scores двух доступных позиций равны, coefficients[.5,.5]. Для values[1,0,0] и[0,0,1] смесь[.5,0,.5]. Заменив второе value на[0,1,0], получим[.5,.5,0]. Те же weights смешивания, другой вход — другой выход.
Граница. Изменение activation не является обучением. В настоящей модели токен может быть частью слова, а фраза «контекстное представление слова» тогда требует согласовать несколько token positions. Наша игрушка объясняет механизм, не проверяет качество semantic disambiguation.
Теперь раскроем вычисление coefficients вместо назначения их вручную: attention.