GithubHelp home page GithubHelp logo

likith012 / muleeg Goto Github PK

View Code? Open in Web Editor NEW
29.0 5.0 20.0 31.63 MB

Official implementation of our MICCAI 2022 paper "mulEEG: A Multi-View Representation Learning on EEG Signals"

License: Apache License 2.0

Python 99.23% Dockerfile 0.77%
self-supervised-learning representation-learning sleep-staging deep-learning multi-view-learning time-series electroencephalography miccai

muleeg's Introduction

License Code style: black GitHub pull requests GitHub issues

mulEEG: A Multi-View Representation Learning on EEG Signals

This repostiory contains code, results and dataset links for our MICCAI-2022 paper titled mulEEG: A Multi-View Representation Learning on EEG Signals. ๐Ÿ“

Authors: 1Likith Reddy, 1Vamsi Kumar, Shivam Kumar Sharma, Kamalakar Dadi, Chiranjeevi Yarra, Bapi Raju and Srijithesh Rajendran

1Equal contribution

More details on the paper can be found here.

Raise an issue for any query regarding the code, paper or for any support.

Table of contents

Introduction ๐Ÿ”ฅ

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.

Highlights โœจ

  • 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.

Results ๐Ÿ•บ

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.

Getting started ๐Ÿฅท

Setting up the environment

  • All the development work is done using Python 3.7
  • Install all the necessary dependencies using requirements.txt file. Run pip install -r requirements.txt in terminal
  • Alternatively, set up the environment and train the model using the Dockerfile. Run docker build -f Dockerfile -t <image_name> .

What each file does

TODO

Training the model

TODO

Testing the model

TODO

Logs and checkpoints

  • The logs are saved in logs/ directory.
  • The model checkpoints are saved in checkpoints/ directory.

Getting the weights ๐Ÿ‹๏ธ

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

License and Citation ๐Ÿ“ฐ

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}
}

muleeg's People

Contributors

likith012 avatar vamsi231297 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

muleeg's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.