ব্যাকপ্রোপগেশন হল নিউরাল নেটওয়ার্কের জন্য সবচেয়ে সাধারণ প্রশিক্ষণ অ্যালগরিদম। এটি মাল্টি-লেয়ার নিউরাল নেটওয়ার্কের জন্য গ্রেডিয়েন্ট ডিসেন্টকে সম্ভবপর করে তোলে। অনেক মেশিন লার্নিং কোড লাইব্রেরি (যেমন কেরাস ) স্বয়ংক্রিয়ভাবে ব্যাকপ্রোপাগেশন পরিচালনা করে, তাই আপনাকে অন্তর্নিহিত কোনো গণনা নিজে করতে হবে না। ব্যাকপ্রপাগেশন কীভাবে কাজ করে তার একটি ধারণাগত ওভারভিউয়ের জন্য নিম্নলিখিত ভিডিওটি দেখুন:
নিউরাল নেটওয়ার্ক প্রশিক্ষণের জন্য সর্বোত্তম অনুশীলন
এই বিভাগটি ব্যাকপ্রপাগেশনের ব্যর্থতার ঘটনা এবং একটি নিউরাল নেটওয়ার্ক নিয়মিত করার সবচেয়ে সাধারণ উপায় ব্যাখ্যা করে।
অদৃশ্য গ্রেডিয়েন্ট
নিম্ন নিউরাল নেটওয়ার্ক স্তরগুলির জন্য গ্রেডিয়েন্টগুলি (যেগুলি ইনপুট স্তরের কাছাকাছি) খুব ছোট হতে পারে। গভীর নেটওয়ার্কগুলিতে (একটির বেশি লুকানো স্তর সহ নেটওয়ার্ক), এই গ্রেডিয়েন্টগুলি কম্পিউট করার জন্য অনেকগুলি ছোট পদের পণ্য নেওয়া জড়িত থাকতে পারে।
যখন গ্রেডিয়েন্টের মান নিম্ন স্তরের জন্য 0 এর কাছে পৌঁছায়, গ্রেডিয়েন্টগুলিকে "অদৃশ্য" বলা হয়। অদৃশ্য গ্রেডিয়েন্ট সহ স্তরগুলি খুব ধীরে ধীরে প্রশিক্ষিত হয়, বা একেবারেই না।
ReLU অ্যাক্টিভেশন ফাংশন অদৃশ্য গ্রেডিয়েন্ট প্রতিরোধ করতে সাহায্য করতে পারে।
বিস্ফোরণ গ্রেডিয়েন্ট
যদি একটি নেটওয়ার্কে ওজন খুব বড় হয়, তাহলে নীচের স্তরগুলির জন্য গ্রেডিয়েন্টগুলি অনেক বড় পদের পণ্যগুলিকে অন্তর্ভুক্ত করে। এই ক্ষেত্রে আপনার বিস্ফোরিত গ্রেডিয়েন্ট থাকতে পারে: গ্রেডিয়েন্ট যা একত্রিত হওয়ার জন্য খুব বড় হয়।
ব্যাচ স্বাভাবিকীকরণ বিস্ফোরণ গ্রেডিয়েন্ট প্রতিরোধ করতে সাহায্য করতে পারে, যেমন শেখার হার কমাতে পারে।
মৃত ReLU ইউনিট
একবার একটি ReLU ইউনিটের ওজনযুক্ত যোগফল 0-এর নিচে নেমে গেলে, ReLU ইউনিট আটকে যেতে পারে। এটি 0 আউটপুট করে, নেটওয়ার্কের আউটপুটে কিছুই অবদান রাখে না এবং ব্যাকপ্রোপেশনের সময় গ্রেডিয়েন্ট আর এটির মধ্য দিয়ে প্রবাহিত হতে পারে না। গ্রেডিয়েন্টের উৎস কেটে ফেলা হলে, ReLU-তে ইনপুট কখনোই ওজনযুক্ত যোগফলকে 0-এর উপরে ফিরিয়ে আনার জন্য যথেষ্ট পরিবর্তিত নাও হতে পারে।
শেখার হার কমানো RELU ইউনিটগুলিকে মৃত্যু থেকে বাঁচাতে সাহায্য করতে পারে।
ড্রপআউট নিয়মিতকরণ
নিয়মিতকরণের আরেকটি রূপ, যাকে ড্রপআউট নিয়মিতকরণ বলা হয়, নিউরাল নেটওয়ার্কের জন্য উপযোগী। এটি একটি একক গ্রেডিয়েন্ট ধাপের জন্য একটি নেটওয়ার্কে এলোমেলোভাবে "ড্রপ আউট" ইউনিট সক্রিয়করণের মাধ্যমে কাজ করে। আপনি যত বেশি বাদ পড়বেন, নিয়মিতকরণ তত শক্তিশালী হবে:
- 0.0 = কোন ড্রপআউট নিয়মিতকরণ।
- 1.0 = সমস্ত নোড বাদ দিন। মডেল কিছুই শেখে না।
- 0.0 এবং 1.0 এর মধ্যে মান = আরও দরকারী।