انتشار سلول GRU را برای 1 مرحله زمانی محاسبه می کند.
Args x: ورودی به سلول GRU. h_prev: ورودی وضعیت از سلول قبلی GRU. w_ru: ماتریس وزن برای گیت تنظیم مجدد و به روز رسانی. w_c: ماتریس وزن برای دروازه اتصال سلولی. b_ru: بردار بایاس برای گیت تنظیم مجدد و به روز رسانی. b_c: بردار بایاس برای دروازه اتصال سلولی.
r را برمی گرداند: خروجی گیت ریست. u: خروجی گیت به روز رسانی. ج: خروجی گیت اتصال سلولی. h: وضعیت فعلی سلول GRU.
توجه به علامت گذاری متغیرها:
الحاق a و b با a_b نشان داده می شود حاصل ضرب نقطه ای عنصری a و b با ab نشان داده می شود.
بایاس ها با: "b_ru" - install_initializer(1.0) "b_c" - install_initializer(0.0) مقداردهی اولیه می شوند.
این هسته عملیات معادلات ریاضی زیر را پیاده سازی می کند:
x_h_prev = [x, h_prev]
[r_bar u_bar] = x_h_prev * w_ru + b_ru
r = sigmoid(r_bar)
u = sigmoid(u_bar)
h_prevr = h_prev \circ r
x_h_prevr = [x h_prevr]
c_bar = x_h_prevr * w_c + b_c
c = tanh(c_bar)
h = (1-u) \circ c + u \circ h_prev
روش های عمومی
خروجی <T> | ج () |
استاتیک <T تعداد را گسترش می دهد> GRUBlockCell <T> | |
خروجی <T> | h () |
خروجی <T> | r () |
خروجی <T> | تو () |
روش های ارثی
روش های عمومی
عمومی ایستا GRUBlockCell <T> ایجاد ( دامنه دامنه ، عملوند <T> x، عملوند <T> hPrev، عملوند <T> wRu، عملوند <T> wC، عملوند <T> bRu، عملوند <T> bC)
روش کارخانه برای ایجاد کلاسی که عملیات GRUBlockCell جدید را بسته بندی می کند.
پارامترها
دامنه | محدوده فعلی |
---|
برمی گرداند
- یک نمونه جدید از GRUBlockCell