Feature Map Größe in Convolutional Neural Networks
Formel:Ausgabegröße = (Eingabegröße - Kernelgröße + 2 * Padding) / Schrittweite + 1
Verstehen der Mergrößen von Feature Maps in Convolutional Neural Networks
Faltungsneuronale Netzwerke (CNNs) sind zu einem Grundpfeiler im Bereich des tiefen Lernens geworden, insbesondere bei Aufgaben, die Bild und Videoerkennung betreffen. Ein wichtiger Aspekt der CNN Architektur ist die Größe der Merkmalskarte, die in jeder Faltungsschicht einer Transformation unterzogen wird. Zu wissen, wie man sie berechnet, ist grundlegend für den Aufbau effektiver Modelle.
Die Formel
Die Größe der Merkmalskarte nach einer Faltungsschicht in einem CNN wird mit der folgenden Formel bestimmt:
Ausgabegröße = (Eingabegröße - Kernelgröße + 2 * Padding) / Schrittweite + 1
Hier ist eine Aufschlüsselung der einzelnen beteiligten Parameter:
Eingangsgröße
Die Größe der Eingangsmerkmalskarte (gemessen in Pixel).Kernelsgröße
Die Größe des Faltungskerns (gemessen in Pixeln).Polsterung
Die Anzahl der Null-Pixel, die dem Rand des Eingangs hinzugefügt wurden (gemessen in Pixeln).Schritt
Die Anzahl der Pixel, um die sich der Kernel über die Eingangsmerkmalskarte bewegt (gemessen in Pixel).
Eingaben und Ausgaben
Eingaben
Eingangsgröße
Integer, Anzahl der Pixel (px).Kernelsgröße
Integer, Anzahl der Pixel (px).Polsterung
Integer, Anzahl der Pixel (px).Schritt
Integer, Anzahl der Pixel (px).
Ausgabe
Ausgabegröße
Integer, Anzahl der Pixel (px).
Echtweltbeispiel
Betrachten Sie einen gängigen Anwendungsfall, bei dem Sie ein Eingangsbild von 224x224 Pixeln haben. Sie wenden eine Faltungsschicht mit einer Kerngröße von 3x3, einer Polsterung von 1 und einem Schritt von 1 an. So berechnen Sie die Größe der Merkmalskarte:
inputSize: 224, kernelSize: 3, padding: 1, stride: 1
Diese Werte in unsere Formel einsetzen:
outputSize = (224 - 3 + 2 * 1) / 1 + 1 = 224
Die resultierende Merkmalskarte wird weiterhin 224x224 Pixel groß sein.
Datenvalidierung
Für diese Berechnung müssen alle Eingabeparameter größer als Null sein. Darüber hinaus muss sichergestellt werden, dass der Schritt ein Ganzzahlwert ist, der die modifizierte Eingabegröße (inputSize - kernelSize + 2 * padding) gleichmäßig teilt, andernfalls wird die Größe der Merkmalskarte keine ganze Zahl sein und die Formel wird fehlerhaft.
Beispielwerte:
Eingangsgröße
= 32Kernelsgröße
= 5Polsterung
= 2Schritt
= 1Ausgabegröße
= resultierende Merkmalskartengröße
Bitte geben Sie den Text ein, den Sie übersetzen möchten.
Ausgabegröße
= 32
Zusammenfassung
Die Berechnung der Größe der Merkmalskarten in konvolutionalen neuronalen Netzen ist entscheidend für die Architektur und Optimierung von Modellen. Durch das Verständnis und die korrekte Anwendung der Formel (Eingangsgröße - Kernelgröße + 2 * Padding) / Schrittweite + 1 können Datenwissenschaftler und Ingenieure effizientere Netze entwerfen, die Leistung und Wirksamkeit verbessern.
Häufig gestellte Fragen (FAQs)
Warum wird Padding verwendet?
Padding hilft, die räumlichen Dimensionen der Ausgabefeaturekarte zu steuern. Es ist besonders nützlich, wenn Sie die Eingabegröße in der Ausgabe beibehalten möchten.
Was passiert, wenn der Schritt größer als eins ist?
Wenn der Schritt größer als eins ist, überspringt der Kern Pixel im Eingang, was zu einer kleineren Ausgabefeaturekarte führt. Dies reduziert die Rechenlast.
Gilt die Formel nur für quadratische Eingaben?
Nein, die Formel kann für nicht quadratische Eingaben angepasst werden, indem die gleiche Logik getrennt auf jede Dimension (Höhe und Breite) 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: Maschinelles Lernen