জেনারেটর

একটি GAN এর জেনারেটর অংশ বৈষম্যকারীর কাছ থেকে প্রতিক্রিয়া অন্তর্ভুক্ত করে জাল ডেটা তৈরি করতে শেখে। এটি বৈষম্যকারীকে তার আউটপুটকে বাস্তব হিসাবে শ্রেণীবদ্ধ করতে শেখে।

জেনারেটর প্রশিক্ষণের জন্য বৈষম্যমূলক প্রশিক্ষণের চেয়ে জেনারেটর এবং বৈষম্যকারীর মধ্যে কঠোর সংহতকরণ প্রয়োজন। GAN এর যে অংশটি জেনারেটরকে প্রশিক্ষণ দেয় তার মধ্যে রয়েছে:

  • র্যান্ডম ইনপুট
  • জেনারেটর নেটওয়ার্ক, যা র্যান্ডম ইনপুটকে ডেটা ইনস্ট্যান্সে রূপান্তরিত করে
  • ডিসক্রিমিনেটর নেটওয়ার্ক, যা উৎপন্ন ডেটাকে শ্রেণীবদ্ধ করে
  • বৈষম্যকারী আউটপুট
  • জেনারেটরের ক্ষতি, যা বৈষম্যকারীকে বোকা বানাতে ব্যর্থ হওয়ার জন্য জেনারেটরকে শাস্তি দেয়

একটি জেনারেটিভ অ্যাডভারসারিয়াল নেটওয়ার্কের একটি চিত্র। ডায়াগ্রামের কেন্দ্রে 'বৈষম্যকারী' লেবেলযুক্ত একটি বাক্স রয়েছে। দুটি শাখা বাম দিক থেকে এই বাক্সে ফিড. উপরের শাখাটি ডায়াগ্রামের উপরের বামদিকে 'বাস্তব বিশ্বের চিত্র' লেবেলযুক্ত একটি বাক্স দিয়ে শুরু হয়। একটি তীর এই সিলিন্ডার থেকে 'নমুনা' লেবেলযুক্ত একটি বাক্সে নিয়ে যায়। 'নমুনা' লেবেলযুক্ত বাক্স থেকে একটি তীর 'বৈষম্যকারী' বাক্সে প্রবেশ করে। নীচের শাখাটি 'ডিসক্রিমিনেটর' বাক্সে ফিড করে 'র্যান্ডম ইনপুট' লেবেলযুক্ত একটি বাক্স দিয়ে শুরু করে। একটি তীর 'র্যান্ডম ইনপুট' বাক্স থেকে 'জেনারেটর' লেবেলযুক্ত একটি বাক্সে নিয়ে যায়। একটি তীর 'জেনারেটর' বাক্স থেকে একটি দ্বিতীয় 'নমুনা' বাক্সে নিয়ে যায়। একটি তীর 'নমুনা' বাক্স থেকে 'বৈষম্যকারী বাক্সে নিয়ে যায়। 'ডিসক্রিমিনেটর' বাক্সের ডানদিকে, দুটি তীর চিত্রের ডানদিকে দুটি বাক্সের দিকে নিয়ে যায়। একটি তীর 'বৈষম্যকারী ক্ষতি' লেবেলযুক্ত একটি বাক্সের দিকে নিয়ে যায়। অন্য তীরটি 'জেনারেটর লস' লেবেলযুক্ত একটি বাক্সের দিকে নিয়ে যায়। একটি বাম-পয়েন্টিং তীর সহ লেবেলযুক্ত একটি হলুদ বাক্স এবং 'ব্যাকপ্রোপ্যাগেশন' শব্দটি 'র্যান্ডম ইনপুট' বাক্সের চারপাশে আঁকা হয়েছে, 'জেনারেটর' বক্স, নীচের 'নমুনা' বাক্স, 'বিষয়ক' বাক্স, 'বক্স' লেবেলযুক্ত বক্স রিয়েল' এবং 'ফেক', এবং 'জেনারেটর লস' বাক্সটি নির্দেশ করে যে ব্যাকপ্রোপগেশন হলুদ বাক্সে আবদ্ধ সিস্টেমের অংশে কাজ করে।

