فصل شانزدهم: عادی‌سازی جریان‌ها

black-swan-theory

مقدمه

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

 

1. مثال یک‌بعدی

جریان‌های عادی‌سازی، مدل‌های مولد احتمالی هستند که یک توزیع احتمال را با داده‌های آموزشی تطبیق می‌دهند. برای درک بهتر، یک توزیع یک‌بعدی P(x)P(x) را در نظر بگیرید. این مدل‌سازی با یک توزیع پایه ساده P(z)P(z) روی متغیر پنهان zz آغاز می‌شود و سپس تابع x=f(z;ϕ)x = f(z; \phi) اعمال می‌شود، به طوری که پارامترهای ϕ\phi طوری انتخاب شوند که P(x)P(x) توزیع مورد نظر را داشته باشد. نمونه‌برداری از این مدل ساده است: ابتدا zP(z)z^* \sim P(z) انتخاب می‌شود و سپس x=f(z;ϕ)x^* = f(z^*; \phi) محاسبه می‌گردد.

1.1. اندازه‌گیری احتمال

محاسبه احتمال نقطه داده xx چالش‌برانگیزتر است. با اعمال تابع f(z;ϕ)f(z; \phi) روی متغیر تصادفی zz با چگالی P(z)P(z)، چگالی احتمال در مناطقی که تابع کشیده می‌شود کاهش و در مناطقی که فشرده می‌شود افزایش می‌یابد. این تغییرات به بزرگی گرادیان تابع بستگی دارد. احتمال داده xx تحت توزیع تبدیل‌شده به صورت زیر محاسبه می‌شود:

P(xϕ)=f1(x;ϕ)xP(z),P(x \mid \phi) = \left| \frac{\partial f^{-1}(x; \phi)}{\partial x} \right| \cdot P(z),

که در آن z=f1(x;ϕ)z = f^{-1}(x; \phi) است.

1.2. نگاشت رو به جلو و معکوس

برای نمونه‌برداری از توزیع، به نگاشت رو به جلو x=f(z;ϕ)x = f(z; \phi) نیاز داریم، اما برای اندازه‌گیری احتمال، باید معکوس z=f1(x;ϕ)z = f^{-1}(x; \phi) را محاسبه کنیم. بنابراین، تابع ff باید معکوس‌پذیر باشد. نگاشت رو به جلو جهت مولد و نگاشت معکوس جهت عادی‌کننده نامیده می‌شود.

1.3. یادگیری

برای یادگیری توزیع، پارامترهای ϕ\phi را به گونه‌ای می‌یابیم که احتمال داده‌های آموزشی را بیشینه کند. این کار با کمینه‌سازی منفی لگاریتم احتمال انجام می‌شود:

ϕ^=argminϕi=1I[logf(zi;ϕ)zilogP(zi)].\hat{\phi} = \arg\min_{\phi} \sum_{i=1}^I \left[ -\log \left| \frac{\partial f(z_i; \phi)}{\partial z_i} \right| – \log P(z_i) \right].

 

2. مورد عمومی

در این بخش، مدل به توزیع‌های چندمتغیره تعمیم داده می‌شود. با استفاده از یک تابع x=f(z;ϕ)x = f(z; \phi) که توسط یک شبکه عصبی عمیق تعریف شده است، متغیر تصادفی zP(z)z \sim P(z) به متغیر xx تبدیل می‌شود. احتمال نمونه xx تحت این توزیع به صورت زیر است:

P(xϕ)=f1(x;ϕ)xP(z),P(x \mid \phi) = \left| \frac{\partial f^{-1}(x; \phi)}{\partial x} \right| \cdot P(z),

که در آن z=f1(x;ϕ)z = f^{-1}(x; \phi) و عبارت اول دترمینان معکوس ماتریس ژاکوبین است.

2.1. نگاشت رو به جلو با شبکه عصبی عمیق

نگاشت رو به جلو f(z;ϕ)f(z; \phi) معمولاً از ترکیب چند لایه معکوس‌پذیر تشکیل شده است. معکوس تابع کلی از ترکیب معکوس هر لایه (با ترتیب معکوس) بدست می‌آید. دترمینان ژاکوبین نیز با ضرب دترمینان‌های هر لایه محاسبه می‌شود.

 

