شبکه مولد متخاصم با اطلاعات متقابل (InfoGAN)، در ریاضیات (Mathematics)
انواع شبکه های عصبی (Neural Networks) را در آموزش زیر شرح دادیم :
شبکه مولد متخاصم با اطلاعات متقابل (InfoGAN) :
InfoGAN توسط چن و همکاران در سال ۲۰۱۶ معرفی شد و یک GAN است که به طور بدون نظارت، بازنمایی های قابل تفسیر و منفک (disentangled) یاد می گیرد. در GAN معمولی، نویز ورودی
\[ z \]به صورت فشرده اما غیرقابل تفسیر است. InfoGAN بردار نویز را به دو بخش تقسیم می کند: نویز فشرده
\[ z \](که غیرقابل تفسیر است) و یک بردار نهفته (latent code)
\[ c \](که می خواهیم با ویژگی های معنادار داده (مثل زاویه چرخش، ضخامت قلم) همبستگی داشته باشد). برای اینکه
\[ c \]واقعا بر خروجی تأثیر بگذارد و تفسیرپذیر باشد، InfoGAN اطلاعات متقابل (mutual information) بین
\[ c \]و خروجی مولد
\[ G(z,c) \]را بیشینه می کند.
اطلاعات متقابل
\[ I(c; G(z,c)) \]اندازه گیری می کند که چقدر با دیدن خروجی مولد می توانیم
\[ c \]را تخمین بزنیم. از آنجایی که محاسبه مستقیم آن دشوار است، از یک کران پایین (variational lower bound) با کمک یک شبکه کمکی
\[ Q \](که خروجی مولد را گرفته و توزیع
\[ c \]را تخمین می زند) استفاده می شود. تابع هدف InfoGAN:
\[ \min_{G,Q} \max_D V_{\text{GAN}}(D,G) - \lambda I(c; G(z,c)) \approx \min_{G,Q} \max_D V_{\text{GAN}}(D,G) - \lambda \mathbb{E}_{c \sim p(c), x \sim G(z,c)} [\log Q(c|x)] \]که
\[ V_{\text{GAN}} \]تابع هزینه GAN استاندارد است و
\[ \lambda \]وزن اطلاعات متقابل.
با این کار،
\[ Q \]یاد می گیرد که
\[ c \]را از روی تصویر تولیدی پیش بینی کند و
\[ G \]نیز یاد می گیرد که
\[ c \]را به طور معناداری در تصویر منعکس کند تا
\[ Q \]بتواند آن را پیش بینی کند. نتیجه اینکه کدهای
\[ c \]با ویژگی های قابل تفسیر مانند زاویه، ضخامت خط، یا حالت چهره همبسته می شوند.
کاربردها: یادگیری بازنمایی های منفک بدون نظارت، کنترل ویژگی های تصویر در تولید، کشف ساختار داده. InfoGAN روی MNIST نشان داد که یک کد می تواند عدد را تعیین کند، دیگری زاویه چرخش، و دیگری ضخامت را.