GAN nedir?

Çekişmeli üretici ağ (GAN), bir derin öğrenme mimarisidir. Belirli bir eğitim verileri kümesinden daha özgün yeni veriler üretmek için iki sinir ağını birbirleriyle rekabet edecek şekilde eğitir. Örneğin, mevcut bir görüntü veritabanından yeni görüntüler veya bir şarkı veritabanından orijinal müzik üretebilirsiniz. GAN'ye çekişmeli adı verilmesinin nedeni, farklı iki ağı eğitip birbiriyle yarıştırmasıdır. Ağlardan biri, giriş verileri örneği alıp bunu olabildiğince değiştirerek yeni veriler üretir. Diğer ağ, üretilen veri çıktısının orijinal veri kümesine ait olup olmadığını tahmin etmeye çalışır. Başka bir deyişle, tahminde bulunan ağ, üretilen verilerin sahte mi yoksa gerçek mi olduğunu belirler. Sistem, tahminde bulunan ağ hangisinin sahte, hangisinin orijinal olduğunuz ayırt edemez olana kadar sahte veri değerlerinin daha yeni ve geliştirilmiş sürümlerini üretir.

Çekişmeli üretici ağların bazı kullanım örnekleri nelerdir?

GAN mimarisinin farklı endüstrilerde çeşitli uygulamaları vardır. Aşağıda bazı örnekleri görebilirsiniz.

Görüntüler oluşturur

Çekişmeli üretici ağlar, metin tabanlı istemler aracılığıyla veya mevcut görüntüleri değiştirerek gerçekçi görüntüler oluşturur. Bu ağlar, video oyunlarında ve dijital eğlence ortamlarında gerçekçi ve sürükleyici görsel deneyimler yaratmaya yardımcı olabilir.

GAN ayrıca görüntüleri düzenleme özelliğine de sahiptir (örneğin, düşük çözünürlüklü bir görüntüyü yüksek çözünürlüklü görüntüye dönüştürme veya siyah-beyaz bir görüntüyü renkli görüntüye dönüştürme). Ayrıca animasyon ve video için gerçekçi yüzler, karakterler ve hayvanlar oluşturabilir.

Diğer modeller için eğitim verileri oluşturur

Veri artırma, makine öğreniminde (ML) mevcut verileri kullanarak bir veri kümesinin değiştirilmiş kopyalarını oluşturarak eğitim setini yapay olarak artırır.

Gerçek dünya verilerinin tüm öznitelikleriyle sentetik veriler oluşturmak için veri artırmaya yönelik üretici modelleri kullanabilirsiniz. Örneğin, daha sonra başka bir dolandırıcılık algılama makine öğrenimi sistemini eğitmek için kullanacağınız sahte işlem verileri oluşturabilir. Bu veriler, sisteme şüpheli ve gerçek işlemleri doğru bir şekilde ayırt etmeyi öğretebilir.

Eksik bilgileri tamamlar

Bazı zamanlarda, üretici modelin bir veri kümesindeki bazı eksik bilgileri doğru bir şekilde tahmin etmesini ve tamamlamasını isteyebilirsiniz.

Örneğin, GAN'ı, yüzey verileri ile yeraltı yapıları arasındaki korelasyonu anlayarak yer altındaki (yüzey altı) yüzeyin görüntülerini oluşturacak şekilde eğitebilirsiniz. Mevcut yüzey altı görüntülerini inceleyerek, jeotermal haritalama veya karbon yakalama ve depolama gibi enerji uygulamaları için arazi haritalarını kullanarak yenilerini oluşturabilir.

2B verilerden 3B modeller oluşturur

GAN, 2B fotoğraflardan veya taranmış görüntülerden 3B modeller oluşturabilir. Örneğin, GAN, sağlık hizmetlerinde, cerrahi planlama ve simülasyon amaçlı olarak organların gerçekçi görüntülerini oluşturmak için X ışınlarını ve diğer vücut taramalarını birleştirir.


 

Çekişmeli üretici ağ nasıl çalışır?

