J'essaie de former un réseau de neurones pour la classification, mais les étiquettes que j'ai sont plutôt bruyantes (environ 30% des étiquettes sont fausses).
La perte d'entropie croisée fonctionne en effet, mais je me demandais s'il existe des alternatives plus efficaces dans ce cas? ou la perte d'entropie croisée est-elle optimale?
Je ne suis pas sûr, mais je pense à "couper" quelque peu la perte d'entropie croisée, de sorte que la perte pour un point de données ne soit pas supérieure à une limite supérieure, cela fonctionnera-t-il?
Merci!
Mise
à jour Selon la réponse de Lucas, j'ai obtenu ce qui suit pour les dérivées pour la sortie de prédiction et l'entrée de la fonction softmax . Donc, je suppose qu'il s'agit essentiellement d'ajouter un terme de lissage aux dérivés.
Dérivés pour la perte d'entropie croisée d'origine:
Mise à jour
Je viens de lire un article de Google qui applique la même formule que dans la réponse de Lucas mais avec des interprétations différentes.
Dans la section 7 Régularisation du modèle via le lissage des étiquettes
Cela (la perte d'entropie croisée), cependant, peut causer deux problèmes. Tout d'abord, cela peut entraîner un sur-ajustement: si le modèle apprend à attribuer une probabilité totale à l'étiquette de vérité du terrain pour chaque exemple de formation, il n'est pas garanti de généraliser. Deuxièmement, il encourage les différences entre le plus grand logit et tous les autres à devenir grandes, ce qui, combiné au gradient borné , réduit la capacité du modèle à s'adapter. Intuitivement, cela se produit parce que le modèle devient trop confiant sur ses prédictions.
Mais au lieu d'ajouter le terme de lissage aux prédictions, ils l'ont ajouté à la vérité fondamentale , ce qui s'est avéré utile.
Dans nos expériences ImageNet avec K = 1000 classes, nous avons utilisé u (k) = 1/1000 et = 0,1. Pour ILSVRC 2012, nous avons constaté une amélioration constante d'environ 0,2% absolu à la fois pour l'erreur top-1 et l'erreur top-5.