Softmax-funksjonen

Fra testwiki
Hopp til navigering Hopp til søk

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

σ(𝐳)j=ezjk=1Kezk    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]Mal:Rp 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|𝐱)=e𝐱𝖳𝐰jk=1Ke𝐱𝖳𝐰k

Dette kan sees på som sammensetningen (komposisjonen) av K lineære funksjoner 𝐱𝐱𝖳𝐰1,,𝐱𝐱𝖳𝐰K og softmax-funksjonen (der 𝐱𝖳𝐰 betegner det indre produktet av 𝐱 og 𝐰).

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:

qkσ(q,i)==σ(q,i)(δikσ(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]

Pt(a)=exp(qt(a)/τ)i=1nexp(qt(i)/τ),

der handlingsverdien qt(a) tilsvarer forventet belønning av en påfølgende handling a, og τ kalles en temperaturparameter (jamfør statistisk mekanikk). For høye temperaturer (τ) 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+) 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]

xi11+exiμiσi

Den hyperbolske tangens-funksjonen, tanh:[5]

xi1exiμiσi1+exiμiσ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 når atomet er en del av et ensemble som har nådd termisk likevekt med temperatur T. Dette er kjent som Boltzmann-distribusjonen. Det forventede relative belegget til hver tilstand er eϵikBT 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å kBT.

Referanser

  1. 1,0 1,1 Mal:Kilde bok
  2. ai-faq What is a softmax activation function?
  3. Sutton, R. S. and Barto A. G. Reinforcement Learning: An Introduction.
  4. Mal:Kilde bok
  5. Mal:Kilde bok