مدل سازنده

از testwiki
پرش به ناوبری پرش به جستجو

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

  • روش جداکننده: با استفاده از احتمال شرطی P(YX=x) و با توجه به مشاهدات انجام شده از X که همان ویژگی‌هاست، کلاس مربوطه Y را می‌یابد. به عبارت ساده تر، رسیدن از ویژگی‌ها به کلاس است.[۱][۲]
  • روش سازنده:‌ با استفاده از احتمال شرطی P(XY=y) و یک سری نویز به تولید مجموعه ای تصادفی از ویژگی‌ها می‌پردازد و به عبارتی یک نمونه تصادفی از کلاس دلخواه را تولید می‌کند.[۳]

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

یک مدل سازنده برای تصاویر ممکن است همبستگی‌هایی مانند "چیزهایی که شبیه قایق هستند احتمالاً در نزدیکی چیزهایی که شبیه آب هستند ظاهر می‌شوند" و "چشم‌ها بعید است روی پیشانی ظاهر شوند" را ثبت کند که هر کدام توزیع‌های بسیار پیچیده‌ای دارند. در مقابل، یک مدل جداکننده ممکن است تفاوت بین "قایق بادبانی" یا "چیزی غیر از قایق بادبانی" را فقط با جستجوی چند الگوی گویا بیاموزد. این می‌تواند بسیاری از همبستگی‌هایی را که مدل سازنده باید درست انجام دهد نادیده بگیرد. مدل‌های جداکننده سعی می‌کنند مرزهایی را در فضای داده ترسیم کنند، در حالی که مدل‌های سازنده سعی می‌کنند نحوه قرارگیری داده‌ها در فضا را مدل کنند. به عنوان مثال، نمودار زیر مدل های متمایز و مولد ارقام دست نویس را نشان می دهد:

Discriminative vs Generative Models

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

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

انواع مدل‌های سازنده

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

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

مدل‌های سازنده عمیق

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

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

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

منابع

الگو:پانویس

  1. الگو:یادکرد وب
  2. الگو:Harvnb: "Logistic Regression is a function approximation algorithm that uses training data to directly estimate P(YX), in contrast to Naive Bayes. In this sense, Logistic Regression is often referred to as a discriminative classifier because we can view the distribution P(YX) as directly discriminating the value of the target value Y for any given instance X
  3. الگو:Harvnb: "We can use Bayes rule as the basis for designing learning algorithms (function approximators), as follows: Given that we wish to learn some target function f:XY, or equivalently, P(YX), we use the training data to learn estimates of P(XY) and P(Y). New X examples can then be classified using these estimated probability distributions, plus Bayes rule. This type of classifier is called a generative classifier, because we can view the distribution P(XY) as describing how to generate random instances X conditioned on the target attribute Y.
  4. الگو:یادکرد وب
  5. الگو:یادکرد وب
  6. الگو:یادکرد وب
  7. الگو:یادکرد وب
  8. الگو:یادکرد وب
  9. الگو:Cite journal
  10. الگو:یادکرد وب
  11. الگو:Cite journal
  12. الگو:Cite journal
  13. الگو:یادکرد وب