Deep Learning Academy · Lekcja

Softmax dla prawdopodobieństw

Zamieniać surowe wyniki na rozkład klas

Lekcja 4 z 413 kroki

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 probs

Dlaczego 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. 🏁

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 „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

  1. Dlaczego nieliniowość odblokowuje prawdziwą moc
  2. ReLU oraz jej odmiany Leaky ReLU i GELU
  3. Sigmoid i Tanh: sprowadzanie do zakresu
  4. Softmax dla prawdopodobieństw
← Powrót do Deep Learning Academy