GAN
آموزش‌های پایه‌ای هوش مصنوعیآموزش‌های پیشرفته هوش مصنوعیبینایی ماشینکتابخانه‌ های یادگیری عمیق

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

    0
    مدت زمان مطالعه: ۳ دقیقه

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

    GAN ها اولین بار در مقاله‌ی گودفلا و همکارانش (۲۰۱۴) به نام شبکه‌های مولد تخاصمی مطرح شدند. قبل از این‌که وارد مبحث معماری این مدل‌ها شویم، ابتدا منطق زیربنایی آن‌ها را توضیح می‌دهیم.

    ایده‌ی زیربنایی GAN

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

    • مولد: این قسمت، مدلِ مولدی است که هدفش تولید داده‌های جدید بر مبنای یک قاعده‌ی احتمالی و تبدیل نویزهای تصادفی (به شکل برداری تصادفی که از یک توزیع گاوسی Gaussian distribution بیرون کشیده می‌شود) به تصاویری قابل باور است.
    • متمایزکننده: این بخش را می‌توان با آن ناظر دقیقی که بالا اشاره شد برابر دانست. همانطور که از نامش پیداست، هدف متمایزکننده تشخیص این است که آیا تصویر تولیدشده توسط مولد واقعی است یا خیر.

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

    آموزش GAN

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

    GAN

    با این حال، باید به آموزش تک تک اجزاء توجه کنیم. آموزش متمایزکننده کار نسبتاً آسانی است؛ چون کاری که انجام می‌دهد تنها یک مسئله‌ی رده‌بندی دودویی Binary classification به شمار می‌رود که ورودی آن تصاویر واقعی و ساختگی هستند. خروجی آن هم احتمال واقعی بودن تصویر است. تابع زیان متمایزکننده، آنتروپی متقاطع Cross-entropy است. دلیل سهولت نسبی این مرحله این است که حقیقت پایه، یعنی تصاویر واقعی که متمایزکننده باید تصاویر ساختگی را با آن‌ها مقایسه کند، در دست داریم.

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

    اما این معیارها هیچ کمکی به قدرت مولد نمی‌کنند. بلکه در این صورت، متمایزکننده تسلیم مولد می‌شود؛ در حالی‌که هدف نهایی ما داشتن یک مولد قوی‌تر است نه یک متمایزکننده ضعیف‌تر.

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

    GAN

    جمع‌بندی

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

    GAN

    هر بار صفحه‌ی این وبسایت را آپدیت کنید، تصویری از یک فرد را به شما ارائه می‌دهند که توسط شبکه‌ی مولد تخاصمی StyleGAN2 تولید شده است.

     

    این مطلب چه میزان برای شما مفید بوده است؟
    [کل: ۰ میانگین: ۰]

    بهترین دیتاست ‌های یادگیری ماشینی برای مبتدیان

    مقاله قبلی

    چگونه می توانیم یک قطب علمی هوش مصنوعی ایجاد کنیم؟

    مقاله بعدی

    شما همچنین ممکن است دوست داشته باشید

    نظرات

    پاسخ دهید

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