Quelle est la signification du lien entre MLE et entropie croisée dans l'apprentissage profond?


12

Je comprends que, étant donné un ensemble de observations indépendantes l' estimateur du maximum de vraisemblance (ou, de manière équivalente, le MAP avec a priori plat / uniforme) qui identifie les paramètres \ mathbf {θ} qui produisent la distribution du modèle p_ {modèle} \ gauche (\, \ cdot \,; \ mathbf {θ} \ droite) qui correspond le mieux à ces observations seramO={o(1),...,o(m)}θpmodel(;θ)

θML(O)=pmodel(O;θ)=argmaxθi=1mpmodel(o(i);θ)

ou, plus commodément

θML(O)=argminθi=1mlogpmodel(o(i);θ)

et voyez le rôle que θML peut jouer dans la définition d'une fonction de perte pour les réseaux de neurones profonds multi-classes, dans laquelle θ correspond aux paramètres entraînables du réseau (par exemple, θ={W,b}) et les observations sont les paires d'activations d'entrée x et les étiquettes de classe correctes correspondantes y[1,k] , o(i) = { x(i),y(i) }, en prenant

pmodel(o(i);θ)pmodel(y(i)|x(i);θ)


Ce que je ne comprends pas, c'est comment cela se rapporte à la soi-disant «entropie croisée» de la sortie correcte (vectorisée), , et aux activations de sortie correspondantes du réseau, qui est utilisé dans la pratique en cas d' erreur de mesure / perte lors de la formation . Il existe plusieurs problèmes connexes:y(i)a(x(i);θ)

H(o(i);θ)=y(i)loga(x(i);θ)


Activations "comme probabilités"

L'une des étapes de l'établissement de la relation entre MLE et entropie croisée consiste à utiliser les activations de sortie "comme si" elles étaient des probabilités. Mais il n'est pas clair pour moi qu'ils le sont, ou du moins qu'ils le sont .all

En calculant l'erreur d'apprentissage - en particulier, en l'appelant une "perte d'entropie croisée" - on suppose que (après normalisation des activations pour additionner à 1)

(1)pmodel(o(i);θ)ay(i)(x(i);θ)

ou

logpmodel(o(i);θ)=logay(i)(x(i);θ)

afin que nous puissions écrire

(3)logpmodel(o(i);θ)=y(i)loga(x(i);θ)

Et ainsi

θML(O)=argminθi=1mH(o(i);θ)

Mais alors que cela fait certainement de une probabilité (dans la mesure où tout est), il n'impose aucune restriction sur les autres activations.ay(i)(x(i);θML)

Peut-on vraiment dire que vraiment des PMF dans ce cas? Y a-t-il quelque chose qui rend les pas en fait des probabilités (et simplement les "aiment") )?ay(i)(x(i);θML)ay(i)(x(i);θML)


Limitation à la catégorisation

L'étape cruciale ci-dessus pour assimiler MLE à entropie croisée repose entièrement sur la structure "one-hot" de qui caractérise un problème d'apprentissage multi-classe (à une seule étiquette). Toute autre structure du rendrait impossible le passage de à .y(i)y(i)(1)(3)

L'équation de la minimisation MLE et de l'entropie croisée est-elle limitée aux cas où les sont "à chaud"? y(i)


Différentes probabilités de formation et de prédiction

Lors de la prédiction, il est presque toujours vrai que

(2)pmodel(y(i)|x(i);θ)P(argmaxj[1,k]aj(x(i);θ)=y(i))

ce qui se traduit par des probabilités de prédiction correctes qui sont différentes des probabilités apprises au cours de la formation, sauf s'il est fiable que

ay(i)(x(i);θML)=P(argmaxj[1,k]aj(x(i);θML)=y(i))

Est-ce jamais le cas de manière fiable? Est-ce probablement au moins approximativement vrai? Ou existe-t-il un autre argument qui justifie cette équation de la valeur de l'activation apprise à la position de l'étiquette avec la probabilité que la valeur maximale des activations apprises se produise là?


Entropie et théorie de l'information

Même en supposant que les problèmes ci-dessus sont résolus et que les activations sont des PMF valides (ou peuvent être traitées de manière significative comme telles), de sorte que le rôle joué par l'entropie croisée dans le calcul ne pose pas de problème, il n'est pas clair de moi pourquoi il est utile ou significatif de parler de l'entropie de , puisque l'entropie de Shanon s'applique à un type d'encodage , qui n'est pas celui utilisé dans la formation du réseau.θMLa(x(i);θML)

