GAN kaybı işlevini anlama


17

Jenerik Düşman Ağları Anlama'da (Daniel Seita tarafından yazılmış bir blog yazısı) sağlanan GAN kaybı işlevini anlamaya çalışıyorum .

Standart çapraz entropi kaybında, sigmoid fonksiyon ve sonuçta ikili sınıflandırma yoluyla çalıştırılan bir çıktıya sahibiz.

Sieta Eyaletleri

x1

'H((x1,y1),D)=-y1günlükD(x1)-(1-y1)günlük(1-D(x1))

Bu sadece beklentinin günlüğüdür, bu da mantıklıdır, ancak GAN kaybı fonksiyonunda, gerçek dağıtımdan ve aynı modelde üretken modelden gelen verileri nasıl işleyebiliriz?

Yanıtlar:


6

Bu Sorunun Odak Noktası

"Gerçek dağıtımdan ve üretken modelden gelen verileri aynı iterasyonda nasıl işleyebiliriz?

Temel Yayının İncelenmesi

Referans verilen sayfada, Generatif Düşman Ağlarını Anlamak (2017) , doktora adayı Daniel Sieta, Jeneratif Adversarial Networks, Goodfellow, Pouget-Abadie, Mirza, Xu, Warde-Farley, Ozair, Courville ve Bengio, Haziran 2014'e doğru atıfta bulunmaktadır . Soyut devletler, "İki modeli eşzamanlı olarak iki modeli eğittiğimiz, çekişmeli bir süreç aracılığıyla üretken modelleri tahmin etmek için yeni bir çerçeve öneriyoruz ..." Bu orijinal makale MLP'ler (çok katmanlı algılayıcılar) olarak tanımlanan iki modeli tanımlamaktadır.

  • Üretken model, G
  • Ayrımcı model, D

Bu iki model, birinin diğerine, dolayısıyla çekişmeli terimine karşı bir tür olumsuz geri bildirim sağlayacak şekilde kontrol edilir.

  • G, D'yi kandırmak için yeterince iyi bir örnek setin veri dağılımını yakalamak üzere eğitilmiştir.
  • D, girdisinin G'nin alayları mı yoksa GAN sistemi için bir dizi örnek olup olmadığını öğrenmek için eğitilmiştir.

(GAN sistemi için örnek küme bazen gerçek örnekler olarak adlandırılır, ancak bunlar oluşturulanlardan daha gerçek olmayabilir. Her ikisi de bir bilgisayardaki, biri dahili orijinli diğeri harici olan sayısal dizilerdir Harici olanların bir fiziksel sahneye işaret eden bir kameradan olup olmadığı GAN işlemi ile ilgili değildir.)

Muhtemelen, D'yi kandırmak, D'nin her biri% 50 doğru kategorizasyonları yaptığı kadar yanlış pozitif ve yanlış negatif üretme olasılığını en üst düzeye çıkarmakla eş anlamlıdır. Bilgi biliminde bu, D'nin G'ye sahip olduğu bilgi sınırının t'ye sonsuzluğa yaklaşırken 0'a yaklaştığını söylemektedir. G'nin entropisini D'nin perspektifinden, yani çapraz entropi teriminden maksimize etme sürecidir.

Yakınsama Nasıl Gerçekleşir?

Çünkü Sieta'nın 2017 yazısındaki sorudaki çoğaltma fonksiyonu, verilen bir eğitim durumu için tüm nokta kümesine uygulandığında iki dağılım arasındaki çapraz entropiyi (veya korelasyonu) en aza indirgemek için tasarlanmış D'dir.

'H((x1,y1),D)=1D(x1)

Çapraz entropiyi en üst düzeye çıkarmak için tasarlanmış G için ayrı bir kayıp fonksiyonu vardır. Sistemde İKİ eğitim ayrıntı düzeyi bulunduğuna dikkat edin.

  • İki oyunculu bir oyunda oyun hamle
  • Eğitim örneklerinin

Bunlar dış iterasyonla aşağıdaki şekilde iç içe iterasyon üretir.

  • G'nin eğitimi G'nin kayıp fonksiyonunu kullanarak ilerler.
  • Sahte giriş modelleri, mevcut eğitim durumunda G'den üretilir.
  • D'nin eğitimi D'nin kayıp fonksiyonunu kullanarak ilerler.
  • Çapraz entropi henüz yeterince büyütülmediyse tekrarlayın, D yine de ayırt edebilir.

D sonunda oyunu kaybettiğinde amacımıza ulaştık.

  • G, eğitim verilerinin dağıtımını kurtardı
  • D etkisizliğe düşürüldü ("her yerde 1/2 olasılık")

Eşzamanlı Eğitim Neden Gereklidir

İki model, eşzamanlılığı simüle etmek için ileri geri bir şekilde eğitilmediyse, 2014 düzleminde talep edilen benzersiz çözüm üzerinde çekişmeli düzlemde (dış iterasyon) yakınsama meydana gelmez.

Daha fazla bilgi

