Altifigence Academy

2 / 24 · Konzept

Faltung und Kreuzkorrelation

Welche Ergebnisse liefern Kreuzkorrelation und umgekehrter Kernel für [1,2;4,5] mit Kernel [1,0;0,-1]?

Die Kernelausrichtung festlegen

Die Faltung in neuronalen Netzen verwendet üblicherweise Kreuzkorrelation: Der gespeicherte Kernel wird ohne Umkehrung mit dem Eingabefenster gepaart. Mathematische Faltung kehrt den Kernel um. Die Indexgleichung ist hilfreicher als der Operatorname. Ein symmetrischer Kernel kann einen Ausrichtungsfehler verbergen; beginnen Sie daher die Verifikation mit asymmetrischen Werten.

Für einen Kanal, Schrittweite eins und ohne Auffüllung oder Dilatation verwenden Sie:

y[h,w]=b+∑r=0R−1∑s=0S−1x[h+r,w+s]k[r,s]y[h,w]=b+\sum_{r=0}^{R-1}\sum_{s=0}^{S-1}x[h+r,w+s]k[r,s]

Hier bezeichnen h,w die Ausgabe und r,s ein Kernelelement. Keiner der Kernelindizes wird umgekehrt.

Durchgerechnetes Beispiel

Verwenden Sie Eingabefenster [1,2;4,5] und Kernel [1,2;3,4]. Kreuzkorrelation ergibt 1×1+2×2+4×3+5×4=37. Die Umkehrung beider Kernelachsen ergibt [4,3;2,1] und damit 4+6+8+5=23. Ein Bias von zwei ergibt 39 beziehungsweise 25. Die Spezifikation entscheidet, welche Operation gemeint ist.

Erweitern Sie die Eingabe auf [1,2,3;4,5,6;7,8,9]. Der ursprüngliche Kernel erzeugt [37,47;67,77]. Das Fenster oben rechts ist [2,3;5,6], dessen Produkte sich zu 2+6+15+24=47 summieren. Die Bewegung eines Fensters verändert Eingabekoordinaten, niemals die Reihenfolge gespeicherter Gewichte. Negative Gewichte folgen derselben Indexregel. Beispielsweise subtrahiert [1,0,-1] ausdrücklich die rechte Probe von der linken.

Akkumulieren Sie bei mehreren Kanälen das Fenster jedes Kanals in dasselbe Ausgabeelement. Jeder Ausgabekanal hat seine eigene Sammlung von Kerneln und einen Bias. Kanäle sind Reduktionsindizes und keine räumlichen Positionen, entlang derer ein Fenster gleitet. Gruppierte Faltung beschränkt diese Verbindungen und benötigt eine ausdrückliche Gruppenzuordnung.

Protokollieren Sie Eingabefenster, Kernelreihenfolge, Teilprodukte und Bias. Die Prüfung nur des endgültigen Arrays kann kompensierende Indexfehler bei zu regelmäßigen Testfällen übersehen. Die asymmetrischen Beispiele hier verringern dieses Risiko. Vergleichen Sie Tensor- und Gewichtskonventionen mit der offiziellen ONNX-Conv-Dokumentation; die numerischen Testfälle dieser Lektion sind unabhängig erstellt.

Selbst ausprobieren

Welche Ergebnisse liefern Kreuzkorrelation und umgekehrter Kernel für [1,2;4,5] mit Kernel [1,0;0,-1]?

Erklärung lesen

Kreuzkorrelation ist 1−5=−4. Der umgekehrte Kernel [−1,0;0,1] ergibt −1+5=4. Dieser Testfall macht die Ausrichtung durch einen Vorzeichenwechsel sichtbar.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.