# Çekişmeli üretici ağ
Çekişmeli üretici ağ (generative adversarial network ; GAN), Ian Goodfellow ve meslektaşları tarafından 2014 yılında tasarlanan bir makine öğrenimi framework sınıfıdır. Bir oyunda iki sinir ağı birbiriyle yarışmaktadır (Bir ajanın kazancının diğer bir ajanın kaybının olduğu sıfır toplamlı bir oyun şeklinde bir oyundur.).
Bir eğitim seti verildiğinde, bu teknik ile eğitim seti aynı istatistiklerle yeni veriler oluşturmayı öğrenmektedir. Örneğin, fotoğraflar üzerinden eğitilmiş bir GAN, insan gözlemi için bile birçok gerçekçi özelliğe sahip ve yüzeysel olarak özgün görünen yeni fotoğraflar oluşturabilmektedir. Başlangıçta denetimsiz öğrenme için üretken bir model olarak önerilmiş olsa da, çekişmeli üretici ağların yarı denetimli öğrenme, tam denetimli öğrenme ve pekiştirmeli öğrenme için de yararlı olduğu kanıtlanmıştır.
Bir GAN'ın temel fikri, kendisi de dinamik olarak güncellenen ayrıştırıcı aracılığıyla "dolaylı" eğitime dayanmaktadır. Bu temelde, üreticinin belirli bir görüntüye olan mesafeyi en aza indirecek şekilde eğitilmediği, bunun yerine ayrıştırıcıyı kandırmak için eğitildiği anlamına gelmektedir. Bu, modelin denetimsiz bir şekilde öğrenmesini sağlamaktadır.


## Yöntem.
Üretken ağ, adayları üretirken; ayrıştırıcı ağ onları değerlendirmektedir. Rekabet, veri dağılımları açısından işlemektedir. Genel olarak üretici ağ, gizli bir alandan ilgilenilen bir veri dağılımına haritalamayı öğrenirken; ayrıştırıcı ağ, üretici tarafından üretilen adayları gerçek veri dağıtımından ayırmaktadır. Üretken ağın eğitim amacı, ayrıştırıcı ağın hata oranını artırmaktır (yani, ayrımcının sentezlenmediğini düşündüğü yeni adaylar üreterek ayrımcı ağını "kandırmak" (gerçek veri dağıtımının bir parçasıdır)).
Bilinen bir veri kümesi, ayrıştırıcı için ilk eğitim verisi görevi görmektedir. Eğitim, kabul edilebilir doğruluk elde edene kadar eğitim veri setinden örneklerle sunulmasını içermektedir. Üretici, ayrıştırıcıyı kandırmayı başarıp başaramadığına göre eğitilmektedir. Tipik olarak üretici, önceden tanımlanmış bir gizli uzaydan (örneğin, çok değişkenli normal dağılım) örneklenen rastgele girdi ile tohumlanmaktadır. Daha sonra üretici tarafından sentezlenen adaylar, ayrıştırıcı tarafından değerlendirilmektedir. Bağımsız geri çoğaltma prosedürleri, her iki ağa da uygulanır, böylece üretici daha iyi örnekler üretirken, ayrıştırıcı sentetik örnekleri işaretlemede daha yetenekli hale gelmektedir. Görüntü oluşturma için kullanıldığında, üretici tipik olarak bir ters evrişimsel sinir ağıdır ve ayrıştırıcı ise evrişimli sinir ağıdır.
GAN'lar genellikle düzgün bir şekilde genelleştiremedikleri ve giriş verilerinden tüm usulleri kaçırdıkları bir "usul çöküşünden" yakınmaktadır. Örneğin, her basamağın birçok örneğini içeren MNIST veri kümesi üzerinde eğitilmiş bir GAN, yine de, basamakların bir alt kümesinin çıktısından çekinerek atlayabilmektedir. Bazı araştırmacılar, kök problemini ihmal modelini fark edemeyen zayıf bir ayrıştırıcı ağ olarak algılarken diğerleri suçu kötü bir objektif işlev seçimine atamaktadır. Birçok çözüm önerilmiştir.
GAN'lar örtük üretici modellerdir; bu, olabilirlik fonksiyonunu açıkça modellemediklerini göstermektedir. Ayrıca akış tabanlı üretici model gibi alternatiflerin aksine belirli bir örneğe karşılık gelen gizli değişkeni bulmak için araçlar sağlamadıkları anlamına gelmektedir.


## Uygulamalar.
GAN uygulamaları hızla artmaktadır.


### Moda, sanat ve reklamcılık.
GAN'lar sanat üretmek için kullanılabilmektedir; The Verge, Mart 2019'da "GAN'lar tarafından oluşturulan görüntüler, çağdaş yapay zeka sanatının belirleyici görünümü haline geldi" diye yazmıştır. GAN'lar ayrıca bir model, fotoğrafçı veya makyaj sanatçısı tutmaya veya bir stüdyo ve ulaşım için ödeme yapmaya gerek kalmadan fotoğrafları boyamak veya hayali moda modellerinin fotoğraflarını oluşturmak için kullanılabilmektedir.


