شبکه مولد متخاصم چرخه ای (CycleGAN)، در ریاضیات (Mathematics)
انواع شبکه های عصبی (Neural Networks) را در آموزش زیر شرح دادیم :
شبکه مولد متخاصم چرخه ای (CycleGAN) :
CycleGAN توسط ژو و همکاران در سال ۲۰۱۷ معرفی شد و یک روش برای ترجمه تصویر به تصویر بدون نیاز به داده های جفت شده (paired) است. مثلا تبدیل عکس اسب به گورخر بدون اینکه هیچ تصویر جفتی (همان صحنه با اسب و گورخر) داشته باشیم. ایده اصلی: استفاده از دو مولد و دو تمایزگر به همراه یک چرخه سازگاری (cycle consistency).
فرض کنید می خواهیم بین دو دامنه
\[ X \](مثلا اسب) و
\[ Y \](گورخر) ترجمه کنیم. دو مولد
\[ G: X \rightarrow Y \]و
\[ F: Y \rightarrow X \]داریم. دو تمایزگر
\[ D_Y \]و
\[ D_X \]نیز واقعی بودن تصاویر در هر دامنه را بررسی می کنند. علاوه بر تابع هزینه GAN استاندارد (که
\[ G \]باید
\[ D_Y \]را فریب دهد و
\[ F \]باید
\[ D_X \]را فریب دهد)، یک تابع هزینه چرخه ای اضافه می شود که تضمین می کند اگر یک تصویر را به دامنه دیگر ببریم و برگردانیم، به تصویر اصلی نزدیک باشد:
\[ \mathcal{L}_{\text{cycle}}(G, F) = \mathbb{E}_{x \sim p_X} [\| F(G(x)) - x \|_1] + \mathbb{E}_{y \sim p_Y} [\| G(F(y)) - y \|_1] \]همچنین از تابع هزینه identity mapping گاهی استفاده می شود که اگر یک تصویر از دامنه مقصد را به مولد بدهیم، تغییر زیادی نکند:
\[ \| G(y) - y \|_1 \].
معماری مولدها در CycleGAN مبتنی بر معماری encoder-decoder با residual blocks و استفاده از instance normalization است. تمایزگرها نیز PatchGAN هستند که به جای کل تصویر، بخش های کوچک را ارزیابی می کنند.
کاربردها: تبدیل سبک عکس ها (مثلا مونه به عکس)، تغییر فصل (تابستان به زمستان)، رنگ آمیزی تصاویر، بهبود کیفیت تصاویر. CycleGAN به دلیل عدم نیاز به داده های جفتی، کاربرد وسیعی در حوزه هایی پیدا کرد که جمع آوری داده های جفتی دشوار است.
محدودیت ها: گاهی تغییرات شکل (نه فقط رنگ و بافت) را به خوبی انجام نمی دهد و ممکن است محتوای تصویر را تغییر دهد. با این حال، یک روش بسیار تأثیرگذار بود.