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
عائدات
  • الخسائر اللوجستية المكونة.
رميات
غير الشرعيين استثناء حجة إذا لم يكن للسجلات والتسميات نفس الشكل