هوشمندسازی فرآیندهای زندگی https://partdp.ai/
شبکه های مولد تخاصمی (GAN)
در این پست به بررسی مختصری در مورد شبکه های مولد تخاصمی که به اختصار GAN نامیده میشوند خواهیم پرداخت.
شبکه های GAN در سال 2014 توسط Ian Goodfellow مطرح شدند. و در سال های اخیر نیز مورد توجه محققان قرار گرفته اند. در تصویر زیر میتوانید روند روبه رشد مقالات مرتبط با این شبکه ها را مشاهده کنید.
این شبکه ها بر اساس رویکرد تئوری بازی ها بناگذاری شده اند که در آن یک شبکه یادگیری عمیق که مولد (Generator) نامیده میشود با یک روند تخاصمی رقابت میکند. شبکه عمیق دیگری که متمایزکننده (Discriminator) نامیده میشود، سعی میکند نمونه های تولید شده از شبکه مولد را از داده های اصلی متمایز کند. رقابت بین این دو شبکه در نهایت باعث یادگیری بهتر و بهبود عملکرد هر دو میشود.
مسئله این است: پول تقلبی
فرض کنید یک جعل کننده اسکناس (G) سعی دارد پول هایی را چاپ کند که که پلیس (D) قادر به تشخیص آن از پول اصلی نباشد.
در اینجا D شبکه ای است که وظیفه آن تشخیص داده ساختگی توسط G است. به عبارت دیگر ، پارامتر های این شبکه ویژگی های متمایز کننده پول های ساختگی و اصلی را فرامیگیرند. پارامتر های شبکه G نیز هر بار سعی میکنند توزیع داده های اصلی را فراگرفته و هر بار نمونه های بهتری تولید کنند.
در مساله پول تقلبی که اشاره شد، در ابتدا جاعل G به اندازه کافی قوی در تولید پول تقلبی قوی عمل نمیکند. ولی با تکرار سعی و خطا و گرفتن فیدبک از پلیس D ، رفته رفته قوی تر شده و ویژگی های پول اصلی را فرامیگیرد تا جایی که دیگر D قادر به تشخیص پول جعلی از اصلی نیست .
برای یادگیری توزیع شبکه مولد بر روی داده های ورودی ابتدا از یک توزیع نویز به عنوان ورودی استفاده میشود. هدف یافتن تابع مولد(G) می باشد. شبکه عصبی دوم متمایز کننده(D) نام دارد و خروجی آن اسکالر است.
تابعD نشان دهنده احتمال تعلق ورودی به داده های اصلی است. شبکهD به منظور بیشینه کردن دقت آن در تمییز داده های اصلی با داده های تولید شده از مولد، آموزش داده میشود. از طرف دیگر همزمان شبکه G با هدف فریب شبکه D آموزش داده میشود که با کمینه نمودن تابع زیر حاصل میشود.
در نهایت تابع زیر است که بهینه میشود:
رابطه بالا متمایزکننده Dرا به گونه ای استخراج میکند که بتواند به درستی داده های واقعی و مصنوعی را از هم تفکیک کند. رابطه داده شده به صورت فرم بسته قابل حل نبوده و لذا از روش های تکراری و عددی به منظور حل ان استفاده میشود. بهینه سازی D در حلقه داخلی آموزش از نظر پیچیدگی محاسباتی پیچیده تر بوده و برای داده های با تعداد نمونه کم، باعث بیش تطبیقی میشود. بنابراین به ازای هر k بار بهینه سازی تابع D یک بار تابع G بهینه میشود. شکل زیر ساختار یک شبکه مولد تخاصمی را نمایش میدهد.
مشکلات آموزش شبکه های 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) سنتز گفتار
درباره چیستی هوش مصنوعی و کاربردهای آن بیشتر بدانید!
نویسنده : مهران سلطانی
مطلبی دیگر از این انتشارات
پایتون: یک زبان برنامه نویسی چند منظوره و قدرتمند
مطلبی دیگر از این انتشارات
واریانس در یادگیری ماشین
مطلبی دیگر از این انتشارات
انالیز احساسات یا sentiment analysis چیست.