Altaheri/EEG-ATCNet

Attention temporal convolutional network for EEG-based motor imagery classification

What it solves

This project implements a neural network architecture designed to classify motor imagery (MI) EEG signals. It addresses the challenge of accurately decoding brain signals associated with imagining movement to enable better brain-computer interfaces (BCI).

How it works

ATCNet uses a physics-informed approach combining three main components:

  1. Convolutional (CV) block: Extracts low-level spatio-temporal information from EEG signals into high-level temporal representations.
  2. Attention (AT) block: Uses multi-head self-attention (MHA) to highlight the most critical information within the temporal sequence.
  3. Temporal Convolutional (TC) block: Extracts high-level temporal features from the highlighted data.

The model also employs a convolutional-based sliding window to augment data and improve classification performance. It supports various attention schemes including multi-head self-attention (mha), locality self-attention (mhla), squeeze-and-excitation (se), and convolutional block attention modules (cbam).

Who it’s for

Researchers and developers working on EEG-based motor imagery classification, brain-computer interfaces, and neural signal processing using TensorFlow.

Highlights

  • Physics-informed architecture: Combines convolutional layers with attention mechanisms and temporal convolutional networks.
  • Benches against multiple models: Includes implementations of EEGNet, EEG-TCNet, DeepConvNet, and others for comparison.
  • Flexible attention: Supports multiple interchangeable attention mechanisms (MHA, MHLA, SE, CBAM).
  • Evaluation strategies: Provides tools for both subject-specific and subject-independent (Leave One Subject Out) evaluation.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Project