SoftmaxCrossEntropyWithLogits

klasa publiczna SoftmaxCrossEntropyWithLogits

Konstruktorzy publiczni

Metody publiczne

statyczny <T rozszerza TNumber , U rozszerza TNumber > Operand <T>
softmaxCrossEntropyWithLogits (zakres zakresu , etykiety argumentów <U>, logity argumentów <T>, oś int)
Oblicza entropię krzyżową softmax pomiędzy logits i labels .

Metody dziedziczone

Konstruktorzy publiczni

public SoftmaxCrossEntropyWithLogits ()

Metody publiczne

public static Operand <T> softmaxCrossEntropyWithLogits (zakres zakresu , etykiety argumentów <U>, logity argumentów <T>, oś int)

Oblicza entropię krzyżową softmax pomiędzy logits i labels .

Mierzy błąd prawdopodobieństwa w zadaniach klasyfikacji dyskretnej, w których klasy wzajemnie się wykluczają (każdy wpis należy do dokładnie jednej klasy). Na przykład każdy obraz CIFAR-10 jest oznaczony jedną i tylko jedną etykietą: obraz może przedstawiać psa lub ciężarówkę, ale nie jedno i drugie.

NOTATKA:

Chociaż klasy wykluczają się wzajemnie, ich prawdopodobieństwa nie muszą tak być. Wymagane jest jedynie, aby każdy wiersz labels był prawidłowym rozkładem prawdopodobieństwa. Jeżeli tak nie jest, obliczenie gradientu będzie nieprawidłowe.

Jeśli używasz ekskluzywnych labels (gdzie tylko jedna klasa jest prawdziwa w danym momencie), zobacz ERROR(/org.tensorflow.op.NnOps#sparseSoftmaxCrossEntropyWithLogits)

Stosowanie:

   Operand<TFloat32> logits =
       tf.constant(new float[][] { {4.0F, 2.0F, 1.0F}, {0.0F, 5.0F, 1.0F} } );
   Operand<TFloat32> labels =
       tf.constant(new float[][] { {1.0F, 0.0F, 0.0F}, {0.0F, 0.8F, 0.2F} } );
   Operand<TFloat32> output =
       tf.nn.softmaxCrossEntropyWithLogits(labels, logits, -1);
   // output Shape = [2]
   // dataType = FLOAT (1)
   // values { 0.169846, 0.824745 }
 

Propagacja wsteczna nastąpi zarówno w przypadku logits , jak i labels . Aby uniemożliwić propagację wsteczną do labels , przekaż tensory etykiet przez tf.stopGradient przed podaniem ich do tej funkcji.

Parametry
zakres aktualny zakres
etykiety Każdy wektor wzdłuż wymiaru klasy powinien zawierać prawidłowy rozkład prawdopodobieństwa, np. w przypadku, gdy etykiety mają kształt [batch_size, num_classes] , każdy wiersz labels[i] musi być prawidłowym rozkładem prawdopodobieństwa.
logity Aktywacje na etykietę, zazwyczaj wyjście liniowe. Te energie aktywacji są interpretowane jako nieznormalizowane prawdopodobieństwa logarytmiczne.
Wymiar klasowy. -1 to ostatni wymiar.
Powroty
  • strata entropii krzyżowej softmax. Jego rodzaj jest taki sam jak logits , a kształt jest taki sam jak labels z tą różnicą, że nie ma ostatniego wymiaru labels .