Изменения

Перейти к: навигация, поиск

Трансформер

23 байта добавлено, 22:34, 14 июня 2022
Позиционное кодирование
===Позиционное кодирование===
[[Файл:PositionalEncoding.png|400px|thumb|right|Визуализация работы позиционного кодирования<ref>http://www.machinelearning.ru/wiki/images/e/e6/Voron-ML-TopicModeling-slides.pdf</ref>]]
Так как в архитектуре трансформер обработка последовательности заменяется на обработку множества мы теряем порядок информацию о порядке элементов последовательности. Чтобы отобразить информацию о позиции элемента в исходной последовательности мы используем позиционное кодирование.
Позиционное кодирование (англ. ''positional encoding'') {{---}} позволяет модели получить информацию о порядке элементов в последовательности путем прибавления специальных меток к вектору входных элементов. Позиции элементов <math>i</math> кодируются векторами <math>p_i</math>, <math>i = 1, 2, ..., n</math>, так, что чем больше <math>|i - j|</math>, тем больше <math>||p_i - p_j||</math>, и <math>n</math> не ограничено:
<math>p_{(i, s)} = \sin \left(i \cdot 10000^{\frac{-2s}{d_{model}}}\right)</math>,
<math>p_{(i, s + \frac{d}{2})} = \cos \left(i \cdot 10000^{\frac{-2s}{d_{model}}}\right)</math>
===Self-attention===
23
правки

Навигация