Die Keras Schicht Dokumentation gibt an die Ein- und Ausgangsgrößen für Faltungsschichten: https://keras.io/layers/convolutional/Keras Conv2D und Eingangskanäle
Eingangsform: (samples, channels, rows, cols)
Ausgang Form: (samples, filters, new_rows, new_cols)
und die Kernel Größe ist ein räumlicher Parameter, dh bestimmt nur Breite und Höhe.
So ein Eingang mit c
Kanäle wird eine Ausgabe mit filters
Kanäle unabhängig von dem Wert c
. Es muss daher eine 2D-Faltung mit einem räumlichen height x width
-Filter anwenden und dann die Ergebnisse irgendwie für jedes erlernte Filter aggregieren.
Was ist dieser Aggregationsoperator? Ist es eine Zusammenfassung über Kanäle? Kann ich es kontrollieren? Ich konnte keine Informationen über die Keras-Dokumentation finden.
- anzumerken, dass in TensorFlow die Filter als auch in dem Tiefen Kanal spezifiziert sind: https://www.tensorflow.org/api_guides/python/nn#Convolution, also der Tiefe Betrieb ist klar.
Danke.
Sie müssen lesen [diese] (http://cs231n.github.io/ Faltungsnetzwerke /). –
Von dieser Seite: "Im Ausgangsvolumen ist die d-te Tiefenscheibe (der Größe W2 × H2) das Ergebnis der Durchführung einer gültigen Faltung des d-ten Filters über das Eingangsvolumen mit einer Schrittweite von SS und dann Offset von d-th Bias. ". Ich folge also nicht, wie diese Faltungen eines Volumes mit einem 2D-Kern zu einem 2D-Ergebnis werden. Wird die Tiefenabmessung durch Summation reduziert? – yoki
"Beispiel 1 Angenommen, das Eingangsvolumen hat die Größe [32x32x3] (z. B. ein RGB-CIFAR-10-Bild). Wenn das rezeptive Feld (oder die Filtergröße) 5x5 ist, wird jedes Neuron in der Conv-Schicht Gewichte im Bereich [5x5x3] im Eingangsvolumen haben, also insgesamt 5 * 5 * 3 = 75 Gewichte (und +1 Bias-Parameter) Beachten Sie, dass das Ausmaß der Konnektivität entlang der Tiefenachse 3 sein muss, da dies der Fall ist ist die Tiefe des Eingangsvolumens. " - Ich denke, Sie vermissen es ist 3D-Kernel [Breite, Höhe, Tiefe]. Das Ergebnis ist eine summierung über Kanäle hinweg. –