Cette page a été traduite par l'API Cloud Translation.
Switch to English

tf.nn.nce_loss

Tensorflow 1 Version Voir la source sur GitHub

Calcule et renvoie la perte de formation d'estimation du bruit contrastive.

Voir estimation de bruit contrastive: Un nouveau principe d'estimation des modèles statistiques non normalisées . Voir aussi notre candidat d' échantillonnage des algorithmes de référence

Un cas d'utilisation commune est d'utiliser cette méthode pour la formation et le calcul de la perte totale sigmoïde pour l'évaluation ou l'inférence comme dans l'exemple suivant:

 if mode == "train":
  loss = tf.nn.nce_loss(
      weights=weights,
      biases=biases,
      labels=labels,
      inputs=inputs,
      ...)
elif mode == "eval":
  logits = tf.matmul(inputs, tf.transpose(weights))
  logits = tf.nn.bias_add(logits, biases)
  labels_one_hot = tf.one_hot(labels, n_classes)
  loss = tf.nn.sigmoid_cross_entropy_with_logits(
      labels=labels_one_hot,
      logits=logits)
  loss = tf.reduce_sum(loss, axis=1)
 

weights Un Tensor de forme [num_classes, dim] , ou une liste de Tensor objets dont la dimension le long de la concaténation 0 a une forme [num_classes, dim]. La classe (peut-être partitionnés) incorporations.
biases Un Tensor de forme [num_classes] . Les préjugés de classe.
labels Un Tensor de type int64 et de la forme [batch_size, num_true] . Les classes cibles.
inputs Un Tensor de forme [batch_size, dim] . Les activations avant du réseau d'entrée.
num_sampled Un int . Le nombre de classes négatives à échantillon aléatoire par lot. Ce seul échantillon de classes négatives est évaluée pour chaque élément dans le lot.
num_classes Un int . Le nombre de classes possibles.
num_true Un int . Le nombre de classes cibles par formation exemple.
sampled_values un tuple de ( sampled_candidates , true_expected_count , sampled_expected_count ) renvoyées par une *_candidate_sampler fonction. (si aucune, nous défaut à log_uniform_candidate_sampler )
remove_accidental_hits Un bool . Que ce soit pour enlever « coups accidentels » où une classe est égale à un échantillon des classes cibles. Si la valeur est True , cela est une perte « Echantillonné logistique » au lieu de NCE, et nous apprenons à générer log-odds au lieu des probabilités log. Voir notre candidat d' échantillonnage des algorithmes de référence . Par défaut est False.
name Un nom pour l'opération (en option).

A batch_size tenseur 1-D de par-exemple les pertes NCE.