Quel rôle l'entropie théorique de l'information joue-t-elle dans l'interprétation de la fonction de coût, au lieu de simplement fournir un outil (sous forme d'entropie croisée) pour en calculer un (qui correspond à MLE)?

Réponses:


5

Les réseaux de neurones ne donnent pas nécessairement des probabilités en tant que sorties, mais ils peuvent être conçus pour cela. Pour être interprété comme des probabilités, un ensemble de valeurs doit être non négatif et somme à un. Concevoir un réseau pour produire des probabilités revient généralement à choisir une couche de sortie qui impose ces contraintes. Par exemple, dans un problème de classification avec classes, un choix commun est une couche de sortie softmax avec unités. La fonction softmax force les sorties à être négatives et à faire une somme. La ème unité de sortie donne la probabilité que la classe soit . Pour les problèmes de classification binaire, un autre choix populaire consiste à utiliser une seule unité de sortie avec logistiquekkjjfonction d'activation. La sortie de la fonction logistique est comprise entre zéro et un, et donne la probabilité que la classe soit 1. La probabilité que la classe soit 0 est implicitement un moins cette valeur. Si le réseau ne contient aucune couche cachée, ces deux exemples sont équivalents à la régression logistique multinomiale et à la régression logistique , respectivement.

L'entropie croisée mesure la différence entre deux distributions de probabilité et . Lorsque l'entropie croisée est utilisée comme fonction de perte pour les classificateurs discriminants, et sont des distributions sur les étiquettes de classe, étant donné l'entrée (c'est-à-dire un point de données particulier). est la distribution «vraie» et est la distribution prédite par le modèle. Dans les problèmes de classification typiques, chaque entrée de l'ensemble de données est associée à une étiquette entière représentant la vraie classe. Dans ce cas, nous utilisons la distribution empirique pourH(p,q)pqpqpqp. Cela affecte simplement la probabilité 1 à la vraie classe d'un point de données et la probabilité 0 à toutes les autres classes. est la distribution des probabilités de classe prédite par le réseau (par exemple, comme décrit ci-dessus).q

Supposons que les données sont iid, est la distribution empirique et est la distribution prédite (pour le ème point de données). Ensuite, minimiser la perte d'entropie croisée (c'est-à-dire moyennée sur les points de données) équivaut à maximiser la probabilité des données. La preuve est relativement simple. L'idée de base est de montrer que la perte d'entropie croisée est proportionnelle à une somme de probabilités log-prédites négatives des points de données. Cela ressort parfaitement à cause de la forme de la distribution empirique.piqiiH(pi,qi)

La perte d'entropie croisée peut également être appliquée plus généralement. Par exemple, dans les problèmes de «classification douce», on nous donne des distributions sur des étiquettes de classe plutôt que sur des étiquettes de classe dures (donc nous n'utilisons pas la distribution empirique). Je décris comment utiliser la perte d'entropie croisée dans ce cas ici .

Pour répondre à certains autres détails de votre question:

Différentes probabilités de formation et de prédiction

Il semble que vous trouviez l'unité de sortie avec une activation maximale et que vous la compariez à l'étiquette de classe. Ceci n'est pas fait pour l'entraînement utilisant la perte d'entropie croisée. Au lieu de cela, les probabilités produites par le modèle sont comparées aux probabilités «vraies» (généralement considérées comme la distribution empirique).

L'entropie de Shanon s'applique à un type spécifique d'encodage, qui n'est pas celui utilisé dans la formation du réseau.