চিত্র 1: জেনারেটর প্রশিক্ষণে ব্যাকপ্রোপগেশন।

এলোমেলো ইনপুট

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

তার সবচেয়ে মৌলিক আকারে, একটি GAN এর ইনপুট হিসাবে এলোমেলো শব্দ নেয়। জেনারেটর তারপর এই শব্দটিকে একটি অর্থপূর্ণ আউটপুটে রূপান্তরিত করে। গোলমাল চালু করার মাধ্যমে, আমরা টার্গেট ডিস্ট্রিবিউশনে বিভিন্ন জায়গা থেকে নমুনা নিয়ে বিভিন্ন ধরনের ডেটা তৈরি করতে GAN পেতে পারি।

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

জেনারেটরকে প্রশিক্ষণ দিতে ডিসক্রিমিনেটর ব্যবহার করা

একটি নিউরাল নেট প্রশিক্ষণের জন্য, আমরা এর আউটপুট ত্রুটি বা ক্ষতি কমাতে নেটের ওজন পরিবর্তন করি। আমাদের GAN-এ, যাইহোক, জেনারেটর সরাসরি ক্ষতির সাথে সংযুক্ত নয় যা আমরা প্রভাবিত করার চেষ্টা করছি। জেনারেটর বৈষম্যকারী নেটে ফিড করে, এবং বৈষম্যকারী আউটপুট তৈরি করে যা আমরা প্রভাবিত করার চেষ্টা করছি। জেনারেটরের ক্ষতি জেনারেটরকে একটি নমুনা তৈরি করার জন্য শাস্তি দেয় যা বৈষম্যকারী নেটওয়ার্ক জাল হিসাবে শ্রেণীবদ্ধ করে।

নেটওয়ার্কের এই অতিরিক্ত অংশটি অবশ্যই ব্যাকপ্রোপাগেশনে অন্তর্ভুক্ত করতে হবে। ব্যাকপ্রোপগেশন প্রতিটি ওজনকে সঠিক দিকে সামঞ্জস্য করে আউটপুটে ওজনের প্রভাব হিসাব করে — আপনি ওজন পরিবর্তন করলে আউটপুট কীভাবে পরিবর্তিত হবে। কিন্তু একটি জেনারেটরের ওজনের প্রভাব নির্ভর করে বৈষম্যকারী ওজনের প্রভাবের উপর যা এটি খাওয়ায়। সুতরাং ব্যাকপ্রোপাগেশন আউটপুট থেকে শুরু হয় এবং বৈষম্যকারীর মাধ্যমে জেনারেটরে ফিরে আসে।

একই সময়ে, আমরা জেনারেটর প্রশিক্ষণের সময় বৈষম্যকারী পরিবর্তন করতে চাই না। একটি চলমান লক্ষ্যে আঘাত করার চেষ্টা করা জেনারেটরের জন্য একটি কঠিন সমস্যাকে আরও কঠিন করে তুলবে।

সুতরাং আমরা জেনারেটরকে নিম্নলিখিত পদ্ধতির সাথে প্রশিক্ষণ দিই:

  1. নমুনা এলোমেলো শব্দ.
  2. নমুনা র্যান্ডম শব্দ থেকে জেনারেটর আউটপুট উত্পাদন.
  3. জেনারেটর আউটপুটের জন্য বৈষম্যকারী "বাস্তব" বা "জাল" শ্রেণীবিভাগ পান।
  4. বৈষম্যকারী শ্রেণীবিভাগ থেকে ক্ষতি গণনা করুন।
  5. গ্রেডিয়েন্ট প্রাপ্ত করার জন্য বৈষম্যকারী এবং জেনারেটর উভয়ের মাধ্যমে ব্যাকপ্রোপগেট করুন।
  6. শুধুমাত্র জেনারেটরের ওজন পরিবর্তন করতে গ্রেডিয়েন্ট ব্যবহার করুন।

এটি জেনারেটর প্রশিক্ষণের একটি পুনরাবৃত্তি। পরবর্তী বিভাগে আমরা দেখতে পাব কিভাবে জেনারেটর এবং বৈষম্যকারী উভয়ের প্রশিক্ষণ নিয়ে কাজ করা যায়।