این روزها با داغ شدن پیشرفتهای هوشمصنوعی یکی از سرگرمیهای مورد توجه تولید تصاویر جعلی مشابه واقعیت است. احتمالا تصاویر چهره انسانی که در واقعیت وجود ندارد و یا تصویر پاپ با کاپشن بلند سفید را دیدهاید. سرویسهایی نظیر DALL-E و Midjouney از جمله مدلهای مولدی هستند که برای تولید تصاویر بهکار میروند. روشهای مختلفی برای پیادهسازی چنین سرویسهایی ارائه شده است. یکی از این روشهای رایج شبکه GAN نام دارد. ایده GAN برای اولین بار توسط Ian Goodfellow در سال ۲۰۱۴ معرفی شد.
شبکههای Generative Adversarial Network یا بهطور خلاصه GAN، نوعی از مدلهای هوشمصنوعی مولد هستند که برای تولید تصویر بهکار میروند. این شبکهها از دو مدل Generative (مولد) و Discriminative (متمایزکننده) تشکیل میشوند. در فرآیند training مدل Generative شروع به تولید دیتای جعلی میکند و مدل Discriminative به دیتای تولید شده توسط Generative تگ real یا fake میزند. با گذشت زمان مدل Generator براساس فیدبک Discriminative میتواند کیفیت محتوای تولیدی خود را بهبود داده به دیتای واقعی نزدیک کند. در این حالت مدل Discriminative دیگر متوجه fake بودن دیتای تولید شده توسط Generator نمیشود. تصویر زیر فرآیند training شبکه GAN را به خوبی نمایش داده است. همانطور که مشاهده میکنید تصویر تولید شده توسط Generator به مرور زمان بهبود پیدا کرده تا زمانی که تمایز آن با تصویر واقعی دشوار میشود.
در واقع در یک شبکه GAN دو بخش Generative و Discriminative در حال رقابت با یکدیگر هستند. هر دو بخش از نتیجه برای بهبود وظیفه خود استفاده میکنند. هدف بخش Generative تولید تصویری است که توسط Discriminative جعلی شناخته نشود و هدف بخش Discriminative تشخیص تصاویر تولیدی توسط Generative است. اگر فرآیند training به خوبی پیش برود و در نهایت بخش Generative بتواند تصاویری تولید کند که توسط Discriminative جعلی شناخته نشود، training به پایان رسیده و مدل مولد آماده بهرهبرداری است. در تصویر زیر ساختار کلی یک شبکه GAN نمایش داده شده است.
برای مطالعه بیشتر درباره GAN منابع زیر معرفی میشود:
- در این ویدیو کوتاه که توسط IBM ارائه شده، ایده و ساختار شبکه GAN به صورت خلاصه شرح داده شده است.
- برای آشنایی با GAN از دید خالق آن میتوانید مصاحبه Lex Fridman با Ian Goodfellow را از طریق این لینک مشاهده کنید.
- دوره Generative Adversarial Networks توسط گوگل ارائه شده و به صورت رایگان از طریق این لینک در دسترس است. در این دوره ساختار شبکه GAN با جزئیات بررسی شده و در نهایت روش پیادهسازی GAN با استفاده از Tensorflow آموزش داده میشود.
- برای آشنایی با نحوه پیادهسازی شبکههای GAN با استفاده از Pytorch میتوانید بخش دهم از کورس AI for Beginners را از طریق این لینک مشاهده کنید. این دوره توسط مایکروسافت به صورت رایگان در گیتهاب منتشر شده است.
- اگر به دنبال دوره مفصلتری هستید، این دوره به شما پیشنهاد میشود.
* تصویر استفاده شده در کاور این مقاله توسط Midjourney تولید شده است. این تصویر برنده جایزه رقابت هنری Colorado State Fair در سال گذشته بود. برای جزئیات بیشتر اینجا را بخوانید.
شما میتوانید با عضو شدن در کانال تلگرام این خبرنامه، در سریعترین زمان در جریان مقالات جدید قرار بگیرید.
دیدگاه خود را بنویسید