Maison > développement back-end > Tutoriel Python > ## Quelle est la différence entre Softmax et softmax_cross_entropy_with_logits dans TensorFlow ?

## Quelle est la différence entre Softmax et softmax_cross_entropy_with_logits dans TensorFlow ?

Linda Hamilton
Libérer: 2024-10-27 03:10:30
original
234 Les gens l'ont consulté

## What's the Difference Between Softmax and softmax_cross_entropy_with_logits in TensorFlow?

Logits dans Tensorflow et distinction entre Softmax et softmax_cross_entropy_with_logits

Dans TensorFlow, le terme « logits » fait référence aux sorties non mises à l'échelle des couches précédentes, représentant une échelle relative linéaire. Ils sont couramment utilisés dans les modèles d'apprentissage automatique pour représenter les activations préprobabilistes avant d'appliquer une fonction softmax.

Différence entre Softmax et softmax_cross_entropy_with_logits

Softmax (tf.nn.softmax) applique la fonction softmax aux tenseurs d'entrée, convertissant les log-probabilités (logits) en probabilités comprises entre 0 et 1. La sortie conserve la même forme que l'entrée.

softmax_cross_entropy_with_logits (tf.nn.softmax_cross_entropy_with_logits) combine l'étape softmax et le calcul de la perte d'entropie croisée en une seule opération. Il fournit une approche plus mathématiquement solide pour optimiser la perte d'entropie croisée avec les couches softmax. La forme de sortie de cette fonction est plus petite que l'entrée, créant une métrique récapitulative qui additionne les éléments.

Exemple

Considérons l'exemple suivant :

<code class="python">import tensorflow as tf

# Create logits
logits = tf.constant([[0.1, 0.3, 0.5, 0.9]])

# Apply softmax
softmax_output = tf.nn.softmax(logits)

# Compute cross-entropy loss and softmax
loss = tf.nn.softmax_cross_entropy_with_logits(logits, tf.one_hot([0], 4))

print(softmax_output)  # [[ 0.16838508  0.205666    0.25120102  0.37474789]]
print(loss)  # [[0.69043917]]</code>
Copier après la connexion

Le softmax_output représente les probabilités pour chaque classe, tandis que la valeur de perte représente la perte d'entropie croisée entre les logits et les étiquettes fournies.

Quand utiliser softmax_cross_entropy_with_logits

Il est recommandé d'utiliser tf.nn.softmax_cross_entropy_with_logits pour les scénarios d'optimisation où la sortie de votre modèle est softmaxed. Cette fonction garantit la stabilité numérique et élimine le besoin de réglages manuels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal