Softmax-funktion

Glat arg maxEdit

Se også: Arg max

Navnet “softmax” er misvisende; funktionen er ikke et glat maksimum (en glat tilnærmelse til maksimumfunktionen), men er snarere en glat tilnærmelse til arg max-funktionen: den funktion, hvis værdi er, hvilket indeks der har maksimum. Faktisk bruges udtrykket “softmax” også om den nært beslægtede LogSumExp-funktion, som er et glat maksimum. Af denne grund foretrækker nogle den mere præcise betegnelse “softargmax”, men betegnelsen “softmax” er konventionel inden for maskinlæring. I dette afsnit anvendes udtrykket “softargmax” for at understrege denne fortolkning.

Formelt set er det sådan, at i stedet for at betragte arg max som en funktion med kategorisk output 1 , … , n {\displaystyle 1,\dots ,n}

(svarende til indekset), betragter man arg max-funktionen med én-hot repræsentation af output (under forudsætning af, at der findes et unikt maksimum arg): a r g m a x ( z 1 , … , z n ) = ( y 1 , … , y n ) = ( 0 , … , 0 , 1 , 0 , 0 , … , 0 ) , {\displaystyle \operatornavn {arg\,max} (z_{1},\dots ,z_{n})=(y_{1},\dots ,y_{n})=(0,\dots ,0,1,0,0,\dots ,0),}

hvor udgangskoordinaten y i = 1 {\displaystyle y_{i}=1}

hvis og kun hvis i {\displaystyle i}

er arg max af ( z 1 , … , z n ) {\displaystyle (z_{1},\dots ,z_{n})}

, hvilket betyder z i {\displaystyle z_{i}}

er den unikke maksimale værdi af ( z 1 , … , z n ) {\displaystyle (z_{1},\dots ,z_{n})}

. I denne kodning er f.eks. a r g m a x ( 1 , 5 , 10 ) = ( 0 , 0 , 1 ) , {\displaystyle \operatornavn {arg\,max} (1,5,10)=(0,0,1),}

, da det tredje argument er det maksimale.

Dette kan generaliseres til flere arg max-værdier (flere lige store z i {\displaystyle z_{i}}

være maksimum) ved at dividere 1 mellem alle arg max args; formelt 1/k hvor k er antallet af argumenter, der antager maksimum. F.eks. a r g m a x ( 1 , 5 , 5 ) = ( 0 , 1 / 2 , 1 / 2 ) , {\displaystyle \operatornavn {arg\,max} (1,5,5)=(0,1/2,1/2),}

, da det andet og det tredje argument begge er maksimum. I tilfælde af at alle argumenter er lige store, er det blot a r g m a x ( z , … , z ) = ( 1 / n , … , 1 / n ) . {\displaystyle \operatornavn {arg\,max} (z,\dots ,z)=(1/n,\dots ,1/n).}

Punkter z med flere arg max-værdier er singulære punkter (eller singulariteter, og udgør singulærmængden) – det er de punkter, hvor arg max er diskontinuerlig (med en springdiskontinuitet) – mens punkter med en enkelt arg max er kendt som ikke-singulære eller regelmæssige punkter.

Med det sidste udtryk, der blev givet i indledningen, er softargmax nu en glat tilnærmelse af arg max: som β → ∞ {\displaystyle \beta \til \infty }

, konvergerer softargmax mod arg max. Der findes forskellige begreber for konvergens af en funktion; softargmax konvergerer punktvis mod arg max, hvilket betyder, at for hvert fast input z som β → ∞ {\displaystyle \beta \til \infty }

, σ β ( z ) → a r g m a x ( z ) . {\displaystyle \sigma _{\beta }(\mathbf {z} )\to \operatorname {arg\,max} (\mathbf {z} ).}

Softargmax konvergerer imidlertid ikke ensartet mod arg max, hvilket intuitivt betyder, at forskellige punkter konvergerer med forskellig hastighed og kan konvergere vilkårligt langsomt. Faktisk er softargmax kontinuert, men arg max er ikke kontinuert på den singulære mængde, hvor to koordinater er lige store, mens den ensartede grænse for kontinuerte funktioner er kontinuert. At den ikke konvergerer ensartet skyldes, at for input, hvor to koordinater er næsten lige store (og den ene er maksimum), er arg max indekset for den ene eller den anden, så en lille ændring i input giver en stor ændring i output. For eksempel σ β ( 1 , 1.0001 ) → ( 0 , 1 ) , {\displaystyle \sigma _{\beta }(1,1.0001)\til (0,1),}

, men σ β ( 1 , 0.9999 ) → ( 1 , 0 ) , {\displaystyle \sigma _{\beta }(1,0.9999)\til (1,0),}

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

for alle indgange: jo tættere punkterne er på den singulære mængde ( x , x ) {\displaystyle (x,x)}

, jo langsommere konvergerer de. Softargmax konvergerer dog kompakt på den ikke-singulære mængde.

Og omvendt, da β → – ∞ {\displaystyle \beta \til -\infty }

, konvergerer softargmax til arg min på samme måde, hvor den singulære mængde her er punkter med to arg min-værdier. I sproget for tropisk analyse er softmax en deformation eller “kvantisering” af arg max og arg min, svarende til at bruge log semiring i stedet for max-plus semiring (henholdsvis min-plus semiring), og at genvinde arg max eller arg min ved at tage grænsen kaldes “tropicalization” eller “dequantization”.

Det er også tilfældet, at for ethvert fast β, hvis man indtaster z i {\displaystyle z_{i}}

er meget større end de andre i forhold til temperaturen, T = 1 / β {\displaystyle T=1/\beta }

, er resultatet omtrent arg max. F.eks. er en forskel på 10 stor i forhold til en temperatur på 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})\right)\approx (0.00005,0.99995)}

Hvis forskellen er lille i forhold til temperaturen, er værdien imidlertid ikke tæt på arg max. F.eks. er en forskel på 10 lille i forhold til en temperatur på 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 β → ∞ {\displaystyle \beta \to \infty }

, går temperaturen til nul, T = 1 / β → 0 {\displaystyle T=1/\beta \to 0}

, så til sidst bliver alle forskelle store (i forhold til en krympende temperatur), hvilket giver en anden fortolkning af grænseadfærden.

SandsynlighedsteoriRediger

I sandsynlighedsteori kan output af softargmax-funktionen bruges til at repræsentere en kategorisk fordeling – dvs. en sandsynlighedsfordeling over K forskellige mulige udfald.

Statistisk mekanikRediger

I statistisk mekanik er softargmax-funktionen kendt som Boltzmann-fordelingen (eller Gibbs-fordelingen)::7 indeksmængden 1 , … , k {\displaystyle {1,\dots ,k}}

er systemets mikrotilstande; indgangene z i {\displaystyle z_{i}}

er energierne for den pågældende tilstand; nævneren er kendt som fordelingsfunktionen, ofte angivet med Z; og faktoren β kaldes kulden (eller termodynamisk beta eller omvendt temperatur).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.