I am developing a non-invasive BCI prototype using OpenBCI hardware. I'm struggling with high signal-to-noise ratios in EEG data. Between Convolutional Neural Networks (CNNs) and Recurrent Neural Networks (RNNs/LSTMs), which architecture is currently providing the best accuracy for motor imagery classification in real-time environments?
3 answers
For real-time EEG, CNNs—specifically architectures like EEGNet—are currently outperforming traditional RNNs. EEGNet is designed to handle the spatial and temporal features of EEG signals while maintaining a very low parameter count, which is vital for low-latency BCI applications. RNNs are theoretically better for sequences, but they often struggle with the vanishing gradient problem when dealing with long EEG epochs. I recommend starting with a temporal-spatial CNN approach to filter out artifacts effectively before moving to more complex hybrid models.
Have you looked into using Transformers for this, or do you think the computational overhead for self-attention is still too high for portable BCI hardware?
I've had the best results using a hybrid CNN-LSTM model. It captures the spatial electrode layout and the temporal progression of the brain waves simultaneously.
I agree with Sandra. Combining those two layers provides a much more robust feature map, especially when trying to distinguish between subtle motor imagery tasks.
Mark, that’s a sharp observation. Transformers are showing great promise in research (like the Vision Transformer adaptations), but for edge-based BCI, the latency is often a dealbreaker. To answer you: unless you are offloading the compute to a powerful server, stick with optimized CNNs for now to keep response times under 100ms.