این مقاله نیازمند ویکیسازی است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه، محتوای آن را بهبود بخشید. |
![]() | این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این برچسب را بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
یادگیری ماشین و دادهکاوی |
---|
![]() |
در یادگیری ماشینی،خودرمزگذار متغیر (به انگلیسی: Variational autoencoder)، یک نوع شبکه عصبی مصنوعی است که متعلق به خانوادههای روشهای بیزی متغیر (به انگلیسی: Variational Bayesian methods) و مدل گرافیکی (به انگلیسی: Graphical model) است.[۱] خودرمزگذارهای متغیر علیرغم شباهت اسمی و ساختاری به خودرمزگذارها تفاوتهای فراوانی در هدف و فرمولبندی ریاضی دارند. هر دو مدل از دو بخش رمزگذار و رمزگشا تشکیل شدهاند، در هر دو مدل بخش رمزگذار سعی میکند دادهها را به یک فضای نهفته (به انگلیسی: Latent space) نگاشت کنند که دادهها در این فضا توسط متغیر پنهان توصیف میشوند. بخش رمزگشا سعی میکند دادهها را از فضای نهفته به فضای ورودی نگاشت کند از خودرمزگذار عادی برای کاهش ابعاد، کاهش نویز استفاده میشود. نحوهٔ عملکرد خودرمزگذار متغیر نیز همانند خودرمزگذار عادی است اما سعی میکنیم با استفاده از یک دانش پیشین (به انگلیسی: A priori) شروطی روی فضای نهفتهٔ تولید شده توسط رمزگذار قرار دهیم تا نقاط نزدیک(به انگلیسی: Probability distribution) هم در فضا دادههایی نزدیک به هم در فضای ورودی تولید کنند. در این روش رمزگذار میتواند چندین دادهٔ جدید از هر ورودی تولید کندک که همه از یک توزیع آماری نمونهبرداری شدهاند.[۲][۳]
با اینکه این مدل در ابتدا برای یادگیری خودران (خودسازمانده) طراحی شده بود،[۴][۵] به دلیل اثربخشی بالا عملکرد خود را در یادگیری نیمهنظارتی و یادگیری با نظارت اثبات کردهاست.[۶][۷][۸]
یک خودرمزگذار متغیر از دو شبکهٔ عصبی مصنوعی به نامهای رمزگذار (به انگلیسی: Encoder) و رمزگشا (به انگلیسی: Decoder) طراحی شدهاست. شبکهٔ اول دادهها را به صورت خام میگیرد و پارامترهای توصیف کنندهٔ ورودی داده شده را به عنوان خروجی بخش اول تولید میکند. رمزگذار بخش دوم این مدل است که یک تابع است. وظیفهی رمزگذار نگاشت دادهها از فضای نهان به فضای ورودی است; این کار با استفاده از تخمین پارامترهای میانگین و واریانس یک توزیع نویز (به انگلیسی: Noise distribution) و سپس نمونهگرفتن از آن انجام میشود.
برای بهینهسازی و آموزش این مدل نیاز به تعریف دو عبارت داریم: "خطای بازسازی" و واگرایی کولبک-لیبلر. تابع ضرر (به انگلیسی: Loss function) مشتقپذیر نهایی ما ترکیبی از این دو عبارت خواهد بود. واگرایی کولبک-لیبلر سعی در مشابه کردن توزیع پیشین فضای نهان که یک توزیع نرمال چند متغیره با میانگین صفر و ماتریس کوواریانس همانی فرض گرفته میشود با توزیع تخمینیای که از بخش رمزنگار مدل ما بدست میآید دارد. عبارت خطای بازسازی وظیفه یکسان کردن خروجی مدل با ورودی داده شده را در بردارد.
از نگاه مدلسازی آماری، مدل سعی در بیشینه کردن احتمال دیدن داده با انتخاب پارامترهای یک توزیع آماری را دارد. توزیع گفته شده معمولا به دلیل سادگی نمونهگیری و بهینهکردن در تابع ضرر یک توزیع نرمال قرار داده میشود که توسط میو و سیگما پارامترسازی میشود.
زمانی که یک توزیع پیشین بر روی فضای نهفته فرض میشود، محاسبه و بیشینه کردن احتمال رخداد داده منجر به یک انتگرال غیر قابل حل (به انگلیسی: Intractable integral) میشود. میتوانیم را با استفاده از توزیع حاشیهای از طریق رابطهی مقابل دست آوریم
در مدل ابتدایی خودرمزگذار متغیر، معمولا به صورت یک بردار در فضای متناهی اعداد حقیقی تعریف میشود و همانطور که بالاتر نیز به آن اشاره شد یک توزیع نرمال گرفته میشود. فرضهای گفته شده باعث میشود ترکیبی از توزیعهای گاوسی باشد.
متاسفانه محاسبهی بسیار هزینهبر و اکثر اوقات غیرممکن است. برای محاسبهی توزیع دادهها نیاز است توزیع پسین را با استفاده از یک تابع تخمین بزنیم
با سادهسازی بالا مشکل بدست آوردن توزیع داده تبدیل به طراحی یک خودرمزگذار متغیر میشود به صورتی که توزیع توسط رمزگشا محاسبه میشود و تخمین توزیع پسین که بالاتر آن را به صورت تعریف کردیم، توسط رمزنگار محاسبه میشود.