בונים ציבוריים
שיטות ציבוריות
סטטי <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
.