Позиционное кодирование
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM '''Claude Opus 4.8''' и проверена участником ~~~~}} {{TOCright}} '''Позиционное ...) |
|||
| Строка 32: | Строка 32: | ||
== Литература == | == Литература == | ||
* {{статья |автор=Vaswani A. и др. |часть=Attention Is All You Need |заглавие=Advances in Neural Information Processing Systems (NeurIPS) |год=2017 |ссылка=https://arxiv.org/abs/1706.03762}} | * {{статья |автор=Vaswani A. и др. |часть=Attention Is All You Need |заглавие=Advances in Neural Information Processing Systems (NeurIPS) |год=2017 |ссылка=https://arxiv.org/abs/1706.03762}} | ||
| - | * {{статья |автор=Su J. и др. |часть=RoFormer: Enhanced Transformer with Rotary Position Embedding |заглавие= | + | * {{статья |автор=Su J. и др. |часть=RoFormer: Enhanced Transformer with Rotary Position Embedding |заглавие=Neurocomputing |том=568 |страницы=127063 |год=2024 |ссылка=https://arxiv.org/abs/2104.09864}} |
* {{статья |автор=Shaw P., Uszkoreit J., Vaswani A. |часть=Self-Attention with Relative Position Representations |заглавие=Proc. of NAACL |год=2018 |ссылка=https://arxiv.org/abs/1803.02155}} | * {{статья |автор=Shaw P., Uszkoreit J., Vaswani A. |часть=Self-Attention with Relative Position Representations |заглавие=Proc. of NAACL |год=2018 |ссылка=https://arxiv.org/abs/1803.02155}} | ||
[[Категория:Машинное обучение]] | [[Категория:Машинное обучение]] | ||
[[Категория:Нейронные сети]] | [[Категория:Нейронные сети]] | ||
Текущая версия
| | Статья написана с использованием LLM Claude Opus 4.8 и проверена участником Iaroslav Lyakhov 20:04, 1 июля 2026 (MSD) |
|
Позиционное кодирование (англ. positional encoding) - способ передать трансформеру информацию о порядке элементов во входной последовательности. Поскольку механизм внимания сам по себе не учитывает позиции токенов, без позиционного кодирования модель воспринимала бы предложение как «мешок слов». Этот компонент - необходимая часть любой трансформерной архитектуры.
Зачем это нужно
Рекуррентные сети обрабатывают текст последовательно, поэтому порядок в них заложен естественным образом. Трансформер же обрабатывает все токены одновременно, а операция внимания перестановочно-инвариантна: если поменять местами слова, множество попарных связей не изменится. Между тем «собака укусила человека» и «человек укусил собаку» - разные по смыслу фразы. Позиционное кодирование восстанавливает утраченный порядок: в одних методах - добавляя к векторному представлению каждого токена информацию о его позиции, в других - модифицируя само вычисление внимания.
Абсолютное кодирование
В исходной работе «Attention Is All You Need» к эмбеддингу токена на позиции прибавляется вектор с синусоидальными компонентами:
где - номер измерения,
- размерность модели. Разные измерения колеблются с разной частотой, задавая каждой позиции уникальный «отпечаток». Плюс подхода - способность в принципе обобщаться на длины, не встречавшиеся при обучении. Альтернатива - обучаемые позиционные векторы (learned positional embeddings), как в BERT; они гибче, но плохо экстраполируются за пределы максимальной обученной длины.
Относительное кодирование
Часто важна не абсолютная позиция, а расстояние между токенами. Относительное позиционное кодирование (Shaw et al., 2018; Transformer-XL) встраивает информацию о взаимном сдвиге прямо в вычисление внимания, что улучшает работу с длинными текстами.
Современные подходы
- RoPE (Rotary Position Embedding) - поворачивает векторы запросов и ключей на угол, пропорциональный позиции. Скалярное произведение при этом зависит от относительного сдвига. RoPE применяется в моделях LLaMA, GPT-NeoX и стал де-факто стандартом.
- ALiBi - добавляет к оценкам внимания линейный штраф, растущий с расстоянием; хорошо экстраполируется на длинные контексты.
Эти методы напрямую связаны с проблемой расширения контекстного окна: корректная работа с позициями определяет, насколько далеко модель может «видеть».
См. также
- Трансформер
- Механизм внимания
- Токенизация
- Векторное представление (эмбеддинг)
- Большая языковая модель
Литература
- Vaswani A. и др. Advances in Neural Information Processing Systems (NeurIPS). — 2017.
- Su J. и др. Neurocomputing. — 2024. — Т. 568. — С. 127063.
- Shaw P., Uszkoreit J., Vaswani A. Proc. of NAACL. — 2018.

