شبکه‌های زایای دشمنگونه
شبکه‌های مولد رقابتی یا زایای دشمنگونه یک کلاس از چارچوب‌های یادگیری ماشین است که ایان گودفلو و همکارانش در سال ۲۰۱۴ آن را پیشنهاد کردند. در این کلاس، دو شبکه عصبی در یک بازی روبروی یکدیگر قرار می‌گیرند (در چارچوب یک بازی با گردایش صفر، که آن را به نام بازی با مجموع صفر نیز در حوزه ی نظریه بازی ها می شناسیم، در چنین بازی هایی سود یک بازیکن به ضرر بازیکن دیگر است و هر گاه بازیکنی یک امتیاز می گیرد در واقع امتیازی از بازیکن مقابل کم می شود در نتیجه همواره مجموع امتیازات صفر است).
در این روش شبکه فرا می‌گیرد چگونه از داده‌های آموزش، داده‌های جدیدی به وجود بیاورد که از دید آماری داده‌های آموزش و به وجود آمده همسان باشند به عبارت دیگر روش در نهایت قرار است داده هایی که برای آموزش استفاده می شوند و خروجی شبکه از لحاظ برخی ویژگی ها شباهت داشته باشند، وظیفه تولید خروجی بر عهده ی بخش زایا و وظیفه ی بررسی کافی بودن این شباهت بر عهده ی بخش دشمنگونه است مانند یک بازی که اگر بخش دشمنگونه بتواند حدس بزند ورودی اصلی شبکه با خروجی ساخته شده توسط بخش زایا اختلاف دارند یا به عبارتی همسان نیستند، برنده می شود و بخش زایا مجبور است خروجی بهتری تولید کند تا جایی که بخش زایا بتواند بخش دشمنگونه را بفریبد در نتیجه بازی تمام شود.
برای نمونه، شبکه‌های مولد رقابتی آموزش‌یافته می‌تواند عکس‌های جدیدی را به وجود آورد که از دید بیننده درست باشد و بسیاری از ویژگی‌های داده‌های آموزشی را در بر بگیرد. تصور کنید قرار است از تصاویر با وضوح پایین تصاویر با وضوح بالای معادل آنها را بسازیم که علاوه بر بزرگتر بودن و با کیفیت تر بودن دقیقا معادل تصویر ورودی باشد در چنین شرایطی شبکه زایای دشمنگونه بسیار مفید و کمک کننده است.
گرچه در ابتدا یک گونه از مدل زایا برای یادگیری بدون ناظر (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.
نگرانی‌هایی در مورد بهره‌گیری به‌هم‌پیوستگی نگاره انسانی بر پایه شبکه‌های زایای دشمنگونه برای کاربردهای شوم وجود دارد، برای نمونه، به وجود آوردن نگاره‌ها و فیلم‌های ساختگی ممکن است کسی را بزه‌کار کند. شبکه‌های زایای دشمنگونه می‌توانند نگاره‌های از افراد ناموجود برای پروفایل شبکه‌های اجتماعی ایجاد کنند تا برای کارهای غیرمجاز استفاده شود.
در سال ۲۰۱۹ ایالت کالیفرنیا لایحه AB-602 را ایجاد کرد و در ۳ اکتبر ۲۰۱۹ برنهاد تا از فن‌آوری‌های به‌هم‌پیوستگی نگاره‌های انسان برای ساخت پورنوگرافی بدون پذیرش افراد بهره‌جویی نشود. لایحه AB-730 را پخش فیلم‌های دستکاری شده یک نامزد سیاسی را ظرف ۶۰ روز پس از انتخابات منع می‌کند. هر دو لایحه بدست انجمن مارک برمن گردآوری شده و بدست فرماندار گاوین نیوسام امضا شده‌است. این قوانین از سال ۲۰۲۰ به اجرا گذاشته شده‌است.
برنامه DARPA به روش‌های رویارویی با رسانه‌های ساختگی از جمله رسانه‌های ساختگی بر پایه شبکه‌های زایای دشمنگونه می‌پردازد.
از شبکه‌های زایای دشمنگونه می‌توان برای شناسایی زودهنگام نگاره‌های دچاراب سبز بهره جست که برای جلوگیری از کاهش ناچیز یا فراگیر بینایی ناگزیر است.
شبکه‌های زایای دشمنگونه که نگاره‌های راستین‌گرایانه به وجود می‌آورند در انگارش طراحی داخلی، طراحی صنعتی، کفش، کیف و پوشاک یا بازی‌های رایانه‌ای. گزارش‌هایی از بهره جویی فیس‌بوک از شبکه‌های زایا نیز وجود دارد.
شبکه‌های زایای دشمنگونه در بازسازی سه سویه از چندین نگاره، و مدل‌سازی الگوهای پویشی فیلم کاربرد دارند.
از شبکه‌های زایای دشمنگونه می‌توان برای پیر کردن نگاره‌های چهره بهره جست تا نشان دهد که چگونه نمای فرد با افزایش سن دگرگون می‌شود.
همچنین می‌توان از شبکه زایای دشمنگونه برای ترابرد سبک‌های نقشه در نقشه‌نگاری یا توان‌بخشی به نگاره‌سازی نمای خیابان بهره جست.
از بازخوردهای با شبکه زایای دشمنگونه می‌توان برای به وجود آوردن نگاره‌ها و جایگزینی سامانه‌های جستجوی نگاره بهره جست.
شبکه‌های زایای دشمنگونه گوناگونی در آموزش یک شبکه برای به وجود آوردن ورودی‌های کنترل بهینه در سامانه پویای غیرخطی کاربرد دارد. جایی که شبکه جداکننده همچون خرده‌گیر شناخته شده‌است که بهینه بودن راهکار را بررسی می‌کند و شبکه زایا همچون یک شبکه سازگار شناخته می‌شود که کنترل بهینه را ایجاد می‌کند. خرده‌گیر و شبکه سازگار یکدیگر را برای برآورد یک کنترل بهینه غیرخطی آموزش می‌دهند.
از شبکه‌های زایای دشمنگونه در بررسی نشانه‌های دگرگونی آب‌وهوایی بر خانه‌هایی ویژه نیز بهره‌کشی شده‌است.
یک مدل شبکه زایای دشمنگونه به نام Speech2Face می‌تواند پس از گوش دادن به صدای او، تصویری از چهره او را بازسازی کند.
در سال ۲۰۱۶ از شبکه زایای دشمنگونه برای به وجود آوردن مولکول‌های جدید پروتئینی که در سرطان، التهاب و فیبروز نقش دارند بهره‌کشی شده‌است. در سال ۲۰۱۹، ارزیابی مولکول‌های به وجود آمده از شبکه‌هایی زایای دشمنگونه به گونه آزمایشی روی موش‌ها پذیرفته شد.
شروع ایده شبکه‌های زایای دشمنگونه را می‌توان با برآورد انقباضی نویز دانست، که از همان تابع خطای شبکه‌های زایای دشمنگونه بهره می‌برند و گودفلو در دوره دکتری خود در سال‌های ۲۰۱۰ تا ۲۰۱۴ خوانده بوده‌است.
دیگران نیز ایده‌هایی داشتند ولی آنها ایده‌های خود را گسترش ندادند. ایده‌ای دربرگیرنده شبکه‌های دشمنگونه در یک پست وبلاگ بدست اولی نیمیتالو (Olli Niemitalo) در سال ۲۰۱۰ پخش شد. این ایده هرگز اجرا نشده و زاینده آن شانسی برخورد نمی‌کند و بنابراین یک مدل زایا نیست. اکنون شبکه زایای دشمنگونه قراردادی شناخته می‌شود. ایده‌ای همانند شبکه‌های زایای دشمنگونه برای مدل‌سازی رفتار حیوانات توسط لی، گاوسی و گروس در سال ۲۰۱۳ پیشنهاد شده‌است.
یادگیری ماشین دشمنگونه علاوه بر مدل‌سازی شبکه زایا، کاربردهای دیگری نیز دارد و می‌تواند در دیگر مدل‌های شبکه‌های عصبی نیز به کار رود. در سال ۲۰۰۶ در زمینه تئوری کنترل از یادگیری دشمنگونه بر پایه شبکه‌های عصبی برای آموزش کنترل‌کننده‌های توانمند بهره برده شده‌است، در یک رویه نظریه بازی با پیاپی کردن تکرارها بین یک سیاست کاهنده کنترل‌کننده و یک سیاست افزاینده آشوب.
در سال ۲۰۱۷، از شبکه زایای دشمنگونه به جای درستی-پیکسل برای بهبود نگاره‌های راستین‌گرایانه بافت‌ها بهره برده شد و نگاره‌های شفاف‌تری به وجود آورده شد. در سال ۲۰۱۷، نخستین چهره‌ها به وجود آمد. اینها در فوریه ۲۰۱۸ در گرند پلی (Grand Palais) به نمایش درآمد. چهره‌های به وجود آمده بدست StyleGAN در سال ۲۰۱۹ هم‌سنجی با جعل عمیق را به دنبال داشت.
از سال ۲۰۱۷، فناوری شبکه زایای دشمنگونه با پیاده‌سازی‌های نو توانست در زمینه هنری از خود بهبود نشان دهد بگونه‌ای که با به وجود آوردن نقاشی‌های فانتزی بی‌همتا و فریبنده، مرزهای خود را تا پهنه هنرهای زیبا گسترش دهد و بنابراین "CAN" (شبکه دشمنگونه آفریننده) نام گرفته‌است. برای ایجاد نقاشی "Edmond de Belamy" در سال ۲۰۱۸ یک شبکه زایای دشمنگونه بکار رفته‌است که به قیمت ۴۳۲٬۵۰۰ دلار آمریکا فروخته شد. تیم نخستین CAN در سال ۲۰۱۹ در مقاله‌ای پیشرفت بیشتر با این سامانه را بررسی کرده‌اند و همچنین به چشم‌انداز فراگیر هنر با هوش‌مصنوعی را پرداخته‌اند.
در ماه مه سال ۲۰۱۹، پژوهشگران سامسونگ یک سامانه بر پایه شبکه زایای دشمنگونه را نشان دادند که تنها با دریافت یک نگاره انسان، فیلم‌هایی از سخن گفتن آن را تولید می‌کند.
در اوت ۲۰۱۹، یک دادگان بزرگ با ۱۲۱۹۷ آهنگ MIDI همراه با متن و ملودی تراز شده ساخته شد تا در به وجود آوردن عصبی مولدی با کمک شبکه زایای دشمنگونه قراردادی بر پایه LSTM بکار برده شود (AI Melody Generation).
در ماه مه سال ۲۰۲۰، پژوهشگران انویدیا با ساخت یک سامانه هوش‌مصنوعی ("GameGAN")، بازی پک-من به گونه ساده با تماشای بازی از نو ساختند.
شبکه زایای دشمنگونه دو راهبردی (BiGAN) با انگیزه ساخت یک مدل زایا که مانند جداکننده واکنش نشان دهد پیشنهاد شد، در چارچوب آن جداکننده خود بخود همه پهنه برگردان را درنگر خواهد داشت تا پیچیدگی آموزش نابسنده زدوده شود. برای دستیابی به این ویژگی، زایا و جداکننده هر دو برای مدل‌سازی احتمال مشترک جفت گزاره‌ها ساخته شده‌اند، با این تفاوت که زایا احتمال مشترک را به یک مدل زبان آغازین و یک مدل برگردان آغازین به انتهایی تجزیه می‌کند، در حالی که جداکننده همچون یک مدل زبان انتهایی و یک مدل برگردان انتهایی به آغازین فراهم شده‌است. برای بهره‌گیری بیشتر از تقارن آنها، یک شبکه زایا دشمنگونه کمکی پیشنهاد شده و مدل‌های زایا و جداکننده مدل آغازین را به ترتیب به عنوان جداکننده و زایا خود برمی‌گزیند. دو شبکه زایا دشمنگونه به‌طور پی در پی برای به روزرسانی پارامترها آموزش می‌بینند. دستاوردهای این روش در کار جداکننده کمکی با نظارت مفید است و کارایی آن در سنج با رویکردهای جدید برای یادگیری ویژگی‌های بی‌وارسی و خود-وارسی ارزشمند می‌باشد.
شبکه‌های زایای دشمنگونه بر مبنای بخشی از نظریه بازی‌ها به نام بازی مینیماکس کار می‌کنند. در اینجا "تفکیک‌کننده" formula_1 و "مولد" formula_2 با یکدیگر رقابت می‌کنند. هر دو شبکه‌های عصبی‌ی هستند که با پارامترهای formula_3 و formula_4 مدل‌سازی شده‌اند. در ادامه برای سهولت کار پارامترها و ورودی‌های مدل را حذف می‌کنیم. شبکه مولد یا همان formula_5 داده‌هایی را از نویزهای تصادفی (formula_6) تولید می‌کند و تفکیک کننده یا همان formula_7 در تلاش است تا تشخیص دهد که داده واقعی است (از داده‌های مجموعه آموزشی است) یا ساختگی (تولید شده توسط مولد). در نهایت بازی به جایی می‌رسد که داده‌های تولید شده توسط مولد به قدری شبیه داده‌های واقعی (داده‌های آموزشی) می‌شوند که تشخیص آن توسط تفکیک‌کننده سخت یا غیرممکن باشد. هر دو شبکه در حالیکه سعی می‌کنند بهتر از دیگری عمل کنند به‌طور همزمان یادمی‌گیرند و پارامترهای خود (formula_3 و formula_4) را بهینه می‌کنند. شبکه مولد را می‌توان به صورت یک تابع مشتق‌پذیر مدل‌سازی کرد به عنوان ورودی نویز تصادفی را از یک فضای پنهان formula_10 با توزیع formula_11 می‌گیرد و داده‌های خروجی از فضایی مشابه داده‌های واقعی و به‌طور خوشبینانه از توزیع مشابه formula_12 هستند:
formula_13
که formula_10 فضای پنهان و formula_15 بعد فضای داده‌است. شبکه تفکیک کننده formula_7 یک طبقه‌بند شبکه عصبی ساده است که می‌تواند به عنوان تابعی که توزیع داده‌ها را به احتمال formula_17 نگاشت می‌کند، در نظر گرفته شود و نمایانگر این است که بردار داده‌های ورودی تا چه حد واقعی هستند:
formula_18
بازی مجموع-صفر به‌صورت بهینه‌سازی زیر مدل‌سازی می‌شود. تابع هزینه در این بهینه‌سازی formula_19 نام دارد و بر اساس تابع هزینه کراس آنتروپی تعریف می‌شود:
formula_20
عبارت formula_21 اشاره به حداقل کردن هزینه مولد و عبارت formula_22 اشاره به حداکثر کردن هزینه تفکیک‌کننده دارد. در حقیقت تفکیک‌کننده به دنبال حداکثر کردن لگاریتم احتمال برای داده‌های واقعی و لگاریتم احتمال ساختگی بودن برای داده‌های ساختگی می‌باشد؛ و در عین حال مولد به دنبال حداقل کردن لگاریتم احتمال ساختگی بودن توسط تفکیک کننده برای داده‌های ساختگی می‌باشد. به عبارت دیگر مولد در صدد فریب دادن تفکیک کننده است و تفکیک کننده در صدد تفکیک درست داده‌ها. به این ترتیب پارامترهای بهینه از این طریق به دست می‌آیند. formula_23 شروع کار با آموزش تفکیک کننده بر روی داده‌های واقعی برای چند دور آغاز می‌شود. هدف از این کار این است که تفکیک کننده به داده‌های واقعی ارزش بالاتری اختصاص دهد. سپس همان شبکه را روی داده‌های جعلی تولید شده توسط شبکه مولد آموزش می‌دهیم. در این مرحله، مولد در حال توقف است و هیچ بازخوردی از آموزش دریافت نمی‌کند و تنها تفکیک کننده است که آموزش می‌بیند. به عبارت دیگر، خطا در شبکه مولد پس انتشار نمی‌شود. در نتیجه مراحل قبل، شبکه تفکیک کننده به‌طور قابل توجهی به نسبت شبکه مولد که تا کنون هیچ آموزشی ندیده‌است و همچنان نویز تولید می‌کند، در کار خود بهتر است؛ بنابراین، تفکیک کننده را در حالت توقف قرار می‌دهیم و شبکه مولد را با استفاده از بازخورد تفکیک کننده آموزش می‌دهیم. هدف از این کار این است که تفکیک کننده را به نحوی فریب دهد که داده جعلی را به عنوان داده حقیقی طبقه‌بندی کند. به محض اینکه این اتفاق افتاد، مولد را متوقف می‌کنیم و دوباره آموزش تفکیک کننده را شروع می‌کنیم. این آموزش متناوب بین دو شبکه را تا زمانی که نتایج خوبی روی داده‌های تولید شده بدست آوریم ادامه می‌دهیم. می‌توانیم به‌طور دستی بررسی کنیم که آیا نتایج رضایت بخش بوده‌اند یا خیر.
برای آموزش تفکیک‌کننده به تعداد مشخصی (formula_24 بار) از طریق گرادیان صعودی تصادفی سعی در بیشینه کردن تابع formula_25 داریم. برای این‌کار formula_26 را از توزیع formula_27 نمونه‌گیری می‌کنیم. همچنین formula_28 را از داده‌های آموزشی نمونه‌گیری می‌کنیم. با این داده‌ها میانگین گرادیان formula_25 را نسبت به پارامترهای formula_7 (مولد) که formula_3 باشد حساب می‌کنیم. پارامترهای formula_3 را در جهت این میانگین تغییر می‌دهیم تا باعث افزایش formula_25 شود. میانگین گرادیان با عبارت پایین برابر است:
formula_34 حال بهینه‌سازی را برای مولد اعمال می‌کنیم. برای این‌کار میانگین گرادیان formula_25 را نسبت به پارامترهای formula_36 (مولد) که formula_4 باشد حساب می‌کنیم. مانند مرحله قبلی یکی سری نویز جدید که از formula_27 نمونه‌گیری کرده‌ایم را برای محاسبه میانگین به کار می‌بریم. پارامترهای formula_4 را در خلاف جهت این میانگین تغییر می‌دهیم تا باعث کاهش formula_25 شود. میانگین گرادیان با عبارت پایین برابر است:
formula_41 این دو مرحله را به صورت متناوب چندین بار انجام می‌دهیم تا تفکیک‌کننده دیگر قادر به تشخیص داده‌های واقعی از ساختگی نباشد.