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 انتشارًا عكسيًا من خلال إخراج الخطوة E.
  • تدريب التباعد التقابلي لآلات بولتزمان، حيث، عند التمييز بين وظيفة الطاقة، يجب ألا ينتشر التدريب بشكل عكسي من خلال الرسم البياني الذي أنشأ العينات من النموذج.
  • التدريب على الخصومة، حيث لا ينبغي أن يحدث أي دعم خلفي من خلال عملية توليد الأمثلة الخصومة.

الأساليب العامة

الإخراج <T>
كإخراج ()
إرجاع المقبض الرمزي للموتر.
ثابت <T> StopGradient <T>
إنشاء (نطاق النطاق ، إدخال المعامل <T>)
طريقة المصنع لإنشاء فئة تغلف عملية StopGradient جديدة.
الإخراج <T>

الطرق الموروثة

الأساليب العامة

الإخراج العام <T> كإخراج ()

إرجاع المقبض الرمزي للموتر.

المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.

إنشاء StopGradient ثابت عام <T> (نطاق النطاق وإدخال المعامل <T>)

طريقة المصنع لإنشاء فئة تغلف عملية StopGradient جديدة.

حدود
نِطَاق النطاق الحالي
عائدات
  • مثيل جديد من StopGradient

الإخراج العام <T> الإخراج ()