زمان تخمینی مطالعه: 16 دقیقه

شبکه‌های متخاصم مولد(Generative Adversarial Networks) یک کلاس از چارچوب‌های یادگیری ماشین است. بر اساس مجموعه داده‌های آموزشی، یک GANs یاد می‌گیرد که داده‌های جدید را با همان آمار مجموعه آموزشی تولید کند. داده‌های ایجاد شده توسط GANs می‌تواند هر چیزی باشد، مانند تصاویر، فیلم‌ها یا متن. در حالت کلی یک مدل مولد نوعی الگوریتم یادگیری ماشین است که برای تولید داده‌های جدید بر اساس مجموعه داده‌های ورودی استفاده می‌شود. این مدل می‌تواند برای کارهایی مانند تولید تصویر، تولید متن و انواع دیگر ترکیب داده‌ها مفید باشد.

تاریخچه شبکه‌های مولد متخاصم

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

آموزش شبکه‌های متخاصم مولد

شبکه‌های متخاصم مولد (GAN) نوعی مدل هوش مصنوعی است. معماری یک GAN از دو شبکه عصبی مجزا تشکیل شده است که در یک سناریوی بازی مانند در مقابل یکدیگر قرار گرفته‌اند. اولین شبکه که به عنوان شبکه مولد شناخته می‌شود، سعی می‌کند داده‌های جعلی ایجاد کند که واقعی به نظر برسد.
شبکه دوم که به عنوان شبکه تشخیص دهنده شناخته می‌شود، معمولاً یک شبکه عصبی کانولوشن (CNN) است که سعی می‌کند بین داده‌های تولید شده توسط GAN (داده‌های جعلی) و داده‌های واقعی تمایز قائل شود. شبکه یاد می‌گیرد که این نمونه‌ها را به درستی طبقه‌بندی کند، و این اطلاعات برای تنظیم شبکه مولد برای ایجاد داده‌های واقعی‌تر و غیرقابل تشخیص از داده‌های واقعی، همانطور که توسط شبکه تشخیص‌دهنده تعیین می‌شود، استفاده می‌شود.
تصویر زیر مفهوم نحوه عملکرد GAN ها را به تصویر می‌کشد: شبکه‌های متخاصم مولد تا زمانی که به نقطه‌ای برسند که هر دو نتوانند بهبود یابند، آموزش داده می‌شوند، زیرا توزیع مولد (سبز) برابر با توزیع مولد داده (خط نقطه چین) است. و تمایز کننده قادر به تمایز بین دو توزیع نیست (خط آبی چین چین توزیع متمایز را نشان می‌دهد).

مکانیزم اصلی GANs.

با گذشت زمان، مولد در ایجاد داده‌های جعلی که متمایزکننده را فریب می‌دهد بهتر می‌شود، و تمایزکننده در تشخیص داده‌های جعلی و واقعی بهتر می‌شود. به عبارت دیگر، هدف ایجاد داده‌های جعلی است که آنقدر واقع بینانه باشد که بتواند مولد و تمایزکننده را فریب دهد. از نظر ریاضی، GANs ها سعی می‌کنند یک توزیع احتمال را تکرار کنند. بنابراین، آنها از توابع هزینه(Loss Function) استفاده می‌کنند که فاصله بین توزیع داده‌های جعلی و توزیع داده‌های واقعی را منعکس می‌کند.

تابع هزینه Loss Function چیست؟

تابع هزینه(ضرر) یک تابع ریاضی است که برای اندازه‌گیری تفاوت بین دو مجموعه داده استفاده می‌شود. در زمینه یک GAN، مدل مولد با بهینه‌سازی یک تابع هزینه آموزش داده می‌شود که تفاوت بین داده‌های تولید شده و داده‌های آموزشی را اندازه‌گیری می‌کند (مثلاً تصاویر حاشیه‌نویسی شده با برچسب کلاس). از سوی دیگر، مدل تفکیک‌کننده با بهینه‌سازی یک تابع هزینه آموزش داده می‌شود که تفاوت بین داده‌های تولید شده و داده‌های واقعی را اندازه‌گیری می‌کند.

