شبکه‌های مولد تخاصمی (GAN) چیستند و چگونه کار می‌کنند؟

شبکه‌های مولد تخاصمی (GAN) سرنام (Generative Adversarial Networks) در سال 2014 میلادی توسط Ian Goodfellow ابداع شدند و امروزه مورد توجه متخصصان هوش مصنوعی قرار دارند. این شبکه‌ها بر مبنای رویکرد تئوری بازی‌ها پدید آمده‌اند که در آن یک شبکه یادگیری عمیق که مولد (Generator) نامیده می‌شود با یک روند کنش‌گر (تخاصمی) رقابت می‌کند.

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

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

شبکه‌های مولد تخاصمی (GAN) رویکردی برای مدل‌سازی مولد با استفاده از روش‌های یادگیری عمیق (Deep Learning) مثل شبکه‌های عصبی پیچشی (Convolutional Neural Networks) است. مدل‌سازی مولد یک فعالیت نظارت نشده (Unsupervised Learning) در یادگیری ماشین است که شامل اکتشاف خودکار و یادگیری قواعد یا الگوهای موجود در داده‌های ورودی است. این کار به گونه‌ای انجام می‌شود که از مدل می‌توان برای تولید یا خروجی گرفتن نمونه‌های جدیدی از مجموعه داده اصلی استفاده کرد. به طور مثال،شبکه‌های مولد تخاصمی که روی مجموعه داده تصاویر آموزش دیده باشد، قادر هستند که تصاویر جدیدی را تولید کند که با داشتن ویژگی‌های واقع‌گرایانه مختلف توسط ناظر انسانی قابل باور باشند. در حالی که این شبکه‌ها به عنوان یک مدل مولد (Generative Model) برای یادگیری بدون ناظر معرفی شدند، اما امروزه این موضوع به اثبات رسیده که شبکه‌های مولد تخاصمی برای یادگیری نیمه نظارتی، یادگیری با ناظر و یادگیری تقویتی مفید و قابل استفاده هستند. شبکه‌های مولد تخاصمی راه‌حلی هوشمندانه برای آموزش یک مدل مولد به شمار می‌روند. شبکه‌های فوق این کار را با فرموله کردن مسئله به عنوان یک مسئله یادگیری نظارت شده با دو زیر مدل انجام می‌دهند. مدل مولد برای تولید نمونه‌های جدید، آموزش می‌بیند و مدل متمایز گر تلاش می‌کند تا نمونه‌ها را به عنوان نمونه واقعی یا جعلی طبقه‌بندی کند. هر دو مدل با یکدیگر در یک بازی مجموع صفر تخاصمی آموزش داده می‌شوند و این روند تا زمانی ادامه پیدا می‌کند که مدل متمایز گر بالغ بر نیمی از دفعات فریب بخورد، بدین معنا که مدل مولد، نمونه‌های قابل باور تولید کرده است. امروزه شبکه‌های عصبی مولد پیشرفت‌های چشمگیری داشته‌اند و به ویژه در زمینه تبدیل تصویر به تصویر عملکرد قابل توجهی دارند. به طور مثال، می‌توان تصاویر تابستان را به زمستان، تصاویر روز را به شب و تولید تصاویر فوتورئالیستیک از اشیا، صحنه‌ها و افراد را به گونه‌ای ایجاد کرد که حتی انسان‌ها قادر به شناسایی تصاویر غیرواقعی نباشند.

یادگیری بدون ناظر و با ناظر

