দ্রষ্টব্য: আমি ব্যাকপ্রপ নিয়ে বিশেষজ্ঞ নই, তবে এখন কিছুটা পড়েছি বলে আমি মনে করি যে নিম্নলিখিত ক্যাভিয়েটটি উপযুক্ত। স্নায়ুবহুল জালগুলিতে কাগজপত্র বা বই পড়ার সময় , ডেরিভেটিভদের জন্য স্ট্যান্ডার্ড সংমিশ্রণ / সূচী সূচীকরণ , ম্যাট্রিক্স নোটেশন এবং বহু-সূচক স্বরলিপিটির মিশ্রণ ব্যবহার করে রচনা করা অস্বাভাবিক কিছু নয় (টেনসর-টেনসর ডেরিভেটিভসের জন্য শেষ দুটিয়ের সংকরকে অন্তর্ভুক্ত করুন) )। সাধারণত উদ্দেশ্যটি হ'ল এটি "প্রসঙ্গ থেকে বোঝা উচিত", সুতরাং আপনার যত্নবান হতে হবে!
আমি আপনার বিকাশের মধ্যে বেশ কয়েকটি অসঙ্গতি লক্ষ্য করেছি। আমি সত্যিই নিউরাল নেটওয়ার্কগুলি করি না, তাই নিম্নলিখিতগুলি ভুল হতে পারে। যাইহোক, সমস্যাটি সম্পর্কে আমি কীভাবে যাব তা এখানে।
প্রথমত, আপনাকে এর সংমিশ্রণের অ্যাকাউন্ট নেওয়া দরকার এবং আপনি প্রতিটি পদটি কেবল একটি ওজনের উপর নির্ভর করে ধরে নিতে পারবেন না। সুতরাং z এর উপাদান K এর সাথে E এর গ্রেডিয়েন্ট গ্রহণ করা আমাদের
E = - ∑ j t j লগ হে জ আছেEEkz
E=−∑jtjlogoj⟹∂E∂zk=−∑jtj∂logoj∂zk
তারপরে, ও জে = 1 হিসাবে
প্রকাশ করাoj
আমাদের
∂ লগ আছে
oj=1Ωezj,Ω=∑iezi⟹logoj=zj−logΩ
যেখানে
δঞটহয়
Kronecker ব-দ্বীপ∂logoj∂zk=δjk−1Ω∂Ω∂zk
δjk । তারপরে সফটম্যাক্স-ডিনোমিনেটরের গ্রেডিয়েন্টটি
যা দেয়
∂∂Ω∂zk=∑ieziδik=ezk
বা, লগটি প্রসারিত করা হচ্ছে
∂logoj∂zk=δjk−ok
লক্ষ্য করুন ব্যুৎপন্ন থেকে সম্মান সঙ্গে
z- রট, একটি
অবাধএর কম্পোনেন্ট
z- র, যা দেয়
δঞটশব্দ (
=1∂oj∂zk=oj(δjk−ok)
zkzδjk=1 শুধুমাত্র যখন
)।
k=j
তাই z এর সাথে সম্মানের সাথে এর গ্রেডিয়েন্টEz তখন
যেখানে τ=∑জেটিজে
∂E∂zk=∑jtj(ok−δjk)=ok(∑jtj)−tk⟹∂E∂zk=okτ−tk
τ=∑jtj স্থির থাকে (প্রদত্ত
ভেক্টরের জন্য)।
t
এটি আপনার ফলাফল থেকে প্রথম পার্থক্য দেখায়: আর ও কে ছাড়বে না । নোট করুন যে টিপিকাল ক্ষেত্রে আমাদের কাছে টি "ওয়ান-হট" থাকেtkokt (আপনার প্রথম লিঙ্কে উল্লিখিত হিসাবে)।τ=1
দ্বিতীয় অসঙ্গতি, যদি আমি সঠিকভাবে বুঝতে পারি তবে তা হ'ল " " যা z এ ইনপুটoz "হওয়ার সম্ভবনা " যে softmax থেকে আউটপুট। আমি ভাবব যে এটি আরও বেশি বোঝায় যে এটি নেটওয়ার্ক আর্কিটেকচারে আসলে "আরও পিছনে"?o
এই ভেক্টরকে , আমাদের তখন
z k = ∑ i w i k y i আছেy
zk=∑iwikyi+bk⟹∂zk∂wpq=∑iyi∂wik∂wpq=∑iyiδipδkq=δkqyp
পরিশেষে, ওজন-ম্যাট্রিক্স ডব্লু সম্পর্কিত এর গ্রেডিয়েন্ট পেতে আমরা চেইন বিধি use ব্যবহার করি
∂Ew
চূড়ান্ত এক্সপ্রেশন দিচ্ছে (এক-হটটি ধরে, অর্থাৎτ=1)
∂E
∂E∂wpq=∑k∂E∂zk∂zk∂wpq=∑k(okτ−tk)δkqyp=yp(oqτ−tq)
tτ=1
যেখানে
yহল সর্বনিম্ন স্তরের ইনপুট (আপনার উদাহরণের)।
∂E∂wij=yi(oj−tj)
y
এই শো আপনার ফলাফল থেকে একটি দ্বিতীয় পার্থক্য তাই: " " সম্ভবতঃ নিচে পর্যায় থেকে হওয়া উচিত z- র , যা আমি কল Y উপরে স্তর, বরং z- র (যা ণ )।oizyzo
আশা করি এটি সাহায্য করবে। এই ফলাফল কি আরও সামঞ্জস্যপূর্ণ বলে মনে হচ্ছে?
আপডেট: মন্তব্যগুলিতে ওপেনের একটি প্রশ্নের জবাবে, এখানে প্রথম ধাপের সম্প্রসারণ করা হচ্ছে। প্রথমে নোট করুন যে ভেক্টর চেইন রুলের সংক্ষিপ্তসার প্রয়োজন ( এখানে দেখুন )। দ্বিতীয়ত, সমস্ত গ্রেডিয়েন্ট উপাদানগুলি পাওয়ার বিষয়ে নিশ্চিত হওয়ার জন্য , আপনাকে আংশিক ডেরাইভেটিভের ডিনোমিনেটরে সর্বদা উপাদানটির জন্য একটি নতুন সাবস্ক্রিপ্ট চিঠি প্রবর্তন করা উচিত । সুতরাং সম্পূর্ণ শৃঙ্খলা বিধি সহ গ্রেডিয়েন্টটি সম্পূর্ণরূপে লিখতে আমাদের
এবং
∂ণআমি
∂E∂wpq=∑i∂E∂oi∂oi∂wpq
so
∂E∂oi∂wpq=∑k∂oi∂zk∂zk∂wpq
অনুশীলন পূর্ণ summations, কমাতে কারণ আপনার অনেক পাওয়াδএকটিখশর্তাবলী। যদিও এতে প্রচুর পরিমাণে "অতিরিক্ত" সংক্ষিপ্তসার এবং সাবস্ক্রিপ্ট জড়িত রয়েছে, সম্পূর্ণ চেইন নিয়মটি ব্যবহার করা আপনাকে সর্বদা সঠিক ফলাফলটি নিশ্চিত করবে।∂E∂wpq=∑i[∂E∂oi(∑k∂oi∂zk∂zk∂wpq)]
δab