নিউরাল নেটওয়ার্কগুলিতে ব্যাচ শেখার পদ্ধতিতে ওজন কীভাবে আপডেট করা হয়?


15

কেউ দয়া করে আমাকে কীভাবে ব্যাচ পদ্ধতিটি ব্যবহার করে নিউরাল নেটওয়ার্ক তৈরি করার কথা বলছেন?

আমি পড়েছি, প্রশিক্ষণ সংস্থার সমস্ত নমুনার জন্য, ব্যাচ মোডে, আমরা ত্রুটিটি গণনা করি, ডেল্টা এবং সুতরাং নেটওয়ার্কের প্রতিটি নিউরনের জন্য ডেল্টা ওজন এবং তারপরে অবিলম্বে ওজনগুলি আপডেট করার পরিবর্তে, আমরা সেগুলি জমা করি এবং তারপরে শুরু করার আগে পরবর্তী যুগ, আমরা ওজন আপডেট করি।

আমি কোথাও এটিও পড়েছি যে, ব্যাচ পদ্ধতিটি অনলাইনের পদ্ধতির মতো তবে পার্থক্য হওয়ায় কেবলমাত্র প্রশিক্ষণের সেটে সমস্ত নমুনার জন্য ত্রুটিগুলি যোগ করতে হবে এবং তার গড় নিতে হবে এবং তারপরে ওজন আপডেট করার জন্য এটির মতো ব্যবহার করতে হবে অনলাইন পদ্ধতিতে কেউ এটি করে (পার্থক্যটি ঠিক সেই গড়ের মতো):

for epoch=1 to numberOfEpochs

   for all i samples in training set

         calculate the errors in output layer
         SumOfErrors += (d[i] - y[i])
   end

   errorAvg = SumOfErrors / number of Samples in training set

   now update the output layer with this error
   update all other previous layers

   go to the next epoch

end
  • এর মধ্যে কোনটি সত্যই ব্যাচ পদ্ধতির সঠিক ফর্ম?
  • প্রথমটির ক্ষেত্রে, সমস্ত ব-দ্বীনের ওজন জমে কি বিপুল সংখ্যক ফল হয় না?

1
"সঠিক" পদ্ধতিটি প্রসঙ্গে নির্ভর করে। দেখা গেছে যে অনেক ক্ষেত্রে, প্রতি যুগের জন্য একবার ওজন আপডেট করা স্টোকাস্টিক আপডেটিং (প্রতিটি উদাহরণের পরে ওজন আপডেট করা) এর চেয়ে অনেক ধীরে ধীরে রূপান্তরিত হয়। আমি একটি sensক্যমত্য যুক্ত করব যা আপনি সাধারণত ব্যাচ আপডেটের কিছু ফর্ম ব্যবহার করতে চাইবেন তবে প্রায় প্রতি পর্বে 1x এর চেয়ে বেশি।
টহলর

উত্তর:


9

গড় বা যোগফল ব্যবহার সমান, এই অর্থে যে শিখার হারের জন্য তারা একই আপডেট তৈরি করে সেখানে এমন এক জোড়া উপস্থিত রয়েছে।

এটি নিশ্চিত করতে প্রথমে আপডেটের নিয়মটি স্মরণ করুন:

Δwij=αEwij

তারপরে, কে একটি যুগের আকার ডেটাসেটের গড় ত্রুটি হতে দিন । ত্রুটির সমষ্টি তারপর , এবং যেহেতু উপর নির্ভর করে না , এই ঝুলিতে: এন এন μ এন ডাব্লুμEnnμEnw

Δwij=α(nμ)wij=αnμwij

আপনার দ্বিতীয় প্রশ্নের কাছে, "ডেল্টা ওজনগুলি জমে থাকা" এই বাক্যাংশটি বোঝায় যে এই পদ্ধতির মধ্যে একটি ওজন হালনাগাদকে ধরে রাখে। এটি কেস নয়: ব্যাচ শেখা ত্রুটি জমা করে । প্রদত্ত যুগের মধ্যে কেবল একটিই, একক ভেক্টর রয়েছে। (আপনার সিউডোকোড কোড ওজন আপডেট করার পদক্ষেপ বাদ দেয় , যার পরে কেউ ফেলে দিতে পারে ।)Δ WΔwΔw


1
মিনি ব্যাচের গ্রেডিয়েন্ট বংশোদ্ভূত কি একই ব্যাচ-গ্রেডিয়েন্ট বংশোদ্ভূত? আমি এখানে হারিয়েছি! যদি না তবে এইগুলির মধ্যে পার্থক্য কী? আমাকে ভুল করে দিলে আমি ব্যাচ মোডে পুরো ডেটাসেটটি ব্যাচগুলিতে পড়তে হবে, গ্রেডিয়েন্টগুলি গণনা করতে হবে, এবং যখন সমস্তটি পড়া হয়, তখন সেগুলি গড় হয় এবং তারপরে প্যারামিটারগুলি আপডেট করা হয়, যখন, মিনি-ব্যাচে প্রতিটি ব্যাচটি পড়া হয়, গ্রেডিয়েন্টগুলি গণনা করা হয় এবং তারপরে প্যারামিটারগুলি আপডেট হয় এবং তারপরে একটি মিনি পর্ব শেষ না হওয়া পর্যন্ত পরবর্তী মিনি ব্যাচটি পড়া হয়।
রিকা

1
এটি সাধারণত প্রদত্ত সংজ্ঞা: একবারে প্রশিক্ষণের ডেটার একটি উপসেট ব্যবহার করে প্যারামিটারগুলি আপডেট করুন। (কিছু পদ্ধতি যা মিনি- ব্যাচ এলোমেলোভাবে অভিসৃতি পর্যন্ত নমুনা হিসেবে পাঠানো হয় আছে অর্থাত ব্যাচ একটি অধিযুগ ভেদকরেখার করা হবে না।) যদি দেখুন এই সহায়ক।
শন ইস্টার

0

দুটি উত্তর সমান। আমি ব্যক্তিগতভাবে এটিকে যোগফলের পরিবর্তে গড় ত্রুটি হিসাবে মনে করব। তবে মনে রাখবেন যে গ্রেডিয়েন্ট বংশোদ্ভূত পাঠের হার নামে একটি প্যারামিটার রয়েছে এবং ত্রুটির গ্রেডিয়েন্টের কেবলমাত্র একটি অংশ বিয়োগ করা হয়। সুতরাং ত্রুটিটিকে মোট গড় হিসাবে সংজ্ঞায়িত করা হয়েছে কিনা তা শিক্ষার হার পরিবর্তন করে ক্ষতিপূরণ দেওয়া যেতে পারে।


ধন্যবাদ, তবে যদি তারা সত্যই একই হয় তবে প্রতিটি প্যাটার্নের জন্য জমে থাকা আপডেটগুলি বজায় রাখার জন্য কেন এত স্মৃতি নষ্ট করা বিরক্ত করবেন, যখন আমরা কেবল ত্রুটিগুলির সংক্ষিপ্ত করতে পারি যা কেবলমাত্র একটি সাধারণ পরিবর্তনশীল হবে?
রিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.