Est-il acceptable d'utiliser la fonction de perte d'entropie croisée avec des étiquettes souples?


10

J'ai un problème de classification où les pixels seront étiquetés avec des étiquettes souples (qui dénotent des probabilités) plutôt qu'avec des étiquettes rigides 0,1. Auparavant, avec un étiquetage dur de 0,1 pixel, la fonction de perte d'entropie croisée (sigmoidCross entropyLossLayer de Caffe) donnait des résultats décents. Est-il acceptable d'utiliser la couche de perte d'entropie croisée sigmoïde (de Caffe) pour ce problème de classification souple?


Je recherche une fonction d'entropie croisée capable de traiter des étiquettes à valeur réelle. S'il vous plaît laissez-moi savoir si vous connaissez une réponse ici
Amir

Réponses:


27

La réponse est oui, mais vous devez la définir correctement.

L'entropie croisée est définie sur des distributions de probabilité, et non sur des valeurs uniques. Pour les distributions discrètesp et q, c'est:

H(p,q)=yp(y)logq(y)

Lorsque la perte d'entropie croisée est utilisée avec des étiquettes de classe «dures», cela revient vraiment à traiter pcomme la distribution empirique conditionnelle sur les étiquettes de classe. Il s'agit d'une distribution où la probabilité est 1 pour l'étiquette de classe observée et 0 pour toutes les autres.qest la distribution conditionnelle (probabilité d'étiquette de classe, entrée donnée) apprise par le classificateur. Pour un seul point de données observé avec entréex0 et classe y0, nous pouvons voir que l'expression ci-dessus se réduit à la perte de journal standard (qui serait moyenne sur tous les points de données):

yI{y=y0}logq(yx0)=logq(y0x0)

Ici, I{}est la fonction d'indicateur, qui est 1 lorsque son argument est vrai ou 0 sinon (c'est ce que fait la distribution empirique). La somme est prise sur l'ensemble des étiquettes de classe possibles.

Dans le cas des étiquettes «souples» comme vous le mentionnez, les étiquettes ne sont plus des identités de classe elles-mêmes, mais des probabilités sur deux classes possibles. Pour cette raison, vous ne pouvez pas utiliser l'expression standard pour la perte de journal. Mais, le concept d'entropie croisée s'applique toujours. En fait, cela semble encore plus naturel dans ce cas.

Appelons la classe y, qui peut être 0 ou 1. Et, disons que le soft label s(x) donne la probabilité que la classe soit 1 (étant donné l'entrée correspondante x). Ainsi, le soft label définit une distribution de probabilité:

p(yx)={s(x)If y=11s(x)If y=0

Le classificateur donne également une distribution sur les classes, étant donné l'entrée:

q(yx)={c(x)If y=11c(x)If y=0

Ici, c(x) est la probabilité estimée du classificateur que la classe soit 1, étant donné l'entrée x.

La tâche consiste maintenant à déterminer la différence entre ces deux distributions en utilisant l'entropie croisée. Branchez ces expressions pourp et qdans la définition de l'entropie croisée ci-dessus. La somme est reprise sur l'ensemble des classes possibles{0,1}:

H(p,q)=p(y=0x)logq(y=0x)p(y=1x)logq(y=1x)=(1s(x))log(1c(x))s(x)logc(x)

C'est l'expression d'un seul point de données observé. La fonction de perte serait la moyenne sur tous les points de données. Bien sûr, cela peut également être généralisé à la classification multiclasse.


3
Je reviens toujours à la lucidité de cette réponse.
auro
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.