هدف GAN Inversion تبدیل یک تصویر به یک نقطه (کد) از فضای نهانِ (latent space) یک مدل از پیش آموزش داده شده GAN است، به طوری که با استفاده از بخش مولد مدل (Generator) بتوان با حفظ امانت تصویر را از کد (نقطه) بدست آمده در فضای نهان بازسازی کرد.

فرمول GAN Inversion

خوب این به چه درد میخوره؟! یک فصل از مقاله به تشریح کاربردهای این تکنیک اختصاص داده شده ولی به طور خلاصه باید بگم اگر ما بتونیم فضای نهان رو درست تحلیل کنیم، اونوقت قادر خواهیم بود تا با جابجایی در فضای نهان در جهت مناسب تغییر مورد نظرمون رو در تصویر اعمال کنیم. این تغییر از ویژگی های فیزیکی گرفته تا خصوصیات معنایی رو شامل میشه. این یعنی ما می تونید در یک فضا با ابعاد کمتر تغییری در یک فضای دیگه با ابعاد خیلی بیشتر ایجاد کنیم.

در حالت عادی شما با اعمال نویز به ورودی شبکه GAN قادر خواهید بود تا تصاویر مورد نظرتون رو تولید کنید. در مورد Conditional GAN ها هم می توانید خروجی رو محدود به شرایط خاصی بکنید، ولی همچنان اعمال نویز نقطه شروع کار است. اما در GAN Inversion شروع کار با نویز نیست. در اینجا کار با یک تصویر تولید شده (و یا حتی تولید نشده) با شبکه GAN شروع شده و تغییرات مورد نظر بر روی آن با حرکت در فضای نهان و یافتن یک کد جدید در آن فضا ادامه یافته و در نهایت با شبکه مولد تصویر جدید ساخته می شود.

توجه: این نوشتار خلاصه ای از مطالب تشریح شده در یک مقاله مروری پیرامون GAN Inversion است.

مشخصات مقاله

نوع: مروری (Survey)
نویسندگان: Weihao Xia, Yulun Zhang, Yujiu Yang, Jing-Hao Xue, Bolei Zhou, Ming-Hsuan Yang
لینک دانلود مقاله: اینجا
مقاله در گیت هاب: مجموعه مقالات در حوزه GAN Inversion

بررسی اجمالی

متدهای GAN Inversion از یک طرف به دو نوع مبتنی بر یادگیری، مبتنی بر بهینه سازی و ترکیبی از این دو تقسیم می شوند. روش های مبتنی بر بهینه سازی کارایی (performance) بیشتری دارند و در عین حال روش های مبتنی بر بهینه سازی به خروجی وفادارترند. البته هزینه این وفاداری پیچیدگی محاسباتی بیشتر این روش است.

از طرف دیگر روش های GAN Inversion شامل یکی یا تعداد بیشتری از ویژگی های زیر می تواند باشد.

  • آگاهی نسبت به معانی در تصویر (Semantic Awareness)
  • وضوح تصویر پشتیبانی شده
  • تبدیل لایه ای (Layerwise)، در مورد شبکه های بزرگ و پیچیده حل مساله بهینه سازی GAN Inversion سخت می شود. برای همین شبکه رو به چندین لایه تجزیه می کنند و مساله GAN Inversion را بر روی یک یا تعداد بیشتری لایه بررسی می کنند.

همچنین از جهت نوع فضای نهان که روش GAN Inversion بر روی آن عمل می کند شامل فضاهای نهان زیر است.

  • فضای Z
  • فضای W و +W که همان تبدیل یافته فضای Z با استفاده از یک شبکه MLP است.
  • فضای S
  • فضای P

هر یک از این فضاها در مقاله به اختصار تشریح شده اند.

انواع فضای نهان

بر این مبنا این مقاله پژوهش های انجام شده در این زمینه را در جدولیبه این شکل دسته بندی کرده است.

دسته بندی مقالات در حوزه GAN Inversion

مفهومی در این حوزه داریم به نام حرکت در فضای نهان (Latent Space Navigation). در واقع این همان یافتن یک نقطه جدید در فضای نهان با شروع حرکت از یک نقطه دیگر است. در واقع این حرکت منجر به تولید یک تصویر دستکاری شده از تصویر اولیه است. در مورد دستکاری تصاویر دو رویکرد مهم در GAN Inversion وجود دارد.

  1. دستکاری تصویر با کشف یک کد (نقطه) در فضای نهان که خصوصیات معینی به تصویر بدهد. به این رویکرد Interpretable Directions می گوییم.
  2. در بسیاری از موارد با معانی سر و کار داریم که از هم جدا نیستند. این که شما بتوانید کدهایی پیدا کنید که منجر به تغییر در یک خصوصیت (یا معنی) بدون تغییر در هویت و یا سایر ویژگی های تصویر شود، ارزشمند است.

چالش ها و رویکردهای آینده

چالش های متعددی در این زمینه وجود دارد که برخی از آن ها عبارتند از:

  1. فقدان درک تئوری GAN Inversion
  2. امکان ترکیب دو حوزه GAN Inversion و Encoder-Decoder Inversion
  3. تعمیم در حوزه کاری، این که ما بتوانیم از یک ساختار در چند حوزه (Domain) استفاده کنیم.
  4. کنترل دقیق بر روی تغییرات
  5. کار بر روی متریک های ارزیابی کیفیت
  6. بکارگیری این متد در کاربردهایی غیر از تصویر (برای مثال متن، صدا و ..)

یک مقاله به طور مفید شانزده هفده صفحه ای رو تو یکی دو صفحه خلاصه کردم. 😎

مطالب مرتبط

بررسی مقاله: Cross-Domain Weakly-Supervised Object Detection through Progressive Domain Adaptation
بررسی مقاله: Learning by Asking Questions
بررسی مقاله: Chitty-Chitty-Chat Bot: Deep Learning for Conversational AI