React Flow mini map
Derin Öğrenmeileri18 dk

VAE ve GAN: Üretici Modeller

Yeni örnekler üreten ağlar — latent space ve adversarial training

Derin öğrenme modelleri sadece sınıflandırma yapmaz — **yeni veri üretebilir**. Variational Autoencoder (VAE) ve Generative Adversarial Network (GAN), yapay zekanın 'hayal gücü' kazandığı iki devrimci mimaridir. Bir ressam gibi düşünün: VAE stil öğrenir ve varyasyonlar üretir, GAN ise sahte-gerçek oyunuyla ustalaşır.

Autoencoder iki parçadan oluşur: **Encoder** girdiyi düşük boyutlu latent vektöre sıkıştır…

Variational Autoencoder (2013, Kingma & Welling) latent uzayı **sürekli bir dağılım** olar…

L_VAE = E[log p(x|z)] - KL(q(z|x) || p(z))

ELBO kaybı iki bileşenden oluşur: (1) Reconstruction loss — decoder'ın girdiyi ne kadar iyi yeniden oluşturduğu, (2) KL divergence — latent dağılımın standart normale ne kadar yakın olduğu. İkisi arasında denge kurmak gerekir.

PyTorch VAE Encoder + Reparameterization Trick

Python
1import torch
2import torch.nn as nn
3
4class VAEEncoder(nn.Module):
5 def __init__(self, input_dim, latent_dim):
6 super().__init__()
7 self.fc = nn.Linear(input_dim, 256)
8 self.fc_mu = nn.Linear(256, latent_dim)
9 self.fc_logvar = nn.Linear(256, latent_dim)
10
11 def forward(self, x):
12 h = torch.relu(self.fc(x))
13 mu = self.fc_mu(h)
14 logvar = self.fc_logvar(h)
15 # Reparameterization trick
16 std = torch.exp(0.5 * logvar)
17 eps = torch.randn_like(std)
18 z = mu + std * eps
19 return z, mu, logvar

Generative Adversarial Network (2014, Goodfellow) iki ağı karşı karşıya getirir:…

min_G max_D V(D,G) = E[log D(x)] + E[log(1 - D(G(z)))]

Minimax oyunu: Discriminator gerçek verilere yüksek, sahtelere düşük skor vermeye çalışır. Generator ise D(G(z))'yi maksimize etmeye — yani sahtelerin gerçek gibi görünmesini sağlamaya çalışır.

⚠️GAN eğitimi zorludur! Mode collapse: Generator tek bir çıktı türüne takılır. Training instability: D çok güçlüyse G öğrenemez. Çözümler: Wasserstein GAN (gradyan problemi), Spectral Normalization (ağırlık kontrolü), Progressive Growing (kademeli çözünürlük).

VAE

  • ·Olasılıksal, matematiksel temel sağlam
  • ·Eğitimi kararlı, ELBO kaybı açık
  • ·Çıktılar bulanık olabilir (reconstruction loss)
  • ·Latent uzay yorumlanabilir ve interpolasyon yapılabilir

GAN

  • ·Adversarial, oyun teorisi tabanlı
  • ·Eğitimi dengesiz, hiperparametre hassas
  • ·Keskin, fotorealistik çıktılar üretebilir
  • ·Mode collapse riski, latent uzay daha az kontrollü

🎭Kalpazanlık Analojisi

GAN'ı bir **kalpazan-dedektif** oyunu olarak düşünün. Kalpazan (Generator) sahte para basar, dedektif (Discriminator) sahteciliği tespit etmeye çalışır. Her ikisi de birbirinden öğrenir: kalpazan daha iyi sahte yapar, dedektif daha keskin gözlem geliştirir. Sonunda kalpazan o kadar ustalaşır ki dedektif bile ayırt edemez.

**2013 - VAE**: Latent uzayda örnekleme devrimi.…

💡VAE ve GAN'ı birleştiren hibrit modeller de var: VAE-GAN reconstruction loss + adversarial loss kullanır. Ayrıca VQ-VAE (discrete latent codes) modern üretici modellerin temelini oluşturur.

✦ Quiz

VAE'nin ELBO kaybındaki KL divergence terimi ne işe yarar?

✦ Quiz

GAN eğitiminde 'mode collapse' ne anlama gelir?

ℹ️İlgili konular: Kayıp fonksiyonları (reconstruction, adversarial, KL loss), Diffusion modeller (VAE/GAN'ın halefi), Aktivasyon fonksiyonları (LeakyReLU GAN'larda yaygın), Geri yayılım (reparameterization trick gradyan akışı için kritik).

Bağlantılı Konular