Neural-Networks

WaveNet 並不是真正的空洞卷積,是嗎?

  • June 28, 2017

在最近的WaveNet論文中,作者將他們的模型稱為具有堆疊的擴張卷積層。他們還製作了以下圖表,解釋了“常規”卷積和擴張卷積之間的區別。

常規卷積看起來像 非擴張卷積 這是一個過濾器大小為 2 且步長為 1 的捲積,重複 4 層。

然後他們展示了他們的模型使用的架構,他們稱之為擴張卷積。它看起來像這樣。 WaveNet 空洞卷積 他們說每一層都有(1、2、4、8)的膨脹。但對我來說,這看起來像是一個過濾器大小為 2、步長為 2 的常規卷積,重複了 4 層。

據我了解,一個擴張卷積,過濾器大小為 2,步幅為 1,擴張為 (1, 2, 4, 8),看起來像這樣。 實際擴張卷積

在 WaveNet 圖中,沒有一個過濾器會跳過可用的輸入。沒有孔。在我的圖表中,每個過濾器都會跳過 (d - 1) 個可用輸入。這就是擴張應該如何工作的不?

所以我的問題是,以下哪個(如果有的話)命題是正確的?

  1. 我不明白擴張和/或常規卷積。
  2. Deepmind 實際上並沒有實現擴張卷積,而是跨步卷積,但誤用了擴張這個詞。
  3. 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."

動畫顯示固定步幅一和膨脹因子在每一層上增加。 動畫圖 3 來自 Google 的 wavenet 博客文章

引用自:https://stats.stackexchange.com/questions/287774

comments powered by Disqus