একটি GAN এর জেনারেটর অংশ বৈষম্যকারীর কাছ থেকে প্রতিক্রিয়া অন্তর্ভুক্ত করে জাল ডেটা তৈরি করতে শেখে। এটি বৈষম্যকারীকে তার আউটপুটকে বাস্তব হিসাবে শ্রেণীবদ্ধ করতে শেখে।
জেনারেটর প্রশিক্ষণের জন্য বৈষম্যমূলক প্রশিক্ষণের চেয়ে জেনারেটর এবং বৈষম্যকারীর মধ্যে কঠোর সংহতকরণ প্রয়োজন। GAN এর যে অংশটি জেনারেটরকে প্রশিক্ষণ দেয় তার মধ্যে রয়েছে:
- র্যান্ডম ইনপুট
- জেনারেটর নেটওয়ার্ক, যা র্যান্ডম ইনপুটকে ডেটা ইনস্ট্যান্সে রূপান্তরিত করে
- ডিসক্রিমিনেটর নেটওয়ার্ক, যা উৎপন্ন ডেটাকে শ্রেণীবদ্ধ করে
- বৈষম্যকারী আউটপুট
- জেনারেটরের ক্ষতি, যা বৈষম্যকারীকে বোকা বানাতে ব্যর্থ হওয়ার জন্য জেনারেটরকে শাস্তি দেয়
চিত্র 1: জেনারেটর প্রশিক্ষণে ব্যাকপ্রোপগেশন।
এলোমেলো ইনপুট
নিউরাল নেটওয়ার্কের জন্য কিছু ধরনের ইনপুট প্রয়োজন। সাধারণত আমরা এমন ডেটা ইনপুট করি যা দিয়ে আমরা কিছু করতে চাই, যেমন একটি উদাহরণ যা আমরা শ্রেণীবদ্ধ করতে বা ভবিষ্যদ্বাণী করতে চাই। কিন্তু আমরা এমন একটি নেটওয়ার্কের জন্য ইনপুট হিসাবে কী ব্যবহার করি যা সম্পূর্ণ নতুন ডেটা উদাহরণ আউটপুট করে?
তার সবচেয়ে মৌলিক আকারে, একটি GAN এর ইনপুট হিসাবে এলোমেলো শব্দ নেয়। জেনারেটর তারপর এই শব্দটিকে একটি অর্থপূর্ণ আউটপুটে রূপান্তরিত করে। গোলমাল চালু করার মাধ্যমে, আমরা টার্গেট ডিস্ট্রিবিউশনে বিভিন্ন জায়গা থেকে নমুনা নিয়ে বিভিন্ন ধরনের ডেটা তৈরি করতে GAN পেতে পারি।
পরীক্ষাগুলি পরামর্শ দেয় যে গোলমালের বিতরণ খুব বেশি গুরুত্বপূর্ণ নয়, তাই আমরা এমন কিছু বেছে নিতে পারি যা থেকে নমুনা নেওয়া সহজ, যেমন একটি অভিন্ন বিতরণ। সুবিধার জন্য যে স্থান থেকে শব্দের নমুনা নেওয়া হয় সেটি সাধারণত আউটপুট স্থানের মাত্রার চেয়ে ছোট মাত্রার হয়।
জেনারেটরকে প্রশিক্ষণ দিতে ডিসক্রিমিনেটর ব্যবহার করা
একটি নিউরাল নেট প্রশিক্ষণের জন্য, আমরা এর আউটপুট ত্রুটি বা ক্ষতি কমাতে নেটের ওজন পরিবর্তন করি। আমাদের GAN-এ, যাইহোক, জেনারেটর সরাসরি ক্ষতির সাথে সংযুক্ত নয় যা আমরা প্রভাবিত করার চেষ্টা করছি। জেনারেটর বৈষম্যকারী নেটে ফিড করে, এবং বৈষম্যকারী আউটপুট তৈরি করে যা আমরা প্রভাবিত করার চেষ্টা করছি। জেনারেটরের ক্ষতি জেনারেটরকে একটি নমুনা তৈরি করার জন্য শাস্তি দেয় যা বৈষম্যকারী নেটওয়ার্ক জাল হিসাবে শ্রেণীবদ্ধ করে।
নেটওয়ার্কের এই অতিরিক্ত অংশটি অবশ্যই ব্যাকপ্রোপাগেশনে অন্তর্ভুক্ত করতে হবে। ব্যাকপ্রোপগেশন প্রতিটি ওজনকে সঠিক দিকে সামঞ্জস্য করে আউটপুটে ওজনের প্রভাব হিসাব করে — আপনি ওজন পরিবর্তন করলে আউটপুট কীভাবে পরিবর্তিত হবে। কিন্তু একটি জেনারেটরের ওজনের প্রভাব নির্ভর করে বৈষম্যকারী ওজনের প্রভাবের উপর যা এটি খাওয়ায়। সুতরাং ব্যাকপ্রোপাগেশন আউটপুট থেকে শুরু হয় এবং বৈষম্যকারীর মাধ্যমে জেনারেটরে ফিরে আসে।
একই সময়ে, আমরা জেনারেটর প্রশিক্ষণের সময় বৈষম্যকারী পরিবর্তন করতে চাই না। একটি চলমান লক্ষ্যে আঘাত করার চেষ্টা করা জেনারেটরের জন্য একটি কঠিন সমস্যাকে আরও কঠিন করে তুলবে।
সুতরাং আমরা জেনারেটরকে নিম্নলিখিত পদ্ধতির সাথে প্রশিক্ষণ দিই:
- নমুনা এলোমেলো শব্দ.
- নমুনা র্যান্ডম শব্দ থেকে জেনারেটর আউটপুট উত্পাদন.
- জেনারেটর আউটপুটের জন্য বৈষম্যকারী "বাস্তব" বা "জাল" শ্রেণীবিভাগ পান।
- বৈষম্যকারী শ্রেণীবিভাগ থেকে ক্ষতি গণনা করুন।
- গ্রেডিয়েন্ট প্রাপ্ত করার জন্য বৈষম্যকারী এবং জেনারেটর উভয়ের মাধ্যমে ব্যাকপ্রোপগেট করুন।
- শুধুমাত্র জেনারেটরের ওজন পরিবর্তন করতে গ্রেডিয়েন্ট ব্যবহার করুন।
এটি জেনারেটর প্রশিক্ষণের একটি পুনরাবৃত্তি। পরবর্তী বিভাগে আমরা দেখতে পাব কিভাবে জেনারেটর এবং বৈষম্যকারী উভয়ের প্রশিক্ষণ নিয়ে কাজ করা যায়।