در یک مسئله یادگیری ماشین از یک مدل برای انجام پیش‌بینی و طراحی الگوریتم پیشگویانه استفاده می‌شود. برای انجام این کار به مجموعه داده‌های آموزشی نیاز داریم که برای آموزش یک مدل استفاده می‌شوند و ترکیبی از چند نمونه (Sample) هستند. هر یک از این نمونه‌ها یک متغیر ورودی (X) و برچسب کلاس (Y) دارند. مدل با مشاهده نمونه‌ها آموزش می‌بینید و در ادامه برای پیش‌بینی نمونه‌های جدید استفاده می‌شود، به‌طوری که در نهایت خروجی مدنظر کارشناسان را ارائه کند. رویکرد فوق شکل نظارت شده یادگیری (Supervised Form of Learning) نام دارد. از جمله مسائل یادگیری با ناظر باید به طبقه‌بندی (Classification) و رگرسیون (Regression) اشاره کرد و از الگوریتم‌های یادگیری نظارتی نیز باید به رگرسیون لجستیک (Logistic Regression) و جنگل تصادفی (Random Forest) اشاره کرد. دومین رویکرد قالب در این زمینه یادگیری بدون ناظر است که فقط متغیر ورودی (X) به مدل داده می‌شود و مسئله هیچ متغیر خروجی (y) ندارد؛ بنابراین، مدل با استخراج یا خلاصه‌سازی الگوهای موجود در داده‌ها ساخته می‌شود. هیچ اصلاح مدلی برای این نوع مدل‌ها انجام نمی‌شود و مدل چیزی را پیش‌بینی نمی‌کند. به بیان دقیق‌تر، این پارادایم هوشمند مبتنی بر رویکرد توصیفی یا بدون ناظر است. در این نوع رویکرد، فقط داده‌های ورودی وجود دارند و هدف یافتن الگوهای درست در میان داده‌ها است. این پارادایم عمدتاً برای حل مسائل پیچیده استفاده می‌شود، زیرا در مسئله به وضوح اعلام نمی‌شود که مدل باید به دنبال چه نوع الگویی باشد و هیچ معیار ارزیابی خطای مشخصی وجود ندارد. به این پارادایم هوشمند شکل نظارت نشده یادگیری (Unsupervised Form of Learning) می‌گویند. از مسائل یادگیری نظارت نشده باید به خوشه‌بندی و مدل‌های مولد اشاره کرد. الگوریتم‌های K-Means و شبکه عصبی تخاصمی نیز در گروه الگوریتم‌های بدون نظارت قرار می‌گیرند.

مدل‌سازی مولد و مدل‌سازی متمایز گر

در یادگیری با ناظر، این احتمال وجود دارد که متخصصان به دنبال توسعه مدلی باشند که برچسب کلاس را با دریافت مثالی از متغیرهای ورودی پیش‌بینی کند. کار مدل‌سازی پیش‌بینی، طبقه‌بندی نام دارد. به این مدل طبقه‌بندی مدل‌سازی متمایزکننده (Discriminative Modeling) گفته می‌شود. به‌طوری که از داده‌های آموزشی برای یافتن تابع تمایز fx استفاده می‌شود که هر x در نتیجه ترکیب استنتاج و مرحله تصمیم در یک مسئله یادگیری منفرد، به شکل مستقیم به یک برچسب کلاس نگاشت می‌شود. در این حالت مدل باید مثال‌های متغیرهای ورودی را در کلاس‌ها متمایز کرده و تصمیم بگیرد که یک مثال دریافتی به چه دسته‌ای تعلق دارد. به طور معمول، مدل‌های یادگیری بدون ناظر که توزیع متغیرهای ورودی را خلاصه می‌کنند، عمدتاً برای تولید نمونه‌های جدید در توزیع ورودی استفاده می‌شوند. به همین دلیل مدل‌های مولد نام دارند. به طور مثال، یک متغیر منفرد ممکن است یک توزیع شناخته شده مثل توزیع گوسی (Gaussian Distribution) داشته باشد. یک مدل مولد می‌تواند به شکل مؤثری این توزیع داده‌ها را خلاصه‌سازی کرده و برای تولید متغیرهای جدید قابل قبول در برازش (Fit) استفاده کند. در این حالت رویکردهایی که به شکل صریح یا ضمنی توزیع ورودی‌ها و خروجی‌ها را مدل می‌کنند، مدل‌های مولد نامیده می‌شوند، زیرا با نمونه‌گیری از آن‌ها نقاط داده مصنوعی در فضای ورودی تولید می‌شوند. یک مدل مولد کارآمد می‌تواند مثال‌های جدیدی تولید کند که نه تنها باورپذیر هستند، بلکه از مثال‌های واقعی دامنه مسئله نیز قابل تمایز نیستند. یکی از مثال‌های بارز در ارتباط با مدل‌های مولد، قضیه بیز ساده (Naive Bayes) است که اغلب به عنوان یک مدل متمایز گر استفاده می‌شود. به طور مثال، بیز ساده با خلاصه‌سازی توزیع احتمال هر متغیر ورودی و کلاس خروجی کار می‌کند. هنگامی که پیش‌بینی انجام شد، احتمال هر خروجی ممکن برای هر متغیر محاسبه می‌شود، احتمال‌های مستقل ترکیب می‌شوند و باورپذیرترین خروجی پیش‌بینی می‌شود. از مثال‌های دیگر در این زمینه باید به تخصیص پنهان دیریکله (Latent Dirichlet Allocation) و مدل آمیخته گاوسی (Gaussian Mixture Model) اشاره کرد. البته روش‌های یادگیری عمیق را نیز می‌توان به عنوان مدل‌های مولد توصیف کرد. از مثال‌های رایج در این زمینه باید به ماشین بولتزمن محدود (Restricted Boltzmann Machine) و شبکه باور عمیق (Deep Belief Network) اشاره کرد. از الگوریتم‌های مدل‌سازی مولد یادگیری عمیق مطرح نیز باید به خود کدگذار متغیر (Variational Autoencoder) و شبکه‌های مولد تخاصمی (GAN) اشاره کرد.

