Ich arbeite an der Einstufung des Schlafstadiums. Ich habe einige Forschungsartikel zu diesem Thema gelesen, von denen viele die SVM- oder Ensemble-Methode verwendeten. Ist es eine gute Idee, das eindimensionale EEG-Signal mithilfe eines neuronalen Faltungsnetzwerks zu klassifizieren?
Ich bin neu in dieser Art von Arbeit. Verzeihen Sie mir, wenn ich etwas falsches frage?
neural-networks
svm
conv-neural-network
signal-processing
Fazla Rabbi Mashrur
quelle
quelle
Antworten:
Ich vermute, dass Sie mit 1D-Signal Zeitreihendaten meinen, bei denen Sie eine zeitliche Abhängigkeit zwischen den Werten annehmen. In solchen Fällen sind Faltungs-Neuronale Netze (CNN) einer der möglichen Ansätze. Die beliebtesten neuronales Netzwerk Zugang zu solchen Daten ist rekurrente neuronale Netze (RNN) zu verwenden, aber Sie können alternativ CNNs verwenden oder Hybrid - Ansatz (quasi-rezidivierenden neuronale Netze, QRNN) , wie sie diskutiert Bradbury et al (2016) , und auch auf ihrer Abbildung unten dargestellt. Es gibt auch andere Ansätze, wie die Verwendung von Aufmerksamkeit allein, wie bei dem von Vaswani et al. (2017) beschriebenen Transformer-Netzwerk , bei dem die Information über die Zeit über Fourier-Reihen-Merkmale weitergegeben wird .
Mit RNN würden Sie eine Zelle verwenden, die den vorherigen verborgenen Zustand und den aktuellen Eingabewert als Eingabe verwendet, um die Ausgabe und einen anderen verborgenen Zustand zurückzugeben, sodass die Informationen über die verborgenen Zustände fließen . Bei CNN würden Sie ein Schiebefenster mit einer gewissen Breite verwenden, das nach bestimmten (erlernten) Mustern in den Daten aussieht, und solche Fenster übereinander stapeln, sodass Fenster auf höherer Ebene nach Mustern auf niedrigerer Ebene suchen Muster. Die Verwendung solcher Schiebefenster kann hilfreich sein, um beispielsweise sich wiederholende Muster in den Daten zu finden (z. B. saisonale Muster). QRNN-Schichten mischen beide Ansätze. Einer der Vorteile von CNN- und QRNN-Architekturen besteht darin, dass sie schneller sind als RNN .
quelle
Sie können eine CNN durchaus zur Klassifizierung eines 1D-Signals verwenden. Da Sie sich für die Klassifizierung von Schlafstadien interessieren, lesen Sie diesen Artikel . Es ist ein tiefes neuronales Netzwerk namens DeepSleepNet und verwendet eine Kombination aus 1D-Faltungs- und LSTM-Schichten, um EEG-Signale in Schlafstadien zu klassifizieren.
Hier ist die Architektur:
Das Netzwerk besteht aus zwei Teilen:
Am Ende befindet sich eine 5-Wege-Softmax-Schicht, die die Zeitreihen in eine von fünf Klassen unterteilt, die den Schlafstadien entsprechen.
quelle
Ich möchte die Verwendung eines Stacked-Hybrid-Ansatzes (CNN + RNN) zur Verarbeitung langer Sequenzen hervorheben :
Wie Sie vielleicht wissen, reagieren 1D-CNNs nicht auf die Reihenfolge der Zeitschritte (nicht weiter als auf einer lokalen Skala). Durch Übereinanderstapeln vieler Faltungs- und Bündelungsschichten können die letzten Schichten natürlich längere Teilsequenzen der ursprünglichen Eingabe beobachten. Dies ist jedoch möglicherweise kein wirksamer Ansatz zur Modellierung langfristiger Abhängigkeiten. Obwohl CNNs im Vergleich zu RNNs sehr schnell sind.
Andererseits sind RNNs empfindlich gegenüber der Reihenfolge von Zeitschritten und können daher die zeitlichen Abhängigkeiten sehr gut modellieren. Es ist jedoch bekannt, dass sie bei der Modellierung sehr langfristiger Abhängigkeiten schwach sind, wobei ein Zeitschritt eine zeitliche Abhängigkeit haben kann, wobei die Zeitschritte sehr weit hinten in der Eingabe liegen. Außerdem sind sie sehr langsam, wenn die Anzahl der Zeitschritte hoch ist.
Ein effektiver Ansatz könnte daher sein, CNNs und RNNs auf diese Weise zu kombinieren: Zuerst verwenden wir Faltungs- und Pool-Schichten, um die Dimensionalität der Eingabe zu reduzieren. Dies würde uns eine ziemlich komprimierte Darstellung der ursprünglichen Eingabe mit Merkmalen höherer Ebene geben. Dann können wir diese kürzere 1D-Sequenz den RNNs zur weiteren Verarbeitung zuführen. Wir nutzen also gleichzeitig die Geschwindigkeit der CNNs und die Darstellungsmöglichkeiten der RNNs. Wie bei jeder anderen Methode sollten Sie auch hiermit an Ihrem speziellen Anwendungsfall und Datensatz experimentieren, um herauszufinden, ob er effektiv ist oder nicht.
Hier ist eine grobe Illustration dieser Methode:
quelle
FWIW, ich empfehle, das Temporal Convolutional Network in diesem Artikel zu lesen (ich bin nicht der Autor). Sie haben eine gute Idee, CNN für Zeitreihendaten zu verwenden, reagieren auf die Zeitreihenfolge und können beliebig lange Sequenzen modellieren (haben aber kein Gedächtnis).
quelle