شبکه‌های زایای دشمن‌گونه

**شبکه‌های زایای دشمن‌گونه**، **شبکه‌های زایای رودررو**، **شبکه‌های زایای رقابتی** ، **شبکه‌های مولد هم‌آورد** یا **شبکه‌های زایای صفر** ، یک کلاس از چارچوب‌های یادگیری ماشین است که ایان گودفلو و همکارانش در سال ۲۰۱۴ آن را پیشنهاد کردند. در این کلاس، دو شبکه عصبی در یک بازی روبروی یکدیگر قرار می‌گیرند (در چارچوب یک بازی با گردایش صفر، که آن را به نام بازی با مجموع صفر نیز در حوزهٔ نظریه بازی‌ها می‌شناسیم، در چنین بازی‌هایی سود یک بازیکن به ضرر بازیکن دیگر است و هر گاه بازیکنی یک امتیاز می‌گیرد در واقع امتیازی از بازیکن مقابل کم می‌شود در نتیجه همواره مجموع امتیازات صفر است).

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

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

گرچه در ابتدا یک گونه از مدل زایا برای یادگیری بدون ناظر (Unsupervised learning) پیشنهاد شده بود، ولی شبکه‌های زایای دشمن‌گونه برای یادگیری نیمه‌نظارتی (Semi-supervised learning)، یادگیری با ناظر (Supervised learning) و یادگیری تقویتی (Reinforcement learning) نیز می‌تواند مفید باشد.

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

