مدل سازنده

در یادگیری ماشین، به طور کلی دو نوع اصلی از مدل‌ها وجود دارند: **[[:en:Discriminative_model|روش جداکننده]]** و **روش سازنده.** روش **جداکننده** به حل مسائل طبقه‌بندی می‌پردازد اما روش **سازنده** به حل مسئله تولید یه نمونه جدید و تصادفی از یکی از طبقه‌ها می‌پردازد. به صورت آماری تمایز این  دو روش به صورت زیر است:

* **روش جداکننده:** با استفاده از احتمال شرطی P(Y\mid X = x) و با توجه به مشاهدات انجام شده از X که همان ویژگی‌هاست، کلاس مربوطه Y را می‌یابد. به عبارت ساده تر، رسیدن از ویژگی‌ها به کلاس است.
* **روش سازنده:‌** با استفاده از احتمال شرطی P(X\mid Y = y) و یک سری نویز به تولید مجموعه ای تصادفی از ویژگی‌ها می‌پردازد و به عبارتی یک نمونه تصادفی از کلاس دلخواه را تولید می‌کند.

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

یک مدل سازنده برای تصاویر ممکن است همبستگی‌هایی مانند "چیزهایی که شبیه قایق هستند احتمالاً در نزدیکی چیزهایی که شبیه آب هستند ظاهر می‌شوند" و "چشم‌ها بعید است روی پیشانی ظاهر شوند" را ثبت کند که هر کدام توزیع‌های بسیار پیچیده‌ای دارند. در مقابل، یک مدل جداکننده ممکن است تفاوت بین "قایق بادبانی" یا "چیزی غیر از قایق بادبانی" را فقط با جستجوی چند الگوی گویا بیاموزد. این می‌تواند بسیاری از همبستگی‌هایی را که مدل سازنده باید درست انجام دهد نادیده بگیرد. مدل‌های جداکننده سعی می‌کنند مرزهایی را در فضای داده ترسیم کنند، در حالی که مدل‌های سازنده سعی می‌کنند نحوه قرارگیری داده‌ها در فضا را مدل کنند. به عنوان مثال، نمودار زیر مدل های متمایز و مولد ارقام دست نویس را نشان می دهد:
بندانگشتی|Discriminative vs Generative Models|536x536پیکسل
مدل جداکننده سعی می‌کند با کشیدن خطی در فضای داده تفاوت بین 0 و 1 های دست نویس را تشخیص دهد. اگر خط را به درستی پیدا کند، می‌تواند 0ها را از 1 تشخیص دهد بدون اینکه نیازی به دانستن دقیق محل نمونه‌ها در فضا باشد.

در مقابل، مدل سازنده سعی می‌کند با تولید ارقامی که نزدیک به همتایان واقعی خود در فضای داده قرار می‌گیرند، 1 و 0 قانع کننده تولید کند و در عمل، باید توزیع را در سراسر فضای داده مدل کند.

## انواع مدل‌های سازنده
انواع متفاوتی از مدل‌های سازنده وجود دارد. دو دسته مهم و بزرگ از این مدل‌ها عبارتند از:

* **[[خودرمزگذار متغیر|خودرمزگذارهای متغیر]]:** این دسته شامل یک رمزگذار و یک رمزگشا هستند. در مرحله آموزش یک نمونه از کلاس‌های موجود به رمزگذار داده می‌شود و این رمزگذار معادل این نمونه را در فضای ویژگی می‌یابد (بردار ویژگی مربوط به این نمونه را می‌یابد). سپس این بردار به رمزگشا داده می‌شود و رمزگشا سعی می‌کند تا بتواند نمونه اولیه را تولید کند. بعد از مرحله آموزش رمزگشا قادر است با گرفتن هر ورودی تصادفی از فضای ویژگی یک نمونه تولید کند.
* **[[شبکه‌های زایای دشمن‌گونه|شبکه های مولد تخاصمی]]:** این دسته شامل یک قسمت تولید کننده و یک قسمت جداکننده است. قسمت تولیدکننده به عنوان ورودی یک بردار تصادفی از فضای ویژگی می‌گیرد و نمونه را تولید می‌کند. سپس جداکننده خروجی را بررسی می‌کنند و کلاس مربوطه را مشخص می‌کند. این دو بخش در مقابل یکدیگر رقابت می‌کنند و در نهایت به درجه‌ای می‌رسند که نیازی به وجود جداکننده نیست و تولیدکننده به تنهایی می‌تواند خروجی موردنظر را تولید کند.
بندانگشتی|ساختار شبکه‌های عصبی تخاصمی|533x533پیکسل

## مدل‌های سازنده عمیق
با ظهور یادگیری عمیق، خانواده جدیدی از روش‌ها به نام مدل‌های سازنده عمیق (DGMs)  از طریق ترکیب مدل‌های سازنده و شبکه‌های عصبی عمیق شکل می‌گیرد. افزایش مقیاس شبکه های عصبی معمولاً با افزایش مقیاس داده‌های آموزشی همراه است که هر دوی آنها برای عملکرد خوب مورد نیاز هستند.

DGM های محبوب شامل رمزگذارهای خودکار متغیر (VAEs)، شبکه های سازنده متخاصمی (GAN) و مدل‌های رگرسیون خودکار هستند. اخیراً گرایشی برای ساخت مدل‌های سازنده عمیق بسیار بزرگ به وجود آمده است. به عنوان مثال، GPT-3، و پیش از آن GPT-2، مدل‌های عصبی هستند که حاوی میلیاردها پارامتر هستند. BigGAN و VQ-VAE شامل صدها میلیون پارامتر هستند که برای تولید تصویر استفاده می‌شوند و جوک باکس یک مدل سازنده بسیار بزرگ برای صدای موسیقی است که حاوی میلیاردها پارامتر است.

## جستارهای وابسته

* یادگیری ماشین
* احتمال شرطی
* خودرمزگذارهای متغیر
* شبکه های مولد تخاصمی
* یادگیری عمیق
* مدل جداکننده

## منابع

رده:مدل‌های آماری
رده:مدل‌های احتمالات
رده:یادگیری ماشین