Çekişmeli üretici ağ sistemi; üretici ağ ve ayırıcı ağ olmak üzere iki derin sinir ağından oluşur. Her iki ağ da, birinin yeni veri üretmeye çalıştığı ve diğerinin üretilen verinin sahte mi yoksa gerçek mi olduğunu tahmin etmeye çalıştığı çekişmeli bir senaryo aracılığıyla eğitilir.

GAN, teknik olarak aşağıdaki gibi çalışır. Karmaşık bir matematiksel denklem, tüm hesaplama sürecinin temelini oluşturur; ancak bu basite indirgenmiş bir genel bakıştır:

  1. Üretici sinir ağı, eğitim setini analiz eder ve veri özniteliklerini tanımlar
  2. Ayırıcı sinir ağı da benzer şekilde ilk eğitim verilerini analiz eder ve öznitelikler arasında bağımsız olarak ayrım yapar
  3. Üretici ağ, belirli özniteliklere gürültü (veya rastgele değişiklikler) ekleyerek bazı veri özniteliklerini değiştirir
  4. Üretici ağ, değiştirilmiş verileri ayırıcı ağa iletir
  5. Ayırıcı ağ, oluşturulan çıktının orijinal veri kümesine ait olma olasılığını hesaplar
  6. Ayırıcı ağ, bir sonraki döngüde gürültü vektörü rastgeleleştirmesini azaltmak için üretici ağa kılavuzluk yapar

Üretici ağ, ayırıcı ağın hata olasılığını en üst düzeye çıkarmaya çalışır; buna karşılık, ayırıcı ağ hata olasılığını en aza indirmeye çalışır. Eğitim yinelemelerinde, hem üretici ağ hem de ayırıcı ağ bir denge durumuna ulaşana kadar sürekli olarak evrimleşir ve çekişmeli olarak gelişirler. Denge durumunda, ayırıcı ağ artık sentezlenmiş verileri tanıyamaz. Bu noktada eğitim süreci sona erer.


 

GAN eğitimi örneği

Yukarıdakileri, görüntüden görüntüye çeviride GAN modelinin bir örneği ile bağlamsallaştıralım.

Girdi görüntünün GAN'ın değiştirmeye çalıştığı bir insan yüzü olduğunu düşünün. Örneğin, öznitelikler gözlerin veya kulakların şekilleri olabilir. Üretici ağın gerçek görüntüleri güneş gözlüğü ekleyerek değiştirdiğini varsayalım. Ayırıcı ağ, güneş gözlüğü takan birkaç gerçek insan ve güneş gözlüğünün bulunduğu değiştirilmiş bir şekilde oluşturulan görüntülerden oluşan bir dizi görüntü alır.

Ayırıcı ağ sahte ve gerçek görüntü arasında ayrım yapabilirse, üretici ağ daha kaliteli sahte görüntüler oluşturmak için parametrelerini günceller. Üretici ağ ayırıcı ağı kandıran görüntüler üretirse, ayırıcı ağ kendi parametrelerini günceller. Çekişme sonucunda, her iki ağ da dengeye ulaşana kadar kendilerini günceller.

Çekişmeli üretici ağ türleri nelerdir?

GAN modelleri, kullanılan matematiksel formüllere ve üretici ağ ile ayırıcı ağın birbirleriyle etkileşimde bulunduğu farklı senaryolara bağlı olarak değişiklik göstermektedir.

Daha sonra yaygın olarak kullanılan bazı modelleri vereceğiz; ancak model listesi kapsamlı değildir. Farklı problem türlerini çözen çok sayıda başka GAN türü vardır (örneğin, StyleGAN, CycleGAN ve DiscoGAN).

Vanilla GAN

Bu, ayırıcı ağdan çok az geri bildirim alarak veya hiç geri bildirim almadan veri varyasyonu üreten temel GAN modelidir. Vanilla GAN, genellikle, çoğu gerçek kullanım senaryosu için geliştirmeler gerektirir.

Koşullu GAN

Koşullu GAN (cGAN), hedeflenen veri üretimine izin veren koşulsallık kavramını tanıtır. Üretici ağ ve ayırıcı ağ, tipik olarak sınıf etiketleri veya başka bir koşullandırma verisi biçimi olarak ek bilgiler alır.

