آشنایی با شبکه GAN یا مولد مولد متخاصم

یکی از نوآوری‌های بدیع و حیرت آور اخیر در حوزه‌ی یادگیری ماشین، شبکه مولد متخاصم یا GAN است که نمونه داده­‌های جدید مشابه داده‌­های اموزشی را ایجاد می­کند. مثلا شبکه­ GAN می­‌تواند تصاویری ایجاد کنند که به ­نظر عکسی از چهره­‌ی انسان است. حتی ممکن است آن چهره متعلق به هیچ شخص واقعی نباشد. این نوع شبکه‌­ها که بیشتر در پردازش تصویر یا فیلم استفاده می­شود، نسبت به بسیاری از تکنیک­ها دقیق­تر و منحنی یادگیری سریع­تری دارند.

 

مکانیزم

شبکه­‌های مولد متخاصم ازجمله تکنیک‌­های یادگیری ماشین بدون نظارت (unsupervised) است که شامل دو شبکه عصبی است. این دو شبکه عصبی به رقابت بر سر صفر شدن تابع هزینه (خطای پیش بینی) می­پردازند. اولین شبکه عصبی اصطلاحا مولد (generative) است، که خروجی مورد نظر هدف را تولید می‌­کند. دومین شبکه عصبی اصطلاحا تشخیص‌­دهنده (discriminative)، که سعی می‌­کند به تمایز بین داده‌­های واقعی و داده‌­های تولیدی توسط تولیدکننده پی ببرد. برای افزایش سرعت یادگیری، شبکه تولیدکننده در تلاش است میزان خطای شبکه تشخیص‌­دهنده را افزایش دهد.

 

مکانیزم عملکردی شبکه مولد متخاصم GAN

در شکل به ­وضوح روشن است که تولیدکننده با تولید نمونه­‌های مصنوعی \(\hat{x}\) که به نظر می­رسد از توزیع داده­های واقعی \(x\) حاصل می­‌شود، تشخیص­‌دهنده را فریب می­‌دهد. در ادامه پس انتشار خطا برای بهبود عملکرد هر دو شبکه استفاده می­‌شود. به­‌طوری که شبکه تولیدکننده داده­‌های بهتری تولید می‌کند و شبکه تشخیص­‌دهنده  مهارت بیشتری در کشف ساختارهای مصنوعی کسب می‌­کند.

در اکثر اوقات شبکه تولید کننده از نوع deconvolutional neural network است و شبکه تشخیص­دهنده از نوع شبکه CNN.

 

 

کاربرد

از شبکه­ مولد متخاصم می‌­توان برای تولید تصاویری استفاده کرد که برای ناظران انسانی معتبر هستند. برخی از شرکت­‌های تبلیغاتی مد به­‌جای استفاده از انسان‌های واقعی به استفاده از مدل­‌های تولید شده توسط این شبکه­‌ها روی آورده‌­اند. این باعث می­‌شود شرکت تبلیغاتی در هزینه‌های استفاده از مدل واقعی صرفه جویی کند. همچنین  این شبکه­‌ها می‌توانند به روشن­‌تر شدن تصاویر مصنوعی کمک کنند. مثلا برخی از شرکت­‌های بازی­‌های ویدئویی قادر به بازیابی وضوح بازی­‌های قدیمی خود با استفاده از شبکه‌ GAN هستند. به عبارت دیگر تصاویر با وضوح پایین از بازی­‌های قدیمی می‌توانند به تصاویر با کیفیت تبدیل شوند.

شبکه GAN را می‌توانید با استفاده از کتابخانه Tensorflow در پایتون پیاده‌سازی کنید.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.