GAN'ın en son gelişmesi: Kararlılığı artırmak için 8 ipucu

Xin Zhiyuan Rehberi Üretken yüzleşme ağı GAN çok güçlüdür, ancak aynı zamanda GAN'ın kullanımını zorlaştıran birçok kusuru vardır. Bu makale, GAN eğitiminin eksikliklerinin üstesinden gelebilecek ve GAN performansını iyileştirmeye yardımcı olabilecek bazı çözümleri tanıtmaktadır.

Generative Adversarial Network (GAN), geniş bir uygulama yelpazesine sahip güçlü bir sinir ağıdır. GAN, esasen iki sinir ağından oluşan bir sistemdir. Jeneratör ile Ayrımcı -İki birbiriyle rekabet ediyor.

Bir dizi hedef örnek verildiğinde, jeneratör Aldatma ayrımcı Ayrımcının bu örneklerin gerçek olduğunu düşünmesini sağlayın. Ayırıcı, sahte (oluşturulan) örneklerden çıkarmaya çalışır Doğruyu söyle (Hedef) örnek. Bu yinelemeli eğitim yöntemini kullanarak, sonunda yeterince sahte örnek oluşturmada çok iyi olan bir jeneratör elde edebiliriz.

GAN'ların birçok uygulaması vardır çünkü neredeyse tüm veri dağıtım türlerini taklit etmeyi öğrenebilirler. Genel olarak GAN, aşağıdaki gibi görüntü bozukluklarını, süper çözünürlüğü, poz dönüştürme ve her türlü görüntü çevirisini kaldırmak için kullanılır:

Görüntü çevirisi için GAN'ı kullanın (Kaynak: https://phillipi.github.io/pix2pix/)

Ancak, nedeniyle Kalıcı olmayan istikrar , GAN'ın kullanımı çok zordur. Söylemeye gerek yok, birçok araştırmacı GAN eğitiminde yer alan bazı sorunları hafifletmek için iyi çözümler önerdi.

Ancak, bu alandaki araştırmalar o kadar hızlı ilerliyor ki, tüm ilginç fikirlerin kaydını tutmak zor. Bu makale, GAN eğitimini stabilize etmek için yaygın olarak kullanılan bazı teknikleri listeler.

GAN kullanmanın dezavantajları

GAN'ın kullanımının zor olmasının birçok nedeni vardır: İşte temel nedenlerden bazıları.

1. Mod çöküşü

Doğal veri dağıtımı oldukça karmaşık ve çok modludur. Başka bir deyişle, birçok veri dağıtımı var "Zirveler" (zirveler) veya "Modlar" (modlar) . Her mod, benzer veri örneklerinin konsantrasyonunu temsil eder, ancak diğer modlardan farklıdır.

Mod çökmesi sırasında, jeneratör Sınırlı bir kalıp seti Örneklem. Bu, jeneratör tek bir kalıbı kilitleyerek ayırıcıyı kandırabileceğini düşündüğünde olur. Diğer bir deyişle, jeneratör yalnızca bu modelden örnekler üretir.

