Was bedeutet Kernelgröße?

12

Was meinen die Leute, wenn sie über neuronale Netze sprechen, wenn sie "Kernelgröße" sagen? Kernel sind Ähnlichkeitsfunktionen, aber was sagt das über die Kernelgröße aus?

quil
quelle
1
In einem CNN-Kontext verwenden Menschen manchmal "Kernelgröße", um die Größe eines Faltungsfilters zu bezeichnen, und ebenso ist ein "Kernel" der Filter selbst.
Sycorax sagt Reinstate Monica

Antworten:

17

Tiefe neuronale Netze, konkret gefaltete neuronale Netze (CNN), sind im Grunde genommen ein Stapel von Schichten, die durch die Wirkung einer Reihe von Filtern auf den Eingang definiert werden. Diese Filter werden normalerweise als Kernel bezeichnet.

Beispielsweise sind die Kernel in der Faltungsschicht die Faltungsfilter. Eigentlich wird keine Faltung durchgeführt, sondern eine Kreuzkorrelation. Die Kernelgröße bezieht sich hier auf die Breite x Höhe der Filtermaske.

Die Max-Pooling-Ebene gibt beispielsweise das Pixel mit dem Maximalwert aus einer Reihe von Pixeln innerhalb einer Maske (Kernel) zurück. Dieser Kernel wird über die Eingabe gewobbelt und unterabgetastet.

Also nichts mit dem Konzept von Kerneln in Support-Vektor-Maschinen oder Regularisierungsnetzwerken zu tun. Sie können sie sich als Feature-Extraktoren vorstellen.

jpmuc
quelle
14

Geben Sie hier die Bildbeschreibung ein

Wie Sie oben sehen können, ist der Kernel, auch als Kernelmatrix bekannt, die Funktion dazwischen und seine Größe, hier 3, ist die Kernelgröße (wobei die Kernelbreite gleich der Kernelhöhe ist).

Beachten Sie, dass der Kernel nicht unbedingt symmetrisch sein muss, und wir können dies überprüfen, indem wir diesen Text aus dem Dokument von Conv2D in Tensorflow zitieren :

kernel_size: Eine Ganzzahl oder ein Tupel / eine Liste von 2 Ganzzahlen, die die Höhe und Breite des 2D-Faltungsfensters angeben. Kann eine einzelne Ganzzahl sein, um für alle räumlichen Dimensionen denselben Wert anzugeben.

Aber normalerweise machen wir nur die Breite und Höhe gleich, und wenn nicht, sollte die Kernelgröße ein Tupel von 2 sein. Und die Kernelgröße kann mehr als 2 Zahlen betragen , zum Beispiel (4, 4, 3) im Beispiel unten Conv3D ::

Geben Sie hier die Bildbeschreibung ein

Die tollen Gifs kommen von hier und hier .

Lerner Zhang
quelle
Muss die Kernelgröße symmetrisch sein?
Ben
1
@ Ben Nein, es ist unnötig, daher kann die Kernelgröße ein Tupel von 1, 2 oder 3 Zahlen sein.
Lerner Zhang