### Bilim.
GAN'lar astronomik görüntüleri iyileştirebilmektedir. Ayrıca karanlık madde araştırmaları için kütle çekimsel merceklemeyi simüle edebilmektedir. 2019'da karanlık maddenin uzayda belirli bir yönde dağılımını başarılı bir şekilde modellemek ve meydana gelecek kütle çekimsel merceklenmeyi tahmin etmek için kullanılmıştır. GAN'lar, yüksek enerjili jet oluşumunu modellemenin ve yüksek enerjili fizik deneylerinin kalorimetreleri aracılığıyla kısa süreli yağmurlar modellemenin hızlı ve doğru bir yolu olarak önerilmiştir. GAN'lar ayrıca, parçacık fiziği deneylerinin hesaplama açısından pahalı simülasyonlarındaki darboğazları doğru bir şekilde tahmin etmek için eğitilmiştir. Mevcut ve önerilen CERN deneyleri bağlamındaki uygulamalar, simülasyonu hızlandırmak veya simülasyon doğruluğunu geliştirmek için bu yöntemlerin potansiyelini göstermiştir.


### Video oyunları.
2018'de GAN'lar video oyunu modlama topluluğuna ulaştı, eski video oyunlarındaki düşük çözünürlüklü 2D dokuları görüntü eğitimi yoluyla 4k veya daha yüksek çözünürlüklerde yeniden oluşturarak ve ardından oyunun doğal çözünürlüğüne uyacak şekilde aşağı örnekleyerek yükseltme yöntemi olarak kullanıldı. Uygun eğitim ile GAN'lar, orijinalin ayrıntı düzeyini, renklerini ve benzeri örnekleri tamamen korurken, orijinalden daha yüksek kalitede daha net ve keskin 2D doku görüntüsü sağlamaktadır. Kapsamlı GAN kullanımının bilinen örnekleri arasında Final Fantasy VIII, Final Fantasy IX, Resident Evil Remake HD Remaster ve Max Payne sayılabilmektedir.


### Kötü amaçlı uygulamalarla ilgili endişeler.
GAN tabanlı insan görüntü sentezinin, örneğin sahte, muhtemelen suçlayıcı fotoğraflar ve videolar üretmek gibi uygunsuz amaçlarla potansiyel kullanımı hakkında endişeler dile getirilmiştir. GAN'lar, sahte sosyal medya profillerinin oluşturulmasını otomatikleştirmek için var olmayan kişilerin benzersiz, gerçekçi profil fotoğraflarını oluşturmak için kullanılabilmektedir.
2019'da Kaliforniya eyaleti, tasvir edilen kişilerin rızası olmadan sahte pornografi yapmak için insan görüntü sentezi teknolojilerinin kullanılmasını yasaklayan AB-602 yasasını 3 Ekim 2019'da değerlendirdi ve kabul etmiştir. Ayrıca bir siyasi adayın manipüle edilmiş videolarının seçimden sonraki 60 gün içinde dağıtımını yasaklayan yasa tasarısı AB-730 da aynı tarihte kabul edilmiştir.
DARPA'nın Medya Adli Tıp programı, GAN'lar kullanılarak üretilen sahte medya da dahil olmak üzere sahte medyaya karşı koyma yollarını araştırmaktadır.


### Transfer öğrenimi.
Son teknoloji transfer öğrenme araştırması, derin pekiştirmeli öğrenmede olduğu gibi, gizli özellik uzayının hizalanmasını sağlamak için GAN'ları kullanılmaktadır. Bu, bağlamı tahmin etmeye çalışan ayrıştırıcıyı kaynak ve hedef görevin yerleştirmelerini besleyerek çalışmaktadır. Ortaya çıkan kayıp daha sonra (ters olarak) kodlayıcı aracılığıyla geri gönderilmektedir.


### Çeşitli uygulamalar.
GAN, kısmi veya tam görme kaybını önlemek için gerekli olan erken tanıya yardımcı olan glokomatöz görüntüleri tespit etmek için kullanılabilmektedir.
Fotogerçekçi görüntüler üreten GAN'lar, iç tasarımı, endüstriyel tasarımı, ayakkabıları, çantaları ve giyim eşyalarını veya bilgisayar oyunları sahneleri için öğeleri görselleştirmek için kullanılabilmektedir. Bu tür ağların Facebook tarafından kullanıldığı bildirilmiştir.
GAN'lar, görüntülerden nesnelerin 3D modellerini yeniden oluşturabilmektedir ve videodaki hareket modellerini modelleyebilmektedir.
GAN'lar, bir bireyin görünümünün yaşla birlikte nasıl değişebileceğini göstermek için yüz fotoğraflarını yaşlandırmak için kullanılabilmektedir.
GAN'lar, harita stillerini haritacılıkta aktarmak veya sokak görünümü görüntülerini artırmak için de kullanılabilmektedir.
GAN'larla ilgili ilişki düzeyi geri bildirimi, görüntü oluşturmak ve görüntü arama sistemlerini değiştirmek için kullanılabilmektedir.
GAN'ların bir varyasyonu, doğrusal olmayan dinamik sistemlere optimal kontrol girdileri üretmek için bir ağın eğitiminde kullanılmaktadır. Ayrıştırıcı ağın, çözümün en iyiliğini kontrol eden bir eleştirmen olarak bilindiği ve üretici ağ, optimal kontrolü üreten bir uyarlanabilir ağ olarak bilinmektedir. Kritik ve uyarlanabilir ağ, doğrusal olmayan bir optimal kontrole yaklaşmak için birbirini eğitmektedir.
GAN'lar, iklim değişikliğinin belirli evler üzerindeki etkisini görselleştirmek için kullanılmıştır.
Speech2Face adlı bir GAN modeli, bir kişinin sesini dinledikten sonra yüzünün görüntüsünü yeniden oluşturabilmektedir.
2016'da GAN'lar, kanser, iltihaplanma ve fibroz ile ilişkili çeşitli protein hedefleri için yeni moleküller oluşturmak üzere kullanılmıştır. 2019'da GAN tarafından üretilen moleküller, deneysel olarak farelere uygulanıp doğrulanmıştır.
GAN uygulamalarının çoğu görüntü işlemedeyken, çalışma zaman serisi verileriyle de yapılmıştır. Örneğin, tekrarlayan GAN'lar (R-GAN'lar), makine öğrenimi için enerji verileri oluşturmak üzere kullanılmıştır.


## Tarihçe.
GAN'lar için en doğrudan ilham kaynağı, GAN'larla aynı kayıp işlevini kullanan ve Ian Goodfellow'un 2010-2014'te doktorası sırasında çalıştığı gürültü-kontrastlı tahmindi.
Başkalarının da benzer fikirleri vardı ama onları benzer şekilde geliştirmediler. Çekişmeli ağları içeren bir fikir Olli Niemitalo tarafından 2010 blog yazısında yayınlanmıştır. Bu fikir hiçbir zaman uygulanmadı ve üreticide rastgeleliği içermedi, dolayısıyla üretken bir model değildi. Artık koşullu GAN veya cGAN olarak biliniyordu. GAN'lara benzer bir fikir, 2013 yılında Li, Gauci ve Gross tarafından hayvan davranışlarını modellemek için kullanılmıştır.
Çekişmeli makine öğrenimi, üretici modellemenin yanı sıra başka kullanımlara da sahiptir ve sinir ağları dışındaki modellere uygulanabilmektedir. Kontrol teorisinde, sinir ağlarına dayalı çekişmeli öğrenme, 2006 yılında; bir küçültme politikası, kontrolör ve bir maksimize etme politikası, rahatsızlık arasındaki yinelemeleri değiştirerek aynı zamanda oyun teorik anlamda sağlam kontrolörleri eğitmek için kullanılmıştır.
2017'de, piksel doğruluğu yerine gerçekçi dokulara odaklanan görüntü iyileştirme için bir GAN kullanıldı ve yüksek büyütmede daha yüksek görüntü kalitesi üretmiştir. 2017 yılında ilk yüzler üretildi. Bunlar Şubat 2018'de Grand Palais'de sergilendi. StyleGAN tarafından 2019'da oluşturulan yüzler, deepfake'lerle karşılaştırmalar yapmıştır.
2017 yılından itibaren GAN teknolojisi, yeni geliştirilen ve benzersiz ve çekici soyut resimler üretebilme eşiğini aştığı söylenen ve bu nedenle yaratıcı rekabet ağ için “CAN (creative adversarial network)” olarak adlandırılan yeni bir uygulamanın ortaya çıkmasıyla güzel sanatlar arenasında varlığını hissettirmeye başlamıştır.
Mayıs 2019'da Samsung araştırmacıları, konuşan bir kişinin yalnızca tek bir fotoğrafının verildiği videolarını üreten GAN tabanlı bir sistem gösterdi.
Mayıs 2020'de Nvidia araştırmacıları, Pac-Man oyununu sadece oynanışını izleyerek, oyunu yeniden yaratmak için bir yapay zeka sistemi ("GameGAN" olarak adlandırılır) kurmuştur.


## Sınıflandırma.
### Çift yönlü GAN.
Standart GAN modeli, gizli bir alandan veri dağıtımına bir eşleme öğrenirken, Çift Yönlü GAN (Bidirectional GAN; BiGAN) ve Karşıt Otomatik Kodlayıcılar gibi ters modeller de verilerden gizli alana bir eşleme öğrenmektedir. Bu ters eşleme, gerçek veya oluşturulmuş veri örneklerinin, bir değişken otomatik kodlayıcının kodlayıcısına benzer şekilde, gizli alana geri yansıtılmasına izin vermektedir. Çift yönlü modellerin uygulamaları arasında yarı denetimli öğrenme, yorumlanabilir makine öğrenimi ve sinirsel makine çevirisi yer almaktadır.