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
| 1 | import torch |
| 2 | import torch.nn as nn |
| 3 | |
| 4 | class 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
GAN
🎭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