SigmoidCrossEntropyWithLogits

genel sınıf SigmoidCrossEntropyWithLogits

Kamu İnşaatçıları

Genel Yöntemler

statik <T TNumber'ı genişletir > İşlenen <T>
sigmoidCrossEntropyWithLogits ( Kapsam kapsamı, İşlenen <T> etiketleri, İşlenen <T> logitleri)
logits cinsinden sigmoid çapraz entropiyi hesaplar.

Kalıtsal Yöntemler

Kamu İnşaatçıları

genel SigmoidCrossEntropyWithLogits ()

Genel Yöntemler

public static İşlenen <T> sigmoidCrossEntropyWithLogits ( Kapsam kapsamı, İşlenen <T> etiketleri, İşlenen <T> logitleri)

logits cinsinden sigmoid çapraz entropiyi hesaplar.

Her sınıfın bağımsız olduğu ve birbirini dışlamadığı ayrık sınıflandırma görevlerindeki olasılık hatasını ölçer. Örneğin, bir resmin aynı anda hem fil hem de köpek içerebileceği çoklu etiket sınıflandırması yapılabilir.

Kısa olması açısından x = logits , z = labels olsun. Sözde koddaki lojistik kayıp

 z * -log(sigmoid(x)) + (1 - z) * -log(1 - sigmoid(x))
  = z * -log(1 / (1 + exp(-x))) + (1 - z) * -log(exp(-x) / (1 + exp(-x)))
  = z * log(1 + exp(-x)) + (1 - z) * (-log(exp(-x)) + log(1 + exp(-x)))
  = z * log(1 + exp(-x)) + (1 - z) * (x + log(1 + exp(-x))
  = (1 - z) * x + log(1 + exp(-x))
  = x - x * z + log(1 + exp(-x))
 

x < 0 için exp(-x) te taşmayı önlemek için yukarıdaki

 x - x * z + log(1 + exp(-x))
  = log(exp(x)) - x * z + log(1 + exp(-x))
  = - x * z + log(1 + exp(x))
 
yeniden formüle ediyoruz

Bu nedenle, kararlılığı sağlamak ve taşmayı önlemek için uygulama bu eşdeğer formülasyonu

   max(x, 0) - x * z + log(1 + exp(-abs(x)))
 
kullanır

logitler ve labels aynı tür ve şekle sahip olmalıdır.

Parametreler
kapsam TensorFlow kapsamı
etiketler Etiketler
logitler float32 veya float64 türündeki logitler
İadeler
  • bileşen bazında lojistik kayıplar.
Atar
YasadışıTartışmaİstisna logit'ler ve etiketler aynı şekle sahip değilse