شبکه های مولد تخاصمی (GAN)

در این پست به بررسی مختصری در مورد شبکه های مولد تخاصمی که به اختصار GAN نامیده می­شوند خواهیم پرداخت. شبکه های GAN در سال 2014 توسط Ian Goodfellow مطرح شدند. و در سال های اخیر نیز مورد توجه محققان قرار گرفته اند. در تصویر زیر میتوانید روند روبه رشد مقالات مرتبط با این شبکه ها را مشاهده کنید. این شبکه ها بر اساس رویکرد تئوری بازی ها بناگذاری شده ­اند که در آن یک شبکه یادگیری عمیق که مولد (Generator) نامیده می­شود با یک روند تخاصمی رقابت می­کند. شبکه عمیق دیگری که متمایزکننده (Discriminator) نامیده می­شود، سعی میکند نمونه های تولید شده از شبکه مولد را از داده های اصلی متمایز کند. رقابت بین این دو شبکه در نهایت باعث یادگیری بهتر و بهبود عملکرد هر دو می­شود.مسئله این است: پول تقلبی فرض کنید یک جعل کننده اسکناس (G) سعی دارد پول هایی را چاپ کند که که پلیس (D) قادر به تشخیص آن از پول اصلی نباشد. در اینجا D شبکه ای است که وظیفه آن تشخیص داده ساختگی توسط G است. به عبارت دیگر ، پارامتر های این شبکه ویژگی های متمایز کننده پول های ساختگی و اصلی را فرامیگیرند. پارامتر های شبکه G نیز هر بار سعی میکنند توزیع داده های اصلی را فراگرفته و هر بار نمونه های بهتری تولید کنند. در مساله پول تقلبی که اشاره شد، در ابتدا جاعل G به اندازه کافی قوی در تولید پول تقلبی قوی عمل نمیکند. ولی با تکرار سعی و خطا و گرفتن فیدبک از پلیس D ، رفته رفته قوی تر شده و ویژگی های پول اصلی را فرامیگیرد تا جایی که دیگر D قادر به تشخیص پول جعلی از اصلی نیست .برای یادگیری توزیع شبکه مولد بر روی داده های ورودی ابتدا از یک توزیع نویز به عنوان ورودی استفاده می­شود. هدف یافتن تابع مولد(G) می باشد. شبکه عصبی دوم متمایز کننده(D) نام دارد و خروجی آن اسکالر است. تابعD نشان دهنده احتمال تعلق ورودی به داده های اصلی است. شبکهD به منظور بیشینه کردن دقت آن در تمییز داده های اصلی با داده های تولید شده از مولد، آموزش داده می­شود. از طرف دیگر همزمان شبکه G با هدف فریب شبکه ­D آموزش داده می­شود که با کمینه نمودن تابع زیر حاصل میشود.در نهایت تابع زیر است که بهینه میشود: شکل1 رابطه بالا متمایزکننده Dرا به گونه ای استخراج می­کند که بتواند به درستی داده های واقعی و مصنوعی را از هم تفکیک کند. رابطه داده شده به صورت فرم بسته قابل حل نبوده و لذا از روش های تکراری و عددی به منظور حل ان استفاده می­شود. بهینه سازی D در حلقه داخلی آموزش از نظر پیچیدگی محاسباتی پیچیده تر بوده و برای داده های با تعداد نمونه کم، باعث بیش­ تطبیقی می­شود. بنابراین به ازای هر k بار بهینه سازی تابع D یک بار تابع G بهینه میشود. شکل زیر ساختار یک شبکه مولد تخاصمی را نمایش می­دهد.شکل 2مشکلات آموزش شبکه های GANآموزش شبکه های مولد تخاصمی نیازمند بهینه سازی یک رابطه پیچیده میباشد که در بعضی موارد همگرا نمیشود. اخیرا روش هایی به منظور بهبود عملکرد آموزش این شبکه ها به ویژه از منظر پایداری و افزایش سرعت همگرایی ارائه شده است که از بین آن ها میتوان به روش های زیر اشاره کرد :1) Wasserstein GAN (Arjovsky et al. 2017)2) BEGAN: Boundary Equilibrium Generative Adversarial Networks (Berthelot et al. 2017)3) Improved Training of Wasserstein GANs (Gulrajani et al. 2017) کاربرد های GANبیشترین کاربرد GAN تاکنون در بینایی ماشین بوده است. از جمله این کاربرد ها میتوان به موارد زیر اشاره کرد :1) تولید محتوای تصویری و ویدیویی 2) استخراج ویژگی به صورت یادگیری بدون ناظر (unsupervised )3) بهبود تصاویر ( استفاده به عنوان یک ابزار فوتوشاپ پیشرفته)4) کدینگ تصویر و سوپررزولوشناین شبکه ها در سایر زمینه ها به خصوص در آنالیز و سنتز گفتار نیز در حال پیشرفت هستند . از جمله این پردازش ها عبارتند از :1) بهبود شکل موج گفتار 2) تبدیل صدا 3) سنتز گفتاردرباره چیستی هوش مصنوعی و کاربردهای آن بیشتر بدانید!نویسنده : مهران سلطانی