একটি কনভলিউশন নিউরাল নেটওয়ার্ক প্রশিক্ষণ


11

আমি বর্তমানে একটি মুখের স্বীকৃতি সফটওয়্যারটিতে কাজ করছি যা মুখগুলি সনাক্ত করতে কনভলিউশন নিউরাল নেটওয়ার্ক ব্যবহার করে। আমার পড়াশোনার উপর ভিত্তি করে, আমি একত্রিত করেছি যে একটি কনভোলশনাল নিউরাল নেটওয়ার্ক ওজন ভাগ করে নিয়েছে, যাতে প্রশিক্ষণের সময় সময় বাঁচাতে পারে। তবে, কীভাবে একজন ব্যাকপ্রপ্যাজেশনকে মানিয়ে নেয় তাই এটি কনভোলশন নিউরাল নেটওয়ার্কে ব্যবহার করা যায়। ব্যাকপ্রকাশে ওজন প্রশিক্ষণের জন্য কেউ এর অনুরূপ সূত্র ব্যবহার করে।

New Weight  = Old Weight +  LEARNING_RATE * 1 * Output Of InputNeuron * Delta

তবে কনভ্যুশনাল নিউরাল নেটওয়ার্কগুলিতে যেহেতু ওজন ভাগ করা হয়, প্রতিটি ওজন একাধিক নিউরনের সাথে ব্যবহৃত হয়, তবে কোনটি ব্যবহৃত হয় তা আমি কীভাবে সিদ্ধান্ত নেব Output of InputNeuron?

অন্য কথায় ওজন যেহেতু ভাগ করা যায় তাই ওজন কীভাবে পরিবর্তন করা যায় তা আমি কীভাবে সিদ্ধান্ত নেব?

উত্তর:


13

আপনাকে প্রথমে আপনার সমস্ত আপডেট গণনা করতে হবে যেমন উইগটগুলি ভাগ করা হয়নি, তবে কেবল সেগুলি সংরক্ষণ করুন, আসলে কোনও আপডেটিং করবেন না।

আপনার and এবং at অবস্থানগুলিতে প্রদর্শিত হবে এমন কিছু ওজন যা কে হতে পারে যেখানে হচ্ছে শিক্ষার হার এবং আপনার উদ্দেশ্যমূলক কাজ। মনে রাখবেন যে এই মুহুর্তে যদি আপনার ওজন ভাগ করে না নেওয়া হয় তবে আপনি কেবল W_ w হিসাবে ভাগ করা ওজনগুলি মোকাবেলা করার জন্য আপনাকে সমস্ত ব্যক্তিগত আপডেটগুলি যোগ করতে হবে। সুতরাং set সেট এবং তারপরে আপডেট করুন wkIk={(i,j):wi,j=wk} ηJwi,jwi,j=wi,j+Δwi,jΔডব্লুকে=(আই,জে) আই কে Δডব্লুআই,জেডব্লুকে=ডব্লুকে+Δডব্লুকেΔwi,j=ηJwi,jηJwi,j

wi,j=wi,j+Δwi,j.
Δwk=(i,j)IkΔwi,j
wk=wk+Δwk.

1
এর জন্য আপনার কি কোনও রেফারেন্স আছে? আরো পড়ার জন্য
জন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.