WaveNet ist nicht wirklich eine erweiterte Faltung, oder?

10

In dem kürzlich erschienenen WaveNet-Artikel beziehen sich die Autoren auf ihr Modell mit gestapelten Schichten erweiterter Windungen. Sie erstellen auch die folgenden Diagramme, in denen der Unterschied zwischen "regulären" und erweiterten Faltungen erläutert wird.

Die regulären Faltungen sehen wie Nicht erweiterte Faltungen folgt aus: Dies ist eine Faltung mit einer Filtergröße von 2 und einem Schritt von 1, die für 4 Schichten wiederholt wird.

Sie zeigen dann eine Architektur, die von ihrem Modell verwendet wird und die sie als erweiterte Windungen bezeichnen. Es sieht aus wie das. WaveNet Dilated Convolutions Sie sagen, dass jede Schicht zunehmende Dilatationen von (1, 2, 4, 8) aufweist. Aber für mich sieht dies aus wie eine regelmäßige Faltung mit einer Filtergröße von 2 und einem Schritt von 2, die für 4 Schichten wiederholt wird.

So wie ich es verstehe, würde eine erweiterte Faltung mit einer Filtergröße von 2, einem Schritt von 1 und zunehmenden Erweiterungen von (1, 2, 4, 8) so aussehen. Tatsächliche erweiterte Faltung

Im WaveNet-Diagramm überspringt keiner der Filter einen verfügbaren Eingang. Es gibt keine Löcher. In meinem Diagramm überspringt jeder Filter (d - 1) verfügbare Eingänge. So soll Dilatation nicht funktionieren?

Meine Frage ist also, welche (wenn überhaupt) der folgenden Aussagen richtig sind?

  1. Ich verstehe keine erweiterten und / oder regelmäßigen Windungen.
  2. Deepmind implementierte keine erweiterte Faltung, sondern eine schrittweise Faltung, sondern missbrauchte das Wort Erweiterung.
  3. Deepmind hat eine erweiterte Faltung implementiert, das Diagramm jedoch nicht korrekt implementiert.

Ich beherrsche den TensorFlow-Code nicht fließend genug, um zu verstehen, was der Code genau tut, aber ich habe eine verwandte Frage in Stack Exchange veröffentlicht , die den Code enthält, der diese Frage beantworten könnte.

Chechy Levas
quelle
Ich fand Ihre Frage und Antwort unten ziemlich interessant. Da das WaveNet-Papier diese Äquivalenz von Schritt und Dilatationsrate nicht erklärt, habe ich beschlossen, die Schlüsselkonzepte in einem Blog-Beitrag zusammenzufassen: theblog.github.io/post/… Sie könnten es interessant finden, wenn Sie immer noch mit autoregressivem Neural arbeiten Netzwerke
Kilian Batzner

Antworten:

8

Aus dem Papier von 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."

Die Animationen zeigen einen festen Schritt eins und einen auf jeder Ebene zunehmenden Dilatationsfaktor. Animierte Abb. 3 aus Googles Wavenet-Blogbeitrag

rafaelvalle
quelle
6

Der Penny ist gerade für mich auf diesen gefallen. Von diesen drei Aussagen ist die richtige 4: Ich habe das WaveNet-Papier nicht verstanden.

Mein Problem war, dass ich das WaveNet-Diagramm so interpretierte, dass es eine einzelne Probe abdeckte, um mit verschiedenen Proben in einer 2D-Struktur ausgeführt zu werden, wobei eine Dimension die Probengröße und die andere die Chargenzahl war.

WaveNet führt jedoch nur den gesamten Filter über eine 1D-Zeitreihe mit einem Schritt von 1 aus. Dies hat offensichtlich einen viel geringeren Speicherbedarf, bewirkt jedoch dasselbe.

Wenn Sie versuchen würden, denselben Trick mit einer schrittweisen Struktur auszuführen, wäre die Ausgabedimension falsch.

Zusammenfassend ergibt die schrittweise Ausführung mit einer 2D-Beispiel-x-Stapelstruktur dasselbe Modell, jedoch mit einer viel höheren Speichernutzung.

Chechy Levas
quelle