Vous aurez besoin de certaines conditions pour revendiquer l'équivalence entre la minimisation de l'entropie croisée et la minimisation de la divergence KL. Je placerai votre question dans le contexte des problèmes de classification utilisant l'entropie croisée comme fonctions de perte.
Rappelons d'abord que l'entropie est utilisée pour mesurer l'incertitude d'un système, qui est défini comme
pour comme les probabilités des différents états du système. Du point de vue de la théorie de l'information, est la quantité d'informations nécessaires pour éliminer l'incertitude.S(v)=−∑ip(vi)logp(vi),
p(vi)viS(v)
Par exemple, l'événement A I will die eventually
est presque certain (peut-être pouvons-nous résoudre le problème de vieillissement pour le mot almost
), il a donc une faible entropie qui ne nécessite que les informations de the aging problem cannot be solved
pour le rendre certain. Cependant, l'événement B The president will die in 50 years
est beaucoup plus incertain que A, il a donc besoin de plus d'informations pour lever les incertitudes.
Regardons maintenant la définition de la divergence KL entre les événements A et B
où le premier terme du côté droit est l'entropie de l'événement A, le deuxième terme peut être interprété comme l'attente de l'événement B en termes d'événement A. Et le décrit à quel point B est différent de A du point de vue de A. DKL(A∥B)=∑ipA(vi)logpA(vi)−pA(vi)logpB(vi),
DKL
Pour relier l'entropie croisée à l'entropie et la divergence KL, nous formalisons l'entropie croisée en termes d'événements A et B comme
D'après les définitions, nous pouvons facilement voir
Si est une constante, alors minimiser équivaut à minimiser .H(A,B)=−∑ipA(vi)logpB(vi).
H(A,B)=DKL(A∥B)+SA.
SAH(A,B)DKL(A∥B)
Une autre question suit naturellement: comment l'entropie peut être une constante. Dans une tâche d'apprentissage automatique, nous commençons avec un ensemble de données (noté ) qui représente le problème à résoudre, et l'objectif d'apprentissage est de rendre la distribution estimée du modèle (notée ) aussi proche que possible. que possible à la vraie distribution du problème (noté ).
est inconnu et représenté par . Par conséquent, dans un monde idéal, nous attendons
et minimisons . Et heureusement, dans la pratiqueP(D)P(model)P(truth)P(truth)P(D)P(model)≈P(D)≈P(truth)
DKL(P(D)∥P(model))Dest donnée, ce qui signifie que son entropie est fixée comme une constante.S(D)
Je suppose que c'est parce que les modèles fonctionnent généralement avec les échantillons emballés en mini-lots. Pour la divergence KL et l'entropie croisée, leur relation peut être écrite comme D'après l'équation, nous pourrait voir que la divergence KL peut s'écarter dans une entropie croisée de p et q (la première partie), et une entropie globale de la vérité fondamentale p (la deuxième partie).H(q,p)=DKL(p,q)+H(p)=−∑ipilog(qi)
Dans de nombreux projets d'apprentissage automatique, le mini-lot est impliqué pour accélérer la formation, où le d'un mini-lot peut être différent du global . Dans un tel cas, Cross-Entropy est relativement plus robuste dans la pratique tandis que la divergence KL a besoin d'un H (p) plus stable pour terminer son travail.p′ p
la source
Voici comment j'y pense:
où et sont deux distributions de probabilité. En apprentissage automatique, nous connaissons généralement , qui est la distribution de la cible. Par exemple, dans un problème de classification binaire, , donc si , et , et vice versa. Étant donné chaque , où est le nombre total de points dans l'ensemble de données, nous voulons généralement minimiser la divergence KL entre la distribution de la cible et notre distribution préditep q p Y={0,1} yi=1 p(yi=1|x)=1 p(yi=0|x)=0 yi∀i=1,2,…,N N DKL(p,q) p(yi|x) q(yi|x,θ) , moyenne sur tout . (Nous le faisons en ajustant nos paramètres de modèle . Ainsi, pour chaque exemple d'apprentissage, le modèle crache une distribution sur les étiquettes de classe et ) Pour chaque exemple, puisque la cible est fixe, sa distribution ne change jamais. Ainsi, est constant pour chaque , quels que soient nos paramètres de modèle actuels . Ainsi, le minimiseur de est égal au minimiseur de .i θ 0 1 H(p(yi|xi)) i θ DKL(p,q) H(p,q)
Si vous aviez une situation où et étaient tous deux variables (par exemple, dans lesquels et étaient deux variables latentes) et que vous vouliez faire correspondre les deux distributions, alors vous devriez choisir entre minimiser et minimisant . En effet, minimiser implique maximiser tandis que minimiser implique minimiser . Pour voir ce dernier, nous pouvons résoudre l'équation ( ) pour :p q x1∼p x2∼q DKL H(p,q) DKL H(p) H(p,q) H(p) 1 H(p,q) H(p,q)=DKL(p,q)+H(p)(2)
Le premier donnerait une distribution large pour tandis que le second en produirait une qui est concentrée dans un ou quelques modes. Notez que c'est votre choix en tant que praticien ML que vous souhaitiez minimiser ou . Une petite discussion de ceci est donnée dans le contexte de l'inférence variationnelle (VI) ci-dessous.p DKL(p,q) DKL(q,p)
Dans VI, vous devez choisir entre minimiser et , qui ne sont pas égaux car la divergence KL n'est pas symétrique. Si nous traitons à nouveau comme connu, alors minimiser entraînerait une distribution qui est nette et focalisée sur une ou quelques zones tout en minimisant résulterait dans une distribution qui est large et couvre une large gamme du domaine de . Encore une fois, ce dernier est parce que minimiser implique de maximiser l'entropie de .DKL(p,q) DKL(q,p) p DKL(p,q) q DKL(q,p) q q DKL(q,p) q
la source