Softmax-funksjonen

I matematikk er softmax-funksjonen, eller den normaliserte eksponentielle funksjonen[1]:198, en generalisering av den logistiske funksjonen, som «skviser sammen» en K-dimensjonal vektor z {\displaystyle \mathbf {z} } av vilkårlige reelle verdier til en K-dimensjonal vektor σ ( z ) {\displaystyle \sigma (\mathbf {z} )} av reelle verdier i intervallet (0, 1) med sum 1. Funksjonen er gitt ved

σ ( z ) j = e z j k = 1 K e z k {\displaystyle \sigma (\mathbf {z} )_{j}={\frac {e^{z_{j}}}{\sum _{k=1}^{K}e^{z_{k}}}}}    for j = 1, …, K.

I sannsynlighetsteori blir output av softmax-funksjonen brukt til å representere en kategorisk fordeling – altså en sannsynlighetsfordeling over k ulike mulige utfall. Faktisk er det en gradient-log-normalisator av den kategoriske sannsynlighetsfordelingen.

Softmax-funksjonen blir brukt i ulike flerklassesklassifiseringsmetoder, som for eksempel multinomial logistisk regresjon,[1]:206–209 flerklasses lineær diskriminantanalyse, naiv Bayes-klassifikatorer, og kunstige nevrale nettverk.[2] I multinomial logistisk regresjon og lineær diskriminantanalyse er input til funksjonen resultatet av K forskjellige lineære funksjoner; da er den predikerte sannsynligheten for den j-te klassen gitt en vektor x for utvalget og en vektor w for vektingen lik:

P ( y = j | x ) = e x T w j k = 1 K e x T w k {\displaystyle P(y=j|\mathbf {x} )={\frac {e^{\mathbf {x} ^{\mathsf {T}}\mathbf {w} _{j}}}{\sum _{k=1}^{K}e^{\mathbf {x} ^{\mathsf {T}}\mathbf {w} _{k}}}}}

Dette kan sees på som sammensetningen (komposisjonen) av K lineære funksjoner x x T w 1 , , x x T w K {\displaystyle \mathbf {x} \mapsto \mathbf {x} ^{\mathsf {T}}\mathbf {w} _{1},\ldots ,\mathbf {x} \mapsto \mathbf {x} ^{\mathsf {T}}\mathbf {w} _{K}} og softmax-funksjonen (der x T w {\displaystyle \mathbf {x} ^{\mathsf {T}}\mathbf {w} } betegner det indre produktet av x {\displaystyle \mathbf {x} } og w {\displaystyle \mathbf {w} } ).

Eksempel

Hvis vi lar input være [1,2,3,4,1,2,3], vil softmax av det være [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]. Output har det meste av vekten der tallet 4 var i det opprinnelige input. Det er dette funksjonen normalt blir brukt til: å vektlegge den største verdien, og dempe verdier som er betydelig lavere enn maksimumsverdien.

Kunstige nevrale nettverk

Softmax-funksjonen blir ofte brukt i det siste laget av nevrale nettverk brukt i klassifiseringsproblemer. Slike nettverk er vanligvis trent med kryssentropi/logistisk tap, noe som gir en ikke-lineær variant av multinomial logistisk regresjon.

Siden softmax-funksjonen tilordner en vektor og en bestemt indeks j til en reell verdi, må derivasjonen ta høyde for indeksen:

q k σ ( q , i ) = = σ ( q , i ) ( δ i k σ ( q , k ) ) {\displaystyle {\frac {\partial }{\partial q_{k}}}\sigma ({\textbf {q}},i)=\dots =\sigma ({\textbf {q}},i)(\delta _{ik}-\sigma ({\textbf {q}},k))}

Her brukes Kronecker-deltaet for enkelthets skyld (jamfør den deriverte av en sigmoid-funksjon, som blir uttrykt via funksjonen selv).

Multinomial logit er en sannsynlighetsmodell som bruker softmax-aktiveringsfunksjonen.

Forsterkende læring

I feltet forsterkende læring brukes softmax funksjonen til å konvertere verdier til handlingssannsynligheter. Funksjonen som ofte brukes er:[3]

