Boyut küçültme için otomatik kodlayıcılar neden simetriktir?


13

Hiçbir şekilde otomatik kodlayıcılarda veya sinir ağlarında uzman değilim, bu yüzden aptalca bir soru ise beni affet.

Boyut küçültme veya yüksek boyutlu verilerdeki kümeleri görselleştirme amacıyla, ağ katmanının çıktısını 2 düğümle inceleyerek (kayıplı) 2 boyutlu bir gösterim oluşturmak için bir otomatik kodlayıcı kullanabiliriz. Örneğin, aşağıdaki mimariyle, üçüncü katmanın çıktısını inceleyeceğiz

[X]N1=100N2=25(N3=2)N4=25N5=100[X]

burada , girdi ve , . katmandaki düğüm sayısıdır .N l lXNll

Şimdi sorum şu: Simetrik bir mimariyi neden istiyoruz? Derin 'sıkıştırma' fazının bir aynası, benzer şekilde karmaşık bir 'dekompresyon' fazına sahip olabileceğimiz anlamına gelmez, bu da çok sezgisel olmaya zorlanmayan 2 düğüm çıkışına neden olur mu? Başka bir deyişle, daha basit bir kod çözme aşamasına sahip olmamak, katmanın çıktısının 2 düğümle de mutlaka daha basit olmasına neden olur mu?

Buradaki düşüncem, dekompresyon aşaması ne kadar az karmaşıksa, 2D gösterimin daha basit (daha doğrusal?) Olması gerektiğidir. Daha karmaşık bir dekompresyon fazı, daha karmaşık bir 2B gösterime izin verecektir.

Yanıtlar:


13

Bir oto-kodlayıcının simetrisi üzerinde belirli bir kısıtlama yoktur.

Başlangıçta, insanlar bu simetriyi maksimuma uygulama eğilimindeydi: sadece katmanlar simetrik değil, aynı zamanda paylaşılan kodlayıcı ve kod çözücüdeki katmanların ağırlıkları da vardı . Bu bir gereklilik değildir, ancak belirli kayıp işlevlerinin (yani RBM skor eşleşmesinin) kullanılmasına izin verir ve optimize etmek için parametrelerin yarısını etkili bir şekilde azalttığınız için düzenleyici olarak işlev görebilir . Ancak günümüzde hiç kimsenin kodlayıcı-kod çözücü ağırlık paylaşımını dayatmadığını düşünüyorum.

Mimari simetri hakkında, kodlayıcı ve kod çözücüde aynı sayıda katman, aynı tür katman ve aynı katman boyutlarını bulmak yaygındır , ancak buna gerek yoktur .

Örneğin, katlamalı autoencoders halinde geçmişte kodlayıcı ve içinde konvolusyanla katmanları bulmak çok yaygındı deconvolutional dekoderi katmanlar, ancak daha az eserler sorunları var çünkü şimdi normalde dekoderi içinde yukarı örnekleme katmanları görüyoruz.


7

Sorunuz kesinlikle yerinde, ancak "Derin öğrenmede X veya Y yapmalı mıyım?" sadece bir cevabı var.

İkisini de deneyin

Derin öğrenme çok ampirik bir alandır ve simetrik olmayan bir otomatik kodlayıcı alan adınız için çalışıyorsa onu kullanın (ve bir kağıt yayınlayın)


2

Sorulan soruya cevap vermek için kapsamlı bir deney yaptım. Deneylerim, kodlama yolunun (NN'nin sol bacağı) daha az ama daha geniş katmanlara sahip olması gerektiğini gösterdi. Genellikle çok fazla katman alırım, ancak kodlama yolu için düğüm sayısını ikiye katladım. Bunun için hiçbir açıklamam yok, sadece bu yapılandırma genellikle daha hızlı yakınsamaya yol açtı.

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.