4

Wie kann ich den Bereich (im Originalbild) berechnen, der von den Filtern in meinem Netzwerk abgedeckt wird?Convolutional Neural Networks: Wie viele Pixel werden von jedem Filter abgedeckt?

z.B. Nehmen wir an, die Größe des Bildes ist WxW Pixel. Ich bin mit dem folgenden Netzwerk:

layer 1 : conv : 5x5 
layer 2 : pool : 3x3 
layer 3 : conv : 5x5 
..... 
layer N : conv : 5x5 

ich berechnen wollen, wie viel Fläche im Originalbild wird von jedem Filter abgedeckt werden.

z.B. Der Filter in der Ebene 1 wird 5x5 Pixel im Originalbild abdecken.

Antwort

1

Ein ähnliches Problem wäre, wie viele Pixel werden von jeder Aktivierung abgedeckt werden? was ist im Wesentlichen das gleiche wie, wie groß ein Eingabebild sein muss, um genau eine Aktivierung in einer Schicht zu erzeugen?

Sagen Sie die Filtergröße und Schritt einer Schicht k und s, ist die Größe des Eingangs x*x, haben wir (((x-k1+1)/s1-k2+1)/s2.../sn)=1 und x leicht gelöst werden kann.

Die ursprüngliche Frage ist äquivalent zu, wie groß ein Eingabebild sein muss, um genau eine Aktivierung in einer Schicht zu erzeugen, ohne den Schritt der letzten Schicht zu berücksichtigen?

Die Antwort ist also x/sn, die durch den folgenden Pseudocode berechnet werden sollte

x = layer[n].k 
from i = n-1 to 1 
    x = x*layer[i].s + layer[i].k - 1 

die Gesamtmenge von Pixeln wird dann x*x.

In Ihrem Beispiel ist die sum_1d für die erste Schicht 5, für die zweite Schicht ist 5 * 1 + 3-1 = 7, die dritte ist 5 * 3 + 2 + 4 = 21 (ich nehme an Pooling Layer ist nicht überlappend, s = 3) ..

Sie können dies überprüfen, indem Sie das Gegenteil tun, sagen die Eingabe ist 21 * 21, nach der ersten Schicht ist es 17 * 17, nach dem Pooling ist es (17 -2)/3 = 5 (eigentlich ergeben 16 * 16 und 15 * 15 das gleiche Ergebnis), das genau in einen Filter in der dritten Schicht passt.

+0

Danke. Nehmen wir an, die Bildgröße ist 487, ks_arr = [11, 7, 11, 7], step_arr = [3, 3, 3, 3]. Basierend auf Ihren Berechnungen wird die letzte Ebene 77 Pixel abdecken. Aber wenn ich es umkehre, wird die endgültige Bildgröße 4x4 sein. 487/4 ~ = 120. Ich denke, der letzte Filter sollte ~ 120 Pixel abdecken. Hab ich recht? – user570593

+0

@ user570593 richtig .. wirklich leid für die falsche Antwort, ich werde versuchen, es zu beheben – dontloo

+0

Danke für die Antwort. Ich denke, dass Schicht [i-1] .s mit einem Wert multipliziert werden muss. Aber ich bin verwirrt. – user570593