GRUBlockCellGrad

الطبقة النهائية العامة GRUblockCellGrad

يحسب الانتشار الخلفي لخلية GRU لخطوة زمنية واحدة.

Args x: الإدخال إلى خلية GRU. h_prev: إدخال الحالة من خلية GRU السابقة. w_ru: مصفوفة الوزن لبوابة إعادة الضبط والتحديث. w_c: مصفوفة الوزن لبوابة اتصال الخلية. b_ru: ناقل التحيز لبوابة إعادة التعيين والتحديث. b_c: متجه التحيز لبوابة اتصال الخلية. r: إخراج بوابة إعادة الضبط. u: إخراج بوابة التحديث. ج: إخراج بوابة اتصال الخلية. d_h: تدرجات h_new wrt إلى الوظيفة الموضوعية.

إرجاع d_x: تدرجات x wrt إلى الوظيفة الموضوعية. d_h_prev: تدرجات h wrt إلى الوظيفة الموضوعية. d_c_bar تدرجات c_bar wrt إلى الوظيفة الموضوعية. d_r_bar_u_bar تدرجات r_bar وu_bar wrt إلى الوظيفة الموضوعية.

تنفذ عملية النواة هذه المعادلات الرياضية التالية:

ملاحظة حول تدوين المتغيرات:

يتم تمثيل تسلسل a وb بواسطة a_b يتم تمثيل المنتج النقطي من حيث العنصر لـ a وb بواسطة ab يتم تمثيل المنتج النقطي من حيث العنصر بواسطة \circ يتم تمثيل ضرب المصفوفة بواسطة *

ملاحظات إضافية للتوضيح:

يمكن تقسيم `w_ru` إلى 4 مصفوفات مختلفة.

w_ru = [w_r_x w_u_x
         w_r_h_prev w_u_h_prev]
 
وبالمثل، يمكن تقسيم `w_c` إلى مصفوفتين مختلفتين.
w_c = [w_c_x w_c_h_prevr]
 
الشيء نفسه ينطبق على التحيزات.
b_ru = [b_ru_x b_ru_h]
 b_c = [b_c_x b_c_h]
 
ملاحظة أخرى حول التدوين:
d_x = d_x_component_1 + d_x_component_2
 
 where d_x_component_1 = d_r_bar * w_r_x^T + d_u_bar * w_r_x^T
 and d_x_component_2 = d_c_bar * w_c_x^T
 
 d_h_prev = d_h_prev_component_1 + d_h_prevr \circ r + d_h \circ u
 where d_h_prev_componenet_1 = d_r_bar * w_r_h_prev^T + d_u_bar * w_r_h_prev^T
 
الرياضيات وراء التدرجات أدناه:
d_c_bar = d_h \circ (1-u) \circ (1-c \circ c)
 d_u_bar = d_h \circ (h-c) \circ u \circ (1-u)
 
 d_r_bar_u_bar = [d_r_bar d_u_bar]
 
 [d_x_component_1 d_h_prev_component_1] = d_r_bar_u_bar * w_ru^T
 
 [d_x_component_2 d_h_prevr] = d_c_bar * w_c^T
 
 d_x = d_x_component_1 + d_x_component_2
 
 d_h_prev = d_h_prev_component_1 + d_h_prevr \circ r + u
 
يتم إجراء الحساب أدناه في غلاف python للتدرجات (وليس في نواة التدرج.)
d_w_ru = x_h_prevr^T * d_c_bar
 
 d_w_c = x_h_prev^T * d_r_bar_u_bar
 
 d_b_ru = sum of d_r_bar_u_bar along axis = 0
 
 d_b_c = sum of d_c_bar along axis = 0
 

الثوابت

خيط OP_NAME اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

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

ثابت <T يمتد TNumber > GRUBlockCellGrad <T>
إنشاء ( نطاق النطاق ، المعامل <T> x، المعامل <T> hPrev، المعامل <T> wRu، المعامل <T> wC، المعامل <T> bRu، المعامل <T> bC، المعامل <T> r، المعامل <T > u، المعامل <T> ج، المعامل <T> dH)
طريقة المصنع لإنشاء فئة تغلف عملية GRUBlockCellGrad جديدة.
الإخراج <T>
الإخراج <T>
الإخراج <T>
الإخراج <T>

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

org.tensorflow.op.RawOp
منطقية نهائية
يساوي (كائن كائن)
كثافة العمليات النهائية
عملية
المرجع ()
قم بإرجاع وحدة الحساب هذه Operation واحدة.
السلسلة النهائية
منطقية
يساوي (كائن arg0)
الدرجة النهائية<?>
الحصول على كلاس ()
كثافة العمليات
رمز التجزئة ()
الفراغ النهائي
إعلام ()
الفراغ النهائي
إعلام الكل ()
خيط
إلى السلسلة ()
الفراغ النهائي
انتظر (طويل arg0، int arg1)
الفراغ النهائي
انتظر (طويل arg0)
الفراغ النهائي
انتظر ()
org.tensorflow.op.Op
بيئة التنفيذ المجردة
بيئى ()
قم بإرجاع بيئة التنفيذ التي تم إنشاء هذه العملية فيها.
عملية مجردة
المرجع ()
قم بإرجاع وحدة الحساب هذه Operation واحدة.

الثوابت

السلسلة النهائية الثابتة العامة OP_NAME

اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

القيمة الثابتة: "GRUBlockCellGrad"

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

إنشاء GRUBlockCellGrad <T> ثابت عام (نطاق النطاق ، المعامل <T> x، المعامل <T> hPrev، المعامل <T> wRu، المعامل <T> wC، المعامل <T> bRu، المعامل <T> bC، المعامل <T > r، المعامل <T> u، المعامل <T> c، المعامل <T> dH)

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

حدود
نِطَاق النطاق الحالي
المرتجعات
  • مثيل جديد لـ GRUblockCellGrad

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

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

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

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