Warum haben RNNs normalerweise weniger versteckte Schichten als CNNs?


8

CNNs können Hunderte von verborgenen Ebenen aufweisen. Da sie häufig mit Bilddaten verwendet werden, wird durch die Verwendung vieler Ebenen die Komplexität erhöht.

Soweit ich gesehen habe, haben RNNs normalerweise nur wenige Schichten, z. B. 2-4. Zum Beispiel habe ich bei der Klassifizierung von Elektrokardiogrammen (EKG) gesehen, dass Papiere LSTMs mit 4 Schichten und CNNs mit 10-15 Schichten mit ähnlichen Ergebnissen verwenden.

Liegt dies daran, dass RNNs / LSTMs schwieriger zu trainieren sind, wenn sie tiefer sind (aufgrund von Problemen mit dem Verschwinden des Gradienten), oder daran, dass RNNs / LSTMs dazu neigen, sequentielle Daten schnell zu überanpassen?

Antworten:


3

CNNs und RNNs bieten Extraktionsmethoden:

CNNs neigen dazu, räumliche Merkmale zu extrahieren. Angenommen, wir haben insgesamt 10 Faltungsschichten übereinander gestapelt. Der Kernel der 1. Ebene extrahiert Features aus der Eingabe. Diese Feature-Map wird dann als Eingabe für die nächste Faltungsschicht verwendet, die dann erneut eine Feature-Map aus ihrer Eingabe-Feature-Map erzeugt.

Ebenso werden Features Level für Level aus dem Eingabebild extrahiert. Wenn die Eingabe ein kleines Bild mit 32 * 32 Pixeln ist, benötigen wir definitiv weniger Faltungsschichten. Ein größeres Bild von 256 * 256 weist eine vergleichsweise höhere Komplexität der Merkmale auf.

RNNs sind zeitliche Merkmalsextraktoren, da sie eine Erinnerung an die Aktivierungen der letzten Schicht enthalten. Sie extrahieren Features wie ein NN, aber RNNs merken sich die extrahierten Features über Zeitschritte hinweg. RNNs könnten sich auch an Merkmale erinnern, die über Faltungsschichten extrahiert wurden. Da sie eine Art Gedächtnis haben, bleiben sie in zeitlichen / zeitlichen Merkmalen bestehen.


Im Falle einer Elektrokardiogrammklassifizierung:

Auf der Grundlage der von Ihnen gelesenen Artikel scheint es, dass

EKG-Daten können mithilfe von RNNs mithilfe zeitlicher Merkmale leicht klassifiziert werden. Zeitliche Merkmale helfen dem Modell, die EKGs korrekt zu klassifizieren. Daher ist die Verwendung von RNNs weniger komplex.

Die CNNs sind komplexer, weil,

Die von CNNs verwendeten Merkmalsextraktionsmethoden führen zu solchen Merkmalen, die nicht leistungsfähig genug sind, um EKGs eindeutig zu erkennen. Daher ist die größere Anzahl von Faltungsschichten erforderlich, um diese Nebenmerkmale zur besseren Klassifizierung zu extrahieren.

Zu guter Letzt,

Ein starkes Feature verleiht dem Modell weniger Komplexität, während ein schwächeres Feature mit komplexen Ebenen extrahiert werden muss.


Liegt dies daran, dass RNNs / LSTMs schwieriger zu trainieren sind, wenn sie tiefer sind (aufgrund von Problemen mit dem Verschwinden des Gradienten), oder daran, dass RNNs / LSTMs dazu neigen, sequentielle Daten schnell zu überanpassen?

Dies könnte als Denkperspektive betrachtet werden. LSTM / RNNs neigen zu Überanpassungen, bei denen einer der Gründe darin bestehen könnte, dass das Gradientenproblem verschwindet, wie von @Ismael EL ATIFI in den Kommentaren erwähnt.

Ich danke @Ismael EL ATIFI für die Korrekturen.


4
"LSTM / RNNs neigen aufgrund des verschwindenden Gradientenproblems zur Überanpassung." Ich stimme dir nicht zu. Eine Überanpassung kann nicht durch ein Problem mit dem Verschwinden des Gradienten verursacht werden, nur weil das Verschwinden des Gradienten verhindert, dass die Parameter der frühen Schichten ordnungsgemäß aktualisiert werden und somit überanpassen. "Faltungsschichten passen im Allgemeinen nicht über, sie sind Merkmalsextraktoren." Faltungsschichten KÖNNEN wie jede andere trainierbare Schicht und jedes CNN definitiv überpassen, wenn es im Vergleich zu der Menge und Vielfalt der Daten, auf die es trainiert wird, zu viele Parameter aufweist.
Ismael EL ATIFI

1

Über die Anzahl der Schichten

Der Grund kann anhand der Architektur eines CNN und eines LSTM und der möglichen Funktionsweise von Zeitreihendaten verstanden werden. Aber ich sollte sagen, dass die Anzahl der Schichten stark von dem Problem abhängt, das Sie lösen möchten. Möglicherweise können Sie eine EKG-Klassifizierung mit wenigen LSTM-Ebenen lösen. Für die Aktivitätserkennung aus Videos benötigen Sie jedoch mehr Ebenen.

Abgesehen davon, wie ein CNN und ein LSTM ein Zeitreihensignal verarbeiten können. Ein sehr einfaches Signal, bei dem Sie nach drei positiven Zyklen einen negativen Zyklus erhalten.

CNN gegen LSTMs

Damit ein CNN dieses einfache Muster sieht, sind in diesem Beispiel 4 Schichten erforderlich. Wenn ein CNN eine Zeitreiheneingabe verarbeitet, wissen die Faltungsausgänge nichts über die vorherigen Ausgänge (dh sie sind nicht verbunden). Ein LSTM kann dies jedoch nur mit einer einzigen Schicht tun, da er sich an zeitliche Muster mit bis zu 100 Zeitschritten erinnern kann. Da eine Ausgabe sowohl auf der aktuellen Eingabe als auch auf den vorherigen Eingaben basiert, die das Modell gesehen hat.

Ich sage nicht, dass dies der einzige Grund ist, aber es ist wahrscheinlich einer der Hauptfaktoren, warum CNNs mehr Schichten benötigen und LSTMs nicht für Zeitreihendaten.

Über verschwindende Steigungen und Überanpassung

Ein verschwindender Gradient wird wahrscheinlich innerhalb einer einzelnen Schicht zu einem Problem als zwischen Schichten. Das heißt, wenn viele aufeinanderfolgende Schritte verarbeitet werden, wird das Wissen über die ersten Schritte wahrscheinlich verschwinden. Und ich glaube nicht, dass sequentielle Modelle Zeitreihendaten überanpassen, wenn Sie sie richtig regulieren. Diese Wahl wird also wahrscheinlich mehr von der Architektur / den Fähigkeiten der Modelle beeinflusst als vom verschwindenden Gradienten oder der Überanpassung.


0

Ich sehe zwei mögliche Gründe, warum ein RNN weniger Schichten als ein CNN erfordern könnte, um die gleiche Leistung zu erzielen:
- RNN-Schichten sind im Allgemeinen vollständig verbundene Schichten, die mehr Parameter als eine Faltungsschicht haben.
- Ein RNN hat einige Komponenten, die es ermöglichen, Eingaben durch Multiplikation zu kombinieren, im Gegensatz zu einem CNN, der Eingaben nur durch gewichtete Addition kombinieren kann. Somit gibt ihm die multiplikative Kapazität des RNN mehr "Kraft", um Merkmale zu berechnen. Das CNN würde viele Schichten benötigen, um diese multiplikative Kapazität zu "imitieren".

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.