Funkcja softmax

Gładkie arg maxEdit

Zobacz także: Arg max

Nazwa „softmax” jest myląca; funkcja nie jest gładkim maksimum (gładkim przybliżeniem do funkcji maksimum), ale jest raczej gładkim przybliżeniem do funkcji arg max: funkcji, której wartością jest to, który indeks ma maksimum. W rzeczywistości termin „softmax” jest również używany dla ściśle powiązanej funkcji LogSumExp, która jest gładkim maksimum. Z tego powodu niektórzy wolą bardziej dokładne określenie „softargmax”, ale termin „softmax” jest konwencjonalny w uczeniu maszynowym. W tej sekcji termin „softargmax” jest używany w celu podkreślenia tej interpretacji.

Praktycznie, zamiast rozważać arg max jako funkcję z kategorycznym wyjściem 1 , … , n {{displaystyle 1,\dots ,n}

(odpowiadającej indeksowi), rozważmy funkcję arg max z jednopotokową reprezentacją wyjścia (zakładając, że istnieje unikalne maksimum arg): a r g m a x ( z 1 , … , z n ) = ( y 1 , … , y n ) = ( 0 , … , 0 , 1 , 0 , … , 0 ) , { {displaystyle {arg max} (z_{1},z_{n})=(y_{1},z_{n})=(0,z_{n},0,1,0,z_{n},0),}

gdzie współrzędna wyjściowa y i = 1 {displaystyle y_{i}=1}

wtedy i tylko wtedy, gdy i {displaystyle}

jest arg max z ( z 1 , … , z n ) { {displaystyle (z_{1},z_{n})}

, co oznacza z i {displaystyle z_{i}}

jest unikalną maksymalną wartością ( z 1 , … , z n ) { {displaystyle (z_{1},\dots ,z_{n}})}

. Na przykład, w tym kodowaniu a r g m a x ( 1 , 5 , 10 ) = ( 0 , 0 , 1 ) , {displaystyle {arg, max} (1,5,10)=(0,0,1),}

ponieważ trzeci argument jest maksymalny.

Można to uogólnić na wiele wartości arg max (wiele równych z i {{i}}

będących maksimum) przez podzielenie 1 między wszystkie argumenty max; formalnie 1/k gdzie k jest liczbą argumentów przyjmujących maksimum. Na przykład, a r g m a x ( 1 , 5 , 5 ) = ( 0 , 1 / 2 , 1 / 2 ) , { {arg } (1,5,5)=(0,1/2,1/2),}

ponieważ zarówno drugi, jak i trzeci argument są maksymalne. W przypadku, gdy wszystkie argumenty są równe, jest to po prostu a r g m a x ( z , … , z ) = ( 1 / n , … , 1 / n ) . { {argumenty ,max} (z ,z)=(1/n ,1/n).}

Punkty z z wieloma wartościami arg max są punktami singularnymi (lub osobliwościami i tworzą zbiór singularny) – są to punkty, w których arg max jest nieciągły (z nieciągłością skokową) – natomiast punkty z pojedynczym arg max są znane jako punkty niesingularne lub regularne.

Dzięki ostatniemu wyrażeniu podanemu we wstępie, softargmax jest teraz gładkim przybliżeniem arg max: jako β → ∞ {{displaystyle ∞ }

, softargmax jest zbieżny do arg max. Istnieją różne pojęcia zbieżności funkcji; softargmax zbiega do arg max punktowo, co oznacza, że dla każdego ustalonego wejścia z jako β → ∞ {displaystyle \beta \ do \infty }

, σ β ( z ) → a r g m a x ( z ) . {{displaystyle \sigma _{beta }(\mathbf {z} )\ do \operatorname {\i0,max} (\mathbf {z} ).} ale σ β ( 1 , 0.9999 ) → ( 1 , 0 ) , { {

ale σ β ( 1 , 0999 ) → ( 1 , 0 ) , {

ale σ β ( 1 , 0999 ) → ( 1 , 0 ) , {

ale σ β ( 1 , 0999 ) → ( 1 , 0.9999)do (1,0),}

i σ β ( 1 , 1 ) = 1 / 2 {displaystyle \sigma _{beta }(1,1)=1/2}

dla wszystkich danych wejściowych: im punkty są bliżej zbioru osobliwego ( x , x ) {displaystyle (x,x)}

, tym wolniej się zbiegają. Jednak softargmax jest zbieżny kompaktowo na zbiorze niesingularnym.

Odwrotnie, gdy β → – ∞ }

, softargmax zbiega do arg min w ten sam sposób, przy czym tutaj zbiorem osobliwym są punkty o dwóch wartościach arg min. W języku analizy tropikalnej, softargmax jest deformacją lub „kwantyzacją” arg max i arg min, odpowiadającą użyciu semioryzacji logicznej zamiast semioryzacji max-plus (odpowiednio min-plus semioryzacji), a odzyskanie arg max lub arg min przez przyjęcie granicy nazywa się „tropikalizacją” lub „dequantyzacją”.

Jest też tak, że dla dowolnego ustalonego β, jeśli wprowadzimy z i {{i}}

jest znacznie większe od pozostałych w stosunku do temperatury, T = 1 / β { {displaystyle T=1/\beta }

, wartość wyjściowa jest w przybliżeniu arg max. Na przykład, różnica 10 jest duża w stosunku do temperatury 1: σ ( 0 , 10 ) := σ 1 ( 0 , 10 ) = ( 1 / ( 1 + e 10 ) , e 10 / ( 1 + e 10 ) ≈ ( 0.00005 , 0.99995 ) { {displaystyle \sigma (0,10):= \sigma _{1}(0,10)= \left(1/(1+e^{10}),e^{10}/(1+e^{10})\prawda)\approx (0,00005,0,99995)}

Jednakże, jeśli różnica jest mała w stosunku do temperatury, wartość nie jest bliska arg max. Na przykład różnica 10 jest mała w stosunku do temperatury 100:

σ 1 / 100 ( 0 , 10 ) = ( 1 / ( 1 + e 1 / 10 ) , e 1 / 10 / ( 1 + e 1 / 10 ) ≈ ( 0.475 , 0.525 ) . {\displaystyle \sigma _{1/100}(0,10)=\left(1/(1+e^{1/10}),e^{1/10}/(1+e^{1/10})\right)\approx (0.475,0.525).}

As β → ∞ {przyp. tłum.}

, temperatura dąży do zera, T = 1 / β → 0 {displaystyle T=1/ β → 0}

, więc ostatecznie wszystkie różnice stają się duże (względem kurczącej się temperatury), co daje inną interpretację zachowania granicznego.

Teoria prawdopodobieństwaEdit

W teorii prawdopodobieństwa, wyjście funkcji softargmax może być użyte do reprezentowania rozkładu kategorycznego – to jest rozkładu prawdopodobieństwa na K różnych możliwych wyników.

Mechanika statystycznaEdit

W mechanice statystycznej funkcja softargmax jest znana jako rozkład Boltzmanna (lub rozkład Gibbsa)::7 zbiór indeksów 1 , … , k {{\i1,\i0,\i0,k}}

to mikrostany układu; wejścia z i {displaystyle z_{i}}

są energiami tego stanu; mianownik jest znany jako funkcja podziału, często oznaczany przez Z; a czynnik β jest nazywany zimnem (lub termodynamicznym beta, lub odwrotnością temperatury).

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.