Sorunun ötesinde, Sieta'nın makalesinde bir sonraki ilgi konusu, "jeneratörün kayıp fonksiyonunun zayıf tasarımı" inişe rehberlik etmek ve bazen doygunluk olarak adlandırılan şeyi üretmek için yetersiz gradyan değerlerine yol açabileceğidir. Doygunluk, geri yayılmadaki inişi kayan nokta yuvarlamasından kaynaklanan kaotik gürültüye yönlendiren geri besleme sinyalinin azaltılmasıdır. Terim sinyal teorisinden gelir.

2017 sayfasından ziyade GAN teknolojisi hakkında bilgi edinmek için Goodfellow ve diğerlerinin (deneyimli araştırmacılar) 2014 makalesini incelemenizi öneriyorum .


3

En baştan başlayalım. GAN'lar, verdiğimiz verilere benzer veriler oluşturmayı öğrenebilen modellerdir.

Bir GAN'dan başka üretken bir model geliştirirken, ortaya çıkması en kolay kayıp fonksiyonu muhtemelen Ortalama Karesel Hata'dır (MSE).

Size bir örnek vermeme izin verin ( Trickot L 2017 ):

Şimdi kediler üretmek istediğinizi varsayalım; fotoğraflarınıza belirli kedilerin model örneklerini verebilirsiniz. Kayıp fonksiyonu seçiminiz, cezalandırılmamak için modelinizin her kediyi tam olarak yeniden üretmesi gerektiği anlamına gelir.

Ama bizim istediğimiz bu değil! Sadece modelinizin kedi üretmesini istiyorsunuz, herhangi bir kedi makul bir kedi olduğu sürece yapacak. Bu nedenle, kayıp işlevinizi değiştirmeniz gerekir.

Ancak hangi işlev somut pikselleri göz ardı edebilir ve bir fotoğraftaki kedileri tespit etmeye odaklanabilir?

Bu sinirsel bir ağ. Ayrımcının GAN'daki rolü budur. Ayrımcının işi, bir görüntünün ne kadar makul olduğunu değerlendirmektir.

Alıntı yaptığınız makalede, Generatif Düşman Ağlarını Anlamak (Daniel S 2017) iki önemli öngörü listeliyor.

Temel Analiz 1: Diskrimatörün kayıp fonksiyonu çapraz entropi kaybı fonksiyonudur.

Major Insight 2: gradyan doygunluğunun eğitimi nasıl olumsuz etkileyebileceğini veya etkilemeyeceğini anlama. Degrade doygunluğu, herhangi bir öğrenmeyi gerçekleştirmek için çok küçük (yani sıfır) olduğunda genel bir sorundur.

Sorunuzu cevaplamak için ikinci büyük öngörü üzerinde daha fazla durmamız gerekiyor.

GAN'lar bağlamında, jeneratörün kayıp fonksiyonunun zayıf tasarımı nedeniyle gradyan doygunluğu meydana gelebilir, bu nedenle bu "büyük içgörü" ... jeneratör için farklı kayıp fonksiyonları arasındaki dengeyi anlamaya dayanır.

Makalede uygulanan tasarım, çok özel bir fonksiyona (iki sınıf arasında ayrım yapmak) sahip olarak kayıp fonksiyon problemini çözmektedir. Bunu yapmanın en iyi yolu çapraz entropi kullanmaktır (Analiz 1). Blog gönderisinin dediği gibi:

Çapraz entropi, büyük ölçüde bir kayıp fonksiyonudur çünkü kısmen öğrenmeyi hızlandırmak ve yalnızca sınıflandırıcı doğru olduğu zamana kadar gradyan doygunluğunu önlemek için tasarlanmıştır.

Blog gönderisinin yorumlarında açıklandığı gibi:

[Çapraz entropi fonksiyonunda] beklenti toplamlardan gelir. Ayrık bir rasgele değişken için beklentinin tanımına bakarsanız, rasgele değişkenin farklı olası değerlerini toplamayı ve her birinin olasılıklarına göre ağırlıklandırmanız gerektiğini görürsünüz. Burada olasılıklar her biri için sadece 1/2'dir ve bunları jeneratörden veya ayrımcıdan geliyormuş gibi ele alabiliriz.


Soru, YSA'lar için bir kayıp fonksiyonu olarak en kolay kullanımın ne olduğunu sormadı. Matematiğin özellikleri @Tryingtolearn için belirsizdi ve herhangi bir açıklama yapmadan yüksek lisans öğrencisinden alıntı yapmak netleştirmiyor.
FauChristian

1

Bir zgirdi ve xgirdi kombinasyonunu tek bir örnek olarak ele alabilir ve diskrimatörün bunların her birinin sınıflandırmasını ne kadar iyi gerçekleştirdiğini değerlendirebilirsiniz.

Bu yüzden yazılan sonradan tek separatı üzerinde yiçine E(p~data)ve E(z)- temelde, farklı beklentileri (sahip yayırt edici girişlerin her biri için ler) ve ayırt edici ne kadar iyi performans değerlendirmek için aynı anda her iki ölçmek gerekir.

Bu nedenle kayıp fonksiyonu, hem gerçek girdinin pozitif sınıflandırmasının hem de negatif girdinin negatif sınıflandırmasının bir kombinasyonu olarak tasarlanmıştır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.