Alterna · учебный материал
13.1 Номер становится строкой таблицы
Запись с единственной единицей выбирает одну строку. Поэтому умножение на такую запись даёт тот же результат, что прямой поиск строки по номеру.
Что в этом материале
- Выбор строки матрицы
Содержание и основные понятия
В первой главе векторы были стрелками, а в предыдущей появились ID.
Запись с единственной единицей выбирает одну строку. Поэтому умножение на такую запись даёт тот же результат, что прямой поиск строки по номеру.
Таблица E хранит строку координат для каждого ID. Эти координаты обучаются. Знакомый cosine теперь используется для конкретной задачи поиска близких представлений.
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
Выбор строки матрицы
Для vocabulary размераV embedding matrix E имеет shape[V,d]. IDt выбирает строку E[t]. Это эквивалентно умножению one-hot строки e_t[1,V] на E, но не требует создавать большой разреженный массив в памяти.
h
=
e
t
E
=
E
[
t
,
:
]
∈
R
1
×
d
.
h=e_tE=E[t,:]\in\mathbb R^{1\times d}.
h
=
e
t
E
=
E
[
t
,
:
]
∈
R
1
×
d
.
В лаборатории шесть учебных слов и три координаты. Строка для ID2 («спит») равна[0,1,0]. One-hot[0,0,1,0,0,0] выбирает именно её. Таблица содержит18скаляров; последовательность из четырёх IDs создаёт четыре строки активаций, а не четыре копии обучаемых параметров.
Эксперимент.
Выберите другой ID, затем измените одну ячейку E. Изменится представление соответствующего слова. На этой странице E —
ручной геометрический fixture
, не pretrained semantics. Координатам нельзя приписывать автоматически найденные человеческие значения.
Граница.
One-hot и плотный embedding не являются одинаковыми векторами разной длины: E задаёт преобразование пространства. ID является индексом, а не числовой мерой сходства. Если vocabulary переупорядочить, нужно согласованно переупорядочить embedding rows и выходной head.
E=[[1,0,0],[.9,.1,0],[0,1,0],[0,.8,.2],[0,0,1],[.1,0,.9]]
onehot=[0,0,1,0,0,0]
h=[sum(onehot[i]*E[i][j] for i in range(6)) for j in range(3)]
assert h==E[2]==[0,1,0]
Код повторяет только что разобранные операции.
Полный проверяемыйPython-пример главы
доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.
Единица оставляет только соответствующее слагаемое.
Как меняются векторные представления. Как этот вопрос продолжает полученный результат?
Python-примеры главы 13
Академическая база →