Birim Gaussian ile KL Kaybı


10

Bir VAE uyguluyorum ve basitleştirilmiş tek değişkenli gauss KL sapmasının çevrimiçi olarak iki farklı uygulamasını fark ettim. Uygun olarak, orijinal diverjans burada bir bir birim gaussian olduğunu varsayarsak, ve , bu İşte karışıklığım burada. Yukarıdaki uygulama ile birkaç belirsiz github depoları bulmuş olmama rağmen, daha yaygın olarak kullandığım şey:

KLloss=log(σ2σ1)+σ12+(μ1μ2)22σ2212
μ2=0σ2=1
KLloss=log(σ1)+σ12+μ12212
KLloss=12(2log(σ1)σ12μ12+1)

=12(log(σ1)σ1μ12+1)
Örneğin resmi Keras otomatik kodlayıcı eğitiminde . Benim sorum şu, bu ikisi arasında ne eksik? Temel fark log teriminde 2 faktörünü düşürmek ve varyansı kareye almamaktır. Analitik olarak ikincisini başarı ile kullandım, ne için. Herhangi bir yardım için şimdiden teşekkürler!

Yanıtlar:


7

Bildirim o değiştirerek ile Kurtarmak son denklemde önceki (yani ). İlk durumda kodlayıcının varyansı tahmin etmek için kullanıldığını, ikincisinde ise standart sapmayı tahmin etmek için kullanıldığını düşünmeye yönlendirdim.σ1σ12log(σ1)σ12log(σ1)σ12

Her iki formülasyon da eşdeğerdir ve amaç değişmez.


Bunların eşdeğer olduğunu düşünmüyorum. Evet, her ikisi de sıfır ve birim için simge durumuna küçültülür . Bununla birlikte, orijinal denklemde (varyansı içeren), uzaklaştırmanın cezası , ikinci denklemden (standart sapmaya dayanarak) çok daha büyüktür. varyasyonların cezası her ikisi için de aynıdır ve yeniden yapılandırma hatası aynı olacaktır, bu nedenle ikinci sürümü kullanmak birlikten ayrılmasının göreceli önemini önemli ölçüde değiştirir . Neyi kaçırıyorum? μσσμσ
TheBamf

0

Cevabın daha basit olduğuna inanıyorum. VAE'de insanlar genellikle varyans yerine kovaryans matrisi olan çok değişkenli bir normal dağılım kullanır . Bu, bir kod parçasında kafa karıştırıcı görünüyor, ancak istenen forma sahip.Σσ2

Burada çok değişkenli normal dağılımlar için KL diverjansının türetilmesini bulabilirsiniz: VAE'ler için KL diverjans kaybının türetilmesi

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.