شبکه های AE (Autoencoder) و GAN (Generative Adversarial Networks) در حوزه یادگیری ماشین و بینایی ماشینی استفاده می شوند. این دو شبکه به دو رویکرد متفاوت برای یادگیری نمایش داده ها و ساخت داده های جدید متکی هستند. در ادامه به بررسی مقایسه این دو شبکه پرداخته می شود:
AE (Autoencoder):
Autoencoder یک شبکه عصبی است که به منظور کاهش ابعاد داده ها و به دست آوردن نمایش مناسبی از داده ها استفاده می شود. این شبکه معمولاً دو بخش کدگذار و کدگشا دارد. در بخش کدگذار، داده ها به فضای برداری کاهش می یابند و در بخش کدگشا، داده ها به فضای بعد بالاتر بازگردانده می شوند. با تنظیم پارامترهای شبکه، داده ها به نمایشی خوب از خود می رسند. در نتیجه، با استفاده از AE می توان از یادگیری نمایش داده ها به نحوی که اطلاعات کلیدی آن ها حفظ شود، استفاده کرد.
GAN (Generative Adversarial Networks):
GAN یک شبکه عصبی مولد است که به منظور تولید داده های جدید بر اساس یادگیری توزیع احتمالی داده های ورودی به کار می رود. GAN دارای دو شبکه متفاوت است. یکی از این شبکه ها مولد است که داده های جدید تولید می کند، و دیگری شبکه بحرانی یا تشخیص دهنده است که سعی می کند داده های واقعی را از داده های تولیدی تشخیص دهد. دو شبکه با هم در یک فرایند آموزشی بر اساس مینیمم کردن یک تابع هدف متقابل آموزش داده می شوند تا مولد بتواند داده های جدید را به صورتی که شباهت زیادی با داده های واقعی داشته باشند، به طوری که تشخیص دهنده نتواند آن ها را از داده های تولیدی تشخیص دهد. با آموزش GAN، می توان داده های جدید و واقعی سازی شده را تولید کرد که بسیار مفید در بسیاری از حوزه هایی مانند تصویر سازی، طراحی، تبلیغات، بازی های رایانه ای و... هستند.