thregence
جامع ترین و کامل ترین مرجع آموزش هک و امنیت و تست نفوذ

شبکه های مولد تخاصمی یا Generative Adversarial Networks – GAN چیست؟

0 73

فهرست

Photos Generated By GAN

به تصویر بالا دقت کنید! تصویر چهره‌‌ی هشت نفر را می‌بینید! چند نفر از آن‌ها را می‌شناسید؟!
حتما پاسخ شما به این سوال این است که هیچ‌‌یک از چهره‌های در این تصویر را نمی‌شناسید! در این پست قصد داریم افرادی که در این تصویر هستند را به شما معرفی کنیم! با صحبت کوتاهی در مورد شبکه های مولد تخاصمی یا GANها همراه باشید.

هوش مصنوعی یا Artificial Intelligence که اختصارا به آن AI می‌گویند پیشرفت زیادی داشته است. از نظر پروفسور اندرو انگ (Andrew Ng) استاد دانشگاه استنفورد و رهبر Google Brain، هوش مصنوعی الکتریسیته ثانی یا الکتریسیته جدید است. هوش مصنوعی تقریبا در کلیه‌ی زمینه‌ها به خصوص در زمینه هک و امنیت به صورت قدرتمند ورود کرده است و احتمالا آینده‌ی جهان چیزی جز هوش مصنوعی نخواهد بود. در این پست به یکی از جالب‌ترین و البته خطرناک‌ترین دستاوردهای هوش مصنوعی، یعنی شبکه های مولد تخاصمی یا به اختصار GAN می‌پردازیم.

یادگیری تحت نظارت یا Supervised Learning

افرادی که با یادگیری ماشین (Machine Learning) آشنا هستند اطلاع دارند که در یک عملیات یادگیری سعی بر یادگیری توابع یا الگوها می‌باشد. برای مثال در یک یادگیری تحت نظارت فرض کنید تعدادی اتومبیل با ویژگی‌ها و قیمت هرکدام در اختیار دارید:

Price
($)
Engine Size
(L)
Tank Capacity
(Gal)
Horsepower
(hp)
ValvesTorque
(lb-ft)
Cylinders
119,9004.421.155232502V8BMW M6 Gran Coupe
228,0006.222.558332479V8Mercedes Benz SLS
جدول مقایسه

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

یادگیری بدون نظارت یا Unsupervised Learning

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

مدل مولد یا Generative

یک یادگیری بدون نظارت را در نظر بگیرید که با یادگیری الگوها و قواعد سعی در ساخت نمونه‌هایی می‌کند که بیشترین شباهت را با نمونه‌های ورودی داشته باشد. برای مثال با یادگیری الگوی چهره‌ی یک انسان سعی می‌کند تصویری خلق کند که شبیه تصویر چهره‌ی یک انسان باشد.

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

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

یک مثال برای درک بهتر شبکه های مولد تخاصمی (GAN)

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

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

شبکه های مولد تخاصمی از دو زیرمدل (Sub-Model) تشکیل شده‌اند. در اینجا به بررسی دقیق‌تر این دو زیرمدل می‌پردازیم.

زیرمدل مولد

  • زیر مدل مولد با تولید نمونه‌هایی شبیه نمونه‌های دیده شده (داده‌هایی از یک توزیع) سعی در گول زدن زیر مدل تفکیک کننده دارد.
Generator
مدل مولد

زیر مدل تفکیک کننده

  • زیر مدل تفکیک کننده سعی در دسته‌بندی نمونه‌هایی که در اختیارش قرار می‌گیرد دارد. این زیرمدل با مشاهده یک مدل آن را به واقعی یا تقلبی تقسیم می‌کند.
مدل تفکیک کننده

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

معماری شبکه های مولد تخاصمی (GAN)

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

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

موارد استفاده شبکه های مولد تخاصمی (GAN)

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

افراد داخل تصویر ابتدای مطلب…؟

بله درست حدس زدید! این تصاویر توسط یک GAN ایجاد شده و افراد داخل تصاویر هیچکدام وجود خارجی ندارند.

درباره ما

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence 

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.