فصل هفدهم: رمزگذارهای خودکار متغیر (VAE)

black-swan-theory

در این فصل، به بررسی مدل‌های مولد، به ویژه رمزگذارهای خودکار متغیر (VAE) می‌پردازیم. این مدل‌ها قادر به یادگیری توزیع داده‌ها و تولید نمونه‌های جدید هستند. در ادامه، مفاهیم اصلی، روش‌های یادگیری، و کاربردهای VAE را به صورت جامع و ساختارمند توضیح خواهیم داد.

 

۱. مقدمه‌ای بر مدل‌های مولد

مدل‌های مولد مانند شبکه‌های متخاصم مولد (GAN) و رمزگذارهای خودکار متغیر (VAE)، ابزارهایی برای تولید داده‌های جدید هستند. در حالی که GAN‌ها از طریق رقابت بین دو شبکه کار می‌کنند، VAE‌ها بر پایه مدل‌های احتمالی ساخته شده‌اند. هدف VAE یادگیری توزیع داده‌ها Pr(x)\Pr(x) است، اما برخلاف GAN‌ها، این مدل‌ها قادر به محاسبه دقیق احتمال نمونه‌های جدید نیستند.

 

۲. مدل‌های متغیر پنهان

مدل‌های متغیر پنهان، توزیع داده‌ها را به صورت غیرمستقیم و با استفاده از متغیرهای پنهان zz توصیف می‌کنند. این مدل‌ها توزیع مشترک Pr(x,z)\Pr(x, z) را تعریف می‌کنند و سپس با حاشیه‌سازی روی zz، توزیع Pr(x)\Pr(x) را به دست می‌آورند:

Pr(x)=Pr(x,z)dz=Pr(xz)Pr(z)dz.\Pr(x) = \int \Pr(x, z) \, dz = \int \Pr(x \mid z) \Pr(z) \, dz.

۲.۱. مثال: مخلوط گاوسی‌ها

در یک مخلوط گاوسی، متغیر پنهان zz گسسته است و توزیع Pr(z)\Pr(z) یک توزیع طبقه‌بندی شده است. احتمال Pr(xz)\Pr(x \mid z) نیز معمولاً یک توزیع گاوسی با میانگین μn\mu_n و واریانس σ2\sigma^2 است. با جمع‌زدن روی مقادیر zz، توزیع پیچیده‌تری برای Pr(x)\Pr(x) به دست می‌آید.

 

۳. مدل متغیر نهفته غیرخطی

در این مدل، هم داده xx و هم متغیر نهفته zz پیوسته و چندمتغیره هستند. توزیع پیشین Pr(z)\Pr(z) یک نرمال چندمتغیره استاندارد است:

Pr(z)=N(0,I).\Pr(z) = \mathcal{N}(0, I).

احتمال Pr(xz)\Pr(x \mid z) نیز یک توزیع گاوسی با میانگین غیرخطی f(z,ϕ)f(z, \phi) و کوواریانس σ2I\sigma^2 I است. تابع ff توسط یک شبکه عصبی با پارامترهای ϕ\phi مدل می‌شود.

۳.۱. تولید نمونه‌های جدید

برای تولید نمونه‌های جدید:

  1. یک نمونه zz^* از Pr(z)\Pr(z) می‌کشیم.

  2. آن را از طریق شبکه f(z,ϕ)f(z^*, \phi) عبور می‌دهیم تا میانگین Pr(xz)\Pr(x \mid z^*) محاسبه شود.

  3. نمونه xx^* را از Pr(xz)\Pr(x \mid z^*) تولید می‌کنیم.

 

۴. آموزش مدل‌های VAE

آموزش VAE با حداکثر کردن احتمال داده‌ها انجام می‌شود، اما محاسبه مستقیم Pr(x)\Pr(x) دشوار است. برای حل این مشکل، از کران پایین شواهد (ELBO) استفاده می‌کنیم.

۴.۱. نابرابری جنسن

نابرابری جنسن برای توابع مقعر مانند لگاریتم بیان می‌کند:

logE[y]E[logy].\log \mathbb{E}[y] \geq \mathbb{E}[\log y].

این نابرابری به ما کمک می‌کند تا ELBO را تعریف کنیم.

۴.۲. استخراج ELBO

با استفاده از نابرابری جنسن، کران پایین زیر را برای logPr(x)\log \Pr(x) به دست می‌آوریم:

logPr(x)q(zx,θ)log(Pr(x,zϕ)q(zx,θ))dz=ELBO(θ,ϕ).\log \Pr(x) \geq \int q(z \mid x, \theta) \log \left( \frac{\Pr(x, z \mid \phi)}{q(z \mid x, \theta)} \right) dz = \mathrm{ELBO}(\theta, \phi).

