SoftmaxCrossEntropyWithLogits

כיתה ציבורית SoftmaxCrossEntropyWithLogits

בונים ציבוריים

שיטות ציבוריות

סטטי <T מרחיב TNummer , U מרחיב TNummer > Operand <T>
softmaxCrossEntropyWithLogits ( היקף היקף , תוויות Operand <U>, logits Operand <T>, ציר int)
מחשבת אנטרופיה צולבת של Softmax בין logits labels .

שיטות בירושה

בונים ציבוריים

ציבורי SoftmaxCrossEntropyWithLogits ()

שיטות ציבוריות

Operand סטטי ציבורי <T> softmaxCrossEntropyWithLogits ( היקף היקף , תוויות Operand <U>, logits Operand <T>, ציר int)

מחשבת אנטרופיה צולבת של Softmax בין logits labels .

מודד את שגיאת ההסתברות במשימות סיווג דיסקרטיות שבהן המחלקות סותרות זו את זו (כל ערך נמצא במחלקה אחת בדיוק). לדוגמה, כל תמונה של CIFAR-10 מסומנת בתווית אחת ויחידה: תמונה יכולה להיות כלב או משאית, אבל לא שניהם.

הערה:

בעוד שהשיעורים סותרים זה את זה, ההסתברויות שלהם לא צריכות להיות. כל מה שנדרש הוא שכל שורה של labels היא התפלגות הסתברות חוקית. אם הם לא, החישוב של השיפוע יהיה שגוי.

אם משתמשים labels (בהן מחלקה אחת ויחידה היא אמיתית בכל פעם), ראה ERROR(/org.tensorflow.op.NnOps#sparseSoftmaxCrossEntropyWithLogits)

שימוש:

   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 }
 

הפצה לאחור תתרחש הן logits והן labels . כדי לא לאפשר התפשטות לאחור לתוך labels , העבירו חותכי תוויות דרך tf.stopGradient לפני הזנתה לפונקציה זו.

פרמטרים
תְחוּם ההיקף הנוכחי
תוויות כל וקטור לאורך ממד המחלקה צריך להחזיק התפלגות הסתברות חוקית, למשל במקרה שבו התוויות הן בצורת [batch_size, num_classes] , כל שורה של labels[i] חייבת להיות התפלגות הסתברות חוקית.
לוגיטים הפעלות לכל תווית, בדרך כלל פלט ליניארי. אנרגיות ההפעלה הללו מתפרשות כהסתברויות יומן לא מנורמלות.
צִיר מימד הכיתה. -1 הוא הממד האחרון.
החזרות
  • אובדן האנטרופיה צולבת softmax. הסוג שלו זהה logits וצורתו זהה labels פרט לכך שאין לו את הממד האחרון של labels .