Softmax dla prawdopodobieństw
Zamieniać surowe wyniki na rozkład klas
Softmax dla prawdopodobieństw to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 4 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.
Od wyników do wyborów
Ostatnia warstwa klasyfikatora zwraca surowe wyniki, po jednym dla każdej klasy. Te nieograniczone wartości nazywają się logitami i trudno je bezpośrednio interpretować. 🔢
Poznajemy Softmax
Softmax przekształca wektor logitów w przejrzysty rozkład prawdopodobieństwa dla wszystkich klas. Teraz każdy wynik staje się prawdopodobieństwem.
import torch.nn.functional as F
probs = F.softmax(logits, dim=-1)Dwie gwarancje
Softmax gwarantuje dwie rzeczy: każde wyjście mieści się między 0 a 1, a wszystkie wyjścia sumują się do jedności. Tego właśnie wymaga rozkład prawdopodobieństwa.
Jak to działa
Softmax potęguje każdy logit, a następnie dzieli go przez sumę wszystkich wartości. Funkcja wykładnicza sprawia, że większe logity dominują, wyostrzając zwycięzcę.
exp = logits.exp()
probs = exp / exp.sum()Względne, nie bezwzględne
Softmax uwzględnia różnice między logitami, a nie ich bezwzględne wartości. Dodanie tej samej stałej do każdego logitu nie zmienia prawdopodobieństw.
Sigmoid a Softmax
Proszę użyć sigmoid dla pojedynczego wyjścia typu tak lub nie. Softmax należy stosować wtedy, gdy klasy konkurują ze sobą i dokładnie jedna z kilku powinna wygrać.
Wybór zwycięzcy
Aby uzyskać przewidywaną klasę, należy wyznaczyć argmax dla wyjścia softmax. Ten indeks oznacza klasę o najwyższym prawdopodobieństwie.
pred = probs.argmax(dim=-1)Proszę uważać na wymiar
Zawsze należy ustawić właściwy dim, aby softmax normalizował wartości wzdłuż klas, a nie wzdłuż partii. Nieprawidłowa oś po cichu psuje prawdopodobieństwa.
Pomiń to podczas trenowania
Podczas trenowania zwykle nie stosuje się softmax samodzielnie. Funkcja straty entropii krzyżowej oczekuje surowych logitów i stosuje softmax wewnętrznie.
loss = F.cross_entropy(logits, target) # logits, not probsDlaczego to bezpieczniejsze
Połączenie softmax i logarytmu w jednej funkcji jest bardziej stabilne numerycznie. Ręczne wykonanie obu kroków może doprowadzić do przepełnienia albo utraty precyzji.
Temperatura reguluje ostrość
Dzielenie logitów przez temperaturę przed zastosowaniem softmax pozwala kontrolować pewność modelu. Niskie wartości wyostrzają maksimum, a wysokie je spłaszczają.
Szybkie sprawdzenie
Proszę zastanowić się, czego funkcja straty entropii krzyżowej oczekuje jako danych wejściowych.
Podsumowanie
Softmax przekształca logity w prawdopodobieństwa sumujące się do jedności, dlatego świetnie nadaje się do wyjścia wieloklasowego. Podczas trenowania należy jednak pozwolić, aby obsłużyła go entropia krzyżowa. 🏁
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 „Softmax dla prawdopodobieństw” jest bezpłatna?
Tak — pełny tekst „Softmax dla prawdopodobieństw” 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 „Softmax dla prawdopodobieństw”?
Zamieniać surowe wyniki na rozkład klas Ć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 4 z 4.
Ile czasu zajmuje lekcja „Softmax dla prawdopodobieństw”?
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
- Dlaczego nieliniowość odblokowuje prawdziwą moc
- ReLU oraz jej odmiany Leaky ReLU i GELU
- Sigmoid i Tanh: sprowadzanie do zakresu
- Softmax dla prawdopodobieństw