cGAN
شبکه مولد تخاصمی شرطی (Generative Adversarial Networks Conditional) یا به اختصار cGAN، نوعی از GAN است که شامل تولید مشروط تصاویر توسط یک مدل مولد است. تولید تصویر میتواند مشروط به برچسب کلاس باشد(یعنی قبلا به داده های که جمع آوری کردیم یک برچسب زدیم که این داده چی هستش مثلا تصویر پلان ها را برچسب گذاری کردیم یک طبقه، دو طبقه، سه طبقه و …)، در صورت موجود بودن، اجازه میدهد تا تصاویری از یک نوع مشخص تولید شوند. یعنی در CGAN، یک پارامتر اضافی “y” برای تولید دادههای مربوطه به مولد یا تولید کننده تصویر اضافه میشود. برچسبها به عنوان ورودی به تشخیصگر ارسال می گردد تا به تشخیص دادههای واقعی از دادههای جعلی تولید شده کمک نماید.
اگرچه مدلهای cGAN قادر به تولید نمونههای قابل قبول تصادفی جدید برای یک مجموعه داده معین هستند، اما هیچ راهی برای کنترل انواع تصاویر تولید شده به جز تلاش برای کشف رابطه پیچیده بین ورودی داده ها و فضای پنهان (latent space) به مولد و تصاویر تولید شده وجود ندارد. GAN شرطی، با افزودن برچسب y به عنوان یک پارامتر اضافی به مولد آن را تغییر میدهد و امیدوار است که تصاویر مربوطه تولید شود.
در واقع یک الگوریتم GAN از دو شبکه تشکیل شده است که با هم آموزش میبینند:
مولد Generator – که یک ساختار تولید کننده داده است، یعنی با توجه به بردار مقادیر تصادفی به عنوان ورودی، این شبکه دادههایی با ساختار مشابه دادههای آموزش دیده، تولید میکند.
تشخیصگر (Discriminator) – که یک ساختار تشخیص دهنده است و با توجه به دستههایی از دادهها که شامل مشاهدات از دادههای آموزشی و دادههای تولید شده از مولد هستند، عمل می نماید. این شبکه تشخیصگر تلاش می نماید، مشاهدات خود را از داده های وردی به دو حالت “واقعی” یا “جعلی” طبقهبندی نماید.
برای آموزش یک GAN شرطی، هر دو شبکه را به طور همزمان آموزش می دهند تا عملکرد هر دو را به حداکثر برسانند:
مولد را آموزش می دهند تا دادههایی تولید کند که تشخیصگر را به اشتباه بیندازد و نتواند داده اصلی را با جعلی تفکیک کند. از طرفی باید تشخیصگر را آموزش داد تا بین دادههای واقعی و تولید شده تمایز قائل شود. یعنی هدف مولد تولید دادههای برچسبگذاری شده است که تشخیصگر آنها را به عنوان «واقعی» طبقهبندی نماید. برای به حداکثر رساندن عملکرد تشخیص گر، باید از دادههای برچسبدار واقعی و تولید شده استفاده نمود تا احتمال فریب خوردن تشخیصگر را به حداقل برسد. یعنی هدف تشخیصگر این است که توسط مولد “فریب” نخورد.
در حالت ایدهآل، این استراتژیها منجر به تولیدکنندهای میشود که دادههای واقعی متقاعدکنندهای را تولید میکند که با برچسبهای ورودی مطابقت دارد و تشخیصگری که نمایشهای ویژگی قوی را که مشخصه دادههای آموزشی برای هر برچسب است، را فراگیری کرده است.
برای مثال در معماری:
ابتدا تصاویری از پلان های معماری را جمع آوری می نمایند و این تصاویر را با کیفیت بالا ذخیره نموده و سپس به کمک Segmentation یا بخش بندی پلان ها را برچسب گذاری می کنند و هرفضا را تفکیک و سپس از طریق الگوریتم cGAN تصاویر پلان ها را به ماشین آموزش داده و سپس از طریق Generator پلان های جدیدی از ترکیب ویژگی های قبلی تولید می نمایند.