Зачем нужен attention: одно слово, разный смысл
self-attention строит представление каждого слова из других слов контекста, даже далёких.
Зачем это нужно
У статического вектора слова всегда одно и то же значение. Слово «it» в разных предложениях указывает на разные вещи, и один вектор этого не передаёт.
Как это работает
Слой attention берёт представления токенов с предыдущего слоя и взвешенно их суммирует. Вес отражает, насколько важен каждый токен для текущего. Так в каждом слое строится всё более богатое контекстное представление слова.
Пример
В предложении «The chicken didn't cross the road because it was too tired» слово «it» относится к курице. В предложении «…because it was too wide» оно относится к дороге. Модель должна опираться на разные слова контекста, и attention это позволяет.
Что запомнить
- Attention строит контекстные представления слов.
- Нужные слова могут стоять далеко от текущего.
- Слой суммирует представления предыдущего слоя с весами.
Где читать дальше
- SLP3, гл. 7 «Transformers and Pretraining», раздел 7.1