شبکه‌های مولد متخاصم به عنوان یک بازی دو نفره

در زمینه GANs، دو بازیکن اصلی آن دو مدل مولد و ممیز هستند. الگوریتم مولد تلاش می‌کند تا داده‌هایی را تولید کند که از داده‌های واقعی قابل تشخیص نیستند، در حالی که الگوریتم تشخیص دهنده سعی دارد بین داده‌های تولید شده و داده‌های واقعی تمایز قائل شود. یکی از راه‌های تصور آن، رقابت بین دو بازیکن است. مولد تلاش می‌کند تمایزکننده(شخیص دهنده) را فریب دهد، در حالی که ممیز تلاش می‌کند موارد تقلبی را شناسایی کند. از این بازی می‌توان برای یادگیری مدل مولدی داده‌ها استفاده کرد. به عبارت دیگر، مولد در حال یادگیری تولید داده‌هایی است که شبیه داده‌های واقعی هستند. بازی GAN را می‌توان به عنوان یک بازی با مجموع صفر در نظر گرفت که در آن مولد سعی می‌کند امتیاز خود را به حداکثر برساند و متمایز کننده سعی می‌کند امتیاز مولد را به حداقل برساند. هدف از آموزش یک GAN یافتن یک تعادل نش است که در آن هر دو بازیکن قادر به بهبود امتیاز خود با ایجاد هیچ تغییری در استراتژی خود نباشند. این تکنیک یادگیری ماشین شبیه بازی می‌تواند برای یادگیری بدون نظارت نیز استفاده شود. در این مورد، مولد تلاش می‌کند تا داده‌های جدیدی تولید کند که شبیه به نمونه‌های داده واقعی است، بدون اینکه داده‌های آموزشی مشروح با برچسب‌های کلاس به آنها داده شود.

تفاوت بین CNN و GANs چیست؟

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

محبوب‌ترین کاربردهای شبکه‌های مولد متخاصم

شبکه‌های مولد متخاصم را می‌توان برای انواع کارهای هوش مصنوعی، مانند تولید تصویر مبتنی بر یادگیری ماشین، تولید ویدئو، و تولید متن (به عنوان مثال، در پردازش زبان طبیعی، NLP) استفاده کرد. مزیت اصلی شبکه‌های متخاصم مولد این است که می‌توان از آنها برای ایجاد نمونه‌های داده جدید که در آن جمع آوری داده‌ها دشوار یا غیرممکن است استفاده کرد. از این رو، GANs با موفقیت در کاربردهای عملی مختلف در سنتز تصویر و بینایی کامپیوتر استفاده شده‌اند. در ادامه کاربردهای GANs ذکر شده است:

چالش‌های شبکه‌های متخاصم مولد

در ادامه به چالش‌های GANs خواهیم پرداخت:

انواع مختلف شبکه‌های مولد متخاصم

انواع مختلفی از معماری Generative Adversarial Networks و سایر مدل‌های مولدی مرتبط وجود دارد. در مقاله اصلی، نویسندگان GANs را با استفاده از شبکه‌های پرسپترون چند لایه (MLPs) و شبکه‌های عصبی کانولوشن (CNN) پیاده‌سازی کردند. در ادامه به دیگر مدل‌ها، ابزارها و انواع شبکه‌های متخاصم مولد خواهیم پرداخت.

جایگزین‌های شبکه‌های مولد متخاصم و سایر مدل‌های مولد

انواع مختلفی از مدل‌های تولیدی وجود دارد که هر کدام مزایا و معایب خاص خود را دارند. در این بخش به طور خلاصه تعدادی از محبوب‌ترین آنها را فهرست می‌کنیم.

شبکه‌های مولد متخاصم نوعی مدل مولد هستند که برای ایجاد داده‌های جدید استفاده می‌شوند. آنها محبوب هستند زیرا می‌توان از آنها برای تولید نمونه‌های تصویر مصنوعی استفاده کرد که می‌تواند برای کارهایی مانند تشخیص تصویر یا تشخیص اشیاء مفید باشد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *