2010'daki bir blog yazısında (archive.org) deterministik çeşitlilikteki üretici adversarial ağların (GAN) temel fikrini kendim yayınladım . Aradım ama hiçbir yerde benzer bir şey bulamadım ve uygulamayı denemek için zamanım olmadı. Bir sinir ağı araştırmacısı değildim ve hala değildim ve bu alanda hiçbir bağlantım yok. Blog gönderisini buraya kopyalayıp yapıştıracağım:
2010-02-24
Yapay sinir ağlarını değişken bir bağlamda eksik veri üretmek için eğitmek için bir yöntem . Fikir tek bir cümleye koymak zor olduğundan, bir örnek kullanacağım:
Bir görüntünün eksik pikselleri olabilir (diyelim, bir lekenin altında). Sadece çevreleyen pikselleri bilerek, eksik pikselleri nasıl geri yükleyebilirim? Bir yaklaşım, çevreleyen pikselleri girdi olarak verdiğinde eksik pikselleri üreten bir "jeneratör" sinir ağı olacaktır.
Ama böyle bir ağ nasıl eğitilir? Ağın eksik pikselleri tam olarak üretmesi beklenemez. Örneğin, eksik verilerin bir çim parçası olduğunu düşünün. Birisi, ağa bölümleri kaldırılmış, bir sürü çimler imgesiyle öğretebilir. Öğretmen, eksik olan verileri bilir ve ağı, üretilen çim yaması ile orijinal veriler arasındaki ortalama kare kök farkına (RMSD) göre puanlayabilir. Sorun, eğer jeneratör eğitim setinin bir parçası olmayan bir görüntüyle karşılaşırsa, sinir ağının tüm yaprakları, özellikle yamanın tam ortasına tam olarak doğru yerlere koymasının imkansız olması. En düşük RMSD hatası muhtemelen ağın orta alanını, tipik çim görüntülerinde piksellerin renginin ortalaması olan düz bir renkle dolduran ağla gerçekleşebilir. Ağ, bir insana ikna edici görünen ve bunun amacını yerine getiren çim üretmeye çalışırsa, RMSD metriği tarafından talihsiz bir ceza olacaktır.
Benim fikrim şudur (aşağıdaki şekle bakınız): Jeneratörle eşzamanlı olarak, rasgele veya değişken bir sırayla, oluşturulan ve orijinal veriler verilen bir sınıflandırıcı ağını eğitin. Sınıflandırıcı daha sonra, çevreleyen görüntü bağlamı bağlamında, girişin orijinal (1) veya oluşturulmuş (0) olup olmadığını tahmin etmek zorundadır. Jeneratör ağı aynı anda sınıflandırıcıdan yüksek bir puan (1) almaya çalışıyor. Sonuç, umarım, her iki ağın da gerçekten basit bir şekilde başlaması ve daha fazla gelişmiş özelliklerin üretilmesi ve tanınması, insanın üretilen veri ile orijinal arasında ayırt etme kabiliyetine yaklaşılması ve muhtemelen yenilmesi yönünde ilerleme kaydedilmesidir. Her puan için birden fazla eğitim örneği göz önünde bulundurulursa, RMSD kullanılacak doğru hata ölçütüdür,
Yapay sinir ağı eğitim kurulumu
Sonunda RMSD'den bahsettiğimde, piksel değerlerini değil, "olasılık tahmini" için hata ölçümünü kastediyorum.
Başlangıçta 2000'de (comp.dsp post) sinir ağlarının, yukarı örnekleme için (daha yüksek örnekleme frekansına yeniden örneklenmiş) dijital ses için eksik yüksek frekanslar üretmek için doğru değil ikna edici bir şekilde kullanılmasını düşünmeye başladım . 2001 yılında eğitim için bir ses kütüphanesi topladım. 20 Ocak 2006 tarihinden itibaren (yehar) başka bir kullanıcıyla (_Beta) fikir hakkında konuştuğum bir EFNet #musicdsp Internet Relay Chat (IRC) günlüğünün parçaları:
[22:18] <yehar> numunelerle ilgili sorun şu ki, "orada" bir şeyiniz yoksa zaten örnek alırsanız ne yapabilirsiniz ...
[22:22] <yehar> bir keresinde büyük bir topladım ses kütüphanesi bu problemi çözmek için "akıllı" bir algo geliştirebildim
[22:22] <yehar> sinir ağları kullanırdım
[22:22] <yehar> ama işi bitirmedim: - D
[22:23] <_Beta> sinir ağları ile ilgili sorun, sonuçların
doğruluğunu ölçmenin bir yolunun olması gerektiğidir [22:24] <yehar> beta: adresinde "dinleyici" geliştirebileceğiniz fikrine sahibim. aynı zamanda "akıllı ses yaratıcısı" geliştirirken
[22:26] <yehar> beta: ve bu dinleyici, yaratılmış veya doğal bir spektrumun ne zaman dinlendiğini tespit etmeyi öğrenecek. ve yaratıcı, aynı zamanda bu algılamayı aşmaya çalışmak için de gelişir.
2006-2010 yılları arasında bir arkadaşım fikrime bakmak ve tartışmak için bir uzman davet etti. Bunun ilginç olduğunu düşündüler, ancak tek bir ağ işi yapabildiği zaman iki ağı eğitmenin ekonomik olmadığını söylediler. Çekirdek fikri anlamadılar mı ya da derhal tek bir ağ olarak formüle etmenin bir yolunu gördüler mi, belki de topolojide bir yerde bir darboğaz ile iki parçaya ayırmaktan asla emin olmadılar. Bu, geri yayılımın hala fiili olmayan eğitim yöntemi olduğunu bile bilmediğim bir zamandı (2015'in Derin Rüyası'nda çılgınlık çekerek video çekmeyi öğrendi ). Yıllar boyunca, birkaç veri bilim insanı ve ilgimi çekebileceğini düşündüğüm diğerleriyle fikrim hakkında konuştum, ancak cevap hafifti.
Mayıs 2017’de Ian Goodfellow’un YouTube [Mirror] konulu tanıtım sunumunu gördüm ki bu tamamen benim günümdü. Bana şu anda aşağıda ana hatlarıyla anladığım farklılıklar ile aynı temel fikir olarak geldi ve iyi sonuçlar vermesi için sıkı bir çalışma yapıldı. Ayrıca hiçbir zaman fikrimin resmi bir analizini yapmamam sırasında bir teori verdi ya da neyin işe yaraması gerektiğine dair teoriye dayandı. Goodfellow'un sunumu, sahip olduğum soruları ve çok daha fazlasını yanıtladı.
Goodfellow'un GAN'ı ve önerilen uzantıları, jeneratörde bir gürültü kaynağı içeriyor. Bir gürültü kaynağı dahil etmeyi hiç düşünmedim ama bunun yerine eğitim veri içeriğine sahiptim , fikri bir gürültü vektör girişi olmadan koşullu bir GAN (cGAN) ve verinin bir bölümünde şartlandırılmış model ile daha iyi eşleştirdim . Şu anki anlayışım Mathieu ve ark. 2016 , eğer yeterli giriş değişkenliği varsa, yararlı sonuçlar için bir gürültü kaynağına ihtiyaç duyulmamasıdır. Diğer fark, Goodfellow’un GAN’ının log olasılığını en aza indirmesidir. Daha sonra, en küçük kareler GAN (LSGAN) tanıtıldı ( Mao ve diğ. 2017) benim RMSD önerime uyuyor. Bu yüzden benim fikrim, jeneratöre gürültü vektörü girişi olmayan ve koşullandırma girişi olarak verinin bir kısmıyla koşullu en küçük kareler üreteci ters ağ (cLSGAN) ile eşleşecektir. Bir üretici verileri dağılımının bir yaklaşımdan jeneratör örnekleri. Artık gerçek dünyadaki gürültülü girdinin benim fikrim ile bunu yapıp yapmayacağına şüphe duyduğumu biliyorum ve bunun sonuçların işe yaramazsa işe yaramayacağını söylemek değildir.
Yukarıda belirtilen farklılıklar, Goodfellow'un fikrimi bilmediğine ya da duymadığına inanmamın ana nedenidir. Bir diğeri ise, blogumun başka bir makine öğrenme içeriğine sahip olmaması, bu nedenle makine öğrenme çevrelerinde çok sınırlı bir maruz kalmanın keyfini çıkaracaktı.
Bir eleştirmen, yazarın kendi çalışmasını belirtmesi için bir yazara baskı uyguladığı zaman bir çıkar çatışmasıdır.