معرفی شبکه های مولد تخاصمی GAN به زبان ساده
شبکههای مولد تخاصمی یا GAN ها گروهی از الگوریتمهای یادگیری عمیق و متعلق به دستهی مدلهای مولد هستند. هدف اصلی مدلهای مولد، توصیف چگونگی تولید یک دیتاست، از نظر قواعد احتمالی، است. بدین طریق هرگاه بر اساس این قواعد احتمال، نمونهگیری انجام دهیم، دیتاستی جدید به دست میآوریم که با دیتاست اصلی تفاوت دارد، اما از طریق مکانیزمی مشابه تولید شده است.
GAN ها اولین بار در مقالهی گودفلا و همکارانش (2014) به نام شبکههای مولد تخاصمی مطرح شدند. قبل از اینکه وارد مبحث معماری این مدلها شویم، ابتدا منطق زیربنایی آنها را توضیح میدهیم.
ایده زیربنایی GAN
همانطور که اشاره کردیم، هدف GAN تولید دادههای جدیدی است (در زمینهی بینایی ماشین، این دادهها تصویر هستند) که یک ناظر دقیق آنها را به عنوان تصویر واقعی (یعنی تصاویر دیتاست اصلی) تشخیص دهد. به بیان دیگر، مکانیزم مولد باید آنقدر در تولید تصاویر جدید خوب باشد که حتی انسانها هم نتوانند به راحتی بین تصویر تولیدشده با تصویر واقعی تمیز قائل شوند. نکتهی جالب این است که معماری GAN نیز دقیقاً بر همین مبنا طراحی شده است. در واقع این معماری دو جزء دارد که مانند دو رقیب در مقابل یکدیگر قرار میگیرند:
- مولد: این قسمت، مدلِ مولدی است که هدفش تولید دادههای جدید بر مبنای یک قاعدهی احتمالی و تبدیل نویزهای تصادفی (به شکل برداری تصادفی که از یک توزیع گاوسی Gaussian distribution بیرون کشیده میشود) به تصاویری قابل باور است.
- متمایزکننده: این بخش را میتوان با آن ناظر دقیقی که بالا اشاره شد برابر دانست. همانطور که از نامش پیداست، هدف متمایزکننده تشخیص این است که آیا تصویر تولیدشده توسط مولد واقعی است یا خیر.
پس به طور خلاصه میتوان گفت مولد میخواهد متمایزکننده را فریب داده و متقاعد کند که تصاویر ساختهشده واقعی هستند. از سوی دیگر، متمایزکننده سعی میکند توسط مولد فریب نخورد و تشخیص دهد کدام تصاویر واقعی هستند.
آموزش شبکههای مولد تخاصمی
همانطور که در قسمت بالا مطرح شد، GAN از دو جزء ساخته شده است: مولد و متمایزکننده. در همین راستا، معماری و فرآیند آموزش GANها را میتوان در این شکل نمایش داد:
با این حال، باید به آموزش تک تک اجزاء توجه کنیم. آموزش متمایزکننده کار نسبتاً آسانی است؛ چون کاری که انجام میدهد تنها یک مسئلهی ردهبندی دودویی Binary classification به شمار میرود که ورودی آن تصاویر واقعی و ساختگی هستند. خروجی آن هم احتمال واقعی بودن تصویر است. تابع زیان متمایزکننده، آنتروپی متقاطع Cross-entropy است. دلیل سهولت نسبی این مرحله این است که حقیقت پایه، یعنی تصاویر واقعی که متمایزکننده باید تصاویر ساختگی را با آنها مقایسه کند، در دست داریم.
اما در سوی دیگر، در آموزش مولد به چنین حقیقت پایهای دسترسی نداریم. تنها معیار ارزیابی که اینجا وجود دارد توانایی مولد در فریب متمایزکننده است. با این وجود، اگر مولد و متمایزکننده را با همدیگر آموزش دهیم، احتمال این وجود دارد که متمایزکننده همواره پاسخ «صحیح» را پیشبینی کند تا نتیجهی ارزیابی مولد خیلی خوب شود.
اما این معیارها هیچ کمکی به قدرت مولد نمیکنند. بلکه در این صورت، متمایزکننده تسلیم مولد میشود؛ در حالیکه هدف نهایی ما داشتن یک مولد قویتر است نه یک متمایزکننده ضعیفتر.
به همین دلیل، هنگام آموزش مولد، باید وزنهای متمایزکننده را منجمد کنیم. با انجام این کار به متمایزکننده اجازه نمیدهیم برای سازگاری و انطباق با مولد خودش را تضعیف کند.
جمعبندی
در سالهای اخیر، حوزهی شبکههای مولد تخاصمی توسعه یافته است. همچنین به جایی رسیده است که تمیز دادههای واقعی از ساختگی حتی برای انسان نیز کار دشواری است. برای مشاهدهی مثالی از این مسئله میتوانید به این وبسایت مراجعه کنید.
هر بار صفحهی این وبسایت را آپدیت کنید، تصویری از یک فرد را به شما ارائه میدهند که توسط شبکهی مولد تخاصمی StyleGAN2 تولید شده است.