شبکه مولد متخاصم شرطی (Conditional GAN - cGAN)، در ریاضیات (Mathematics)
انواع شبکه های عصبی (Neural Networks) را در آموزش زیر شرح دادیم :
شبکه مولد متخاصم شرطی (Conditional GAN - cGAN) :
شبکه مولد متخاصم شرطی (cGAN) توسط میرزا و اوسیندرو در سال ۲۰۱۴ معرفی شد. در GAN معمولی، مولد فقط با نویز تصادفی کار می کند و هیچ کنترلی روی نوع نمونه تولیدی نداریم. در cGAN، هم مولد و هم تمایزگر یک بردار شرط (condition) اضافی مانند برچسب کلاس یا یک تصویر ورودی دریافت می کنند. این شرط می تواند به ما اجازه دهد نمونه هایی از یک کلاس خاص تولید کنیم یا نگاشت ورودی-خروجی کنترل شده داشته باشیم.
تابع هدف cGAN به صورت زیر است:
\[ \min_G \max_D \mathbb{E}_{x \sim p_{\text{data}}} [\log D(x|y)] + \mathbb{E}_{z \sim p_z(z)} [\log(1 - D(G(z|y)|y))] \]که
\[ y \]شرط (مثلا برچسب) است.
\[ G \]نویز
\[ z \]و شرط
\[ y \]را می گیرد و
\[ G(z|y) \]تولید می کند.
\[ D \]هم ورودی و هم شرط را ارزیابی می کند که آیا جفت (ورودی، شرط) واقعی است یا نه.
کاربردهای گسترده: تولید تصاویر با کلاس مشخص (مثلا تولید ارقام MNIST از ۰ تا ۹)، تبدیل تصویر به تصویر (pix2pix که از cGAN استفاده می کند با شرط تصویر ورودی)، تولید متن به تصویر، و سنتز تصاویر پزشکی با شرایط خاص.
در cGAN، شرط معمولا به هر دو شبکه از طریق اتصال (concatenation) به بردار نویز (در مولد) یا به ورودی (در تمایزگر) داده می شود. برای مثال، در pix2pix، شرط یک تصویر ورودی (مثلا لبه ها) است و مولد باید تصویر واقعی (مثلا عکس) متناظر را تولید کند. تمایزگر نیز جفت (تصویر ورودی، تصویر تولیدی) را در مقایسه با جفت (تصویر ورودی، تصویر واقعی) تشخیص می دهد.
cGANها در مقایسه با GANهای بدون شرط، کنترل پذیری بیشتری دارند و برای کارهای ترجمه تصویر بسیار مؤثر هستند.