1 বার ধাপের জন্য GRU সেল ব্যাক-প্রোপাগেশন গণনা করে।
Args x: GRU ঘরে ইনপুট। h_prev: পূর্ববর্তী GRU সেল থেকে স্টেট ইনপুট। w_ru: রিসেট এবং আপডেট গেটের জন্য ওজন ম্যাট্রিক্স। w_c: সেল সংযোগ গেটের জন্য ওজন ম্যাট্রিক্স। b_ru: রিসেট এবং আপডেট গেটের জন্য বায়াস ভেক্টর। b_c: সেল সংযোগ গেটের জন্য বায়াস ভেক্টর। r: রিসেট গেটের আউটপুট। u: আপডেট গেটের আউটপুট। c: সেল সংযোগ গেটের আউটপুট। 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` কে ৪টি ভিন্ন ম্যাট্রিসে ভাগ করা যেতে পারে।
w_ru = [w_r_x w_u_x
w_r_h_prev w_u_h_prev]
একইভাবে, `w_c` 2টি ভিন্ন ম্যাট্রিসে ভাগ করা যেতে পারে। 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
নীচের গণনাটি গ্রেডিয়েন্টের জন্য পাইথন র্যাপারে করা হয় (গ্রেডিয়েন্ট কার্নেলে নয়।) 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
পাবলিক পদ্ধতি
স্ট্যাটিক <T নম্বর প্রসারিত করে> GRUBlockCellGrad <T> | |
আউটপুট <T> | dCBar () |
আউটপুট <T> | dHPrev () |
আউটপুট <T> | dRBarUBar () |
আউটপুট <T> | dX () |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
পাবলিক স্ট্যাটিক GRUBlockCellGrad <T> তৈরি করুন ( স্কোপ স্কোপ, Operand <T> x, Operand <T> hPrev, Operand <T> wRu, Operand <T> wC, Operand <T> bRu, Operand <T> bC, Operand <T > r, Operand <T> u, Operand <T> c, Operand <T> dH)
একটি নতুন GRUBlockCellGrad অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|
রিটার্নস
- GRUBlockCellGrad এর একটি নতুন উদাহরণ