۴.۳. تفسیر ELBO

ELBO را می‌توان به صورت زیر تجزیه کرد:

ELBO=Eq(zx,θ)[logPr(xz,ϕ)]DKL(q(zx,θ)Pr(z)).\mathrm{ELBO} = \mathbb{E}_{q(z \mid x, \theta)} \big[\log \Pr(x \mid z, \phi)\big] – D_{\mathrm{KL}} \big( q(z \mid x, \theta) \| \Pr(z) \big).

  • جمله اول (خطای بازسازی): میزان تطابق داده‌های تولیدشده با داده‌های واقعی را اندازه می‌گیرد.

  • جمله دوم (واگرایی KL): فاصله بین توزیع کمکی q(zx,θ)q(z \mid x, \theta) و توزیع پیشین Pr(z)\Pr(z) را اندازه می‌گیرد.

 

۵. تقریب متغیر و معماری VAE

برای محاسبه ELBO، از تقریب متغیر استفاده می‌کنیم. توزیع q(zx,θ)q(z \mid x, \theta) را به صورت یک گاوسی با میانگین μ\mu و ماتریس کوواریانس Σ\Sigma در نظر می‌گیریم که توسط یک شبکه عصبی (رمزگذار) محاسبه می‌شود.

۵.۱. الگوریتم VAE

  1. رمزگذار: داده xx را به پارامترهای μ\mu و Σ\Sigma نگاشت می‌کند.

  2. نمونه‌برداری: یک نمونه zz^* از q(zx,θ)q(z \mid x, \theta) می‌کشیم.

  3. رمزگشا: zz^* را به داده بازسازی‌شده xx تبدیل می‌کند.

  4. محاسبه ELBO: خطای بازسازی و واگرایی KL را محاسبه و مدل را بهینه می‌کنیم.

۵.۲. ترفند پارامترسازی مجدد

برای امکان‌پذیر کردن انتشار معکوس، از ترفند پارامترسازی مجدد استفاده می‌کنیم:

z=μ+Σ1/2ϵ,ϵN(0,I).z^* = \mu + \Sigma^{1/2} \epsilon^*, \quad \epsilon^* \sim \mathcal{N}(0, I).

این روش مرحله نمونه‌برداری را از گراف محاسباتی جدا می‌کند.

 

۶. کاربردهای VAE

VAE‌ها در زمینه‌های مختلفی کاربرد دارند، از جمله:

۶.۱. تولید نمونه‌های جدید

با نمونه‌برداری از Pr(z)\Pr(z) و عبور آن از رمزگشا، می‌توان نمونه‌های جدیدی تولید کرد.

۶.۲. سنتز مجدد

با تغییر نمایش داده‌ها در فضای پنهان، می‌توان ویژگی‌های داده‌ها را دستکاری کرد (مثلاً تغییر حالت چهره در تصاویر).

۶.۳. گسستگی نمایش نهفته

با تنظیم توزیع متغیرهای پنهان، می‌توان ابعاد مستقل معناداری در فضای نهفته ایجاد کرد.

 

۷. چالش‌ها و راه‌حل‌ها

  • کیفیت نمونه‌ها: نمونه‌های تولیدشده توسط VAE ممکن است تار یا نویزی باشند. استفاده از مدل‌های پیچیده‌تر مانند VAE سلسله‌مراتبی می‌تواند این مشکل را کاهش دهد.

  • فروپاشی خلفی: زمانی رخ می‌دهد که رمزگذار توزیع پیشین را نادیده بگیرد. راه‌حل‌هایی مانند افزایش تدریجی وزن واگرایی KL پیشنهاد شده‌است.

  • گسستگی نمایش نهفته: با افزودن عبارات منظم‌سازی به تابع هزینه، می‌توان ابعاد مستقل معناداری در فضای نهفته ایجاد کرد.

 

۸. نتیجه‌گیری

رمزگذارهای خودکار متغیر (VAE) ابزارهای قدرتمندی برای مدل‌سازی توزیع داده‌ها و تولید نمونه‌های جدید هستند. این مدل‌ها با استفاده از تقریب متغیر و بهینه‌سازی کران پایین شواهد (ELBO)، امکان یادگیری مدل‌های پیچیده را فراهم می‌کنند. اگرچه VAE‌ها چالش‌هایی مانند کیفیت نمونه‌ها و فروپاشی خلفی دارند، اما با روش‌های پیشرفته‌تر می‌توان این مشکلات را کاهش داد. این مدل‌ها کاربردهای گسترده‌ای در پردازش تصویر، متن، و داده‌های چندرسانه‌ای دارند.