Robocikowo>ROBOCIKOWO
Architektura

Softmax

1989AktywnyOpublikowany
Funkcja aktywacji normalizująca wektor liczb do rozkładu prawdopodobieństwa.
Kluczowa innowacja
Przekształca wektor surowych logitów w rozkład prawdopodobieństwa sumujący się do 1, umożliwiając interpretację wyjść sieci jako prawdopodobieństw klas.
Kategoria
Architektura
Poziom abstrakcji
Primitive
Poziom operacji
WarstwaInferencja
Zastosowania
Klasyfikacja wieloklasowaMechanizm uwagi w transformerachGenerowanie prawdopodobieństw tokenów w LLMNormalizacja wag w sieciach neuronowych

Jak działa

Dla wektora wejściowego z = [z₁, z₂, ..., zₙ], softmax oblicza: softmax(zᵢ) = exp(zᵢ) / Σⱼ exp(zⱼ). Eksponent sprawia, że większe wartości są wzmacniane, a suma normalizuje do 1. W mechanizmie uwagi transformerów softmax jest stosowany do macierzy iloczynów skalarnych Q·Kᵀ.

Rozwiązany problem

Surowe wyjście sieci neuronowej (logity) to liczby nieograniczone, które trudno interpretować jako prawdopodobieństwa. Softmax konwertuje je na poprawny rozkład prawdopodobieństwa (wartości 0–1 sumujące się do 1).

Implementacja

Pułapki implementacyjne
Numerical overflow bez log-sum-exp trickŚrednia

exp(x) dla x>709 przekracza float64 range — naiwne softmax(x) = exp(x)/sum(exp(x)) powoduje overflow lub underflow. Stabilna implementacja: softmax(x - max(x)).

Softmax saturuje przy skrajnych wartościachŚrednia

Gdy jeden logit jest znacznie większy od pozostałych, softmax zwraca wartości bliskie 0 lub 1 — gradienty zanikają. W attention mechanizmach prowadzi to do "attention collapse" (jeden token dominuje).

Ewolucja

Oryginalny paper · 1989 · David Rumelhart
A theoretical framework for back-propagation
David Rumelhart, Geoffrey Hinton, Ronald Williams

Paradygmat wykonania

Tryb główny
dense
Wzorzec aktywacji
all_paths_active

Równoległość

Poziom równoległości
fully_parallel
Zakres
inferencetraining