Saya sedang mengerjakan klasifikasi tahap tidur. Saya membaca beberapa artikel penelitian tentang topik ini banyak dari mereka menggunakan metode SVM atau ensemble. Apakah ide yang baik untuk menggunakan jaringan saraf convolutional untuk mengklasifikasikan sinyal EEG satu dimensi?
Saya baru dalam pekerjaan semacam ini. Maafkan saya jika saya meminta sesuatu yang salah?
neural-networks
svm
conv-neural-network
signal-processing
Fazla Rabbi Mashrur
sumber
sumber
Jawaban:
Saya kira dengan sinyal 1D yang Anda maksud adalah data deret waktu, di mana Anda menganggap ketergantungan temporal antara nilai-nilai tersebut. Dalam kasus seperti itu jaringan saraf convolutional (CNN) adalah salah satu pendekatan yang mungkin. Pendekatan jaringan saraf yang paling populer untuk data tersebut adalah dengan menggunakan jaringan saraf berulang (RNN), tetapi Anda dapat menggunakan CNN, atau pendekatan hibrid (jaringan saraf kuasi-berulang, QRNN) sebagaimana dibahas oleh Bradbury et al (2016) , dan juga diilustrasikan pada gambar mereka di bawah ini. Ada juga pendekatan lain, seperti menggunakan perhatian saja, seperti dalam jaringan Transformer yang dijelaskan oleh Vaswani et al (2017) , di mana informasi tentang waktu diteruskan melalui fitur seri Fourier .
Dengan RNN , Anda akan menggunakan sel yang menjadi input kondisi tersembunyi sebelumnya dan nilai input saat ini, untuk mengembalikan output dan status tersembunyi lainnya, sehingga informasi mengalir melalui status tersembunyi . Dengan CNN, Anda akan menggunakan jendela geser dengan lebar tertentu, yang akan terlihat pola (pelajari) tertentu dalam data, dan menumpuk jendela seperti itu di atas satu sama lain, sehingga jendela tingkat yang lebih tinggi akan mencari pola dalam tingkat yang lebih rendah pola. Menggunakan jendela geser seperti itu mungkin membantu untuk menemukan hal-hal seperti pola berulang dalam data (misalnya pola musiman). Lapisan QRNN menggabungkan kedua pendekatan. Bahkan, salah satu kelebihan dari arsitektur CNN dan QRNN adalah bahwa mereka lebih cepat daripada RNN .
sumber
Anda tentu dapat menggunakan CNN untuk mengklasifikasikan sinyal 1D. Karena Anda tertarik pada klasifikasi tahap tidur lihat makalah ini . Ini adalah jaringan saraf yang dalam yang disebut DeepSleepNet, dan menggunakan kombinasi lapisan konvolusional 1D dan LSTM untuk mengklasifikasikan sinyal EEG ke dalam tahapan sleep.
Berikut adalah arsitekturnya:
Ada dua bagian ke jaringan:
Pada akhirnya ada lapisan softmax 5 arah untuk mengklasifikasikan deret waktu menjadi satu dari lima kelas yang sesuai dengan tahapan tidur.
sumber
Saya ingin menekankan penggunaan pendekatan hybrid bertumpuk (CNN + RNN) untuk memproses urutan panjang :
Seperti yang Anda ketahui, CNN 1D tidak peka terhadap urutan waktu (tidak lebih dari skala lokal); tentu saja, dengan menumpuk banyak lilitan dan lapisan penyatuan di atas satu sama lain, lapisan terakhir dapat mengamati sub-urutan yang lebih panjang dari input asli. Namun, itu mungkin bukan pendekatan yang efektif untuk memodelkan ketergantungan jangka panjang. Meskipun, CNN sangat cepat dibandingkan dengan RNN.
Di sisi lain, RNN sensitif terhadap urutan waktu dan karenanya dapat memodelkan dependensi temporal dengan sangat baik. Namun, mereka diketahui lemah dalam memodelkan dependensi jangka panjang, di mana catatan waktu mungkin memiliki ketergantungan temporal dengan catatan waktu sangat jauh di belakang dalam input. Lebih jauh, mereka sangat lambat ketika jumlah timesteps tinggi.
Jadi, pendekatan yang efektif mungkin untuk menggabungkan CNNs dan RNNs dengan cara ini: pertama kita menggunakan lapisan konvolusi dan penyatuan untuk mengurangi dimensi input. Ini akan memberi kita representasi yang agak terkompresi dari input asli dengan fitur tingkat yang lebih tinggi. Kemudian kita bisa memberi makan urutan 1D yang lebih pendek ini ke RNN untuk diproses lebih lanjut. Jadi kami mengambil keuntungan dari kecepatan CNN serta kemampuan representasi RNN pada saat yang sama. Meskipun, seperti metode lainnya, Anda harus bereksperimen dengan ini pada use case dan dataset khusus Anda untuk mengetahui apakah itu efektif atau tidak.
Berikut ini ilustrasi kasar dari metode ini:
sumber
FWIW, saya akan merekomendasikan memeriksa Jaringan Konvolusional Temporal dari makalah ini (saya bukan penulis). Mereka memiliki ide yang rapi untuk menggunakan CNN untuk data deret waktu, sensitif terhadap urutan waktu dan dapat memodelkan urutan panjang yang sewenang-wenang (tetapi tidak memiliki memori).
sumber