SigmoidCrossEntropyWithLogits

الفئة العامة SigmoidCrossEntropyWithLogits

المقاولون العامون

الأساليب العامة

ثابت <T يمتد TNumber > المعامل <T>
sigmoidCrossEntropyWithLogits (نطاق النطاق ، تسميات المعامل <T>، سجلات المعامل <T>)
يحسب السيني عبر الانتروبيا نظرا logits .

الطرق الموروثة

المقاولون العامون

عام SigmoidCrossEntropyWithLogits ()

الأساليب العامة

المعامل الثابت العام <T> sigmoidCrossEntropyWithLogits (نطاق النطاق ، تسميات المعامل <T>، سجلات المعامل <T>)

يحسب السيني عبر الانتروبيا نظرا logits .

يقيس الخطأ الاحتمالي في مهام التصنيف المنفصلة التي يكون فيها كل فئة مستقلاً ولا يستبعد الآخر. على سبيل المثال، يمكن للمرء إجراء تصنيف متعدد العلامات حيث يمكن أن تحتوي الصورة على فيل وكلب في نفس الوقت.

للإيجاز، دع x = logits ، z = labels . الخسارة اللوجستية في الكود الزائف هي

 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 ، لتجنب التجاوز في exp(-x) ، قمنا بإعادة صياغة ما سبق

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

وبالتالي، لضمان الاستقرار وتجنب التجاوز، يستخدم التنفيذ هذه الصيغة المكافئة

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

يجب أن يكون للسجلات labels نفس النوع والشكل.

حدود
نِطَاق نطاق TensorFlow
تسميات التسميات
logits السجلات من النوع float32 أو float64
المرتجعات
  • الخسائر اللوجستية المكونة.
رميات
IllegalArgumentException إذا لم يكن للسجلات والتسميات نفس الشكل