Was ist eine 1D Convolutional Layer im Deep Learning?

13

Ich verstehe die Rolle und den Mechanismus von Faltungsebenen in Deep Learning für die Bildverarbeitung bei 2D- oder 3D-Implementierungen allgemein - sie versuchen "einfach", 2D-Muster in Bildern zu erfassen (bei 3D in 3 Kanälen).

Aber kürzlich bin ich im Kontext der Verarbeitung natürlicher Sprache auf 1D-Faltungsschichten gestoßen, was für mich eine Überraschung ist, da die 2D-Faltung meines Wissens insbesondere zum Erfassen von 2D-Mustern verwendet wird, die in 1D-Form (Vektorform) nicht sichtbar sind von Bildpixeln. Welche Logik steckt hinter der 1D-Faltung?

Hendrik
quelle

Antworten:

16

Kurz gesagt, die Anzahl der Dimensionen für die Faltung ist nicht besonders. Jede Dimension der Faltung könnte in Betracht gezogen werden, wenn sie zu einem Problem passt.

Die Anzahl der Dimensionen ist eine Eigenschaft des zu lösenden Problems. Zum Beispiel 1D für Audiosignale, 2D für Bilder, 3D für Filme. . .

Wenn die Anzahl der Dimensionen kurz ignoriert wird, können die folgenden Stärken eines Faltungs-Neuronalen Netzwerks (CNN) im Vergleich zu vollständig verbundenen Modellen beim Umgang mit bestimmten Datentypen berücksichtigt werden:

  1. Durch die Verwendung gemeinsamer Gewichte für jeden Standort, den die Faltung verarbeitet, wird die Anzahl der zu lernenden Parameter im Vergleich zu denselben Daten, die über ein vollständig verbundenes Netzwerk verarbeitet werden, erheblich reduziert.

  2. Geteilte Gewichte sind eine Form der Regularisierung.

  3. Die Struktur eines Faltungsmodells lässt starke Annahmen über lokale Beziehungen in den Daten zu, die, wenn sie wahr sind, zu einer guten Anpassung an das Problem führen.

    3.1 Lokale Muster liefern gute Vorhersagedaten (und / oder können in höheren Schichten sinnvoll zu komplexeren Vorhersagemustern kombiniert werden)

    3.2 Die in den Daten gefundenen Mustertypen können an mehreren Stellen gefunden werden. Es ist sinnvoll, dasselbe Muster in einem anderen Satz von Datenpunkten zu finden.

Diese Eigenschaften von CNNs sind unabhängig von der Anzahl der Dimensionen. Eindimensionale CNNs arbeiten mit Mustern in einer Dimension und sind in der Regel bei der Signalanalyse über Signale mit fester Länge nützlich. Sie eignen sich beispielsweise gut zur Analyse von Audiosignalen. Auch für einige natürliche Sprachverarbeitungen - obwohl wiederkehrende neuronale Netze, die unterschiedliche Sequenzlängen zulassen, dort besser geeignet sein können, insbesondere solche mit Speicher-Gate-Anordnungen wie LSTM oder GRU. Ein CNN kann jedoch einfacher zu verwalten sein, und Sie können die Eingabe einfach auf eine feste Länge auffüllen.

Neil Slater
quelle
ist 2D nur für Graustufenbilder? Was passiert, wenn Sie RGB einführen?
Mohammad Athar
1
@MohammadAthar: RGB wird als Kanäle (oder Feature-Maps ) mit separaten 2D-Informationen dargestellt und in der Regel auch bei der Beschreibung von CNN-Layern als 2D betrachtet. Wenn Sie TensorFlow oder Keras verwenden, würden Sie definitiv eine Conv2D-Ebenendefinition verwenden, um Farbbilder zu verarbeiten. Implementierungen verfügen jedoch häufig intern über 3D- und 4D-Strukturen, um die Gewichte zu speichern. . . und eine 2D-Faltung über mehrere Kanäle hinweg ist mathematisch gesehen ein Sonderfall einer 3D-Faltung (wobei Eingabe- und Kerneldimensionen für die letzte Ebene übereinstimmen müssen). Das ist also so gut wie alles eine Namenskonvention.
Neil Slater