Neural-Networks
WaveNet 並不是真正的空洞卷積,是嗎?
在最近的WaveNet論文中,作者將他們的模型稱為具有堆疊的擴張卷積層。他們還製作了以下圖表,解釋了“常規”卷積和擴張卷積之間的區別。
常規卷積看起來像 這是一個過濾器大小為 2 且步長為 1 的捲積,重複 4 層。
然後他們展示了他們的模型使用的架構,他們稱之為擴張卷積。它看起來像這樣。 他們說每一層都有(1、2、4、8)的膨脹。但對我來說,這看起來像是一個過濾器大小為 2、步長為 2 的常規卷積,重複了 4 層。
據我了解,一個擴張卷積,過濾器大小為 2,步幅為 1,擴張為 (1, 2, 4, 8),看起來像這樣。
在 WaveNet 圖中,沒有一個過濾器會跳過可用的輸入。沒有孔。在我的圖表中,每個過濾器都會跳過 (d - 1) 個可用輸入。這就是擴張應該如何工作的不?
所以我的問題是,以下哪個(如果有的話)命題是正確的?
- 我不明白擴張和/或常規卷積。
- Deepmind 實際上並沒有實現擴張卷積,而是跨步卷積,但誤用了擴張這個詞。
- Deepmind 確實實現了擴張卷積,但沒有正確實現圖表。
我對 TensorFlow 代碼不夠流利,無法理解他們的代碼到底在做什麼,但我確實在 Stack Exchange 上發布了一個相關問題,其中包含可以回答這個問題的代碼。
來自wavenet的論文:
"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."