Autoencoders

امیر محمد زنگنه

مهدی فیضی

عرفان ناصری

تا حالا فکر کردید چطور مغز انسان می‌تونه تصویر یه چهره رو با چند تا جزئیات ساده تشخیص بده؟

در دنیای امروز، داده‌ها مثل سیل به سمت ما میان — عکس، صدا، متن، و هزاران نوع اطلاعات دیگه. اما آیا می‌شه یاد گرفت که فقط قسمت‌های مهم این داده‌ها رو نگه داشت و بقیه رو حذف کرد؟

اینجاست که Autoencoder وارد می‌شه. یه شبکه‌ی عصبی هوشمند که خودش یاد می‌گیره داده‌ها رو فشرده کنه و دوباره بازسازی‌شون کنه،

Autoencoder Structure

مسیر یادگیری

فرض کنید یه تصویر از یه عدد یا یه چهره داریم
Autoencoder این تصویر رو مرحله به مرحله کوچیک‌تر می‌کنه تا به یه کد مخفی یا همون latent code برسه — این بخش در واقع مغز شبکه‌ست
بعد Decoder تلاش می‌کنه از اون کد، تصویر رو دوباره بازسازی کنه. تفاوت بین تصویر اصلی و بازسازی‌شده به عنوان خطا اندازه‌گیری می‌شه، و شبکه به مرور زمان یاد می‌گیره این خطا رو کم‌تر کنه تا بازسازی دقیق‌تری انجام بده.

روند یادگیری و مقایسه

slide image
Autoencoder Structure

از نویز تا وضوح

در این مثال، Autoencoder یاد گرفته تصاویر نویزی رو تمیز کنه. سمت چپ بانو مونالیزا رو می‌بینید که عکسش دارای ورودی‌های پر نویزه،
عکس وسط نماینده‌ی حالت فشرده‌شده (یعنی ویژگی‌های کلیدی داده)،و عکس سمت راست تصویر بازسازی‌شده‌ست
تفاوت بین ورودی و خروجی نشون می‌ده که شبکه چقدر توی درک ساختار داده موفق بوده.

Autoencoder Structure

کاربردهای واقعی Autoencoder

Autoencoder فقط یه مدل آموزشی نیست — یه ابزار همه‌فن‌حریفه در یادگیری عمیق. ازش استفاده می‌شه برای:

-حذف نویز از تصاویر (Denoising Autoencoder)

-کاهش ابعاد داده‌ها برای تحلیل بهتر

-تشخیص ناهنجاری‌ها مثل تقلب یا خرابی تجهیزات

-یادگیری ویژگی‌های پنهان در داده‌ها برای مدل‌های پیشرفته‌تر

Autoencoder پایه‌ی مدل‌های مدرن‌تر مثل Variational Autoencoder و GANهاست، که در تولید تصویر و بازسازی داده‌های واقعی استفاده می‌شن.

مزایا و معایب Autoencoder

مزایا معایب
قادر به یادگیری نمایش فشرده داده‌ها بدون نظارت مستقیم ممکن است در داده‌های پیچیده دچار overfitting شود
قابل استفاده برای حذف نویز و بازسازی داده‌ها برای بازدهی بالا نیاز به داده و زمان آموزش زیاد دارد
مبنای بسیاری از مدل‌های پیشرفته‌تر مانند VAE و GAN تفسیر ویژگی‌های یادگرفته‌شده ممکن است دشوار باشد
VAE and GAN diagram

مدل‌هایی الهام‌گرفته از Autoencoder

Variational Autoencoder (VAE):
VAE به جای نگهداری یک کد ثابت، توزیع احتمالی در فضای پنهان می‌آموزد. به‌همین‌خاطر می‌تواند نمونه‌های جدید واقعی و متنوع تولید کند.
کاربردها: تولید تصویر/صدا (synthesis)، تکمیل تصویر (inpainting)، مدل‌سازی توزیعی داده‌ها برای شبیه‌سازی و افزایش داده.
Generative Adversarial Network (GAN):
GAN از دو شبکه رقیب تشکیل شده: Generator سعی می‌کند نمونه‌های مصنوعی بسازد و Discriminator تلاش می‌کند واقعی/جعلی را تشخیص دهد.
کاربردها: تولید تصاویر با کیفیت بالا (deepfakes، upscaling)، تولید داده‌های تمرینی، ترجمه تصویر به تصویر (style transfer).
جمع‌بندی:
هر دو مدل از ایدهٔ «یادگیری نمایش پنهان / بازسازی» در Autoencoderها نشأت می‌گیرند، ولی VAE بیشتر روی توزیع و تولید کنترل‌شده تأکید دارد و GAN قدرت ایجاد نمونه‌های با کیفیت بصری بالا را دارد.
slide image

معنا،نه داده:

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

پایان