This repostiory contains code, results and dataset links for our paper titled mulEEG: A Multi-View Representation Learning on EEG Signals. 📝
Authors: 1Vamsi Kumar, 1Likith Reddy, Shivam Kumar Sharma, Kamalakar Dadi, Chiranjeevi Yarra, Bapi Raju and Srijithesh Rajendran
1Equal contribution
More details on the paper can be found here.
Modeling effective representations using multiple views that positively influence each other is challenging, and the existing methods perform poorly on Electroencephalogram (EEG) signals for sleep-staging tasks. In this paper, we propose a novel multi-view self-supervised method (mulEEG) for unsupervised EEG representation learning. Our method attempts to effectively utilize the complementary information available in multiple views to learn better representations. We introduce diverse loss that further encourages complementary information across multiple views. Our method with no access to labels, beats the supervised training while outperforming multi-view baseline methods on transfer learning experiments carried out on sleep-staging tasks. We posit that our method was able to learn better representations by using complementary multi-views.
- A self-supervised model pre-trained on unlabelled Electroencephalography (EEG) data beating the supervised counterpart 💥.
- Complete pre-processing pipeline, augmentation and training scripts are available for experimentation.
- Pre-trained model weights are provided for reproducability.
Linear evaluation results on Sleep-EDF dataset pre-trained on large SHHS dataset.
Accuracy | κ | Macro F1-score | |
---|---|---|---|
Randomly Initialized | 38.68 | 0.1032 | 16.54 |
Single-View | 76.73 | 0.6669 | 66.42 |
Simple Fusion | 76.75 | 0.6658 | 65.78 |
CMC | 75.84 | 0.6520 | 64.40 |
Supervised | 77.88 | 0.6838 | 67.84 |
Ours | 78.18 | 0.6869 | 67.88 |
Ours + diverse loss | 78.54 | 0.6914 | 68.10 |
Our method performs better substantially in a low labelled data regime.
t-SNE visualization using our method (no labels used) shows clear clusters and captures the sleep-staging progression observed clinically.
- All the development work is done using
Python 3.7
- Install all the necessary dependencies using
requirements.txt
file. Runpip install -r requirements.txt
in terminal - Alternatively, set up the environment and train the model using the
Dockerfile
. Rundocker build -f Dockerfile -t <image_name> .
TODO
TODO
TODO
- The logs are saved in
logs/
directory. - The model checkpoints are saved in
checkpoints/
directory.
Download the model weights for all the baseline methods and ours.
Name | Sleep-EDF | SHHS |
---|---|---|
Single-View | link | link |
Simple Fusion | link | link |
CMC | link | link |
Supervised | link | link |
Ours + diverse loss | link | link |
The software is licensed under the Apache License 2.0. Please cite the following paper if you have used this code:
@misc{kumar2022muleeg,
title={mulEEG: A Multi-View Representation Learning on EEG Signals},
author={Vamsi Kumar and Likith Reddy and Shivam Kumar Sharma and Kamalakar Dadi and Chiranjeevi Yarra and Bapi S. Raju and Srijithesh Rajendran},
year={2022},
eprint={2204.03272},
archivePrefix={arXiv},
primaryClass={cs.LG}
}