Iloczyn skalarny

Geometria i algebra odwzorowań liniowych, wektorów i macierzy

Iloczyn skalarny przyjmuje dwa wektory i zwraca pojedynczą liczbę. Przepis jest prosty: pomnóż przez siebie odpowiadające współrzędne i zsumuj wyniki. Ta prosta arytmetyka ma jednak głębokie znaczenie geometryczne. Iloczyn skalarny mierzy, w jakim stopniu dwie strzałki wskazują w tym samym kierunku.

To na prawej stronie tego wzoru warto się skupić. |a| i |b| to długości wektorów, a θ to kąt między strzałkami. Znak iloczynu skalarnego od razu zdradza nam geometrię: wynik dodatni oznacza, że strzałki są skierowane mniej więcej w tę samą stronę (θ < 90°), ujemny, że są skierowane w przeciwne strony (θ > 90°), a dokładnie zero, że są do siebie prostopadłe. Ten ostatni przypadek pojawia się niezwykle często.

Wyobraź sobie, że pchasz wózek sklepowy podczas gdy wieje wiatr. Iloczyn skalarny twojego pchnięcia i wiatru mówi ci, w jakim stopniu te dwie strzałki są ze sobą zgodne: jest duży i positive, gdy wiatr ci pomaga, wynosi zero, gdy wiatr wieje w poprzek twojej ścieżki, nie wykonując żadnej pracy, i jest ujemny, gdy wieje ci w twarz. Traktując go jako miarę podobieństwa, większy iloczyn skalarny oznacza po prostu: "te dwie strzałki zgadzają się bardziej".

Gdzie to występuje w MLKiedy transformer decyduje, na który z wcześniejszych tokenów zwrócić uwagę (mechanizm attention), oblicza iloczyn skalarny. Wynik wagi uwagi (attention score) to iloczyn q · k wektora zapytania (query) i wektora klucza (key): jest on wysoki, gdy wektory wskazują w podobnym kierunku, co w praktyce oznacza „ten token jest bardzo istotny dla tamtego”. Podobieństwo cosinusowe to ta sama idea, tyle…
▶ Iloczyn skalarny
← Wektory w RⁿNormy →