אזהרה: API זו ברמה נמוכה יוסרה בגרסה עתידית של TensorFlow לאחר ההחלפה יציבה.

StopGradient

כיתת גמר ציבורית StopGradient

מפסיק את חישוב השיפוע.

כאשר הוא מבוצע בגרף, הפעולה הזו מוציאה את טנסור הקלט שלו כפי שהוא.

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

זה שימושי בכל פעם שאתה רוצה לחשב ערך עם TensorFlow אבל צריך להעמיד פנים שהערך היה קבוע. לדוגמה, ניתן לכתוב את הפונקציה softmax עבור וקטור x כ-

def softmax(x):
     numerator = tf.exp(x)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
. עם זאת, זה רגיש לגלישה אם הערכים ב-x גדולים. דרך חלופית יציבה יותר היא להחסיר את המקסימום של x מכל אחד מהערכים.
def stable_softmax(x):
     z = x - tf.reduce_max(x)
     numerator = tf.exp(z)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
עם זאת, כאשר אנו מחזירים דרך ה-softmax ל-x, איננו רוצים להחזיר דרך tf.reduce_max(x) (אם הערכים המקסימליים אינם ייחודיים, הגרדיאנט עלול לזרום לקלט השגוי) ולהתייחס לזה כאל קבוע. לכן, עלינו לכתוב זאת כ-
def stable_softmax(x):
     z = x - tf.stop_gradient(tf.reduce_max(x))
     numerator = tf.exp(z)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
כמה דוגמאות אחרות כוללות:
  • אלגוריתם EM שבו M-step לא אמור לכלול התפשטות חזרה דרך הפלט של E-step .
  • אימון סטייה ניגודית של מכונות בולצמן כאשר, כאשר מבדילים את פונקציית האנרגיה, האימון אינו חייב להתפשט דרך הגרף שיצר את הדגימות מהמודל.
  • אימון יריבות, שבו לא אמורה לקרות תמיכה אחורית בתהליך יצירת הדוגמאות היריבות.

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

פלט <T>
asOutput ()
מחזירה את הידית הסמלית של טנזור.
סטטי <T> StopGradient <T>
צור ( היקף היקף, קלט אופרנד <T>)
שיטת מפעל ליצירת מחלקה העוטפת פעולת StopGradient חדשה.
פלט <T>
פלט ()

שיטות בירושה

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

פלט ציבורי <T> asOutput ()

מחזירה את הידית הסמלית של טנזור.

כניסות לפעולות TensorFlow הן פלט של פעולת TensorFlow אחרת. שיטה זו משמשת לקבלת ידית סמלית המייצגת את חישוב הקלט.

סטטי ציבורי StopGradient <T> create ( היקף היקף, קלט Operand <T>)

שיטת מפעל ליצירת מחלקה העוטפת פעולת StopGradient חדשה.

פרמטרים
תְחוּם ההיקף הנוכחי
החזרות
  • מופע חדש של StopGradient

פלט ציבורי <T> פלט ()