Üstteki görüntü, mod çökmesi olmadan GAN'ın çıktısını temsil eder. Alttaki görüntü, mod daralması ile GAN'ın çıktısını gösterir.
(Kaynak: https://arxiv.org/pdf/1611.02163.pdf)

Ayrımcı eninde sonunda Bu moddaki örneklerin sahte olduğu bulundu . Ancak jeneratör başka bir moda kilitlendi. Bu döngü sonsuza kadar tekrar eder, Oluşturulan örneklerin çeşitliliğini temelde sınırlayın .

2. Yakınsama

GAN eğitiminde yaygın bir sorun " Eğitimi ne zaman bırakmalıyız? ". Ayrıştırıcı kaybı azaldığında (ve tersi) jeneratör kaybı arttığından, kayıp fonksiyonunun değerine göre yakınsamayı yargılayamayız. Aşağıdaki şekilde gösterildiği gibi:

Tipik bir GAN kaybı işlevi

3. Kalite

Önceki soruda olduğu gibi, jeneratörün ne zaman yüksek kaliteli numuneler ürettiğini nicel olarak belirlemek zordur. Kayıp işlevine ek bir algısal düzenlileştirme eklemek, bu durumu bir dereceye kadar hafifletebilir.

4. Metrikler

GAN amaç işlevi, jeneratörün veya ayırıcının performansını diğer yöntemlere göre açıklayabilir. Ancak, çıktının kalitesini veya çeşitliliğini temsil etmez. Bu nedenle, farklı ölçütlere ihtiyacımız var.

GAN performansını iyileştirmek için 8 ipucu

GAN'ı daha kararlı veya daha güçlü hale getirmek için kullanılabilecek birçok teknik vardır. Burada sadece nispeten yeni veya daha karmaşık teknolojilerden bazıları açıklanmaktadır.

1. Alternatif Kayıp İşlevleri (Alternatif Kayıp İşlevleri)

GAN kusurları için en sık kullanılan onarım yöntemlerinden biri Wasserstein GAN . Esasen kullanır Earth Mover mesafesi (Wasserstein-1 mesafesi veya EM mesafesi) geleneksel GAN'ı değiştirmek için Jensen Shannon Iraksama . EM mesafesinin orijinal biçimini idare etmek zordur, bu nedenle ikili biçimini kullanırız. Bu, ayırıcının 1-Lipschitz olmasını gerektirir ve bu, diskriminatörün ağırlığı azaltılarak sağlanır.

Earth Mover mesafesini kullanmanın avantajı, gerçek veriler ve üretilen veri dağıtımı kesişmese bile, devamlı olarak , JS diverjansından veya KL diverjansından farklıdır. Aynı zamanda üretilen görüntünün kalitesi ile kayıp değeri arasında bir ilişki vardır. Dezavantajı, her bir jeneratör güncellemesi için birden fazla diskriminatör güncellemesi yapmamız gerektiğidir. Ayrıca yazar, 1-Lipschitz kısıtlamalarını sağlamak için kilo vermenin kötü bir yöntem olduğuna inanmaktadır.

Dağılım sürekli olmasa bile, toprak hareket ettirici mesafesi (sol) süreklidir, bu da JS sapmasından (sağda) farklıdır.

Başka bir çözüm kullanmaktır Ortalama kayıp karesi Değiştirmek Günlük kaybı . LSGAN'ın yazarı, geleneksel GAN kaybı işlevinin, üretilen veri dağıtımını gerçek veri dağıtımına yakın bir konuma "çekmek" için çok fazla teşvik sağlamadığına inanmaktadır.

Orijinal GAN kaybı işlevindeki günlük kaybı, üretilen veriler ile karar sınırı arasındaki mesafeyi önemsemez (karar sınırı gerçek verileri sahte verilerden ayırır). Öte yandan LSGAN, karar sınırından çok uzaktaki üretim numuneleri üzerinde çarpma işlemi gerçekleştirerek esasen üretilen verileri dağıtır " Çek "Gerçek veri dağıtımına daha yakın olmak için. LSGAN bunu başarmak için günlük kaybı yerine ortalama kare kaybını kullanır.

2. İki Zaman Ölçekli Güncelleme Kuralı (TTUR)

Bu yöntemde, ayırıcı ve oluşturucu için farklı öğrenme oranları kullanıyoruz. Genel olarak, oluşturucular daha yavaş güncelleme kuralları kullanır ve ayrımcılar daha hızlı güncelleme kuralları kullanır. Bu yöntemi kullanarak, jeneratörün ve tanıyıcının güncellemesini 1: 1 oranında gerçekleştirebiliriz ve sadece öğrenme oranını değiştirmemiz gerekir. SAGAN uygulaması bu yöntemi kullanır.

3. Gradyan Cezası

Geliştirilmiş WGAN Eğitimi makalesinde yazar, ağırlık kesme Optimizasyon sorunlarına neden olur.

Yazarlar, ağırlık kırpmanın sinir ağını optimal veri dağıtımının "daha basit bir yaklaşımını" öğrenmeye zorladığını ve bunun daha düşük kaliteli sonuçlara yol açtığını belirtti. Ayrıca, WGAN hiperparametreleri doğru ayarlanmazsa, ağırlık kırpmanın gradyan patlamasına veya gradyan kaybolmasına neden olacağını iddia ediyorlar.

Yazar basit bir gradyan cezası , Böylelikle yukarıdaki sorunları hafifletir. Ek olarak, orijinal WGAN uygulaması gibi, 1-Lipschitz sürekliliği korunur.

Orijinal WGAN-GP kağıdı gibi, gradyan cezası da düzenleyici olarak eklenir

DRAGAN'ın yazarı mod çöküşünün GAN tarafından oynanan oyun "kısmen dengeli bir duruma" ulaştığında meydana geldiğini iddia ediyor. Ayrımcının bu eyaletler etrafında ürettiği eğimin "keskin" olduğunu da iddia ediyorlar. Elbette, gradyan cezası kullanmak bu durumlardan kaçınmamıza, kararlılığı büyük ölçüde artırmamıza ve mod çökmesini azaltmamıza yardımcı olabilir.

4. Spektral Normalleştirme

Spektral Normalizasyon bir Ağırlık normalleştirme tekniği , Genellikle eğitim sürecini geliştirmek için ayrımcı üzerinde kullanılır. Bu, esasen ayrımcının K-Lipschitz devamlı olarak.

SAGAN gibi bazı uygulamalar da jeneratörde spektral Normalizasyon kullanır. Bu yöntem, gradyan cezası yönteminden hesaplama açısından daha verimlidir.

5. Açma ve Paketleme

Mod atlamasını önlemenin bir yolu, geleceği tahmin etmek ve parametreleri güncellerken rakibi tahmin etmektir. Kaydırılmamış GAN, ayırıcının yanıt verme şansı bulduktan sonra jeneratörün ayırıcıyı kandırmasını sağlar.

Mod çökmesini önlemenin bir başka yolu, aynı sınıfa ait birden fazla örneği ayırıcıya geçirmeden önce "paketlemektir", yani. paketleme . Bu yöntem PacGAN tarafından benimsenmiştir.PacGAN makalesinde, yazar mod çöküşünün uygun şekilde azaltıldığını bildirmektedir.

6. GAN'ı istifleme

Tek bir GAN, görevi etkili bir şekilde yerine getirmek için yeterli olmayabilir. Her bir GAN'ın problemin daha basit kısmını çözebileceği ardışık olarak istiflenmiş birden fazla GAN kullanabiliriz. Örneğin, FashionGAN, kısmi görüntü çevirisi gerçekleştirmek için iki GAN kullanır.

FashionGAN, kısmi görüntü çevirisi için iki GAN kullanır

Bu kavramı aşırı kullanarak, GAN ile çözülen problemlerin zorluğunu kademeli olarak artırabiliriz. Örneğin, Aşamalı GAN (ProGAN) Yüksek kaliteli, yüksek çözünürlüklü görüntüler oluşturabilir.

7. Göreli GAN

Geleneksel GAN, üretilen verilerin gerçek veri olma olasılığını ölçer. Relativistic GAN, üretilen verilerin gerçek verilerden "daha gerçek" olma olasılığını ölçer. RGAN makalesinde belirtildiği gibi, bu "göreceli gerçekliği" ölçmek için uygun bir mesafe ölçüsü kullanabiliriz.

Standart GAN kaybını kullanırken ayırıcının çıktısı (Şekil B). Şekil C, çıktı eğrisinin gerçekte neye benzediğini gösterir. Şekil A, JS sapmasının optimal çözümünü göstermektedir.

Yazar ayrıca, ayırıcının çıktısının optimal duruma ulaştığında 0.5'e yakınsaması gerektiğinden bahsetti. Bununla birlikte, geleneksel GAN eğitim algoritması, ayırıcıyı herhangi bir görüntü için "gerçek" (yani 1) çıktı vermeye zorlar. Bu, ayrımcının bir dereceye kadar optimal değerine ulaşmasını engeller. Göreli yöntem de bu sorunu çözer ve aşağıdaki şekilde gösterildiği gibi oldukça önemli sonuçlar elde eder:

5000 iterasyondan sonra, standart GAN (solda) ve göreli GAN'ın (sağda) çıktısı

8. Öz dikkat mekanizması

Self Attention GAN'ların yazarı, görüntüyü oluşturmak için kullanılan evrişimin yerel olarak yayılan bilgilere baktığını söyledi. Diğer bir deyişle, kısıtlayıcı alıcı alanları nedeniyle küresel ilişkiyi kaçırırlar.

Dikkat haritasını (sarı kutuda hesaplanmıştır) standart evrişim işlemine ekleyin

Kendi Kendine Dikkat GAN, görüntü oluşturma görevlerinin dikkat odaklı uzun vadeli bağımlılık modellemesine izin verir. Öz Dikkat mekanizması, sıradan evrişim işlemlerine bir tamamlayıcıdır. Küresel bilgi (uzaktan bağımlılık), daha yüksek kaliteli görüntüler oluşturmaya yardımcı olur. Ağ, dikkat mekanizmasını göz ardı etmeyi seçebilir veya normal evrişimle birlikte düşünülebilir.

Kırmızı nokta ile işaretlenmiş pozisyonun dikkat haritasının görselleştirilmesi

sonuç olarak

Araştırma topluluğu, GAN eğitiminin eksikliklerinin üstesinden gelmek için birçok çözüm ve teknik önermiştir. Ancak, yeni araştırma hacmi nedeniyle, tüm önemli katkıları izlemek zordur.

Aynı nedenle, bu makalede paylaşılan ayrıntılar ayrıntılı değildir ve yakın gelecekte güncel olmayabilir. Yine de, umarım bu makale insanlar için GAN performansını iyileştirmenin yollarını bulmaları için bir rehber olabilir.

Alan sınırlamaları nedeniyle, bu makaledeki referanslar için orijinal metne bakın:

https://medium.com/beyondminds/advances-in-generative-adversarial-networks-7bad57028032

Tehlike Dünya Kupası düzeltmesini dört gözle bekliyor Belçika eski Avrupa Kırmızı Şeytanlarını yeniden üretebilir mi?
önceki
60.000-80.000 yuan olan bir aile arabasının çekiciliği nedir? A + sınıfı arabalar muhtemelen Familia F5'ten öğrenmeli
Sonraki
Cao Dewang neden ABD'de yatırım yaptı? Yerli yatırım ortamındaki değişiklikler temel nedendir
Gazı gerçekten doğru kullanıyor musunuz?
4S mağazaları ve cadde oto tamirhanelerinin yanı sıra araba bakımı yapmak istiyorsanız, daha iyi bir seçenek var mı?
Malone'un ne kadar harika olduğunu anlamak için bir resim? Kariyeri boyunca yüzeydeki en güçlü kişiye layık 124 ünvan
19 Şubat'ta onu daha da özlüyoruz ...
Gece geç saatlerde DG tekrar yanıt verdi. "Aşağılayıcı Çin" fırtınasının ardından, büyük platformlar şimdilik siparişleri kabul etmeyeceklerini söyledi.
Fransa'da araba sürmekle ilgili şeyler, Monako F1 pistinde sürüş
SIPGnin popüler uluslararası ekibi "Necklace Gate" olayı için kamuoyundan özür diledi, aksi takdirde Lippinin güvenini geri kazanmak zor olabilir.
100 milyon parametre ve 40.000 örnek ile BERT hala insanları anlayamıyor Genel NLP'den ne kadar uzak olabiliriz?
İthal arabaların tarifeleri düşürüldü Aynı on yıl içinde olan lüks otomobiller satın alınabilir mi?
Hahahahahaha ... Sence bu ekspres teslimat, o yıllarda kullandığın "siyah arabaya" benziyor mu?
Dubai, 12 yılda dünyanın en büyük havalimanını inşa etmek için 35,7 milyar dolar harcadı
To Top