mit-bih-ecg-eval
SparrowSNN: A Hardware/software Co-design for Energy Efficient ECG Classification — Yan et al. (2024) (arXiv:2406.06543, 2024)
What this evaluates
Evaluates the classification accuracy and energy efficiency of a hardware-aware spiking neural network (SNN) for real-time ECG beat detection and categorization.
Datasets
- MIT-BIH — total ?; splits: train (-1), test (-1), online (-1)
Metrics
Accuracy(primary) — range: percent- Percentage of correctly classified heartbeats out of the total test set.
Sensitivity (Se)— range: percent- True Positive Rate: TP / (TP + FN).
Positive Predictivity (P+)— range: percent- Precision: TP / (TP + FP).
Energy per inference— range: nJ- Total energy consumed per heartbeat classification, calculated from dynamic/static power, memory read/write energy, and leakage over the inference cycle count.
Input / output format
Input: 180-sample ECG window centered on an R-peak, normalized to [0, 1].
Output: One of four class labels (N, SVEB, VEB, F) and associated energy/power metrics.
Scoring recipe
def evaluate(predictions, gold):
correct = sum(1 for p, g in zip(predictions, gold) if p == g)
accuracy = correct / len(gold)
tp = sum(1 for p, g in zip(predictions, gold) if p == g == 'N')
fn = sum(1 for p, g in zip(predictions, gold) if p != g and g == 'N')
fp = sum(1 for p, g in zip(predictions, gold) if p != g and p == 'N')
se = tp / (tp + fn) if (tp + fn) > 0 else 0
pp = tp / (tp + fp) if (tp + fp) > 0 else 0
return accuracy, se, pp
Common pitfalls
- Energy estimates are tightly coupled to the 22nm ASIC synthesis and 4MHz clock frequency, making direct comparisons with other works at different nodes or frequencies misleading.
- Training data is heavily augmented with SMOTE to balance classes, which inflates training set size but does not reflect real-world class imbalance.
- Patient-specific online training uses 20% of a patient's data for fine-tuning, which is not available in standard zero-shot or fully supervised benchmarks.
Evidence (verbatim from paper)
We evaluate the performance before and after per-patient fine-tuning using two key metrics: sensitivity (Se) and positive predictivity (P+) [6], with calculations detailed below: Se = TP / (TP + FN); P+ = TP / (TP + FP). where TP FN and FP indicate true positive, false negative and false positive. ... The overall accuracy of the SNN has increased by 1.57%.
Citation
@misc{yan2024sparrowsnn,
title={SparrowSNN: A Hardware/software Co-design for Energy Efficient ECG Classification},
author={Yan et al. (2024)},
year={2024},
note={arXiv:2406.06543}
}
- arXiv: 2406.06543