Authors: Rasmus Moorits Veski, Lina Berrayana, Francesco Maria Guadagnuolo, Lysandre Costes
In this project, we use Graph Neural Networks (GNNs) on Electroencephalography (EEG) signals for epilepsy detection. We use several GNN pipelines and compare them with non-graph-based methods. We also consider some models that capture higher-order relationship in brain activity.
Our best model architecture consists of leveraging the temporal essence of the data through aggregation of GAT embeddings with an LSTM, which can be found in the folder Spatial_temporal_model.
Our second best model architecture uses frequency-domain techniques to extract meaningful features from data and then uses a GIN. It can be found in the folder GIN.
The data used for the original experiments is the Temple University Hospital EEG Seizure Corpus (TUSZ) (link)
We hold our experiments in separate directories. Each contains a method for epilepsy classification and guide for running it. Detailed breakdown of experiments and their results is found in report.pdf.
-
Predicting from raw data
Raw Data Fully Connected: Predicting from unprocessed data using GNNs using a full graphRaw Data Distance Graph: Predicting from unprocessed data using GNNs using electrode distance based graphs
-
Pre-made features:
Stat + PSD + Entropy features: Experiments using hand-crafted features, such as mean, standard deviation, third, and fourth centred moments.
-
Experiments in Frequency domain:
GIN: Experiments viewing the data in the frequency domain using a Graph Isomorphism Network (GIN).
-
Utilizing edge attributes:
GINE: Experiment with GIN using edge features (GIN-E).
-
Experiments leveraging the temporal dimension:
Spatial_temporal_model: Our best model. An implementation combining a GNN for spatial features with an RNN for temporal dynamics.Transformer-GNN: Creating an embedding for each node using a transformer and passing it as a graph to a GNN.
-
Baseline, Non-graph method
LSTM: Contains an implementation of a standard LSTM model without any GNN.
-
Beyond GNNs:
HGNN: implements a Temporal Trasnformer and passess the embeddings to a Hypergraph Neural Network.Hypergraph Attention: contains a Hypergraph Attention Neural Network that uses the features described in 'Pre-made features'Hyper-coherence lstm: for each time stamp, we compute "hyper-coherence" as described in https://www.nature.com/articles/s41567-022-01852-0 and them give it to an LSTMPersistent Homology: we calculate amplitude and entropy of persistent homology of dimension 1 and 2, and then use a Random Forest Classifier.