3. لایه‌های شبکه معکوس‌پذیر

برای عملی بودن جریان‌های عادی‌سازی، لایه‌های شبکه باید ویژگی‌های زیر را داشته باشند:
۱. قابلیت بیان بالا برای تبدیل توزیع پایه به توزیع پیچیده
۲. معکوس‌پذیری
۳. محاسبه کارآمد معکوس
۴. محاسبه کارآمد دترمینان ژاکوبین

3.1. جریان‌های خطی

فرم کلی آن‌ها به صورت f(h)=β+Ωhf(h) = \beta + \Omega h است. اگر ماتریس Ω\Omega معکوس‌پذیر باشد، این تبدیل برگشت‌پذیر است. دترمینان و معکوس آن به‌ویژه برای ماتریس‌های مورب یا مثلثی به‌سادگی قابل محاسبه‌اند. اما این جریان‌ها به تنهایی برای مدل‌سازی توزیع‌های پیچیده کافی نیستند.

3.2. جریان‌های عنصری

در این جریان‌ها یک تابع غیرخطی به‌صورت نقطه‌ای به هر عنصر ورودی اعمال می‌شود:

f(h)i=g(hi).f(h)_i = g(h_i).

این جریان‌ها ساده‌اند اما تعامل بین ابعاد را مدل نمی‌کنند.

3.3. جریان‌های جفت

در این روش، ورودی به دو بخش تقسیم می‌شود:

h=[ha,hb],f(h)=[ha,fb(hb;ha)].h = [h_a, h_b], \quad f(h) = [h_a, f_b(h_b; h_a)].

بخش اول بدون تغییر باقی می‌ماند و بخش دوم به شکل مشروط تغییر می‌یابد. این روش محاسبه معکوس و دترمینان را ساده می‌سازد.

3.4. جریان‌های خودبازگشتی

در این مدل، هر بعد خروجی بر اساس ابعاد قبلی ورودی تعریف می‌شود:

xi=fi(z<i;ϕ).x_i = f_i(z_{<i}; \phi).

این مدل‌ها قدرت بیان بالایی دارند اما معکوس کردن آن‌ها پرهزینه است.

3.5. جریان‌های باقیمانده

این جریان‌ها از ساختار شبکه‌های باقیمانده الهام گرفته‌اند و معمولاً فرم زیر را دارند:

f(h)=h+g(h).f(h) = h + g(h).

در شرایط خاصی این نگاشت معکوس‌پذیر است، اما دترمینان ژاکوبین به‌سادگی قابل محاسبه نیست.

 

4. جریان‌های چندمقیاسی

در جریان‌های چندمقیاسی، مدل به‌صورت مرحله‌ای ابعاد نهان را گسترش می‌دهد. این روش باعث بهبود کارایی نمونه‌برداری و تخمین احتمال می‌شود.

 

5. کاربردها

5.1. مدل‌سازی چگالی

جریان‌های عادی تنها مدل‌های مولدی هستند که می‌توانند احتمال دقیق نمونه‌ها را محاسبه کنند. این ویژگی در تشخیص ناهنجاری بسیار مفید است.

5.2. سنتز داده

مدل‌هایی مانند GLOW از جریان‌های عادی برای تولید تصاویر با کیفیت بالا استفاده می‌کنند. این مدل‌ها همچنین امکان درونیابی بین تصاویر را فراهم می‌سازند.

5.3. تقریب توزیع‌های دیگر

جریان‌های عادی می‌توانند برای تقریب توزیع‌هایی که ارزیابی آن‌ها آسان ولی نمونه‌برداری دشوار است، مفید باشند.

 

نتیجه‌گیری

جریان‌های عادی‌سازی ابزار قدرتمندی برای مدل‌سازی توزیع‌های پیچیده هستند که هم امکان نمونه‌برداری و هم محاسبه احتمال را فراهم می‌کنند. با استفاده از توابع معکوس‌پذیر و محاسبه دترمینان ژاکوبین، این مدل‌ها در بسیاری از کاربردهای عملی یادگیری ماشین مؤثر ظاهر شده‌اند.