منبع اصلی نوشتار زیر در این لینک قرار دارد

چطور عملکرد شبکه GAN را اندازه گیری کنیم؟

در GAN ها هدف آن است که بخش های شبکه به خوبی با هم رقابت کنند. اندازه گیری این موضوع نشان می دهد که شبکه چقدر خوب عمل می کند. برای مثال ما میخواهیم بدانیم که بخش GENERATOR تا چه حد در گول زدن بخش DISCRIMINATOR موفق است. اما این به تنهایی کافی نیست و باید روش ها و معیارهای محاسباتی برای این موضوع داشته باشیم.

معیارهایی برای اندازه گیری عملکرد شبکه

به عنوان معیارهایی برای اندازه گیری عملکرد شبکه در رسیدن به هدف خود، ما از Inception Score  یا به اختصار IS و  Fréchet Inception Distance یا به اختصار FID استفاده می کنیم.

اول – Inception Score

 

در واقع IS برای سنجش عملکرد بخش تولید تصاویر از شبکه GAN از دو شاخص زیر استفاده می کند:

  • کیفیت تصاویر ساخته شده
  • و تنوع تصاویر ساخته شده

به عنوان مقدمه، باید مواردی درباره ENTROPY و PREDICTABILITY توزیع های آماری را بدانید.

به تصویر زیر که نمودار توزیع را نشان می دهد دقت کنید:

 

توزیع P1 مقدار ENTROPY کمتری دارد و اصطلاحاً highly predictable است (یعنی با احتمال بهتری می توان گفت که یک نمونه از این توزیع با چه احتمالی در چه بازه ای قرار خواهد گرفت).

اما توزیع P2 که در واقع یک توزیع UNIFORM است مقدار ENTROPY بیشتری دارد و highly unpredictable است.

 

و اما در GAN ، ما می خواهیم یک احتمال شرطی خاص به صورت P(y|x)  ، قابلیت پیش بینی بالایی داشته باشید (highly predictable). این احتمال شرطی تشخیص برچسب Y برای داده ساختگی X است. بالا بودن این احتمال شرطی کیفیت تصاویر را مشخص می کند که در واقع همان شاخص اول است.

دقت کنید که در این روش برای دسته بندی تصویر ساختگی باید از یک INCEPTION NETWORK (ترجیحاً نسخه سوم) استفاده کرد.

حالا باید به سراغ تنوع تصاویر که شاخص دوم است برویم:

  1. ابتدا از تابع توزیع شرطی بالا ، یک تابع توزیع حاشیه ای P(y) می سازیم:
  2. حالا باید ببینیم این P(y)  چه توزیعی دارد. اگر P(y)  توزیع uniform داشته باشد، یعنی تنوع در ساخت تصاویر برای برچسب y مناسب است.

 

نمودار زیر نشان دهنده عملکرد خوب در تولید تصاویر است که در آن P(y|x)  یک توزیع highly predictable و P(y)   یک توزیع uniform است.

 

حالا برای ترکیب دو شاخص یاد شده، ما از فاصله Kullback–Leibler میان آن ها استفاده می کنیم و به معادله زیر می رسیم:

 

نکته مهم در استفاده از این معیار برای بررسی عملکرد GENERATOR آن است که برای هر برچسب تعداد مناسبی تصویر تولید کنید.

 

دوم – Fréchet Inception Distance  : FID

 

برای محاسبه FID ما از INCEPTION NETWORK برای استخراج ویژگی ها استفاده می کنیم. سپس برای مدلسازی توزیع داده این ویژگی ها، از یک توزیع چندمتغیره نرمال (multivariate Gaussian distribution) با میانگین  µ و کواریانس Σ بهره می بریم.

مقدار FID محاسبه شده میان یک تصویر واقعی x و یک تصویر ساختگی g به صورت زیر محاسبه می شود:

 

در این فرمول تابع Tr همان عملگر جبرخطی trace است که همه عناصر قطر اصلی ماتریس داده شده را جمع می کند.

دقت داشته باشید که مقدار FID کمتر ، بهتر است.

 

نکته جالب آنکه FID نسبت به فروپاشی گستردگی تولیدات یا همان MODE COLLAPSE حساس است و در صورتی که تصاویر تولید شده از دسته های کمتری باشند، مقدار آن بسیار بالاتر است که خوب نیست.

به تصویر زیر دقت کنید:

 

منبع نمودار : https://arxiv.org/pdf/1711.10337.pdf

 

بهتر است بدانید که به طور کلی، معیار FID بهتر از IS عمل می کند.

 

 

 

سوم – Precision, Recall and F1 Score

 

با وجود دو معیار قبلی، اما نمی توان گفت که بدون هیچ نقصی می توان معیار بالای IS و FID را برابر با تولید موارد طبیعی و با کیفیت دانست.

در ادامه بیشتر توضیح می دهیم.

نقطه ضعف معیارهای IS و FID

 

اما هر دو معیار FID و IS بر پایه ویژگی های تصویر کار می کنند (وجود یا عدم وجود ویژگی در تصاویر). اما اگر GENERATOR تصویری مانند زیر تولید کند چه؟

 

 

میانگین هارمونیک F1 Score

برای موارد تناسب مکانی و مقیاس ویژگی ها به سراغ Precision, Recall  و میانگین هارمونیک آنها یعنی F1 Score می رویم.

انتظار می رود این معیارها را از قبل بشناسید و برای کار با شبکه های ساده تر یا در درس یادگیری ماشین و یا تشخیص الگو آشنا شده باشد؛ پس از تعریف خود این معیار می گذریم و به استفاده از آنها برای ارزیابی عملکرد شبکه GAN می پردازیم.

 

به تصاویر ساختگی بالا دقت کنید.

در این تصاویر که در جهت ساخت تعدادی مثلث با اندازه ها و شکل های گوناگون بوده است، به این نتیجه می رسیم که:

  • اگر تصاویر ساختگی به تصاویر اصلی شبیه باشند، مقدار precision بالا خواهد بود.
  • اگر معیار recall برای بیان قدرت GENERATOR در تولید انواع نمونه از همه دسته های تصاویر واقعی است و گوناگونی تصاویر ساختگی را نشان می دهد.

پس، اگر تصاویر ساختگی هم به تصاویر دادگان اصلی شبیه باشند و هم انواع تصاویر مختلف را تولید کرده باشیم، مقدار precision و recall هر دو بالا خواهد بود.

از شبیه بودن تصاویر ساختگی با تصاویر اصلی، می توان اطمینان کسب کرد که ویژگی ها اصلی بازتولید شده اند و در این روند تناسب مکانی و مقیاس مناسب را حفظ شده است.

 

 

 

این مطلب ترجمه و تلخیصی از منبع زیر است:

GAN — How to measure GAN performance?

نوشته چطور عملکرد شبکه GAN را اندازه گیری کنیم؟ اولین بار در اوپن مایند. پدیدار شد.