We develop AI systems that automate EEG analysis, reducing review time by 4x and increasing sensitivity to rare patterns. Manual EEG analysis is a bottleneck in epilepsy diagnosis—a neurophysiologist spends 20-45 minutes on a 30-minute recording, and 24-hour monitoring is impossible to review completely without missing events. Our AI system flags suspicious epochs, reducing review time to 5-10 minutes. With 10+ years of experience in medical AI, we have delivered 50+ EEG analysis projects—from seizure detection to BCI.
How does AI detection of epileptic discharges work?
Detection of epileptiform activity involves searching for spikes, sharp waves, and spike-wave complexes. We use CNN+LSTM on EEG epoch time series. On public datasets CHB-MIT and TUH EEG, we achieve sensitivity 92-96% and specificity 86-91%. Our model outperforms classical machine learning methods (SVM, Random Forest) by 15-20% in F1 score. From our practice: a client project with 24-hour recordings—automatic annotation reduced neurologist time by 4x, uncovering 30% additional discharges missed during manual review. For a typical clinic, this translates to savings of $10,000 per month in neurologist time.
Why is EEGNet effective for EEG time series?
EEGNet is a compact convolutional network specifically designed for processing multichannel EEG. It uses depthwise and separable convolutions, greatly reducing the number of parameters. The model weighs 2-5 MB, almost 10 times less than transformers (e.g., LaBraM). This enables easy deployment on edge devices (ARM Cortex, Jetson). We adapt it to your electrode configuration (10-20 or 10-10 system).
# EEGNet — compact CNN specifically for EEG
class EEGNet(nn.Module):
def __init__(self, n_classes, channels=64, samples=128):
super().__init__()
self.temporal_conv = nn.Conv2d(1, 8, (1, 64), padding=(0, 32), bias=False)
self.bn1 = nn.BatchNorm2d(8)
self.depthwise = nn.Conv2d(8, 16, (channels, 1), groups=8, bias=False)
self.bn2 = nn.BatchNorm2d(16)
self.separable = nn.Conv2d(16, 16, (1, 16), padding=(0, 8), bias=False)
self.bn3 = nn.BatchNorm2d(16)
self.dropout = nn.Dropout(0.5)
self.fc = nn.Linear(16 * (samples//4), n_classes)
Comparison of architectures for EEG
| Architecture | Parameters | Latency (ms) | F1 (seizure) | Application |
|---|---|---|---|---|
| EEGNet | 2–5 MB | <50 | 0.91 | Edge/portable |
| CNN+LSTM | 10–20 MB | 100–200 | 0.94 | Clinical server |
| Transformer (LaBraM) | 50–100 MB | 300–500 | 0.96 | Cloud/high accuracy |
What tasks do we automate?
Automatic Sleep Staging—labeling N1, N2, N3, REM, Wake by 30-second epochs. Cohen's Kappa 0.77-0.81, comparable to inter-rater agreement. Manual work takes 2-4 hours per night—with AI you get a ready hypnogram in minutes.
Anesthesia depth monitoring—we build custom ML models for propofol, isoflurane (different EEG patterns). Alternative to commercial BIS.
Brain-Computer Interface (BCI)—decode motor imagery and SSVEP to control prostheses, spellers, or exoskeletons.
Cognitive load and stress—neurofeedback, operator monitoring (aviation, nuclear plants): fatigue detection via EEG biomarkers.
Deliverables
Each project includes the following deliverables:
| Stage | Result |
|---|---|
| Data analysis | Collection and annotation of your EEG, artifact cleaning (ICA, ML classifiers) |
| Model development | Architecture selection (EEGNet, CNN+LSTM, Transformer), training, validation |
| Optimization | INT8 quantization, ONNX, reduce model to 2-5 MB for edge |
| Deployment | Integration into your system: cloud (SageMaker, Vertex AI) or edge (ARM, Jetson) |
| Documentation and training | Model card, user manual, staff training |
| Support | Warranty maintenance, retraining when new data appears |
How we do it: stack and case study
We use PyTorch, Hugging Face Transformers, LangChain for pipelines. For time series—1D CNN/Transformer or time-frequency (STFT, wavelet) → 2D CNN. Spatial information is captured via electrode map (2D CNN or GNN).
From our practice: an ambulatory EEG monitor for seizure detection. EEGNet model (3.2 MB) runs on ARM Cortex-M4, latency <300 ms, battery lasts 48 hours. Sensitivity 94%, specificity 88%. Result: doctors receive a smartphone alert when a seizure is suspected. If your project requires a similar solution, contact us—we will prepare a prototype in 2 weeks.
Foundation Models for EEG—we use LaBraM, pre-trained on 25,000+ EEGs (TUEG). Fine-tuning on your data reduces the need for labeling to 10-20 hours. This is especially relevant if you have a limited volume of annotated recordings.
Developing an EEG analysis model: 5 steps
- Data collection and preprocessing—load data, remove artifacts (ICA, ML classifiers), filter bands (0.5-70 Hz).
- Architecture selection—compare EEGNet, CNN+LSTM, Transformer on latency/accuracy metrics.
- Training and validation—k-fold cross-validation, hyperparameter tuning (learning rate, batch size).
- Optimization—quantize to INT8, export to ONNX, test on target device.
- Deployment and monitoring—integrate into your infrastructure, set up logging, A/B testing.
Technical details of model training
We use AdamW optimizer, cosine learning rate schedule, early stopping on validation loss. For imbalanced classes (rare discharges) we apply focal loss. Data augmentation: time shift, noise addition, channel masking.Timelines and cost
Timelines: from 4 to 16 weeks depending on complexity (task type, data volume, edge deployment requirements). Cost is calculated individually after analyzing your benchmark and requirements. We guarantee 12 months of support and free retraining when new data appears within the first year.
Have a project? Contact us for a consultation—our AI engineer will assess your data for free and propose the optimal solution.
Order a pilot project: a model prototype on your dataset in 2 weeks.







