Ugrás a tartalomhoz

softmax function

A Wikiszótárból, a nyitott szótárból


Főnév

softmax function (tsz. softmax functions)

  1. (informatika) softmax függvény

A softmax függvény egy matematikai függvény, amelyet széles körben alkalmaznak a gépi tanulásban, különösen klasszifikációs problémáknál. Fő célja, hogy egy valós számokat tartalmazó vektort valószínűségi eloszlássá alakítson. Ez azt jelenti, hogy minden kimeneti érték:

  • pozitív lesz,
  • és az összegük pontosan 1.



Alapdefiníció

Legyen adott egy valós számokat tartalmazó vektor:

𝐳=[z1,z2,,zK]

A softmax függvény minden zi-hez a következő értéket rendeli:

softmax(zi)=ezij=1Kezj

Ez azt jelenti, hogy minden komponens exponenciális értékét vesszük, és elosztjuk az összes komponens exponenciális összegével.



Intuíció

  • Az exponenciálás kiemeli a nagyobb értékeket.
  • Az összeggel való osztás garantálja, hogy a végeredmény normalizált valószínűségeloszlás lesz.

Ha pl. egy neurális háló utolsó rétegének kimenete:

[2.0,1.0,0.1]

akkor softmax után kb. így alakul:

[0.65,0.24,0.11]

A legnagyobb kimenethez a legnagyobb valószínűség tartozik.



Alkalmazás a gépi tanulásban

1. Többosztályos klasszifikáció

A softmax az utolsó réteg aktivációja, ha a modell több kategória közül választ (pl. képfelismerés: macska, kutya, autó…).

2. Cross-entropy veszteség (loss)

A softmax kimenete együtt használható a keresztentrópia veszteségfüggvénnyel, ami összehasonlítja a modell által adott valószínűségi eloszlást a valódi (one-hot) címkével.

3. Valószínűségi értelmezés

A softmax révén minden kimenet értelmezhető úgy, mint annak valószínűsége, hogy a bemenet egy adott osztályba tartozik.



Numerikus stabilitás – trükk

A nagy értékek miatt előfordulhat túlcsordulás (overflow) az exponenciálásnál. Ezért gyakori technika:

softmax(zi)=ezimax(z)jezjmax(z)

Ez nem változtatja meg az eredményt, de csökkenti a számítási hibát.



Példa (kézzel számolva)

Legyen:

z=[3.0,1.0,0.2]

Először:

e3.0=20.09,e1.0=2.72,e0.2=1.22

Összeg:

20.09+2.72+1.22=24.03

Softmax értékek:

Értelmezés sikertelen (formai hiba): {\displaystyle \left[\frac{20.09}{24.03}, \frac{2.72}{24.03}, \frac{1.22}{24.03}\right] ≈ [0.836, 0.113, 0.051] }



Deriváltja (gradiens)

A softmax függvény deriváltját gyakran kell számolni a visszaterjesztés (backpropagation) során.

A derivált mátrix (Jacobi-mátrix):

softmaxizj=softmaxi(δijsoftmaxj)

Ahol δij a Kronecker-delta (1, ha i=j, egyébként 0).



Összefoglalás

Tulajdonság Részletek
Bemenet Valós számok vektora
Kimenet Valószínűségek vektora (mindegyik ≥ 0, összegük = 1)
Leggyakoribb alkalmazás Többosztályos klasszifikáció
Előnye Könnyen értelmezhető valószínűségi kimenet
Hátránya Túl magabiztossá teheti a modellt (túlzottan éles eloszlás)