Feature Map Größe in Convolutional Neural Networks

Ausgabe: Berechnen drücken

Formel:outputSize = (inputSize - kernelSize + 2 * padding) / stride + 1

Feature-Map-Größe in Convolutional Neural Networks verstehen

Convolutional Neural Networks (CNNs) sind zu einem Eckpfeiler im Bereich des Deep Learning geworden, insbesondere für Aufgaben im Zusammenhang mit Bild- und Videoerkennung. Ein kritischer Aspekt der CNN-Architektur ist die Feature-Map-Größe, die in jeder Convolutional-Schicht eine Transformation durchläuft. Zu wissen, wie man es berechnet, ist grundlegend für den Aufbau effektiver Modelle.

Die Formel

Die Feature-Map-Größe nach einer Faltungsschicht in einem CNN wird mithilfe der folgenden Formel bestimmt:

outputSize = (inputSize - kernelSize + 2 * padding) / stride + 1

Hier ist eine Aufschlüsselung der einzelnen beteiligten Parameter:

Eingaben und Ausgaben

Eingaben

Ausgabe

Beispiel aus dem echten Leben

Betrachten Sie einen beliebten Anwendungsfall, bei dem Sie ein Eingabebild mit der Größe 224 x 224 Pixel haben. Sie wenden eine Faltungsschicht mit einer Kernelgröße von 3 x 3, einer Polsterung von 1 und einer Schrittweite von 1 an. So berechnen Sie die Größe der Feature-Map:

inputSize: 224, kernelSize: 3, padding: 1, stride: 1

Setzen wir diese Werte in unsere Formel ein:

outputSize = (224 - 3 + 2 * 1) / 1 + 1 = 224

Die resultierende Feature-Map hat immer noch eine Größe von 224 x 224 Pixeln.

Datenvalidierung

Damit diese Berechnung funktioniert, müssen alle Eingabeparameter größer als Null sein. Stellen Sie außerdem sicher, dass die Schrittweite eine Ganzzahl ist, die die geänderte Eingabegröße (Eingabegröße - Kernelgröße + 2 * Polsterung) gleichmäßig teilt, da sonst die Feature-Map-Größe keine Ganzzahl ist und die Formel nicht funktioniert.

Beispielwerte:

Ausgabe:

Zusammenfassung

Die Berechnung der Feature-Map-Größe in Convolutional Neural Networks ist für die Modellarchitektur und -optimierung von entscheidender Bedeutung. Durch das Verstehen und korrekte Anwenden der Formel (Eingabegröße - Kernelgröße + 2 * Padding) / Schrittweite + 1 können Datenwissenschaftler und Ingenieure effizientere Netzwerke entwerfen und so Leistung und Wirksamkeit verbessern.

Häufig gestellte Fragen (FAQs)

Warum wird Padding verwendet?

Padding hilft, die räumlichen Dimensionen der Ausgabe-Feature-Map zu steuern. Es ist besonders nützlich, wenn Sie die Eingabegröße in der Ausgabe beibehalten möchten.

Was passiert, wenn die Schrittweite größer als eins ist?

Wenn die Schrittweite größer als eins ist, überspringt der Kernel Pixel in der Eingabe, was zu einer kleineren Ausgabe-Feature-Map führt. Dadurch wird der Rechenaufwand reduziert.

Ist die Formel nur auf quadratische Eingaben anwendbar?

Nein, die Formel kann für nicht quadratische Eingaben angepasst werden, indem die gleiche Logik auf jede Dimension (Höhe und Breite) separat angewendet wird.

Indem Sie diese Richtlinien befolgen und jeden Parameter verstehen, können Sie das volle Potenzial von Convolutional Neural Networks nutzen und Ihre Deep-Learning-Modelle effizient optimieren.

Tags: Tiefe Lernen, Bild Erkennung, Maschinelles Lernen