คอนสตรัคชั่นสาธารณะ
วิธีการสาธารณะ
คงที่ <T ขยาย TNumber > ตัวถูกดำเนินการ <T> | sigmoidCrossEntropyWithLogits (ขอบเขต ขอบเขต , ป้ายกำกับ Operand <T>, การบันทึก Operand <T>) คำนวณเอนโทรปีข้าม sigmoid ที่กำหนด logits |
วิธีการสืบทอด
คอนสตรัคชั่นสาธารณะ
SigmoidCrossEntropyWithLogits สาธารณะ ()
วิธีการสาธารณะ
ตัว ดำเนินการคงที่สาธารณะ <T> sigmoidCrossEntropyWithLogits (ขอบเขต ขอบเขต ป้ายกำกับตัว ดำเนินการ <T> ตัวดำเนิน การ <T> บันทึก)
คำนวณเอนโทรปีข้าม sigmoid ที่กำหนด 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 |
---|---|
ฉลาก | ป้ายกำกับ |
บันทึก | บันทึกประเภท float32 หรือ float64 |
การส่งคืน
- การสูญเสียลอจิสติกส์เชิงองค์ประกอบ
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | ถ้า logits' และ label' ไม่มีรูปร่างเหมือนกัน |
---|