Arten der Polsterung in der Faltungsschicht
Lassen Sie uns die Polsterung und ihre Arten in Faltungsschichten diskutieren. In der Faltungsschicht haben wir Kernel und um den endgültigen Filter informativer zu gestalten, verwenden wir das Auffüllen in der Bildmatrix oder in jeder Art von Eingabearray. Wir haben drei Arten von Polsterung, die wie folgt sind.
- Polsterung voll:
Nehmen wir einen Kernel als Schiebefenster an. Wir müssen mit der Lösung kommen, Nullen auf dem Eingabearray aufzufüllen. Dies ist eine sehr bekannte Implementierung und es wird einfacher, anhand eines einfachen Beispiels zu zeigen, wie es funktioniert. Betrachten Sie x als Filter und h als Eingabearray.
x [i] = [6, 2]
h [i] = [1, 2, 5, 4]Mit dem Null-Padding können wir die Faltung berechnen.
Sie müssen den Filter x invertieren, sonst wäre die Operation eine Kreuzkorrelation. Erster Schritt (jetzt ohne Polsterung):
= 2 * 0 + 6 * 1 = 6
Zweiter Schritt:
= 2 * 1 + 6 * 2 = 14
Dritter Schritt:
= 2 * 2 + 6 * 5 = 34
Vierter Schritt:
= 2 · 5 + 6 · 4 = 34
Fünfter Schritt:
= 2 * 4 + 6 * 0 = 8
Das Ergebnis der Faltung für diesen Fall, in der alle oben genannten Schritte aufgeführt sind, wäre: Y = [6 14 34 34 8]
filter_nonebearbeiten
schließenplay_arrow
Link
Helligkeit_4
Codeimport
numpy as np
x
=
[
6
,
2
]
h
=
[
1
,
2
,
5
,
4
]
y
=
np.convolve(x, h,
"full"
)
print
(y)
chevron_rightfilter_noneAusgabe:[6 14 34 34 8]
- Polsterung gleich:
Bei dieser Art des Auffüllens hängen wir nur links vom Array und oben in der 2D-Eingabematrix Null an.
filter_nonebearbeiten
schließenplay_arrow
Link
Helligkeit_4
Codeimport
numpy as np
x
=
[
6
,
2
]
h
=
[
1
,
2
,
5
,
4
]
y
=
np.convolve(x, h,
"same"
)
print
(y)
chevron_rightfilter_noneAusgabe:[6 14 34 34]
- Polsterung gültig:
Bei dieser Art des Auffüllens haben wir die reduzierte Ausgabematrix erhalten, da die Größe des Ausgabearrays verringert wird. Wir haben den Kernel nur angewendet, wenn wir eine kompatible Position auf dem h-Array hatten. In einigen Fällen möchten Sie eine Dimensionsreduzierung.
filter_nonebearbeiten
schließenplay_arrow
Link
Helligkeit_4
Codeimport
numpy as np
x
=
[
6
,
2
]
h
=
[
1
,
2
,
5
,
4
]
y
=
np.convolve(x, h,
"valid"
)
print
(y)
chevron_rightfilter_noneAusgabe:[14 34 34]