Sözlük

Generative Adversarial Network (GAN)

GAN'ların gerçekçi görüntüler oluşturarak, verileri geliştirerek ve sağlık, oyun ve daha birçok alanda yenilikler sağlayarak yapay zekada nasıl devrim yarattığını keşfedin.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

Generative Adversarial Networks (GANs), ilk olarak 2014 yılında Ian Goodfellow ve meslektaşları tarafından tanıtılan güçlü bir makine öğrenimi çerçevesi sınıfıdır. Üretken Yapay Zeka alanına aittirler ve bazı girdi veri dağılımlarını taklit eden yeni veriler üretme yetenekleriyle bilinirler. GAN'lar bunu iki rakip sinir ağını içeren düşmanca bir süreçle başarır: Üretici ve Ayırıcı. Bu benzersiz mimari, özellikle bilgisayarla görme alanında önemli ilerlemelere yol açmıştır.

GANS Nasıl Çalışır?

GAN'ların arkasındaki temel fikir, iki ağ arasındaki rekabetçi bir oyundur:

  1. Oluşturucu: Bu ağ, gerçek veri kümesinden gelmiş gibi görünen sentetik veriler (ör. görüntüler, sesler, metinler) oluşturmaya çalışır. Girdi olarak rastgele gürültü alarak başlar ve bunu gerçekçi görünümlü çıktılara dönüştürmeye çalışır.
  2. Ayrımcı: Bu ağ bir yargıç görevi görür. Amacı, gerçek veriler (gerçek eğitim verilerinden) ile Jeneratör tarafından üretilen sahte veriler arasında ayrım yapmaktır. Bir girdi örneğinin gerçek olma olasılığını gösteren bir olasılık çıktısı verir.

Eğitim sırasında bu iki ağ aynı anda eğitilir. Üretici, Ayırıcıyı kandırmak için giderek daha gerçekçi veriler üretmeyi öğrenirken, Ayırıcı da sahte verileri tanımlamada daha iyi hale gelir. Bu süreç, her iki ağın model ağırlıklarını, belirli bir kayıp fonksiyonu tarafından yönlendirilen performanslarına göre güncellemek için geriye yayılımı kullanır. Üreteç, Ayırıcının artık farkı güvenilir bir şekilde söyleyemeyeceği kadar ikna edici veriler oluşturduğunda sistem bir dengeye ulaşır (rastgele tahminden daha iyi performans göstermez).

Temel Kavramlar ve Zorluklar

GAN'ları anlamak için birkaç kavram merkezi öneme sahiptir:

  • Çekişmeli Kayıp: Kayıp fonksiyonları, Üreteç'in iyileşmesi Ayrıştırıcı'nın kötüleşmesine karşılık gelecek ve bunun tersi de rekabetçi öğrenme sürecini yönlendirecek şekilde tasarlanmıştır.
  • Stabilite Eğitimi: GAN'ları eğitmek herkesin bildiği gibi zor olabilir. Yaygın sorunlar şunları içerir:
    • Mod Çökmesi: Üreteç, eğitim verilerinin tüm çeşitliliğini yakalayamayarak yalnızca sınırlı çeşitlilikte çıktılar üretir. Mod çökmesi hakkında daha fazla bilgi edinin.
    • Kaybolan Gradyanlar: Ayırıcı çok hızlı bir şekilde çok iyi hale gelir ve Üreteç'in öğrenmesi için çok az yararlı geri bildirim (gradyanlar) sağlar. Kaybolan gradyan sorununa bakın.
    • Yakınsamama: Modeller istikrarlı bir dengeye ulaşamayabilir.

Araştırmacılar bu zorlukları hafifletmek ve eğitim kararlılığını artırmak için çeşitli teknikler ve mimari modifikasyonlar (Wasserstein GAN'ları veya WGAN'lar gibi) geliştirmiştir.

Gerçek Dünya Uygulamaları

GAN'lar, özellikle görsel içerik oluşturmada çok sayıda uygulama bulmuştur:

  1. Gerçekçi Görüntü Üretimi: StyleGAN ve BigGAN gibi GAN'lar insan yüzleri(This Person Does Not Exist popüler bir örnektir), hayvanlar veya nesneler gibi yüksek çözünürlüklü, fotogerçekçi görüntüler üretebilir. Bu özellik, sanat, oyun varlıkları oluşturmak ve potansiyel olarak eğitim modelleri için veri kümelerini artırmak üzere sentetik veriler üretmek için değerlidir. Ultralytics YOLO.
  2. Görüntüden Görüntüye Çeviri: pix2pix ve CycleGAN gibi modeller, uydu görüntülerini haritalara, eskizleri fotoğraflara dönüştürmek veya fotoğraflarda mevsimleri değiştirmek gibi görüntüleri bir stilden diğerine dönüştürebilir. Görüntü çevirisi örneklerini keşfedin.
  3. Veri Büyütme: GAN'lar mevcut verilerin varyasyonlarını oluşturarak etkin bir şekilde veri artırımı gerçekleştirebilir. Bu, gerçek verilerin az olabileceği tıbbi görüntü analizi gibi alanlarda kullanışlıdır ve teşhis modellerinin sağlamlığını artırmaya yardımcı olur.

GANS ve Diğer Üretken Modeller

GAN'lar diğer üretken yaklaşımlardan farklıdır:

  • Varyasyonel Otomatik Kodlayıcılar (VAE'ler): VAE'ler başka bir tür üretici modeldir ancak veri log-olabilirliği üzerinde bir alt sınırı optimize ederek farklı şekilde eğitilirler. Genellikle GAN'lara kıyasla daha düzgün ancak potansiyel olarak daha bulanık çıktılar üretirler. VAE'lere genel bir bakışı okuyun.
  • Difüzyon Modelleri: Bu modeller, Kararlı Difüzyon gibi, verilere kademeli olarak gürültü ekleyerek ve ardından süreci tersine çevirmeyi öğrenerek çalışır. Genellikle görüntü kalitesi ve çeşitliliğinde son teknoloji ürünü sonuçlar elde ederler ancak GAN'lara kıyasla örnek üretmede daha yavaş olabilirler. Difüzyon modelleri sözlük girişine bakın.

GAN'lar üretime odaklanırken, ayrımcı modeller, yalnızca görüntü sınıflandırma veya nesne algılama için kullanılan modeller gibi girdi verilerine dayalı olarak sınıflandırmayı veya tahmin etmeyi amaçlar. Bir GAN'daki Ayrıştırıcı esasen ayrıştırıcı bir modeldir, ancak rolü daha büyük üretken çerçevenin bir parçasıdır.

GAN'lar, yapay zekanın yaratıcı potansiyelinin sınırlarını zorlayarak derin öğrenmede önemli bir kilometre taşını temsil etmektedir. Orijinal Generative Adversarial Nets makalesini okuyarak daha derine inebilirsiniz. Pratik uygulamalar için TensorFlow'un GAN eğitimleri veya PyTorch'un örnekleri gibi kaynakları keşfedin.

Tümünü okuyun