Funció softmax

Exemple de funció softmax.

La funció softmax, també coneguda com softargmax [1] :184o funció exponencial normalitzada,[2] :198converteix un vector de K nombres reals en una distribució de probabilitat de K possibles resultats. És una generalització de la funció logística a múltiples dimensions, i s'utilitza en regressió logística multinomial. La funció softmax s'usa sovint com l'última funció d'activació d'una xarxa neuronal per normalitzar la sortida d'una xarxa a una distribució de probabilitat sobre classes de sortida predites, basada en l'axioma d'elecció de Luce.[3]

La funció softmax pren com a entrada un vector z de K nombres reals i el normalitza en una distribució de probabilitats que consta de K probabilitats proporcionals a les exponencials dels nombres d'entrada. És a dir, abans d'aplicar softmax, alguns components vectorials podrien ser negatius o superiors a un; i podria no sumar 1; però després d'aplicar softmax, cada component estarà a l'interval ( 0 , 1 ) {\displaystyle (0,1)} , i els components sumaran 1, de manera que es puguin interpretar com a probabilitats. A més, els components d'entrada més grans correspondran a probabilitats més grans.

La funció estàndard (unitat) softmax σ : R K ( 0 , 1 ) K {\displaystyle \sigma :\mathbb {R} ^{K}\to (0,1)^{K}} es defineix quan K 1 {\displaystyle K\geq 1} amb la fórmula

σ ( z ) i = e z i j = 1 K e z j          for  i = 1 , , K  and  z = ( z 1 , , z K ) R K . {\displaystyle \sigma (\mathbf {z} )_{i}={\frac {e^{z_{i}}}{\sum _{j=1}^{K}e^{z_{j}}}}\ \ \ \ {\text{ for }}i=1,\dotsc ,K{\text{ and }}\mathbf {z} =(z_{1},\dotsc ,z_{K})\in \mathbb {R} ^{K}.}

En paraules senzilles, aplica la funció exponencial estàndard a cada element z i {\displaystyle z_{i}} del vector d'entrada z {\displaystyle \mathbf {z} } i normalitza aquests valors dividint per la suma de totes aquestes exponencials; aquesta normalització assegura que la suma de les components del vector de sortida σ ( z ) {\displaystyle \sigma (\mathbf {z} )} és 1.

En la teoria de la probabilitat, la sortida de la funció softargmax es pot utilitzar per a representar una distribució categòrica, és a dir, una distribució de probabilitat sobre K diferents resultats possibles.

La funció softmax s'utilitza en diversos mètodes de classificació multiclasse, com ara la regressió logística multinomial (també coneguda com a regressió softmax) [4] :206–209[1], anàlisi discriminant lineal multiclasse, classificadors Bayes ingenus i xarxes neuronals artificials.[5] Concretament, en regressió logística multinomial i anàlisi discriminant lineal, l'entrada a la funció és el resultat de K funcions lineals diferents, i la probabilitat prevista per a la classe j a partir d'un vector de mostra x i un vector de ponderació w és:

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

Referències

  1. Goodfellow, Ian. «6.2.2.3 Softmax Units for Multinoulli Output Distributions». A: Deep Learning. MIT Press, 2016, p. 180–184. ISBN 978-0-26203561-3. 
  2. Bishop, Christopher M. Pattern Recognition and Machine Learning. Springer, 2006. ISBN 0-387-31073-8. 
  3. «Softmax Function» (en anglès). https://deepai.org,+17-05-2019.+[Consulta: 31 octubre 2022].
  4. Bishop, Christopher M. Pattern Recognition and Machine Learning (en anglès). Springer, 2006. ISBN 0-387-31073-8. 
  5. ai-faq What is a softmax activation function?