L'entropie croisée peut être interprétée comme le nombre de bits par message nécessaires (en moyenne) pour coder les événements tirés de la vraie distribution , si vous utilisez un code optimal pour la distribution . L'entropie croisée prend une valeur minimale de (l'entropie de Shannon de ) lorsque . Meilleure est la correspondance entre etH(p,q)pqH(p)pq=pqp, plus la longueur du message est courte. L'entraînement d'un modèle pour minimiser l'entropie croisée peut être vu comme l'entraînement pour mieux approximer la vraie distribution. Dans les problèmes d'apprentissage supervisé comme nous en avons discuté, le modèle donne une distribution de probabilité sur les sorties possibles, compte tenu de l'entrée. La recherche explicite de codes optimaux pour la distribution ne fait pas partie du processus.


"Cela ne se fait pas pour la formation utilisant la perte d'entropie croisée." C'est exactement ce que font les API comme TensorFlow softmax_cross_entropy_with_logits: elles calculent et donc qui définit un réseau "conçu pour" produire des probabilités (au moins à l'emplacement de l'étiquette). Non? argminθi=1mH(o(i);θ)θML(O)
orome

Oui, l'entropie croisée est minimisée et la probabilité est maximisée (au moins localement). Dans cette phrase, je faisais référence aux équations de la section "Différentes probabilités de formation et de prédiction". En y repensant, je ne comprends pas exactement ce que vous voulez dire avec ces équations, donc je vais juste dire ceci: si vous utilisez une couche de sortie où chaque unité donne une probabilité de classe (par exemple softmax). Les probabilités du modèle sont les mêmes pendant l'entraînement et la prédiction. pmodel(y(i)=jx(i);θ)=aj(x(i);θ)
user20160

Je comprends que les mêmes valeurs sont utilisées - c'est-à-dire que les appris sont utilisés dans la prédiction - mais ils sont utilisés de différentes manières. La probabilité que le modèle apprenne pour est en effet , mais la probabilité que soit prédite par le modèle entraîné en réponse à la même entrée, est . Ce ne sont pas les mêmes sauf si (2) est vrai. apmodel(y(i)|x(i);θML)ay(i)(x(i);θML)y(i)x(i)P(argmaxj[1,k]aj(x(i);θML)=y(i))
orome

Et (première question) je comprends qu'en raison du rôle, défini dans l'éq. (1), joué par en maximisant , le valeurs sont les probabilités (non pas parce que de softmax, qui assure seulement qu'ils s'ajouteront à 1). Mais cela ne place aucune contrainte sur l'autre ; (autres que leur somme à ). Je ne vois donc pas comment tant que trou peut être considéré comme un PMF. ay(i)(x(i);θ)pmodel(O;θ)ay(i)(x(i);θML)ajjy(i)1ay(i)a(x(i);θML)
orome

Une autre façon de faire valoir la première question est que seuls les participent jamais au processus ML, et donc seuls ils peuvent être considérés comme des probabilités. Et même si une fonction d'activation appropriée (par exemple, softmax) garantit que la somme des activations restantes sera une probabilité, les relations entre chacune d'entre elles n'ont aucune signification. ay(i)
orome

3

Je répondrai dans une perspective un peu plus générale, concernant la nature de comment, quand et pourquoi nous pouvons considérer les sorties NN comme des distributions de probabilité.

Dans le sens où le softmax impose que les sorties soient égales à 1 et également non négatives, la sortie du réseau est une distribution de probabilité discrète sur les classes, ou du moins peut être interprétée comme telle. Il est donc parfaitement raisonnable de parler d'entropies croisées et de probabilités maximales.

Cependant, ce que je pense que vous voyez (et c'est correct), c'est que les "probabilités" de sortie peuvent n'avoir rien à voir avec la probabilité réelle de correction . Il s'agit d'un problème bien connu en ML, appelé étalonnage . Par exemple, si votre classificateur des chiens et des chats dit , alors vous vous attendriez à ce que si vous preniez un ensemble d'exemples tous qui a , puis environ 30% des entrées serait mal classé (puisqu'il était seulement 70% confiance).fθDCfθ(xi,C)=P(xi=C|θ)=0.7S={xj} P(xj=C|θ)=0.7

Cependant, il s'avère que les méthodes de formation modernes n'imposent pas du tout cela! Voir Guo et al, sur l'étalonnage des réseaux de neurones modernes pour voir une discussion à ce sujet.

En d'autres termes, la "probabilité" de la sortie du softmax pourrait bien n'avoir rien à voir avec la confiance réelle du modèle. Et ce n'est pas surprenant: nous voulons simplement maximiser notre précision, et chaque exemple d'entrée a une probabilité de 1 d'être sa classe cible. Il y a peu d'incitatifs pour que le modèle réussisse. S'il n'a pas besoin d'estimer l'incertitude, pourquoi le devrait-il? L'entropie croisée ne résout pas ce problème; en effet, vous lui dites d'aller à chaque fois vers une fonction delta!

De nombreux travaux récents sur les réseaux de neurones bayésiens s'efforcent de remédier à ce problème. De tels modèles utilisent une distribution sur des paramètres étant donné les données , qui peuvent être intégrées pour obtenir une distribution de probabilité réelle . Cela permet de garantir des mesures d'incertitude utiles et un meilleur étalonnage. Cependant, c'est plus problématique sur le plan informatique.P(θ|X)=P(X|θ)P(θ)/P(X)P(yi|xi,X)=P(yi|θ,xi)P(θ|X)dθ

J'espère que je n'ai pas mal compris votre question!


Un joli travail connexe: arxiv.org/abs/1711.01297
user3658307

0

Les réseaux de neurones à action directe se rapprochent des vrais probabilités de classe lorsqu'ils sont correctement formés.

En 1991, Richard et Lippmann ont prouvé que les réseaux de neurones à action directe se rapprochent des probabilités de classe postérieures, lorsqu'ils sont entraînés avec des modèles cibles d'indicateur de classe {0,1} [ Richard MD, et Lippmann RP (1991). Les classificateurs de réseaux neuronaux estiment les probabilités bayésiennes a posteriori. Neural Computation, 3, 461– 483. ]. Dans leur ligne de preuve, ils utilisent des réseaux neuronaux à action directe à couche cachée.

Dans l'annotation mathématique de Duda & Hart [ Duda RO & Hart PE (1973) Pattern Classification and Scene Analysis, Wiley ], définissez les distributions de caractéristiques fournies comme vecteur d'entrée au réseau neuronal à rétroaction comme , où par exemple le vecteur de données est égal à , pour une tâche de classification avec 4 variables d' . L'index indique les classes possibles , .P(xωi)x=(0.2,10.2,0,2)ini{1,,n}

Le classificateur de réseau neuronal à action directe apprend les probabilités postérieures, , lorsqu'il est entraîné par descente de gradient. Le modèle de sortie souhaité doit par exemple être , pour un problème de classification à deux classes. Le réseau neuronal à action directe a un nœud de sortie par classe. Le vecteur indique que le vecteur-caractéristique observé appartient à la 2ème classe.P^(ωix)o=(0,1)(0,1)


Ce n'est pas la question.
orome

0

La log-vraisemblance n'est pas directement liée à l'entropie dans le cadre de votre question. La similitude est superficielle: les deux ont des sommes de logarithmes de quantités de probabilité.

Le logarithme en log-vraisemblance (MLE) se fait uniquement pour des raisons de calcul numérique. Le produit des probabilités peut être un très petit nombre, surtout si votre échantillon est grand. Ensuite, la plage de probabilités va de 1 à la valeur de plus en plus faible d'un produit. Lorsque vous obtenez le journal, le produit devient une somme et la fonction de journal compresse la plage de valeurs dans un domaine plus petit et plus facile à gérer. Le logarithme est une fonction monotone, donc le max (min) de log-vraisemblance produira la même réponse de la vraisemblance elle-même. Par conséquent, la présence du log dans l'expression MLE n'est pas importante au sens mathématique et est simplement une question de commodité.

La présence d'une fonction logarithme dans l'entropie est plus importante et trouve ses racines dans la mécanique statistique, une branche de la physique. Elle est liée à la distribution de Boltzmann , qui est utilisée dans la théorie des gaz. Vous pouvez dériver la pression atmosphérique en fonction de l'altitude en l'utilisant, par exemple.


Pouvez-vous mettre en évidence quelle partie de la question cela aborde?
orome

Comme je le dis dans le PO, il est clair que l'utilisation du journal dans la deuxième façon d'exprimer MLE est une simple commodité (vos deux premiers paragraphes). Et votre dernier paragraphe semble simplement dire que la présence du journal dans l'expression pour l'entropie est significative - dans le contexte de l'entropie (notamment la physique). Mais ce qui manque (et c'est la question) est une justification pour lier ces deux observations distinctes (et vraies). Je ne vois pas un, autre que l'équation après (3) étant un moyen utile d'exprimer la deuxième équation pour MLE. C'est peut-être ce que vous dites?
orome

@orome, vous pouvez faire NN pour calculer l'entropie, bien sûr, mais ce n'est pas ainsi que la fonction d'entropie croisée est réellement utilisée dans la plupart des cas. Vous pouvez le considérer comme un autre type de fonction de coût, c'est tout. Il semble avoir les propriétés souhaitées et est bien symétrique.
Aksakal

Oui, donc l'appeler entropie ou suggérer que les ont un sens les distrubutions (pour lesquelles "l'entropie" fournit un aperçu) sont trompeuses . ay(i)(x(i);θML)
orome du

@orome, je ne serais pas obsédé par le nom. C'est comme si la fonction "perte de charnière" n'avait pas grand-chose à voir avec les charnières. Ils appellent cela "perte d'entropie" parce que sa forme fonctionnelle est exactement comme une équation d'entropie d'information.
Aksakal
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.