P t ( a ) = exp ( q t ( a ) / τ ) i = 1 n exp ( q t ( i ) / τ ) , {\displaystyle P_{t}(a)={\frac {\exp(q_{t}(a)/\tau )}{\sum _{i=1}^{n}\exp(q_{t}(i)/\tau )}}{\text{,}}}

der handlingsverdien q t ( a ) {\displaystyle q_{t}(a)} tilsvarer forventet belønning av en påfølgende handling a, og τ {\displaystyle \tau } kalles en temperaturparameter (jamfør statistisk mekanikk). For høye temperaturer ( τ {\displaystyle \tau \to \infty } ) har alle handlinger nesten samme sannsynlighet. Desto lavere temperaturen er, desto mer forventes belønninger å påvirke sannsynligheten. For en svært lav temperatur ( τ 0 + {\displaystyle \tau \to 0^{+}} ) vil sannsynligheten for en handling med høyest forventet belønning tendere mot 1.

Softmax-normalisering

Sigmoidal- eller softmax-normalisering lar deg redusere påvirkningen av ekstreme verdier eller utliggere i data uten å fjerne dem fra datasettet. Det er nyttig når vi ønsker å ta med utliggere i datasettet mens vi fortsatt bevarer betydningen av data innenfor et standardavvik fra gjennomsnittet. Data blir ikke-lineært transformert ved hjelp av en av de følgende sigmoidal-funksjonene.

Den logistiske sigmoid-funksjonen:[4]

x i 1 1 + e x i μ i σ i {\displaystyle x_{i}'\equiv {\frac {1}{1+e^{-{\frac {x_{i}-\mu _{i}}{\sigma _{i}}}}}}}

Den hyperbolske tangens-funksjonen, tanh:[5]

x i 1 e x i μ i σ i 1 + e x i μ i σ i {\displaystyle x_{i}'\equiv {\frac {1-e^{-{\frac {x_{i}-\mu _{i}}{\sigma _{i}}}}}{1+e^{-{\frac {x_{i}-\mu _{i}}{\sigma _{i}}}}}}}

Sigmoid-funksjonen begrenser rekkevidden av normalisert data til verdier mellom 0 og 1. Sigmoid-funksjonen er nesten lineær nær gjennomsnittet og har glatt ikke-linearitet på begge ytterpunktene, og sikrer at alle datapunkt er innenfor et begrenset område. Dette opprettholder oppløsningen for de fleste verdier innenfor et standardavvik over gjennomsnittet.

Den hyperbolske tangens-funksjonen, tanh, begrenser rekkevidden av normalisert data til verdier mellom -1 og 1. Den hyperbolske tangens-funksjonen er nesten lineær nær gjennomsnittet, men har en stigning på halvparten av sigmoid-funksjonen. Som sigmoid-funksjonen har den glatt, monoton ikke-linearitet i begge ytterpunktene. Og, som sigmoid-funksjonen, er den fortsatt deriverbar overalt og tegnet (+/-) på den deriverte (stigningen) er upåvirket av normalisering. Dette sikrer at algoritmer for optimalisering og numerisk integrasjon kan stole på derivat for å estimere endringer i output (normalisert verdi) produsert av endringer i input i regionen i nærheten av ethvert lineæriseringspunkt.

Forhold til Boltzmann-distribusjonen

Softmax-funksjonen er i tillegg sannsynligheten for at et atom blir funnet i en kvantetilstand med energi ϵ i {\displaystyle \epsilon _{i}} når atomet er en del av et ensemble som har nådd termisk likevekt med temperatur T {\displaystyle T} . Dette er kjent som Boltzmann-distribusjonen. Det forventede relative belegget til hver tilstand er e ϵ i k B T {\displaystyle e^{-{\frac {\epsilon _{i}}{k_{B}T}}}} og dette er normalisert slik at summen over energinivåene blir til 1. I denne analogien er input til softmax-funksjonen den negative energien til hver kvantetilstand delt på k B T {\displaystyle k_{B}T} .

Referanser

  1. ^ a b Bishop, Christopher M. Pattern Recognition and Machine Learning. Springer. 
  2. ^ ai-faq What is a softmax activation function?
  3. ^ Sutton, R. S. and Barto A. G. Reinforcement Learning: An Introduction.
  4. ^ Artificial Neural Networks: An Introduction. 
  5. ^ Artificial Neural Networks: An Introduction.