GRUBlockCellGrad

পাবলিক ফাইনাল ক্লাস GRUBlockCellGrad

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> x, অপারেন্ড <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 অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
আউটপুট <T>
dCBar ()
আউটপুট <T>
dHPrev ()
আউটপুট <T>
আউটপুট <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 এর একটি নতুন উদাহরণ

সর্বজনীন আউটপুট <T> dCBar ()

সর্বজনীন আউটপুট <T> dHPrev ()

সর্বজনীন আউটপুট <T> dRBarUBar ()

সর্বজনীন আউটপুট <T> dX ()