شبکه عصبی مولد چیست؟

شبکه‌های مولد تخاصمی GAN سرنام Generative Adversarial Networks مدل مولد مبتنی بر یادگیری عمیق است. این شبکه‌ها برای آموزش یک مدل مولد استفاده می‌شوند و به دلیل مصرف انرژی کمتری که دارند رایج‌تر از مدل‌های یادگیری عمیق هستند. معماری شبکه‌های مولد تخاصمی(GAN) اولین بار در سال 2014 میلادی در مقاله ایان گوفلو با عنوان شبکه‌های مولد تخاصمی به ادبیات دنیای هوش مصنوعی وارد شدند. یک رویکرد استاندارد که شبکه‌های مولد تخاصمی پیچشی عمیق (Deep Convolutional Generative Adversarial Networks DCGAN) نام دارد زمینه‌ساز ظهور مدل‌های پایدارتری شدند که بعدها توسط الک رادرفورد (Alec Radford) در مقاله‌ای با عنوان یادگیری ارائه نظارت نشده با شبکه‌های مولد تخاصمی پیچشی عمیق (Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks) در سال 2016 میلادی به دنیای فناوری وارد شدند. در بخشی از این مقاله آمده است که بیشتر شبکه‌های مولد تخاصمی به طور کلی بر پایه معماری DCGAN هستند. معماری مدل شبکه‌های مولد تخاصمی (GAN) شامل دو زیر مدل است: یک مدل مولد برای تولید نمونه‌های جدید است و یک مدل متمایز گر برای دسته‌بندی نمونه‌های تولید شده در دو دسته واقعی از دامنه و جعلی است. مولد، مدلی است که برای تولید مثال‌های قابل باور جدید از دامنه مسئله استفاده می‌شود، در حالی که متمایز گر، مدلی است که برای دسته‌بندی مثال‌ها به عنوان واقعی یا جعلی استفاده می‌شوند. در مجموع باید بگوییم که شبکه‌های عصبی مولد بر مبنای سناریوهای نظریه بازی عمل می‌کنند. در آن‌ها، شبکه مولد باید با یک شبکه متخاصم رقابت کند. شبکه مولد به شکل مستقیم نمونه‌ها را تولید می‌کند. دشمن آن، شبکه متمایز گر، تلاش می‌کند تا بین نمونه‌های گرفته شده از مجموعه داده آموزشی و نمونه‌های تولید شده توسط مولد تمایز قائل شود.

مدل مولد