Örneğin, görüntü üretiyorsanız, koşul görüntü içeriğini açıklayan bir etiket olabilir. Koşullandırma, üretici ağın belirli koşulları karşılayan veriler üretmesini sağlar.

Derin evrişimli GAN

Derin evrişimli GAN (DCGAN), görüntü işlemede evrişimli sinir ağlarının (CNN'ler) etkisini kabul ederek CNN mimarilerini GAN'lara entegre eder.

DCGAN sayesinde üretici ağ, veri dağıtımını yükseltmek için dönüştürülmüş kıvrımlar kullanır ve ayırıcı ağ ayrıca verileri sınıflandırmak için evrişimli katmanları kullanır. DCGAN ayrıca eğitimi daha istikrarlı hale getirmek için mimari yönergeler sunar.

Süper çözünürlüklü GAN

Süper çözünürlüklü GAN’lar (SRGAN’lar), düşük çözünürlüklü görüntüleri yüksek çözünürlüklü görüntülere yükseltmeye odaklanır. Amaç, görüntü kalitesini ve ayrıntıları korurken görüntüleri daha yüksek bir çözünürlüğe yükseltmektir.

Laplas Piramit GAN'ları (LAPGAN’lar), sorunu aşamalara ayırarak yüksek çözünürlüklü görüntüler üretme zorluğunu ele alır. Görüntünün farklı ölçeklerinde veya çözünürlüklerinde çalışan birden fazla üretici ağ ve ayırıcı ağ ile hiyerarşik bir yaklaşım kullanırlar. Süreç, progresif GAN aşamalarında kaliteyi artıran düşük çözünürlüklü bir görüntü oluşturmakla başlar.

AWS, çekişmeli üretici ağ gereksinimlerinizi nasıl destekleyebilir?

Amazon Web Services (AWS), GAN gereksinimlerinizi destekleyen birçok hizmet sunar.

Amazon SageMaker, veri hazırlamak ve makine öğrenimi modelleri oluşturmak, bunları eğitmek ve dağıtmak için kullanabileceğiniz, tam olarak yönetilen bir hizmettir. Bu modeller birçok senaryoda kullanılabilir ve SageMaker tam olarak yönetilen altyapı, araçlar ve iş akışlarıyla birlikte gelir. Herhangi bir uygulama için GAN geliştirme ve eğitimini hızlandırmak için geniş bir özellik yelpazesine sahiptir.

Amazon Bedrock tam olarak yönetilen bir hizmettir. Bu hizmeti, Amazon’dan ve önde gelen yapay zeka (AI) startup’larından altyapı modellerine (FM'ler) veya eğitilmiş derin sinir ağlarına erişmek için kullanabilirsiniz. Bu FM'ler API'ler aracılığıyla edinilebilir; böylece ihtiyaçlarınıza en uygun modeli bulmak için çeşitli seçenekler arasından seçim yapabilirsiniz. Bu modelleri kendi GAN uygulamalarınızda kullanabilirsiniz. Amazon Bedrock ile ölçeklenebilir, güvenilir ve güvenli üretici yapay zeka uygulamalarını daha hızlı geliştirebilir ve dağıtabilirsiniz. Ayrıca altyapı yönetme zorunluluğunuz yoktur.

AWS DeepComposer, ML kullanmaya başlamanız için size yaratıcı bir yol sunar. ML becerilerinizi artırmak için müzik klavyesi ve en yeni ML teknikleri ile uygulamalı denemeler yapabilirsiniz. Geliştiricileriniz, ML veya müzik alanındaki deneyimleri ne olursa olsun, GAN'ları hemen kullanmaya başlayabilirler. Ayrıca GAN modellerini eğitip optimize ederek orijinal besteler üretebilirler.

Hemen bir hesap oluşturun ve AWS'deki çekişmeli üretici ağları kullanmaya başlayın.

AWS'de Sonraki Adımlar

Ücretsiz bir hesap açmak için kaydolun

AWS Ücretsiz Kullanım için anında erişim elde edin.

Kaydolun 
Konsolda oluşturmaya başlayın

AWS Yönetim Konsolu'nda oluşturmaya başlayın.

Oturum açın