উত্তর:
নিউরাল নেটওয়ার্ক পরিভাষায়:
উদাহরণ: আপনার যদি 1000 টি প্রশিক্ষণের উদাহরণ থাকে এবং আপনার ব্যাচের আকার 500 হয় তবে 1 যুগটি শেষ করতে এটি 2 টি পুনরাবৃত্তি গ্রহণ করবে।
এফওয়াইআই: ট্রেড অফ ব্যাচের আকার বনাম একটি নিউরাল নেটওয়ার্ক প্রশিক্ষণের জন্য পুনরাবৃত্তির সংখ্যা
"ব্যাচ" শব্দটি অস্পষ্ট: কিছু লোক এটি পুরো প্রশিক্ষণের সেটকে মনোনীত করতে ব্যবহার করে এবং কিছু লোক এটি একটি ফরোয়ার্ড / পশ্চাৎপদ পাস (যেমন আমি এই উত্তরে করেছি) এর প্রশিক্ষণের উদাহরণগুলির সংখ্যা উল্লেখ করতে ব্যবহার করে। এই অস্পষ্টতা এড়ানোর জন্য এবং ব্যাচটি একটি ফরোয়ার্ড / পশ্চাৎপদে পাসের প্রশিক্ষণের উদাহরণগুলির সাথে মিলে যায় তা পরিষ্কার করতে, মিনি-ব্যাচ শব্দটি ব্যবহার করতে পারেন ।
যুগ এবং পুনরাবৃত্তি বিভিন্ন জিনিস বর্ণনা করে।
একটি যুগের সময় অ্যালগরিদম পুরো ডেটা সেটটি দেখে তার সংখ্যা বর্ণনা করে । সুতরাং, প্রত্যেকবার অ্যালগরিদম ডেটাসেটে সমস্ত নমুনা দেখেছে, একটি যুগ শেষ হয়েছে।
একটি পুনরাবৃত্তির দ্বারা অ্যালগরিদম দিয়ে ডেটা ব্যাচটি কতবার পাস হয়েছে তার সংখ্যা বর্ণনা করে । নিউরাল নেটওয়ার্কগুলির ক্ষেত্রে, এর অর্থ ফরওয়ার্ড পাস এবং পিছনের পাস । সুতরাং, যতবারই আপনি এনএন এর মাধ্যমে একটি ব্যাচ ডেটা পাস করবেন, আপনি একটি পুনরাবৃত্তি সম্পন্ন করেছেন ।
একটি উদাহরণ এটি পরিষ্কার করতে পারে।
বলুন আপনার কাছে 10 টি উদাহরণের (বা নমুনা) ডেটাসেট রয়েছে। আপনার ব্যাচের আকার 2 টি এবং আপনি নির্ধারণ করেছেন যে আপনি চাইছেন অ্যালগরিদমটি 3 যুগের জন্য চালানো।
অতএব, প্রতিটি যুগে আপনার 5 টি ব্যাচ থাকে (10/2 = 5)। প্রতিটি ব্যাচ অ্যালগরিদম দিয়ে যায়, অতএব আপনার কাছে প্রতি যুগের জন্য 5 টি পুনরাবৃত্তি রয়েছে। যেহেতু আপনি 3 টি যুগকে নির্দিষ্ট করেছেন, তাই প্রশিক্ষণের জন্য আপনার কাছে মোট 15 টি পুনরাবৃত্তি (5 * 3 = 15) রয়েছে।
অনেক নিউরাল নেটওয়ার্ক ট্রেনিং অ্যালগরিদমে নিউরাল নেটওয়ার্কে সেট সম্পূর্ণ ডেটার একাধিক উপস্থাপনা করা জড়িত। প্রায়শই পুরো ডেটা সেটের একক উপস্থাপনাটিকে "যুগ" হিসাবে উল্লেখ করা হয়। বিপরীতে, কিছু অ্যালগরিদমগুলি নিউরাল নেটওয়ার্কে ডেটা একসাথে একক ক্ষেত্রে উপস্থাপন করে।
"আইট্রেশন" একটি আরও সাধারণ শব্দ, তবে যেহেতু আপনি "মহাকাশ" এর সাথে একত্রে এটি সম্পর্কে জিজ্ঞাসা করেছিলেন, তাই আমি ধরে নিয়েছি যে আপনার উত্সটি নিউরাল নেটওয়ার্কে একটি একক কেস উপস্থাপনার কথা উল্লেখ করছে।
এগুলির মধ্যে পার্থক্য বুঝতে আপনার অবশ্যই গ্রেডিয়েন্ট বংশদ্ভুত অ্যালগরিদম এবং এর রূপগুলি বুঝতে হবে ।
আসল উত্তরটি শুরু করার আগে আমি কিছু পটভূমি তৈরি করতে চাই।
একটি ব্যাচ সম্পূর্ণ ডেটাসেট t এটির আকারটি উপলব্ধ ডেটাসেটের মোট প্রশিক্ষণের উদাহরণ।
মিনি ব্যাচের আকার হ'ল একক পাসে (এগিয়ে এবং পিছনে) শেখার অ্যালগরিদম প্রক্রিয়াগুলির উদাহরণগুলির সংখ্যা।
একটি মিনি-ব্যাচ প্রদত্ত মিনি-ব্যাচের আকারের ডেটাসেটের একটি ছোট্ট অংশ ।
পুনরাবৃত্তিও অ্যালগরিদম দেখেনি ডেটার ব্যাচ সংখ্যা (বা শুধু পাস অ্যালগরিদম ডেটা সেটটি সম্পন্ন করেছেন নম্বর)।
শিখানো অ্যালগরিদম সম্পূর্ণ ডেটাসেট দেখায় এমন সময় হল ইপাকস । এখন, এটি পুনরাবৃত্তির সংখ্যার সমান নাও হতে পারে , যেহেতু ডেটাসেটটি মিনি-ব্যাচেও প্রক্রিয়াজাত করা যায়, সংক্ষেপে, একটি একক পাস ডেটাসেটের কেবলমাত্র একটি অংশকেই প্রক্রিয়া করতে পারে। এই জাতীয় ক্ষেত্রে, পুনরাবৃত্তির সংখ্যা ইওপসের সংখ্যার সমান নয় ।
ব্যাচ গ্রেডিয়েন্ট বংশদ্ভুত ক্ষেত্রে, প্রতিটি ব্যাচ প্রতিটি প্রশিক্ষণ পাসের উপর প্রক্রিয়া করা হয়। অতএব, গ্রেডিয়েন্ট বংশোদ্ভূত অপ্টিমাইজারটি মিনি-ব্যাচের গ্রেডিয়েন্ট বংশোদ্ভুতের তুলনায় মসৃণ সংশ্লেষণের ফলস্বরূপ, তবে এটি আরও সময় নেয়। ব্যাচ গ্রেডিয়েন্ট বংশোদ্ভূত যদি এটি বিদ্যমান থাকে তবে সর্বোত্তম সন্ধানের গ্যারান্টিযুক্ত।
স্টচাস্টিক গ্রেডিয়েন্ট বংশদ্ভুত মিনি- ব্যাচ গ্রেডিয়েন্ট বংশদ্ভুত যা একটি বিশেষ ক্ষেত্রে দেখা যায় ক্ষুদ্র-ব্যাচ আকার হয় 1 ।
আপনার কাছে একটি প্রশিক্ষণের ডেটা রয়েছে যা আপনি এলোমেলো করে এবং এ থেকে মিনি-ব্যাচগুলি বাছাই করেন। যখন আপনি একটি মিনি ব্যাচ ব্যবহার করে আপনার ওজন এবং বায়াসগুলি সামঞ্জস্য করেন, আপনি একটি পুনরাবৃত্তি সম্পন্ন করেছেন। আপনি যখন আপনার মিনি-ব্যাচগুলি শেষ করে ফেলেন, আপনি একটি যুগ শেষ করবেন। তারপরে আপনি আবার আপনার প্রশিক্ষণের ডেটা বদলে ফেলুন, আবার আপনার মিনি-ব্যাচগুলি বাছাই করুন এবং সেগুলির মাধ্যমে আবারও পুনরাবৃত্তি করুন। এটি আপনার দ্বিতীয় যুগ হবে।
সাধারণত, আপনি নেটওয়ার্কটি থেকে শেখার জন্য আপনার পরীক্ষার সেটটিকে ছোট ছোট ব্যাচে বিভক্ত করবেন এবং প্রশিক্ষণটি আপনার স্তরগুলির ধাপে ধাপে ধাপে ধাপে ধাপে ধাপে নামিয়ে প্রয়োগ করুন applying এই সমস্ত ছোট পদক্ষেপকে পুনরাবৃত্তি বলা যেতে পারে ।
একটি যুগটি পুরো নেটওয়ার্কের মধ্যে দিয়ে একবারে পুরো প্রশিক্ষণের সেটটির সাথে মিল রাখে । এটি সীমাবদ্ধ করার জন্য দরকারী হতে পারে, উদ্বিগ্নতার সাথে লড়াই করা।
একটি যুগে কয়েকটি পুনরাবৃত্তি থাকে। এটাই আসলে এই 'যুগ'। নিউরাল নেটওয়ার্ক প্রশিক্ষণের জন্য ডেটা সেটের উপরে পুনরাবৃত্তির সংখ্যা হিসাবে 'মহাকাশ' সংজ্ঞায়িত করা যাক।
আমি বিশ্বাস করি যে পুনরাবৃত্তিটি ব্যাচ এসজিডিতে একক ব্যাচের ফরোয়ার্ড + ব্যাকপ্রপের সমতুল্য। মহাকাশটি একবারে পুরো ডেটাসেটের মধ্য দিয়ে যাচ্ছে (অন্য কেউ উল্লিখিত হিসাবে)।
নিউরাল নেটওয়ার্ক পরিভাষার প্রসঙ্গে আমার ধারণা:
পুনরাবৃত্তি (ওরফে পদক্ষেপ ) সংজ্ঞায়িত করতে , আপনাকে প্রথমে ব্যাচের আকার সম্পর্কে জানতে হবে :
ব্যাচের আকার: আপনি সম্ভবত পুরো প্রশিক্ষণের উদাহরণগুলি এক ফরোয়ার্ড পাসে প্রক্রিয়া করতে পছন্দ করবেন না কারণ এটি অদক্ষ এবং মেমরির একটি বিশাল চুক্তির প্রয়োজন। সুতরাং সাধারণত যা করা হয় তা প্রশিক্ষণ ইনস্ট্যান্টগুলি উপ-বিভাগগুলিতে বিভক্ত করা হয় (অর্থাত্ ব্যাচগুলি), নির্বাচিত সাবসেটের (অর্থাৎ ব্যাচ) একটি পাস সম্পাদন করে এবং তারপরে ব্যাকপ্রোপ্যাগেশনের মাধ্যমে নেটওয়ার্কটি অনুকূল করা। সাবসেটের (যেমন, ব্যাচ) মধ্যে প্রশিক্ষণের উদাহরণগুলির সংখ্যাটিকে ব্যাচ_সাইজ বলা হয় ।
স্বরলিপি: (ওরফে প্রশিক্ষণের পদক্ষেপ) আপনি জানেন যে কোনও এক যুগ শেষ করার জন্য আপনার নেটওয়ার্ককে সমস্ত প্রশিক্ষণ দৃষ্টান্ত এক পাসে যেতে হবে। কিন্তু অপেক্ষা করো! আপনি যখন নিজের প্রশিক্ষণের উদাহরণগুলি ব্যাচে বিভক্ত করছেন, তার অর্থ আপনি কেবল একটি ফরোয়ার্ড পাসে একটি ব্যাচ (প্রশিক্ষণের উদাহরণগুলির একটি উপসেট) প্রসেস করতে পারেন , তবে অন্যান্য ব্যাচগুলির কী হবে? এখানেই Iteration শব্দটি কার্যকর হয়:
উদাহরণস্বরূপ, যখন আপনার 1000 টি প্রশিক্ষণের উদাহরণ রয়েছে এবং আপনি 10 টি আকারের সাথে ব্যাচিং করতে চান ; একটি যুগ শেষ করতে আপনাকে 10000/10 = 1000 পুনরাবৃত্তি করতে হবে।
আশা করি এটি আপনার প্রশ্নের উত্তর দিতে পারে!
মহাকাশ প্রশিক্ষণের জন্য নমুনার সাবসেটের একটি পুনরাবৃত্তি, উদাহরণস্বরূপ, নিরপেক্ষ নেটওয়ার্কে গ্রেডিয়েন্ট বংশদ্ভুত অ্যালগরিদম। একটি ভাল রেফারেন্সটি হ'ল: http://neuranetworksandDPlearning.com/chap1.html
নোট করুন যে পৃষ্ঠায় গ্রেডিয়েন্ট বংশদ্ভুত অ্যালগরিদমের জন্য একটি কোড রয়েছে যা ইউপ ব্যবহার করে
def SGD(self, training_data, epochs, mini_batch_size, eta,
test_data=None):
"""Train the neural network using mini-batch stochastic
gradient descent. The "training_data" is a list of tuples
"(x, y)" representing the training inputs and the desired
outputs. The other non-optional parameters are
self-explanatory. If "test_data" is provided then the
network will be evaluated against the test data after each
epoch, and partial progress printed out. This is useful for
tracking progress, but slows things down substantially."""
if test_data: n_test = len(test_data)
n = len(training_data)
for j in xrange(epochs):
random.shuffle(training_data)
mini_batches = [
training_data[k:k+mini_batch_size]
for k in xrange(0, n, mini_batch_size)]
for mini_batch in mini_batches:
self.update_mini_batch(mini_batch, eta)
if test_data:
print "Epoch {0}: {1} / {2}".format(
j, self.evaluate(test_data), n_test)
else:
print "Epoch {0} complete".format(j)
কোড দেখুন। প্রতিটি যুগের জন্য, আমরা এলোমেলোভাবে গ্রেডিয়েন্ট বংশদ্ভুত অ্যালগরিদমের জন্য ইনপুটগুলির একটি উপসেট তৈরি করি। যুগে যুগে যুবা কার্যকর কেন তাও পৃষ্ঠাতে ব্যাখ্যা করা হয়েছে। এক নজর দেখে নাও.
পুরো ডেটাসেটের উপরে একটি পূর্ণ প্রশিক্ষণ পাস যেমন প্রতিটি উদাহরণ একবারে দেখা যায়। সুতরাং, একটি যুগটি এন / ব্যাচ আকারের প্রশিক্ষণের পুনরাবৃত্তির প্রতিনিধিত্ব করে , যেখানে এন উদাহরণগুলির মোট সংখ্যা।
প্রশিক্ষণের সময় কোনও মডেলের ওজনের একক আপডেট। একটি পুনরাবৃত্তিতে ডেটাগুলির একক ব্যাচের ক্ষতির বিষয়ে পরামিতিগুলির গ্রেডিয়েন্টগুলি গণনা করে ।
বোনাস হিসাবে:
মডেল প্রশিক্ষণের এক পুনরাবৃত্তিতে (যা এক গ্রেডিয়েন্ট আপডেট) ব্যবহৃত উদাহরণগুলির সেট ।
আরও দেখুন ব্যাচ আকার ।
উত্স: https://developers.google.com/machine-learning/glossary/
1.Eopch 1 সম্পূর্ণ চক্র যেখানে নিউরাল নেটওয়ার্ক তার সমস্ত ডেটা দেখে ফেলেছে।
২. মডেলটি প্রশিক্ষণের জন্য কেউ বলতে পারে ১০,০০,০০০ চিত্র, তবে মেমরির স্থানটি সমস্ত চিত্র একবারে প্রসেস করার জন্য পর্যাপ্ত না হতে পারে, তাই আমরা ব্যাচ নামে পরিচিত ডেটার ছোট অংশগুলিতে মডেলটির প্রশিক্ষণকে বিভক্ত করি। উদাহরণস্বরূপ ব্যাচের আকার 100
3.. একাধিক ব্যাচ ব্যবহার করে আমাদের সমস্ত চিত্র কভার করতে হবে। সুতরাং আমাদের সমস্ত 10,000,000 চিত্রকে কভার করতে 1000 পুনরাবৃত্তির প্রয়োজন হবে। (100 ব্যাচের আকার * 1000 পুনরাবৃত্তি)
4. একবার নিউরাল নেটওয়ার্ক পুরো ডেটা দেখলে একে 1 Epoch (পয়েন্ট 1) বলা হয়। মডেলটি প্রশিক্ষণের জন্য একাধিক পর্বের প্রয়োজন হতে পারে। (আসুন 10 পর্বগুলি বলুন)।