Self-attention: query, key i value
Pozwolić każdemu tokenowi przyglądać się wszystkim pozostałym
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 @ vDlaczego 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!
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
- Self-attention: query, key i value
- Skalowany iloczyn skalarny i multi-head
- Kodowanie pozycyjne dla zachowania kolejności
- Złożyć blok enkodera transformera