إيقاف حساب التدرج.
عند تنفيذها في رسم بياني، تقوم هذه العملية بإخراج موتر الإدخال الخاص بها كما هو.
عند إنشاء عمليات لحساب التدرجات، تمنع هذه العملية أخذ مساهمة مدخلاتها بعين الاعتبار. عادةً، يضيف منشئ التدرج عمليات إلى الرسم البياني لحساب مشتقات "خسارة" محددة عن طريق اكتشاف المدخلات التي ساهمت في حسابها بشكل متكرر. إذا قمت بإدراج هذا المرجع في الرسم البياني، فسيتم إخفاء المدخلات من منشئ التدرج. لا يتم أخذها في الاعتبار عند حساب التدرجات.
يعد هذا مفيدًا في أي وقت تريد فيه حساب قيمة باستخدام TensorFlow ولكنك تحتاج إلى التظاهر بأن القيمة كانت ثابتة. على سبيل المثال، يمكن كتابة الدالة softmax للمتجه x بالشكل
def softmax(x):
numerator = tf.exp(x)
denominator = tf.reduce_sum(numerator)
return numerator / denominator
def stable_softmax(x):
z = x - tf.reduce_max(x)
numerator = tf.exp(z)
denominator = tf.reduce_sum(numerator)
return numerator / denominator
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> | الإخراج () |
الطرق الموروثة
الأساليب العامة
الإخراج العام <T> كإخراج ()
إرجاع المقبض الرمزي للموتر.
المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.
إنشاء StopGradient ثابت عام <T> (نطاق النطاق وإدخال المعامل <T>)
طريقة المصنع لإنشاء فئة تغلف عملية StopGradient جديدة.
حدود
نِطَاق | النطاق الحالي |
---|
المرتجعات
- مثيل جديد من StopGradient