Bag of Tricks for Electrocardiogram Classification with Deep Neural Networks

Seonwoo Min
Seoul National University


Introduction: Electrocardiogram (ECG) is a commonly used non-invasive diagnostic tool that records the electrical activity of the heart. The standard 12-lead ECG is pivotal for detecting a wide spectrum of cardiac abnormalities from atrial fibrillations to premature ventricular complex. Computer-aided classification of ECG has become more and more significant in the everyday practice of clinical medicine.

Backgrounds: Building upon the success of deep learning, recent algorithmic advances in ECG classification are largely contributed to a deep neural network (DNN). While several works have shown some performance improvements, they are still based on a relatively straightforward application of DNNs. Training procedure and model architecture refinements for ECG have not been thoroughly studied, which leaves incredible room for expansion and innovation.

Methods: In this work, we develop a 26-layer deep residual convolutional neural network (CNN) to classify nine clinical diagnoses from 12-lead ECG signals. We focus on examining a collection of training procedure and model architecture refinements for ECG as follows: 1) We preprocess each ECG signal from 12 leads with frequency filters and normalize them by the mean and variance. 2) To deal with variable-length signals, we do not use zero-padding but process each signal individually. 3) We replace standard batch normalization in CNNs with group normalization. 4) We use binary cross-entropy loss function for multi-labeled signals.

Results: We used PhysioNet/CinC challenge 2020 dataset containing 6,877 recordings with 9:1 training and validation splits. Our empirical evaluation shows that combining several refinements lead to significant performance improvement. From our validation set, our ensemble model from five different CNNs obtained an F_2 score of 0.844 and a G_2 score of 0.643. From the challenge submission, it received an F_2 score of 0.829 and a G_2 score of 0.626, ranking 4th on the leaderboard.