Overview
A brain-inspired computing research project investigating whether Spiking Neural Networks (SNNs) — biologically plausible models where neurons communicate via discrete spikes — can match traditional CNNs for industrial anomaly detection. Two real-world datasets are used: the CWRU Bearing dataset (48kHz vibration signals from rotating motors across 10 fault classes: ball, inner race, outer race at three severities, plus normal) and the MIT-BIH / PTBDB ECG Heartbeat dataset for cardiac arrhythmia classification.
Architecture & Approach
Three architectures are evaluated across both datasets (6 Jupyter notebooks total). Architecture 1 trains a TensorFlow/Keras CNN on 32×32 windowed signal patches, then transfers its weights into a PyTorch SNN and fine-tunes. Architecture 2 is an Enhanced Deep CNN with regularization, class weighting, early stopping, and LR scheduling — serving as a stronger CNN baseline. Architecture 3 is a pure PyTorch pipeline: a standard ANN is trained first, then a SNN is trained using surrogate gradient methods (approximating the non-differentiable Heaviside spike function) with rate coding for input representation. Raw .mat vibration files are loaded with SciPy and segmented into overlapping 32×32 windows; ECG CSVs are normalized, padded/truncated to equal length, and reshaped to 32×32.
Results & Outcome
Architecture 1's CNN→SNN weight transfer showed that pre-trained CNN representations provide a strong initialization for SNNs, reducing training time on both datasets. Architecture 3's surrogate gradient approach enabled direct SNN backpropagation without a CNN intermediary. Architecture 2 (Enhanced CNN) served as the strongest pure-accuracy baseline with early stopping preventing overfitting on the smaller ECG dataset. Full results, methodology, and per-class performance metrics are documented in the included research report.