Deep Learning Academy · Lekcja

Self-attention: query, key i value

Pozwolić każdemu tokenowi przyglądać się wszystkim pozostałym

Lekcja 1 z 413 kroki

Self-attention: query, key i value to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Deep Learning Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.

Tokeny, które się komunikują

W sekwencji znaczenie jednego słowa zależy od innych. Self-attention pozwala każdemu tokenowi spojrzeć na każdy inny token i zebrać potrzebny kontekst.

Trzy role każdego tokena

Każdy token pełni trzy role: query, które zadaje pytanie, key, które udziela odpowiedzi, oraz value, które przenosi treść. Wszystkie pochodzą z tego samego słowa, użytego na trzy sposoby.

Query

Query tokena opisuje to, czego token szuka. Można je traktować jak pytanie, które to słowo zadaje reszcie zdania.

Key

Każdy token udostępnia również key — etykietę informującą o tym, co oferuje. Query jest porównywane ze wszystkimi key, aby znaleźć dobre dopasowania.

Value

Po znalezieniu dopasowania value zawiera właściwą informację przekazywaną dalej. Key decydują o ilości, a value o tym, co jest przekazywane.

Utwórz Q, K i V

Tworzysz query, key i value, przepuszczając dane wejściowe przez trzy wyuczone warstwy liniowe. To samo wejście, trzy różne macierze wag.

q = self.W_q(x)
k = self.W_k(x)
v = self.W_v(x)

Oceń na podstawie podobieństwa

Aby sprawdzić, jak dobrze query pasuje do key, obliczasz ich iloczyn skalarny. Wyższy wynik oznacza, że oba tokeny są dla siebie bardziej istotne.

scores = q @ k.transpose(-2, -1)

Od wyników do wag

Surowe wyniki stają się wagami attention dzięki funkcji softmax, więc wagi każdego query są dodatnie i sumują się do jedności dla wszystkich key.

weights = scores.softmax(dim=-1)

Połącz wartości

Wyjście każdego tokena jest sumą ważoną wszystkich value, połączonych za pomocą wag attention. Istotne tokeny mają większy udział.

out = weights @ v

Dlaczego jest lepsze od RNN

Self-attention łączy dowolne dwa tokeny w jednym kroku, więc odległość nie ma znaczenia. To równoległe podejście sprawia, że transformatory tak dobrze radzą sobie z długim kontekstem.

Wyuczone, a nie stałe

Projekcje Q, K i V są trenowane za pomocą spadku gradientowego. Sieć uczy się, o co pytać, co sygnalizować i co przekazywać, wyłącznie na podstawie danych.

Szybkie sprawdzenie

Sprawdźmy, jak attention łączy swoje elementy.

Podsumowanie

Dowiedziałeś się, że self-attention zamienia każdy token w query, key i value, ocenia dopasowania query-key oraz łączy value za pomocą wag softmax. Dobra robota!

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Self-attention: query, key i value” jest bezpłatna?

Tak — pełny tekst „Self-attention: query, key i value” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Deep Learning Academy, przejdź na CoddyKit PRO. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Self-attention: query, key i value”?

Pozwolić każdemu tokenowi przyglądać się wszystkim pozostałym Ćwiczysz Deep Learning Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Deep Learning Academy?

Nie wymagamy żadnego doświadczenia. Deep Learning Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Self-attention: query, key i value”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Deep Learning Academy?

Tak. Każda lekcja Deep Learning Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Self-attention: query, key i value
  2. Skalowany iloczyn skalarny i multi-head
  3. Kodowanie pozycyjne dla zachowania kolejności
  4. Złożyć blok enkodera transformera
← Powrót do Deep Learning Academy