## روش
شبکه مولد نامزدها را به وجود می‌آورد و شبکه تفکیک‌کننده آنها ارزیابی می‌کند. این چالش بر پایه توزیع داده‌ها انجام می‌شود. در طی بازی، شبکه مولد یادمی‌گیرد تا یک متغیر پنهان را به توزیع داده نگاشت کند. شبکه تفکیک‌کننده نمونه‌های به وجود آمده به دست شبکه مولد را از توزیع راستین داده‌ها جدا می‌کند. انگیزه آموزش شبکه مولد این است که میزان خطای شبکه تفکیک کننده را افزایش دهد (به سخن دیگر «گمراه» کردن شبکه تفکیک کننده با به وجود آوردن نمونه‌های جدیدی که تفکیک‌کننده می‌پندارد آمیخته نشده‌اند (بخشی از توزیع راستین داده‌ها هستند).

یک دادگان شناخته شده در جایگاه داده‌های راستین آموزشی برای شبکه تفکیک‌کننده بکار برده می‌شود. فرایند آموزش با نمونه‌هایی از دادگان آموزشی ادامه پیدا می‌کند تا زمانی که به درستی پذیرفتنی دست یابد. آموزش شبکه مولد بر پایه توانا شدن آن در گول‌زدن شبکه جداکننده انجام می‌شود. ورودی‌های شبکه زایا به گونه شانسی از یک متغیر پنهان دانسته (مانند یک پراکندگی نرمال چند متغیره) نمونه‌برداری می‌شود. پس از آن، شبکه جدا کننده نامزدهای ساخته شده به دست شبکه زایا را ارزیابی می‌کند. رویه‌های نشراندن وارون (Backpropagation‎) جداگانه در هر دو شبکه انجام می‌شود تا شبکه زایا نگاره‌های بهتری به وجود آورد و شبکه جداکننده در شناسایی نگاره‌های ساختگی زبدگی بیشتری پیدا کند. شبکه زایا بیشتر یک شبکه عصبی پادپیچشی (Deconvolution) است و شبکه جداکننده یک شبکه پیچشی (Convolution) می‌باشد.

شبکه‌های زایای دشمن‌گونه گاهی با از دست دادن چارچوب‌های دادگان راستین با «فروپاشی نهادمان» روبرو می‌شوند و نمی‌توانند به درستی ویژگی‌های دادگان را فرا بگیرند. برای نمونه، یک شبکه زایای دشمن‌گونه با دادگان MNIST آموزش دیده‌است و دارای بسیاری از نمونه‌های هر رقم نیز می‌باشد ولی نگاره‌های به وجود می‌آورد که تنها با بخشی از دادگان راستین همسانی دارند. برخی از پژوهشگران چالش بنیادی را یک شبکه جداکننده ناکارامد می‌دانند که از الگوهای بخش‌های دیده‌نشده دادگان آگاهی ندارد، برخی دیگر نیز چالش را در انتخاب نادرست تابع هزینه (Objective function) می‌بینند. راهکارهای گوناگونی برای گره‌گشایی از این چالش پیشنهاد شده‌است.

## کاربردها
کاربردهای شبکه‌های زایای دشمن‌گونه به سرعت افزایش یافته‌اند.

### مد، هنر و آگهی
از شبکه زایای دشمن‌گونه می‌توان برای به وجود آوردن هنر استفاده کرد. *[[ورج (وبگاه)|ورج]]* در مارس ۲۰۱۹ نوشت «نگاره‌های به وجود آمده به دست شبکه‌های زایای دشمن‌گونه نشانگر چشم‌انداز امروزی هنر هوش مصنوعی است.» همچنین می‌توان از شبکه‌های زایای دشمن‌گونه برای رنگ‌آمیزی نگاره‌ها یا به وجود آوردن نگاره‌هایی از مدل‌های فانتزی استفاده کرد، بدون اینکه نیازی به هنرمند، نگاره‌گر یا آرایشگر یا پرداخت هزینه استودیو و حمل‌ونقل باشد.

### دانش
شبکه‌های زایای دشمن‌گونه می‌توانند نگاره‌های اخترشناسی را بهبود بخشند و عدسی گرانشی را برای پژوهش دربارهٔ ماده تاریک شبیه‌سازی کنند. آنها از شبکه زایا در سال ۲۰۱۹ برای مدل‌سازی پراکندگی ماده تاریک در یک جهت ویژه در فضا و پیش‌بینی عدسی گرانشی که رخ خواهد داد، بهره جسته‌اند.

شبکه‌های زایای دشمن‌گونه همچون یک روش چابک و کارا برای مدل‌سازی ساختمان جت‌های پر انرژی و مدل‌سازی دوش‌ها از راه آزمایش‌های گرماسنج‌های فیزیک ذرات پیشنهاد شده‌اند. شبکه‌های زایای دشمن‌گونه همچنین برای برآورد درست گلوگاه در شبیه‌سازی محاسبات سنگین آزمایش‌های فیزیک ذرات بکار برده می‌شوند. کاربردها در زمینه آزمایش‌های کنونی و پیشنهادی سرن نشان می‌دهد این روش‌ها پتانسیل شبیه‌سازی چابک و/یا بهبود پشتوانه شبیه‌سازی را دارند.

### بازی‌های ویدیویی
در سال ۲۰۱۸، شبکه‌های زایای دشمن‌گونه بازی‌های ویدئویی قدیمی را با بزرگ‌نمایی بافت‌های دو سویه با رزولوشن پایین به رزولوشن‌های ۴ک یا بالاتر و سپس کوچک‌نمایی آنها به اندازه پیشین (همسان با نمونه‌برداری‌ممتاز در روش ضدپلگی) بازسازی کردند. با آموزش خوب، شبکه‌های زایای دشمن‌گونه نگاره‌های دو سویه با نگهداری ریزگان، رنگ و … به نگاره‌هایی شفاف‌تر و روشن‌تر جز می‌کنند. نمونه‌هایی شناخته شده از شبکه‌های زایای دشمن‌گونه: Final Fantasy VIII، Final Fantasy IX، Resident Evil REmake HD Remaster و Max Payne.

### نگرانی دربارهٔ کاربردهای تباهگر
بندانگشتی| نگاره به دست آمده از StyleGAN که مانند یک شخص راستین می‌باشد. این نگاره به دست StyleGAN بر پایه کاوش چهرسان‌ها به وجود آمده‌است.
نگرانی‌هایی در مورد بهره‌گیری به‌هم‌پیوستگی نگاره انسانی بر پایه شبکه‌های زایای دشمن‌گونه برای کاربردهای شوم وجود دارد، برای نمونه، به وجود آوردن نگاره‌ها و فیلم‌های ساختگی ممکن است کسی را بزه‌کار کند. شبکه‌های زایای دشمن‌گونه می‌توانند نگاره‌های از افراد ناموجود برای پروفایل شبکه‌های اجتماعی ایجاد کنند تا برای کارهای غیرمجاز استفاده شود.

در سال ۲۰۱۹ ایالت کالیفرنیا لایحه AB-602 را ایجاد کرد و در ۳ اکتبر ۲۰۱۹ برنهاد تا از فن‌آوری‌های به‌هم‌پیوستگی نگاره‌های انسان برای ساخت پورنوگرافی بدون پذیرش افراد بهره‌جویی نشود. لایحه AB-730 را پخش فیلم‌های دستکاری شده یک نامزد سیاسی را ظرف ۶۰ روز پس از انتخابات منع می‌کند. هر دو لایحه به دست انجمن مارک برمن گردآوری شده و به دست فرماندار گاوین نیوسام امضا شده‌است. این قوانین از سال ۲۰۲۰ به اجرا گذاشته شده‌است.

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

### برنامه‌های پراکنده
از شبکه‌های زایای دشمن‌گونه می‌توان برای شناسایی زودهنگام نگاره‌های دچاراب سبز بهره جست که برای جلوگیری از کاهش ناچیز یا فراگیر بینایی ناگزیر است.

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

شبکه‌های زایای دشمن‌گونه در بازسازی سه سویه از چندین نگاره، و مدل‌سازی الگوهای پویشی فیلم کاربرد دارند.

از شبکه‌های زایای دشمن‌گونه می‌توان برای پیر کردن نگاره‌های چهره بهره جست تا نشان دهد که چگونه نمای فرد با افزایش سن دگرگون می‌شود.

همچنین می‌توان از شبکه زایای دشمن‌گونه برای ترابرد سبک‌های نقشه در نقشه‌نگاری یا توان‌بخشی به نگاره‌سازی نمای خیابان بهره جست.

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

شبکه‌های زایای دشمن‌گونه گوناگونی در آموزش یک شبکه برای به وجود آوردن ورودی‌های کنترل بهینه در سامانه پویای غیرخطی کاربرد دارد. جایی که شبکه جداکننده همچون خرده‌گیر شناخته شده‌است که بهینه بودن راهکار را بررسی می‌کند و شبکه زایا همچون یک شبکه سازگار شناخته می‌شود که کنترل بهینه را ایجاد می‌کند. خرده‌گیر و شبکه سازگار یکدیگر را برای برآورد یک کنترل بهینه غیرخطی آموزش می‌دهند.

از شبکه‌های زایای دشمن‌گونه در بررسی نشانه‌های دگرگونی آب‌وهوایی بر خانه‌هایی ویژه نیز بهره‌کشی شده‌است.

یک مدل شبکه زایای دشمن‌گونه به نام Speech2Face می‌تواند پس از گوش دادن به صدای او، تصویری از چهره او را بازسازی کند.

در سال ۲۰۱۶ از شبکه زایای دشمن‌گونه برای به وجود آوردن مولکول‌های جدید پروتئینی که در سرطان، التهاب و فیبروز نقش دارند بهره‌کشی شده‌است. در سال ۲۰۱۹، ارزیابی مولکول‌های به وجود آمده از شبکه‌هایی زایای دشمن‌گونه به گونه آزمایشی روی موش‌ها پذیرفته شد.

## پیشینه
شروع ایده شبکه‌های زایای دشمن‌گونه را می‌توان با برآورد انقباضی نویز دانست، که از همان تابع خطای شبکه‌های زایای دشمن‌گونه بهره می‌برند و گودفلو در دوره دکتری خود در سال‌های ۲۰۱۰ تا ۲۰۱۴ خوانده بوده‌است.

دیگران نیز ایده‌هایی داشتند ولی آنها ایده‌های خود را گسترش ندادند. ایده‌ای دربرگیرنده شبکه‌های دشمن‌گونه در یک پست وبلاگ به دست اولی نیمیتالو (Olli Niemitalo) در سال ۲۰۱۰ پخش شد. این ایده هرگز اجرا نشده و زاینده آن شانسی برخورد نمی‌کند و بنابراین یک مدل زایا نیست. اکنون شبکه زایای دشمن‌گونه قراردادی شناخته می‌شود. ایده‌ای همانند شبکه‌های زایای دشمن‌گونه برای مدل‌سازی رفتار حیوانات توسط لی، گاوسی و گروس در سال ۲۰۱۳ پیشنهاد شده‌است.

یادگیری ماشین دشمن‌گونه علاوه بر مدل‌سازی شبکه زایا، کاربردهای دیگری نیز دارد و می‌تواند در دیگر مدل‌های شبکه‌های عصبی نیز به کار رود. در سال ۲۰۰۶ در زمینه تئوری کنترل از یادگیری دشمن‌گونه بر پایه شبکه‌های عصبی برای آموزش کنترل‌کننده‌های توانمند بهره برده شده‌است، در یک رویه نظریه بازی با پیاپی کردن تکرارها بین یک سیاست کاهنده کنترل‌کننده و یک سیاست افزاینده آشوب.

در سال ۲۰۱۷، از شبکه زایای دشمن‌گونه به جای درستی-پیکسل برای بهبود نگاره‌های راستین‌گرایانه بافت‌ها بهره برده شد و نگاره‌های شفاف‌تری به وجود آورده شد. در سال ۲۰۱۷، نخستین چهره‌ها به وجود آمد. اینها در فوریه ۲۰۱۸ در گرند پلی (Grand Palais) به نمایش درآمد. چهره‌های به وجود آمده به دست StyleGAN در سال ۲۰۱۹ هم‌سنجی با جعل عمیق  را به دنبال داشت.

از سال ۲۰۱۷، فناوری شبکه زایای دشمن‌گونه با پیاده‌سازی‌های نو توانست در زمینه هنری از خود بهبود نشان دهد بگونه‌ای که با به وجود آوردن نقاشی‌های فانتزی بی‌همتا و فریبنده، مرزهای خود را تا پهنه هنرهای زیبا گسترش دهد و بنابراین "CAN" (شبکه دشمن‌گونه آفریننده) نام گرفته‌است. برای ایجاد نقاشی *Edmond de Belamy* در سال ۲۰۱۸ یک شبکه زایای دشمن‌گونه بکار رفته‌است که به قیمت ۴۳۲٬۵۰۰ دلار آمریکا فروخته شد. تیم نخستین CAN در سال ۲۰۱۹ در مقاله‌ای پیشرفت بیشتر با این سامانه را بررسی کرده‌اند و همچنین به چشم‌انداز فراگیر هنر با هوش‌مصنوعی را پرداخته‌اند.

در ماه مه سال ۲۰۱۹، پژوهشگران سامسونگ یک سامانه بر پایه شبکه زایای دشمن‌گونه را نشان دادند که تنها با دریافت یک نگاره انسان، فیلم‌هایی از سخن گفتن آن را تولید می‌کند.

در اوت ۲۰۱۹، یک دادگان بزرگ با ۱۲۱۹۷ آهنگ MIDI همراه با متن و ملودی تراز شده ساخته شد تا در به وجود آوردن عصبی مولدی با کمک شبکه زایای دشمن‌گونه قراردادی بر پایه LSTM بکار برده شود (AI Melody Generation).

در ماه مه سال ۲۰۲۰، پژوهشگران انویدیا با ساخت یک سامانه هوش‌مصنوعی ("GameGAN")، بازی پک-من به گونه ساده با تماشای بازی از نو ساختند.

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

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

#### تاریخچه
#### شبکه زایای دشمن گونه چرخه ای [https://phamdinhkhanh.github.io/2021/01/20/CycleGAN.html در سال ۲۰۱۷ توسط Jun_YanZhu, Tuesung Park, Phillip Isola   و Alexei A. Efros راه اندازی شد].
#### نحوه عملکرد شبکه زایای دشمن گونه چرخه ای
شبکه زایای دشمن گونه چرخه ای یک مدل یادگیری عمیق است که بدون نیاز به داده‌های آموزشی جفتی، تصویر را به تصویر تبدیل می‌کند که برای این تبدیل از دو شبکه زایای دشمن‌گونه برای یادگیری نگاشت بین دو حوضه تصویر استفاده می‌کند. این مدل قدرتمند می‌تواند تصاویر جدیدی را از تصاویر موجود بدون نیاز به داده‌های آموزشی جفت تولید کند. از دو شبکه زایای دشمن گونه برای یادگیری نگاشت بین دو حوزه تصویر مختلف استفاده می‌کنند. این مدل برای گرفتن ویژگی‌های دامنه هدف و تولید تصاویر جدید از دامنه منبع که آن ویژگی‌ها را به اشتراک می‌گذارد، آموزش داده شده‌است. فرایند آموزش شامل آموزش شبکه‌های زایای دشمن گونه به‌طور جداگانه است، به طوری که یکی از شبکه زایای دشمن گونه تصاویر دامنه هدف را از تصاویر دامنه منبع تولید می‌کند و شبکه زایای دشمن گونه دیگر، تصاویر دامنه منبع را از تصاویر دامنه هدف تولید می‌کند. هنگامی که شبکه‌های زایای دشمن گونه آموزش داده می‌شوند، برای تشکیل شبکه زایای دشمن گونه چرخه ای ترکیب می‌شوند. سپس این مدل برای تولید تصاویری شبیه به دامنه هدف از دامنه منبع و بالعکس، با استفاده از یک فقدان سازگار با چرخه و یک مؤلفه نگاشت هویت برای بهبود کیفیت تصاویر تولید شده، آموزش داده می‌شود.

#### معماری شبکه زایای دشمن گونه چرخه ای
مانند شبکه زایای دشمن‌گونه، شبکه زایای دشمن گونه چرخه ای نیز دارای دو بخش ژنراتور(Generator) و متمایز کننده (Discriminator) است. کار ژنراتور این چنین است که از توزیع مورد نظر، نمونه تولید می‌کند و کار متمایز کننده نیز این چنین است که تشخیص دهد نمونه از توزیع واقعی است یا از نمونه ساخته شده توسط ژنراتور است.

معماری شبکه زایای دشمن گونه چرخه ای با سایر شبکه‌های زایای دشمن گونه متفاوت است به گونه ای که شامل ۲ تابع نگاشت ژنراتور به نام‌های (\begin{alignat}{2} G(X) \end{alignat}  و \begin{alignat}{2} F(Y)\end{alignat} ) است و شامل دو متمایز کننده به نام‌های (D_X  و D_Y ) است که به صورت زیر عمل می‌کنند:

G: X \longrightarrow Y
 ,\quad
F: Y \longrightarrow X

که در آن X توزیع تصویر ورودی و Y توزیع خروجی مورد نظر است.

D_X  : متمایز کننده \begin{alignat}{2} G(X) \end{alignat}  (خروجی تولید شده) از Y  (خروجی واقعی)

D_Y  : متمایز کننده \begin{alignat}{2} F(Y)\end{alignat}  (خروجی معکوس تولید شده) از X  (ورودی توزیع)
حاشیه|وسط|بی‌قاب|تصویر معماری شبکه زایای دشمن گونه

##### مزایا و معایب [[شبکه‌های زایای دشمن‌گونه|شبکه زایای دشمن‌گونه]] چرخه ای
###### مزایا
# دقت بالا: چون از داده‌های جفت نشده استفاده می‌کند می‌تواند نتایج بهتری را بدون نیاز به تعداد زیادی تصاویر آموزشی جفت شده ایجاد کند در نتیجه نسبت به نسخه‌های قبلی خود عملکرد و دقت بالاتری دارد.
# قوی: شبکه زایای دشمن گونه چرخه ای قوی است زیرا اگر تصاویر ورودی از دامنه‌های مختلف آمده باشند، می‌تواند عملکرد خوبی داشته باشد. در نتیجه می‌توان از ان برای طیف وسیعی از کارهای تبدیل تصویر به تصویر، مانند تغییر سبک یک تصویر، تبدیل از یک دامنه به دامنه دیگر، یا حتی ترجمه از یک زبان به زبان دیگر، استفاده کرد.
# مجموعه داده کوچک: از شبکه زایای دشمن گونه چرخه ای برای تولید تصاویر با کیفیت بالا با داده‌های آموزشی نسبتاً کمی استفاده کرد. این برای کارهایی که داده‌های آموزشی در آنها محدود است، مانند تبدیل تصویر به تصویر پزشکی، مهم است.

###### معایب
# کند :شبکه زایای دشمن گونه چرخه ای به کندی آموزش می‌بیند به خصوص در زمانی که تعداد عکس‌هایی که باید از ان آموزش ببیند، زیاد باشد.
# بیش برازش: این شبکه مستعد به بیش برازش است.
# پیچیدگی عملکرد: تفسیر شبکه زایای دشمن گونه چرخه ای دشوار است و درک اینکه چرا مدل نتایجی دلخواه را ایجاد می‌کند به آسانی مدل‌های تفسیر پذیر نیست.

## جزئیات ریاضی
شبکه‌های زایای دشمن‌گونه بر مبنای بخشی از نظریه بازی‌ها به نام بازی مینیماکس کار می‌کنند. در اینجا *تفکیک‌کننده* D(x, \theta_d) و *مولد* G(z, \theta_g)  با یکدیگر رقابت می‌کنند. هر دو شبکه‌های عصبی‌ی هستند که با پارامترهای \theta_d  و \theta_g  مدل‌سازی شده‌اند. در ادامه برای سهولت کار پارامترها و ورودی‌های مدل را حذف می‌کنیم. شبکه مولد یا همان G  داده‌هایی را از نویزهای تصادفی (z) تولید می‌کند و تفکیک کننده یا همان D در تلاش است تا تشخیص دهد که داده واقعی است (از داده‌های مجموعه آموزشی است) یا ساختگی (تولید شده توسط مولد). در نهایت بازی به جایی می‌رسد که داده‌های تولید شده توسط مولد به قدری شبیه داده‌های واقعی (داده‌های آموزشی) می‌شوند که تشخیص آن توسط تفکیک‌کننده سخت یا غیرممکن باشد. هر دو شبکه در حالیکه سعی می‌کنند بهتر از دیگری عمل کنند به‌طور همزمان یادمی‌گیرند و پارامترهای خود (\theta_d  و \theta_g) را بهینه می‌کنند. شبکه مولد را می‌توان به صورت یک تابع مشتق‌پذیر مدل‌سازی کرد به عنوان ورودی نویز تصادفی را از یک فضای پنهان Z با توزیع p_{z}(x) می‌گیرد و داده‌های خروجی از فضایی مشابه داده‌های واقعی و به‌طور خوشبینانه از توزیع مشابه p_{data}(x)  هستند:

 \mathcal{G} : Z \to \mathbb{R}^n 

که Z فضای پنهان و n بعد فضای داده‌است. شبکه تفکیک کننده D یک طبقه‌بند شبکه عصبی ساده است که می‌تواند به عنوان تابعی که توزیع داده‌ها را به احتمال p \in [0,1]  نگاشت می‌کند، در نظر گرفته شود و نمایانگر این است که بردار داده‌های ورودی تا چه حد واقعی هستند:

  \mathcal{D} : \mathbb{R}^n \to [0,1] 

بازی مجموع-صفر به‌صورت بهینه‌سازی زیر مدل‌سازی می‌شود. تابع هزینه در این بهینه‌سازی \min \max نام دارد و بر اساس تابع هزینه کراس آنتروپی تعریف می‌شود:

\min_{\,\mathcal{G}} \max_{\, D} \,V(\mathcal{G}, D)

عبارت \min اشاره به حداقل کردن هزینه مولد و عبارت \max اشاره به حداکثر کردن هزینه تفکیک‌کننده دارد. در حقیقت تفکیک‌کننده به دنبال حداکثر کردن لگاریتم احتمال برای داده‌های واقعی و لگاریتم احتمال ساختگی بودن برای داده‌های ساختگی می‌باشد؛ و در عین حال مولد به دنبال حداقل کردن لگاریتم احتمال ساختگی بودن توسط تفکیک کننده برای داده‌های ساختگی می‌باشد. به عبارت دیگر مولد در صدد فریب دادن تفکیک کننده است و تفکیک کننده در صدد تفکیک درست داده‌ها. به این ترتیب پارامترهای بهینه از این طریق به دست می‌آیند.


\min_{\,\mathcal{G}} \max_{\, D} \, V\left(\mathcal{G},D\right)= \min_{\,\mathcal{G}} \max_{\, D} \left(\mathbb{E}_{x  \sim  p_{data}\left(x\right)}  [log\left(D\left(x\right)\right)] + \mathbb{E}_{z \sim  p_z\left(z\right)}\left[\log\left(1-D\left(\mathcal{G}\left(z\right)\right)\right)\right]\right)


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

برای آموزش تفکیک‌کننده به تعداد مشخصی (k  بار) از طریق گرادیان صعودی تصادفی سعی در بیشینه کردن تابع V(\mathcal{G}, D)  داریم. برای این‌کار \{z^{(1)},\cdots,z^{(m)}\}   را از توزیع p_g(z)   نمونه‌گیری می‌کنیم. همچنین \{x^{(1)},\cdots,x^{(m)}\}   را از داده‌های آموزشی نمونه‌گیری می‌کنیم. با این داده‌ها میانگین گرادیان V(\mathcal{G}, D)  را نسبت به پارامترهای D  (مولد) که \theta_d  باشد حساب می‌کنیم. پارامترهای \theta_d را در جهت این میانگین تغییر می‌دهیم تا باعث افزایش V(\mathcal{G}, D)  شود. میانگین گرادیان با عبارت پایین برابر است:


 \nabla_{\theta_d} \frac{1}{m} \sum_{i=1}^m \left(log\left(D\left(x^{(i)}\right)\right)+ \log\left(1-D\left(\mathcal{G}\left(z^{(i)}\right)\right)\right)\right)

حال بهینه‌سازی را برای مولد اعمال می‌کنیم. برای این‌کار میانگین گرادیان V(\mathcal{G}, D)  را نسبت به پارامترهای \mathcal{G}  (مولد) که \theta_g باشد حساب می‌کنیم. مانند مرحله قبلی یکی سری نویز جدید که از p_g(z)   نمونه‌گیری کرده‌ایم را برای محاسبه میانگین به کار می‌بریم. پارامترهای \theta_g را در خلاف جهت این میانگین تغییر می‌دهیم تا باعث کاهش V(\mathcal{G}, D)  شود. میانگین گرادیان با عبارت پایین برابر است:


 \nabla_{\theta_d} \frac{1}{m} \sum_{i=1}^m \log\left(1-D\left(\mathcal{G}\left(z^{(i)}\right)\right)\right)

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

## منابع

## پیوند به بیرون
* 
* 
* This Person Does Not Exist photorealistic images of people who do not exist, generated by StyleGAN
* 
* 
* 
* 

رده:شبکه‌های عصبی مصنوعی
رده:علوم شناختی
رده:معماری شبکه‌های عصبی
رده:یادگیری بی‌نظارت