Generative Adversarial Networks Nedir ?

Hilal Akbulut
3 min readApr 25, 2023

--

Generative Adversarial Network (GAN) derin öğrenme tabanlı bir algoritmadır. Birbiriyle rekabet eden iki sinir ağından oluşur. 2014 yılında Ian J. Goodfellow tarafından geliştirilerek sunulmuştur ve unsupervised learning yapısına sahiptir.

Unsupervised learning yapısını supervised learningden ayıran; verilerin etiketli veya kümelenmiş olarak değil de olduğu gibi modele verilmesidir. Modelin verileri yorumlayarak çıktıları üretmesi sağlanmaktadır. Görselde bulunan yapıda girdi olarak etiketlenmemiş ve kümelenmemiş bir veriseti olduğu gibi veriliyor ve unsupervised learning yapısı ile bir kümeleme işlemi gerçekleştiriliyor.

Source

GAN yapısında iki adet neural network modeli bulunur. Bunlar Generator ve Discriminator’dır. Generator sahte inputlar üretir, Discriminator ise bu inputların gerçek mi yoksa sahte mi olduğunu ayırt etmeye çalışır ve ortaya bir tahmin sonucu üretir. Bu yapıda her iki model de birbirini geliştirir çünkü Generator’ın ürettiği resim Discriminator tarafından sahte olduğu ayırt edilebilirse bu Generator’ın daha gerçekçi resimler üretmesi gerektiğini gösterir. Aynı şekilde eğer Generator gerçekçi bir resim üretir ve Discriminator bunun sahte olduğunu anlayamazsa, Discriminatorın yeterince iyi bir model olmadığı için daha da gelişmesi sağlanır. Tabi ki burdaki asıl amaç da Discriminatorın sahte görüntüyü anlayamamasını sağlamaktır. Böylece Generator’ın en iyi versiyonu ile en gerçekçi resimlerin üretilmesi sağlanır.

Source

GAN temelinde matematiksel olarak aşağıda bulunan fonksiyon yer alır.

Buradaki yapı bir MinMax oyunu olarak düşünülmektedir. Amaç, modelin Discriminatordaki hata oranının en yükseğe çıkacak şekilde eğitilmesidir. Çünkü Discriminatorın yüksek hataya sahip olması demek Generatordan üretilen verilerin gerçekçi görünmesi ve sahte olduğunun ayırt edilememesi demektir. Yani her iki submodel de birbiriyle yarış halindedir.

GAN çok çeşitli alanlarda kullanılmaktadır. Mesela, gerçeği ile ayırt edilmesi zor olan sahte resimler, metin olarak verilmiş bilgilerden elde edilen görüntüler, fotoğraf editleme, görüntü iyileştirme, yaş bilgisi verilerek uygun insan yüzü fotoğrafı üretilmesi gibi. Bu şekilde çok fazla örnek verilebilir. Aşağıda görsel bazı örnekleri yer almaktadır.

GAN tarafında üretilmiş resimler
Metin olarak verilmiş bilgilerden elde edilen görüntüler
Fotoğraf editleme işlemi

--

--