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>
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!