J'ai implémenté un simple réseau cnn pour la classification d'images (classification binaire). J'utilise tensorflow en Python. J'utilise tf.softmax_cross_entropy_with logits comme une fonction de coût. Je nourris la fonction de coût avec des logits non normalisés de la couche de sortie de mon modèle. La fonction devrait-elle produire des probabilités normalisées, ou ai-je tort?Sortie de tf.softmax_cross_entroy_with_logits non normalisée?
Lors de la formation de mon modèle, j'imprime le coût de chaque exemple. Si le modèle prédit correctement la sortie, le coût est égal à 0,0, sinon le coût est très grand, valeur non normalisée). Alors que la fonction 'softmaxes' entrée avant de calculer l'entropie croisée, pourquoi la sortie est non normalisée?
Merci pour la réponse. Donc les coûts comme des dizaines de milliers ou des millions n'ont rien d'extraordinaire? – Marcin
Ils sont possibles mais inhabituels. C'est peut-être un signe que vous utilisez la somme plutôt que la moyenne pour réduire votre perte. – user1735003
Je suis en train de régulariser les poids et la couche de décrochage ajoutée, mais le problème persiste. Est-il possible que d'énormes logits à la sortie de cnn soient causés par un très petit ensemble de données (500 exemples?) J'ai vérifié softmax des logits et la fonction retourne toujours 1.0 ou 0.0 - rien entre les deux. – Marcin