WaveNet gerçekten genişletilmiş bir evrişim değil, değil mi?


10

Son WaveNet gazetesinde yazarlar, modellerini genişletilmiş kıvrım katmanlarının yığılmış katmanları olarak adlandırıyorlar. Ayrıca, 'düzenli' konvolüsyonlar ve dilate konvolüsyonlar arasındaki farkı açıklayan aşağıdaki çizelgeleri hazırlarlar.

Düzenli kıvrımlar şöyle görünür: Dilate Olmayan Konvolüsyonlar Bu, filtre boyutu 2 ve adım 4 olan bir katmandır.

Daha sonra, modelleri tarafından kullanılan, genişletilmiş kıvrımlar olarak adlandırdıkları bir mimari gösterirler. Öyle görünüyor. WaveNet Dilate Konvolüsyonlar Her katmanın artan dilatasyonları olduğunu söylüyorlar (1, 2, 4, 8). Ama bana göre bu, 2 kat filtre boyutu ve 4 kat için tekrarlanan 2 adım ile düzenli bir evrişim gibi görünüyor.

Anladığım kadarıyla, filtre boyutu 2, adım 1 ve artan dilatasyonlarla (1, 2, 4, 8) genişlemiş bir evrişim böyle görünecektir. Gerçek Genişletilmiş Konvolüsyon

WaveNet diyagramında filtrelerin hiçbiri kullanılabilir bir girişin üzerinden atlamaz. Delik yok. Diyagramımda, her filtre mevcut girişleri (d - 1) atlar. Dilatasyonun bu şekilde çalışması gerekir mi?

Benim sorum şu: Aşağıdaki önermelerden hangisi (varsa) doğrudur?

  1. Dilate ve / veya düzenli kıvrımları anlamıyorum.
  2. Deepmind aslında genişlemiş bir evrişim yerine daha çok uzun bir evrişim gerçekleştirdi, ama genişleme kelimesini yanlış kullandı.
  3. Deepmind genişlemiş bir evrişim uyguladı, ancak grafiği doğru şekilde uygulamadı.

Kodlarının tam olarak ne yaptığını anlamak için yeterince TensorFlow kodunda akıcı değilim, ancak bu soruyu cevaplayabilecek kod biti içeren Stack Exchange'de ilgili bir soru yayınladım .


Sorunuzu ve yanıtınızı aşağıda oldukça ilginç buldum. WaveNet gazetesi adım ve dilatasyon oranının eşdeğerini açıklamadığından, blog yazısındaki temel kavramları özetlemeye karar verdim: theblog.github.io/post/… hala otoregresif nöral ile çalışıyorsanız ilginç bulabilirsiniz ağlar
Kilian Batzner

Yanıtlar:


9

Wavenet gazetesinden:

"A dilated convolution (also called a trous, or convolution with 
holes) is a convolution where the filter is applied over an area larger 
than its length by skipping input values with a certain step. It is 
equivalent to a convolution with a larger filter derived from the 
original filter by dilating it with zeros, but is significantly more 
efficient. A dilated convolution  effectively allows the network to 
operate on a coarser scale than with a normal convolution. This is 
similar to pooling or strided  convolutions, but 
here the output has the same size as the input. As a special case, 
dilated convolution with dilation 1 yields the standard convolution. 
Fig. 3 depicts dilated causal convolutions for dilations 1, 2, 4, and 
8."

Animasyonlar, sabit bir adım ve her katmanda artan dilatasyon faktörünü gösterir. Google'ın wavenet blog yayınından Hareketli Şekil 3


6

Kuruş bu benim için düştü. Bu 3 önermeden doğru olan 4'tür: WaveNet belgesini anlamadım.

Benim sorunum, WaveNet diyagramı tek bir örneği kapsayan olarak yorumladım, 2 boyutlu bir yapıda düzenlenmiş farklı örnekler üzerinde çalışacaktı.

Bununla birlikte, WaveNet tüm filtreyi 1 adımda 1 adımda çalıştırıyor. Açıkçası çok daha az bellek alanı var ama aynı şeyi gerçekleştiriyor.

Uzun bir yapı kullanarak aynı hile yapmaya çalışırsanız, çıktı boyutu yanlış olur.

Özetlemek gerekirse, bunu bir 2D örnek x yığın yapısı ile uzun adımlarla yapmak aynı modeli verir, ancak çok daha yüksek bellek kullanımı ile.

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.