شبکه های مولد تخاصمی (GAN) چیست؟
شبکه های مولد تخاصمی (Generative Adversarial Network) یک نوع از شبکه های عصبی مصنوعی هستند که برای تولید داده های جدید و خلاقانه استفاده می شوند. این شبکه ها از دو قسمت اصلی تشکیل شده اند: "مولد" و" تشخیص دهند".
مولد (Generator) در این شبکه، مسئول تولید داده های جدید است، با دریافت یک نوع داده ورودی، مانند تصاویر، صدا یا متن، سعی در تولید نمونه های جدید و قابل قبول از آن دارد. به عبارت دقیق تر، مولد سعی می کند چگالی احتمال توزیع داده ورودی را با استفاده از چگالی احتمال نمونه های خروجی خود بهینه کند.
تشخیص دهنده (Discriminator) در این شبکه ها وظيفه تشخيص بين نمونه خروجی حقيقي و نمونه خروجی مولدی را بر عهده دارد. آموزش تشخیص دهنده به منظور بهبود كاركرد آن صورت می پذیرد. در حین آموزش، تشخیص دهنده سعى در دريافت دارد که بتواند بین نمونه های حقیقی و نمونه های تولید شده توسط مولد تشخیص بدهد.
هدف مولد از تولید داده های مشابه داده های آموزشی این میباشد که تشخیص دهنده را فریب دهد. تشخیص دهنده با تشخیص داده های خروجی حقیقی از نمونه خروجی مولد سعی در فریب نخوردن دارد، که این اقدام باعث میشود تا برای آموزش و یادگیری داده های پیچیده تر آماده باشد.
کاربردهای شبکه های مولد تخاصمی (GAN)
1.پردازش تصویر: این شبکه ها در پردازش تصویر بسیار کاربرد دارند، از جمله بازسازی و بهبود تصاویر، ساخت چهره، ساخت نقاشی، حذف نور، سینماتوگراف و...
2.تصاویر واقع گرایانه: با استفاده از این شبکه ها میتوان چهره واقع گرایانه نیز تولید کرد که وجود خارجی نداشته باشند. علاوه بر این میتوانند تصاویر مبتی بر اشیاء، انسان ها، حیوانات و پرندگان نیز ایجاد کنند به این صورت که با تحلیل یک جمله به عنوان ورودی که به شبکه میدهیم، تصاویر را مناسب با توصیف انجام شده ارائه میدهد.
3.تولید تصاویر انیمیشنی: در صنعت تولید انیمیشن از این شبکه استفاده میشود، چهره شخصیت هایی انیمه ای نیز با این روش ممکن است.
4.طراحی لباس: این شبکه ها در صنعت مد و لباس نقش بسزایی را بازی می کنند، با استفاده از GAN ها، الگوريتمی قابليت خلاقيت بالاتری در طرح لباس يافت كرده است.
5.تولید صدا: با استفاده از این شبکه ها، می توان صدا های جدید را به طور خودکار سنتز کرده و به عنوان نمونه صدابردار در برخورد با صداهای فضایی میتواند از این قابلیت کاربردی استفاده کند.
6.سیستم های پاسخگویی: با استفاده شبکه های GEN، می توان يك سيستم پاسخگويي برای بهینه شدن رابط کاربری يكپارچه به طور کاملا خودکار از این شبکه بهره وری کرد.
7.حذف نقص: با استفاده از این شبکه ها مي توان نقص ها و مشکلات يک عكس (مثل تاری، لک، قسمت حذف شده، تشعشع نور و... ) حذف کرده و آن را اصلاح کرد.
8.تولید داده ها: این شبکه به عنوان ژنراتور داده های جديدی در زمينه يادگيری عميق استفاده می شود به این صورت که از دادها میتواند برای خود آموزی نیز بهره گیری کند.
انواع شبکه های مولد تخاصمی (GAN)
شبکههای GAN به طور کلی به دو دسته اصلی تقسیم میشوند، شبکههای سنتی و شبکههای پیشرفته.
- شبکههای سنتی (Vanilla GAN): این نوع شبکه از دو بخش تشکیل شده است، یک مولد (Generator) و یک تشخیص دهنده (Discriminator). مولد سعی می کند نمونه های جدیدی را تولید کند که به نظرواقع گرایانه باشند، در عین حال، تشخیص دهنده سعی میکند بین نمونههای تولید شده توسط مولد و نمونههای واقعی تفاوت را بفرستد.
- شبکه های مولد تخاصمی کانولوشنی (Convolutional GAN): این نسخه از شبکه های مولد تخلصی از لایه های کانولوشنال عمق بالا استفاده می کند. با استفاده از لایه های کانولوشنال، قادر است الگوها و ویژگی ها را در داده های پیچیده تر ياد بگيرد.
- شبکه های مولد تخاصمی کاندیشنال (Conditional GAN): در این شبکه علاوه بر داده های ورودی، يک برچسب يا يک شرط به عنوان ورودی به مولد وارد میشود. با اضافه شدن این مورد این شبکه قادر است خروجی ها را با تأثيرات خارجی كاملا كاربردی كامل كند.
- شبکه های پیشرفته (Cycle GAN): در این نوع شبکه، دستورالعمل آموزش با استفاده از جفت داده های ارائه شده و تولید شده از مولد آغاز مى شود تا آموزش ببیند و در همین حین آموزش و یادگیری اپدیت میشود.
خلاصه مقاله
شبکه های مولد تخاصمی یا GAN ، متشکل از مولد تشخیص دهنده است، این شبکه به بیان ساده تر برای ایجاد داده های جدید میباشد، از این نوع شبکه در بخش های مختلفی مانند پردازش تصویر و تولید تصویر واقع گرایانه استفاده می شود که وجود خارجی ندارند، همچنین برای تولید چهره های کارتونی و انیمه ای نیز بکار میرود. این شبکه انواع مختلفی دارد که شامل شبکه مولد تخاصمی سنتی و پیشرفته است.