کاری که یک مدل مولد انجام می‌دهد این است که یک بردار تصادفی با طول ثابت را به عنوان ورودی دریافت و نمونه‌ها را در دامنه تولید کند. بردار به شکل تصادفی از یک توزیع گوسی اقتباس شده و برای تغذیه در اختیار فرایند مولد قرار می‌گیرد. پس از آموزش دادن، نقاط در این فضای برداری چندبعدی متناظر با نقاط دامنه در نظر گرفته می‌شوند تا یک ارائه فشرده از توزیع داده‌ها به دست آید. فضای برداری با عنوان فضای پنهان (Latent Space) یا یک فضای برداری متشکل از متغیرهای پنهان (Latent Variables) نامیده می‌شود. متغیرهای پنهان (Hidden Variables) متغیرهایی هستند که برای دامنه اهمیت زیادی دارند، اما به شکل مستقیم قابل مشاهده نیستند. به طور معمول، از متغیرهای پنهان یا فضای پنهان با عنوان تصویر (Projection) یا فشرده‌سازی (Compression) توزیع نام برده می‌شود. این مورد، فضای پنهانی است که فشرده‌سازی یا مفهوم سطح بالا از داده‌های خام مشاهده شده مانند توزیع داده‌های ورودی را فراهم می‌کند. در شبکه‌های مولد تخاصمی، مدل مولد، به نقاط در فضای پنهان معنا می‌دهد، به‌گونه‌ای که نقاط جدیدی که برگرفته از فضای پنهان هستند را می‌توان برای مدل مولد به عنوان ورودی قرار داد و از آن‌ها برای تولید خروجی‌های جدید و متفاوت استفاده کرد.

مدل متمایزکننده

مدل متمایزکننده، نمونه‌ای (Example) از دامنه را به عنوان ورودی دریافت و اقدام به تولید داده‌های واقعی یا جعلی قابل پیش‌بینی می‌کند. لازم به توضیح است که در این زمینه مثال‌های واقعی از مجموعه داده‌های آموزشی به دست می‌آیند و مثال‌های تولید شده خروجی مدل مولد هستند. متمایزکننده یک مدل دسته‌بندی طبیعی است که پس از فرایند آموزش کنار گذاشته می‌شود، زیرا مدل مولد است که اهمیت دارد. گاهی اوقات، مولد را می‌توان هدف‌گذاری مجدد کرد، زیرا به خوبی یاد گرفته که ویژگی‌ها را در دامنه مسئله استخراج کند. برخی یا تمام لایه‌های استخراج ویژگی را می‌توان در کاربردهای یادگیری انتقال (Transfer Learning) با استفاده از همان داده‌ها یا داده‌های مشابه استفاده کرد.

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

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

شبکه‌های مولد عصبی شرطی

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

در اینجا، متمایز گر نیز شرطی شده است، بدین معنا که هم داده ورودی که واقعی یا جعلی است و هم ورودی اضافی را فراهم می‌کند. در ورودی شرطی نوع برچسب دسته‌بندی، متمایز گر انتظار دارد که ورودی آن دسته، در عوض به مولد بیاموزد که نمونه‌هایی از آن کلاس را برای فریب متمایز گر تولید کند. بدین شکل،شبکه‌های مولد تخاصمی می‌توانند برای تولید مثال‌هایی از دامنه یک نوع داده شده استفاده می‌شوند. با برداشتن یک گام رو به جلوتر، مدل‌های شبکه مولد تخاصمی می‌تواند روی یک مسئله از دامنه مانند یک تصویر شرطی شود.

این‌کار به شبکه‌های مولد تخاصمی امکان کاربردهایی مانند تبدیل متن به تصویر یا تبدیل تصویر به تصویر را می‌دهد. این کاربران برخی از کاربردهای قابل توجه شبکه‌های مولد تخاصمی مانند انتقال سبک (Style Transfer)، رنگ‌آمیزی تصاویر، نگاشت تصاویر از تابستان به زمستان یا از روز به شب و چنین مواردی کاربرد دارد. در شبکه‌های مولد تخاصمی شرطی برای تبدیل تصویر به تصویر، مانند نگاشت تصاویر روز به شب، متمایز گر نمونه‌هایی از تصاویر شبانه واقعی و تولید شده را همراه با تصاویر واقعی روز (شرط گذاشته شده بر آن‌ها) را به عنوان ورودی فراهم می‌کند. مولد، با یک بردار تصادفی از فضای پنهان و تصاویر روز واقعی (شرط گذاشته شده) به عنوان ورودی فراهم شده است.

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

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

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

منبع: مجله شبکه

دوره آموزشی شبکه

 

آموزش های عصر شبکه

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

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