Middle — Senior
Podrobno razložite multi-head pozornost: kaj so Q/K/V, kako se izračunava teža pozornosti, zakaj je več glav.
sobes.tech AI
Odpoveď od AI
Мултихед увага — гэта ключавы механізм у трансформерах, які дазваляе мадэлі адначасова засяроджвацца на розных частках уваходнай паслядоўнасці.
-
Q (Запыт), K (Ключ), V (Значэнне) — тры матрыцы, атрыманыя з уваходных дадзеных з дапамогай навучальных лінейных трансфармацый. Кожная пазіцыя ў паслядоўнасці ператвараецца ў тры вектары:
- Запыт — запыт, для якога шукаецца адпаведная інфармацыя.
- Ключ — ключ, з якім параўноўваецца запыт.
- Значэнне — значэнне, якое вяртаецца ў адказ на запыт.
-
Разлік вагі ўвагі:
- Выконваецца скалярнае ўяўленне паміж Query і Key для кожнай пары пазіцый.
- Вынік маштабуецца (звычайна дзяліцца на караень з памеру ключоў) для стабілізацыі градыентаў.
- Ужываецца softmax, каб атрымаць верагоднаснае размеркаванне ваг.
- Вагі памнажаюцца на адпаведныя Значэнні, і вынікі сумуюцца — гэта выхад увагі.
-
Чаму некалькі галоў (multi-head)? Многае галоў дазваляе мадэлі глядзець на інфармацыю з розных "кутоў гледжання", гэта значыць кожная галоўка вучыць вылучаць розныя залежнасці і ўзоры ў дадзеных. Гэта павышае выразнасць і якасць мадэлі.
Прыклад спрошчаны:
# Для кожнай галоўкі:
Q_i = X * W_Q_i
K_i = X * W_K_i
V_i = X * W_V_i
вагі ўвагі = softmax((Q_i @ K_i.T) / sqrt(d_k))
выхад_i = вагі ўвагі @ V_i
# Аб’ядноўваем выхады ўсіх галоў
выхад = concat(выхад_1, ..., выхад_h) * W_O
Дзе W_Q_i, W_K_i, W_V_i, W_O — навучальныя матрыцы, d_k — памернасць ключоў, h — колькасць галоў.