Pourquoi utiliser softmax, par opposition à la norme de normalisation?
Dans la couche de sortie du réseau de neurones, il est typique de l'utilisation de la fonction softmax de se rapprocher de la distribution de probabilité:
C'est onéreux en raison de la exposants. Pourquoi ne pas tout simplement effectuer une transformée en Z de sorte que toutes les sorties sont positifs, puis normaliser simplement en divisant toutes les sorties par la somme de toutes les sorties?
- La fonction n'est pas onéreux en raison des exposants, mais parce que vous avez besoin de calculer chaque qj. L'exponentiation est bon marché par rapport au total de la quantité de calcul nécessaire.
Vous devez vous connecter pour publier un commentaire.
Il y a une belle attribut de Softmax que par rapport à la norme de la normalisation.
Il réagir à la stimulation faible (pensez floues de l'image) de votre réseau neuronal avec plutôt une distribution uniforme et élevé de stimulation (ie. un grand nombre, penser netteté d'image) avec des probabilités proches de 0 et de 1.
Alors que la norme de normalisation ne se soucie pas tant que la proportion est la même.
Regardez ce qui arrive quand les doux max a 10 fois plus grande entrée, c'est à dire votre réseau neuronal a obtenu une image nette et beaucoup de neurones sont activés
Puis à les comparer avec les standards de normalisation
J'ai eu cette question pendant des mois. Il semble que nous juste habilement deviné la softmax comme une fonction de sortie et d'interpréter l'entrée de la softmax que journal des probabilités. Comme vous l'avez dit, pourquoi ne pas simplement de normaliser toutes les sorties en les divisant par leur somme? J'ai trouvé la réponse dans le L'Apprentissage en profondeur livre par Goodfellow, Bengio et Courville (2016) dans la section 6.2.2.
Disons notre dernière couche cachée nous donne z comme une activation. Puis le softmax est défini comme
Très Courte Explication
L'exp dans la fonction softmax environ annule le journal de l'entropie croisée causant la perte à peu près linéaire en z_i. Cela conduit à peu près à inclinaison constante, lorsque le modèle est faux, lui permettant de se corriger rapidement. Par conséquent, une mauvaise saturé softmax ne pas provoquer une fuite de gradient.
Courte Explication
La méthode la plus populaire pour former un réseau de neurones est l'Estimation du Maximum de Vraisemblance. Nous estimons les paramètres thêta d'une manière qui maximise la probabilité de la formation de données (de taille m). Parce que la probabilité de l'ensemble de l'ensemble de données d'apprentissage est un produit des probabilités de chaque échantillon, il est plus facile de maximiser la la log-vraisemblance de la base de données et donc la somme de la log-vraisemblance de chaque échantillon indexées par k:
Maintenant, nous nous concentrons uniquement sur la softmax ici avec z déjà donné, donc nous pouvons remplacer
avec je la classe correcte de la k-ième échantillon. Maintenant, nous voyons que lorsque nous prenons le logarithme de la softmax, pour calculer l'exemple de la log-vraisemblance, nous obtenons:
qui pour de grandes différences dans la z se rapproche à peu près à
La première, nous voyons le linéaire de la composante z_i ici. Deuxièmement, nous pouvons examiner le comportement de max(z) pour les deux cas:
Nous voyons que l'ensemble de la log-vraisemblance sera dominé par des échantillons, où le modèle est incorrect. Aussi, même si le modèle est vraiment incorrect, ce qui conduit à une saturé softmax, la perte de fonction ne sature pas. Il est à peu près linéaire en z_j, ce qui signifie que nous avons un peu près constante dégradé. Cela permet au modèle de corriger lui-même rapidement. Notez que ce n'est pas le cas pour l'Erreur Quadratique Moyenne par exemple.
Longue Explication
Si le softmax semble encore comme un choix arbitraire pour vous, vous pouvez prendre un coup d'oeil à la justification de l'utilisation de la sigmoïde dans la régression logistique:
Pourquoi la fonction sigmoïde au lieu de quelque chose d'autre?
La softmax est la généralisation de la sigmoïde pour le multi-classe des problèmes justifiée par analogie.
J'ai trouvé l'explication ici pour être très bon: CS231n: Convolutifs Réseaux de Neurones pour la Reconnaissance Visuelle.
Sur la surface de la softmax algorithme semble être un simple non-linéaire (nous sommes en répartissant les données avec exponentielle) la normalisation. Cependant, il est plus que cela.
Spécifiquement, il ya un couple de différents points de vue (même lien que ci-dessus):
La Théorie de l'Information - du point de vue de la théorie de l'information la fonction softmax peut être vu que d'essayer de minimiser l'entropie croisée entre les prédictions et la vérité.
Vision probabiliste - de ce point de vue, nous sommes en fait en regardant le journal de probabilités, donc, lorsque nous procédons à l'exponentiation nous nous retrouvons avec les premières probabilités. Dans ce cas, le softmax équation de trouver la MLE (Maximum likelihood Estimation)
En résumé, même si le softmax équation semble comme il pourrait être arbitraire, il ne l'est PAS. Il est en fait plutôt un moyen de principes de normaliser les classifications pour minimiser l'entropie croisée/vraisemblance négatif entre les prédictions et la vérité.
Les valeurs de q_i représentent journal-probabilités. Afin de récupérer les valeurs de probabilité, vous avez besoin de exponentiate eux.
L'une des raisons statistiques, les algorithmes utilisent souvent la log-vraisemblance de la perte des fonctions, c'est qu'ils sont numériquement plus stable: un produit de probabilités peut être représentée être un très petit nombre à virgule flottante. À l'aide d'un log-vraisemblance de perte de fonction, un produit de probabilités devient une somme.
Une autre raison est que le journal-les probabilités se produisent naturellement quand découlant des estimateurs pour les variables aléatoires qui sont supposés être tirées de multivariée des distributions Gaussiennes. Voir, par exemple, le Maximum de Vraisemblance (ML) estimateur et la façon dont il est connecté à la méthode des moindres carrés.
Au passage, je pense que cette question est plus approprié pour le CS de la Théorie ou de la Science Computationnelle de la Pile des Échanges.
Je pense que l'une des raisons peut-être de traiter avec les nombres négatifs et la division par zéro, puisque exp(x) est toujours positif et supérieur à zéro.
Par exemple pour
a = [-2, -1, 1, 2]
la somme sera de 0, on peut utiliser softmax pour éviter la division par zéro.[0, 1, 3, 4]
puis en la divisant.Supposons que nous modifions la fonction softmax la sortie des activations sont donnés par
où
c
est une constante positive. Notez quec=1
correspond à la norme de la fonction softmax. Mais si l'on utilise une valeur différente dec
nous obtenons une autre fonction, qui est néanmoins qualitativement assez semblables à ceux de la softmax. En particulier, montrer que la sortie des activations forme d'une distribution de probabilité, comme d'habitude softmax. Supposons que nous permettrec
pour devenir grand, c'est à dire,c→∞
. Quelle est la valeur limite pour la sortie des activationsa^L_j
? Après la résolution de ce problème, il devrait être clair pour vous ce pourquoi nous pensons que de lac=1
fonctionner comme une version "adoucie" de la valeur maximale de la fonction. C'est l'origine du terme "softmax". Vous pouvez suivre les détails de cette source (équation 83).Nous sommes à la recherche à un multi-problème de classement. La prédite de la variable
y
peut prendre l'une desk
catégories, oùk > 2
. En théorie des probabilités, c'est une distribution multinomiale, et de la distribution multinomiale appartient à une grande famille appelée exponentielle de la famille. Selon la propriété de l'exponentielle les distributions de la famille, nous reconstruisons la probabilité deP(k=?|x)
, il coïncide avec le softmax formule.Pour de plus amples informations et une preuve formelle, reportez-vous à CS229 notes de cours (Softmax de Régression).
Une astuce utile effectue habituellement à softmax: softmax(x) = softmax(x+c), qui est, softmax est invariant à la constante de décalage de l'entrée.
De "Une Exploration de Softmax Alternatives Appartenant à la partie Sphérique de la Perte de la Famille" https://arxiv.org/abs/1511.05042
Les auteurs ont exploré certaines autres fonctions parmi lesquelles: l'expansion de Taylor
exp
et de soi-disant sphérique softmax et a trouvé que, parfois, ils peuvent effectuer au mieux que d'habitudesoftmax
.L'ajout de Piotr Czapla réponse, la plus grande des valeurs d'entrée, plus grande est la probabilité pour que le maximum d'entrée, pour la même proportion, et par rapport aux autres entrées: