Softmax
Softmax przekształca wektor liczb, zwykle nazywanych logitami, w rozkład prawdopodobieństwa. Dla skończonych logitów matematyczny wynik ma dodatnie składowe, które sumują się do jedności:
to logit kandydata , liczba kandydatów, a jego prawdopodobieństwo. W tensorze trzeba wskazać oś normalizacji: suma wynosi jeden dla każdej grupy rozpatrywanej wzdłuż tej osi. Wzór i znaczenie parametru dim podaje dokumentacja PyTorch: Softmax.
Mały przykład
Załóżmy trzy logity: . Po potęgowaniu otrzymujemy , a po podzieleniu przez sumę: . To własny przykład rachunkowy. Pierwszy kandydat ma dwukrotnie większe prawdopodobieństwo niż każdy z pozostałych.
W modelu językowym LM head wyznacza logity dla słownika. Softmax zamienia je w rozkład, ale sam nie wybiera tokena. W przykładzie wybór maksimum zawsze wskaże pierwszego kandydata; losowanie z rozkładu może dać każdego z trzech.
W Scaled Dot-Product Attention ta sama operacja normalizuje wyniki porównań query z key. Składowe są wtedy wagami pozycji, a nie prawdopodobieństwami tokenów słownika. Oba zastosowania opisuje Attention Is All You Need, §3.2.1 i §3.4.
Wartość 0,5 w rozkładzie tokenów nie oznacza 50% szans, że całe zdanie jest prawdziwe. Wynik dotyczy wyboru z konkretnych kandydatów przy danym wejściu, nie oceny prawdziwości wypowiedzi.
Wykorzystuję treści generowane przez AI jako część mojego codziennego procesu nauki.