DOI QR코드

DOI QR Code

Optimization of 1D CNN Model Factors for ECG Signal Classification

  • Lee, Hyun-Ji (Dept. of Material Processing and Engineering, Inha University) ;
  • Kang, Hyeon-Ah (Software Convergence Engineering, Inha University) ;
  • Lee, Seung-Hyun (Dept. of Material Processing and Engineering, Inha University) ;
  • Lee, Chang-Hyun (Dept. of Material Processing and Engineering, Inha University) ;
  • Park, Seung-Bo (Software Convergence Engineering, Inha University)
  • Received : 2021.07.09
  • Accepted : 2021.07.26
  • Published : 2021.07.30

Abstract

In this paper, we classify ECG signal data for mobile devices using deep learning models. To classify abnormal heartbeats with high accuracy, three factors of the deep learning model are selected, and the classification accuracy is compared according to the changes in the conditions of the factors. We apply a CNN model that can self-extract features of ECG data and compare the performance of a total of 48 combinations by combining conditions of the depth of model, optimization method, and activation functions that compose the model. Deriving the combination of conditions with the highest accuracy, we obtained the highest classification accuracy of 97.88% when we applied 19 convolutional layers, an optimization method SGD, and an activation function Mish. In this experiment, we confirmed the suitability of feature extraction and abnormal beat detection of 1-channel ECG signals using CNN.

본 논문에서는 딥러닝 모델을 이용하여 모바일 기기의 심전도 신호 측정 데이터를 분류한다. 비정상 심장박동을 높은 정확도로 분류하기 위해 딥러닝 모델의 구성 요소 세 가지를 선정하고 요소의 조건 변화에 따른 분류 정확도를 비교한다. 심전도 신호 데이터의 특징을 스스로 추출할 수 있는 CNN 모델을 적용하고 모델을 구성하는 모델의 깊이, 최적화 방법, 활성화 함수의 조건을 변경하여 총 48개의 조합의 성능을 비교한다. 가장 높은 정확도를 보이는 조건의 조합을 도출한 결과 컨볼루션 레이어 19개, 최적화 방법 SGD, 활성화 함수 Mish를 적용하였을 때 정확도 97.88%로 모든 조합 중 가장 높은 분류 정확도를 얻었다. 이 실험에서 CNN을 활용한 1-채널 심전도 신호의 특징 추출과 비정상 박동 검출의 적합성을 확인하였다.

Keywords

I. Introduction

부정맥은 심장박동의 속도나 리듬과 관련한 심장질환으로 심장의 비정상적인 전기적 활동으로 발생하며 부정맥이 발생하면 심장의 불규칙한 리듬이 나타난다[1,2]. 이러한 비정상적 변화는 기저 질환이나 부상, 유전적 영향으로 나타날 수 있으나 해당 사항이 없는 건강한 사람에게도 음주와 흡연 같은 평소 습관이나 스트레스 등의 영향으로 갑자기 나타날 수 있다. 또한 부정맥이 발생하면 가슴 통증이나 불안감 등의 일반적인 증상 발생부터 심한 경우 갑작스러운 사망에 이를 수 있으므로 심장질환에 의한 사고를 예방하기 위해서는 정확하고 빠른 진단이 매우 중요하다.

심전도(ECG, Electrocardiography)는 심장질환을 진단하기 위한 기본적인 기술로 현재까지도 가장 널리 사용되고 있다[3]. 이상적인 정상 심장박동의 심전도 신호는 Fig. 1과 같이 나타나며 여러 파형의 시간에 따른 연결로 이루어진다. P파, QRS 파, T 파가 순서대로 나타나며 그중 QRS 파의 경우 심장의 상태를 나타내는 정보와 특징이 뚜렷하다. 따라서 심전도를 통한 심장질환의 진단은 QRS 파를 얼마나 정확하게 검출하여 특징을 추출할 수 있는지에 따라 그 성능이 달라진다[4].

CPTSCQ_2021_v26n7_29_f0001.png 이미지

Fig. 1. Main Components from an Electrocardiogram showing an ideal heartbeat

한편 최근에는 일상생활에서 실시간으로 비정상 박동을 검출하기 위해 웨어러블 및 모바일 기기를 이용한 심장 박동 검출 기술이 주목받고 있으며 대부분은 단일 리드로 심전도 신호를 기록한다. 하지만 단일 리드의 경우 전문 의료 장비에 적용된 다중 리드 심전도와 비교했을 때 포함된 비정상 박동의 정보가 제한적이므로 부정맥같이 복잡한 신호를 검출하는 데 어려움이 발생할 수 있다[5]. 따라서 모바일 기기를 이용하여 비정상 박동을 정확하게 검출하기 위해서는 단일 리드 심전도의 제한된 정보를 이용하여 심장질환의 특징을 명확하게 추출할 수 있어야 한다.

심전도 신호의 매우 다양하고 복잡한 파형의 종류를 정확하게 분류하기 위해 머신러닝이나 딥러닝을 이용하여 심전도 신호를 분석하고자 하는 연구가 꾸준히 이루어지고 있다. Support Vector Machine(SVM)이나 Random Forest(RF) 같은 분류 알고리즘을 이용하는 경우 정확한 분류를 위해서 전문지식을 바탕으로 한 특징 추출단계가 필수적이며 Deep Neural Networks(DNNs) 모델은 비정상 박동을 높은 정확도로 분류할 수 있지만 모델 학습에 매우 많은 양의 데이터가 필요하다. 본 논문에서는 앞서 언급된 두 가지를 고려하여 전문지식이 없어도 상대적으로 적은 양의 데이터를 바탕으로 자동으로 특징을 추출할 수 있는 Convolutional Neural Networks(CNNs)을 적용하여 심전도 신호를 통한 심장의 이상 박동을 분류하고자 하였다. 또한 기존에 Kachuee 등에 의해 고안된 CNN 모델[6]을 바탕으로 심전도 신호 분류의 정확도를 높이기 위해 딥러닝 모델 성능에 영향을 주는 모델의 깊이, 활성화 함수, 최적화 방법에 여러 조건을 설정하여 가장 우수한 성능을 보이는 조합을 찾고 성능을 비교하고자 하였다.

II. Preliminaries

딥러닝 모델을 구성하는 인자들이 모델 성능에 미치는 영향은 이전 다양한 실험을 통해 연구되었으며 이는 실험에 적합한 모델의 파라미터를 구성할 때 매우 중요하다.

대규모의 이미지를 분류하는 작업에서 CNN 모델의 깊이가 분류 성능에 미치는 영향은 기존 연구를 통해 입증되었다 [7]. 일반적으로 모델의 깊이가 깊어질수록 모델의 정확도는 높아지다가 깊이가 일정 이상이 되면 정확도가 떨어지고 에러율이 높아지게 된다. 이를 해결하기 위해 He et al.은 Deep Residual Learning Model(ResNet)을 제안하였으며 기존의 모델에 shortcut 연결을 추가하여 모델의 깊이가 매우 커져도 낮은 에러율을 보이는 것을 입증하였다[8].

최적화 방법은 모델의 학습 속도와 성능에 영향을 미치는 요소이며 기존 연구에서는 Stochastic Gradient Descent (SGD), Adam, Momentum을 적용하여 CNN 모델의 성능을 비교하였다[9]. 실험 결과 근소한 차이로 SGD를 적용한 모델의 성능이 가장 우수했으나 최적화 방법의 종류에 따라 큰 성능의 차이는 없었으며 초 매개변수조정에 따라 성능에 차이를 보이는 것을 확인하였다.

활성화 함수는 입력값에 일정한 연산을 적용하여 출력값을 결정하는 함수로 ReLU 함수가 가장 널리 사용되고 있다. CNN 모델에 ReLU, Leaky ReLU, APL을 각각 적용하여 모델의 성능을 비교하였을 때 모델의 성능 차는 약 1.8%로 비교적 큰 수치를 보였다[10].

III. Configuration for Deep Learning Model

1. The MIT-BIH Arrhythmia Database

심전도 신호를 이용하여 부정맥을 판별하기 위해 PhysioNet에서 제공하는 MIT-BIH arrhythmia database를 사용하였으며 해당 데이터는 두 종류의 리드로 총 47명의 피실험자의 심전도를 측정한 데이터를 포함하고 있다[11]. 단일 리드 측정 데이터로 사용하기 위해 전체 데이터 중 MLⅡ 리드 측정 데이터만 추출하였으며 해당 데이터를 포함하지 않은 피실험자를 제외하고 총 45명의 단일 리드 데이터를 사용하였다. 또한 Fig. 2에 나타난 바와 같이 Association for the Advancement of Medical Instrumentation (AAMI) 카테고리에 맞춰 심장 박동의 종류를 5개의 클래스로 재분류하였다.

CPTSCQ_2021_v26n7_29_f0002.png 이미지

Fig. 2. Mapping Original Heartbeat Types in the MIT-BIH Arrhythmia Database to AAMI Groups

재분류한 카테고리에 따른 총 데이터의 개수는 Table 1 에 나타나 있다. 정상 박동을 나타내는 N 카테고리의 데이터 수가 82, 242개로 가장 많고 혼합 박동을 나타내는 F 카테고리의 데이터 수는 801개로 가장 적었다. 카테고리에 따른 데이터 수의 차가 크기 때문에 정확한 실험을 위해 가장 적은 데이터 수를 가진 F 카테고리에 오버 샘플링을 적용하여 각 카테고리에 포함된 데이터의 비율을 맞춰주었다. 그 결과 F 카테고리는 최종적으로 2, 337개의 데이터를 포함하며 각 카테고리에서 2, 337개의 데이터를 무작위 추출하여 총 11, 685개의 측정 데이터를 이번 실험에 사용하였다. 또한 모델의 학습, 검증 및 평가를 위해 데이터를 6:2:2 비율로 분할 하였으며 학습 데이터 7, 011개, 검증 데이터와 평가데이터는 각각 2, 337개로 구성되었다.

Table 1. Amount of Data by Category

CPTSCQ_2021_v26n7_29_t0001.png 이미지

2. Deep Learning Models

본 논문에서는 Skip Connection을 포함한 CNN 모델을 이용하여 심전도 신호를 분류하였으며 학습, 검증, 평가데이터를 분리하여 모델의 입력 데이터로 사용하였다. 사용한 모델은 Fig. 3와 같이 신호의 특징을 추출하기 위한 여러 개의 잔차 블록(Residual block)들로 구성되며 이후 두 개의 완전 연결 계층(Fully-Connected Layer)을지나 심전도 신호를 다섯 종류의 클래스로 분류하였다. 크기가 5인 커널 32개가 적용된 컨볼루션 층을 첫 번째 은닉층으로 적용하였으며 이후 잔차 블록이 적용되었다. 잔차블록은 두 개의 컨볼루션 층과 두 개의 활성화 함수, Skip connection과 풀링 계층을 포함하며 잔차 블록 내 모든풀링 계층은 크기 5의 최대 풀링이 적용되었다. 첫 번째잔차 블록에서 컨볼루션 층에 크기가 5인 커널 32개가 적용되었으며 이 외 나머지 잔차 블록 내 컨볼루션 층은 크기가 5인 64개의 커널을 적용하였다. 이후 입력값은 크기 5의 평균 풀링 계층을 거치고 두 개의 완전 연결 층을 거쳐 출력값으로 나오게 된다.

CPTSCQ_2021_v26n7_29_f0003.png 이미지

Fig. 3. The Proposed Architecture of the Deep Learning Model

3. Factors of Proposed Model

모델의 구성 요소 변화에 따른 심전도 분류 성능을 비교하기 위해 앞서 설명한 모델 구조를 기반으로 모델의 깊이 4종류, 활성화 함수 4종류, 최적화 방법 3종류를 선정하였다. 각 요소의 종류를 변경하여 조건을 조합하였고 총 48 개의 조건으로 심전도 신호 분류를 위한 학습 및 평가를 진행하였다.

모델의 구성 요소 중 첫 번째로 모델의 깊이에 따른 딥러닝 모델의 성능을 비교하기 위해 서로 다른 개수의 레이어를 가진 네 개의 모델이 적용되었으며 전체적으로 동일한 모델 구조를 바탕으로 첫 번째 컨볼루션 레이어 이후잔차 블록의 개수에 다르게 하여 모델의 깊이를 다르게 하였다. 결과적으로 각 모델이 포함하는 잔차 블록의 개수는 각각 4, 8, 12, 16개로 이때 각각 11, 19, 27, 35개의 컨볼루션 레이어를 포함하고 있다.

Table 2. Optimizers used in this experiment

CPTSCQ_2021_v26n7_29_t0002.png 이미지

또한 SGD, Adam, Adadelta 함수를 적용하여 세 가지의 최적화 방법에 따른 모델의 성능을 비교하고자 하였으며 이 실험에서 사용한 최적화 함수는 Table 2에 나타내었다. SGD는 가장 간단한 형태의 최적화 함수로 GD 방식의 단점을 보완하기 위해 사용되며 부분적인 데이터를 이용하기 때문에 최적화 속도가 빠르며 파라미터 설정에 따라 성능의 차이가 존재한다. Adam은 AdaGrad와 RMSProp의장점을 바탕으로 고안되었으며 기울기의 첫 번째와 두 번째 모멘텀에 따른 파라미터 변화와 학습 속도를 계산해 나가는 방식이다. 넓은 범위의 non-convex 함수에서 우수한 성능을 보인다. Adadelta는 AdaGrad의 단점을 보완하기 위해 처음 사용되었으며 가변 델타값이 적용되므로 학습률 크기가 자동 적용되어 매개변수의 조정 과정을 생략할 수 있을 뿐만 아니라 광범위한 입력 데이터에 적용하였을 때 안정적인 수렴률을 보인다는 특징이 있다.

마지막으로 활성화 함수에 따른 모델의 성능을 비교하기 위해 ReLU, Leaky ReLU, Swish, Mish 함수를 적용하였으며 실험에 사용된 네 가지의 활성화 함수는 Fig. 4 와 같이 나타낼 수 있다. ReLU는 현재 가장 널리 사용되고 있는 활성화 함수로 입력값이 양수일 때는 값의 변화 없이 그대로 출력되지만 입력값이 음수일 때 출력값이 0이 되기 때문에 상대적으로 연산량이 적으며 딥러닝 모델에 적용하였을 때 일반적으로 우수한 성능을 보인다. Leaky ReLU는 ReLU의 단점을 보완하기 위해 고안되었으며 음수 영역에 작은 기울기를 적용하여 출력값이 0이 아닌 값을 갖게 된다. 이번 실험에서는 음수 영역에서의 기울기를 0.01로 설정하였다. Swish는 설정 변수인 β에 따라 선형함수와 ReLU 사이의 형태를 가질 수 있으며 β값이 무한을 가질 때 ReLU와 같은 형태를 가진다. Mish는 Swish와 비슷하지만 설정 범위에 따라 하향 제한값을 가진다. 각 활성화 함수의 수학적 정의는 Table 3에 나타내었다.

CPTSCQ_2021_v26n7_29_f0004.png 이미지

Fig. 4. The Four Activation Functions Used in Paper

Table 3. Mathematical Definition of the Four Activation Functions Used in Paper

CPTSCQ_2021_v26n7_29_t0003.png 이미지

4. Experimental Method

4.1 Data Preprocessing

심전도 신호의 특징을 자동 추출하기 위해서는 QRS 파를 명확하게 검출하는 것이 가장 중요하지만 잡음이 포함된 원시 데이터에서 파형 같은 구성 요소를 구분하는 것은 매우 어렵다. 따라서 CNN의 특징 추출의 정확도를 높이기 위해 먼저 원시 데이터의 잡음을 제거하였으며 잡음의 종류에 따라 해당하는 주파수의 범위가 다르므로 각 잡음의 특징에 따라 필터링을 진행하였다.

CPTSCQ_2021_v26n7_29_f0005.png 이미지

Fig. 5. ECG Signals According to Filtering Sequence

필터링 단계 진행에 따른 심전도 신호의 형태는 Fig. 5 와 같다. 첫 번째 필터는 QRS 파를 뚜렷하게 하기 위한 것으로 360Hz에 맞춘 이상적인 QRS 파 형태의 필터와 원시 데이터를 합성곱 연산하여 파형의 특징을 극대화하였다. 두 번째 필터는 기저선 변동 잡음을 제거하기 위한 단계로 심전도 측정 중 몸의 움직임 등에 의한 원인으로 발생하는 잡음을 제거하며 차단 주파수는 0.05Hz로 설정하였다. 세 번째 필터는 근육의 전기적 활동으로 인한 잡음을 제거하기 위해 적용되었으며 0.5Hz 이하의 주파수를 차단하였다. 네 번째 필터는 50Hz를 차단 주파수로 설정하여 전원 잡음을 제거하도록 하였으며 이후 차단 주파수범위를 5Hz~45Hz, 1Hz~100Hz로 설정하여 남아있는 잡음을 제거하였다.

4.2 Experimental Process

이번 실험은 Fig. 6에 나타난 순서로 진행되었다. 앞서 설명한 데이터 전처리 방법을 바탕으로 5개의 카테고리를 가진 심전도 데이터(N, S, V, F, Q) 96, 687개의 잡음을 제거하여 딥러닝 모델의 입력 데이터로 사용하였다. 또한 Fig. 5와 같은 구조를 가지는 딥러닝 모델을 이용하여 모델을 구성하는 세 가지 요소인 모델의 깊이, 최적화 방법, 활성화 함수를 선정하고 각 요소의 조건에 따라 서로 다른 조합을 가진 48개의 모델을 구성하여 각각 학습과 검증, 평가를 진행하였다. 이때 모델의 깊이는 잔차 블록 4, 8, 12, 16개의 네 가지 조건을 가지고 최적화 방법은 SGD, Adam, Adadelta를 적용하였으며 활성화 함수는 ReLU, Leaky ReLU, Mish, Swish를 적용하였다. 모델의 출력값은 심장박동 형태에 따라 N, S, V, F, Q의 다섯 개 클래스로 분류되며 서로 다른 조합을 가지는 48개 사용 모델에서 각각 결과를 얻어 성능을 평가하고 가장 우수한 성능을 보이는 모델의 요소 조합을 찾고자 비교하였다. 전체 실험은파이썬과 파이토치를 사용하여 진행하였으며 자세한 실험환경은 Table 4에 나타난 바와 같다.

CPTSCQ_2021_v26n7_29_f0006.png 이미지

Fig. 6. The experimental process

Table 4. Experimental Environment

CPTSCQ_2021_v26n7_29_t0004.png 이미지

IV. Experimental Results

이번 실험은 모델을 구성하는 각 요소의 변화에 따른 모델의 정확도를 비교하고 전체 48개의 모델 조합 중 가장 높은 정확도를 보이는 조합을 선정하여 실험 결과를 분석하였다. 실험에 사용한 조건은 Table 5에 나타내었다.

Table 5. Experimental Conditions

CPTSCQ_2021_v26n7_29_t0005.png 이미지

1. Performance Comparison According to Factors

본 논문에서는 딥러닝 모델을 활용한 심전도의 부정맥 신호 분류 방법의 개선된 성능을 찾기 위해 CNN 모델의 여러 조건을 조합하여 성능을 비교 및 평가하였다. 입력데이터의 잡음 제거를 위한 전처리를 진행하였으며 출력값은 심장박동의 종류에 따라 5개의 클래스로 분류하였다. 심전도 분류의 성능이 개선된 조건을 찾기 위해 모델의 성능에 영향을 주는 모델의 깊이 4가지, 최적화 방법 3가지, 활성화 함수 3가지를 적용하여 총 48개의 조합을 선정하였고 각 조합의 분류 정확도를 확인하였다. 또한 각 요소의 영향을 확인하기 위해 Eq. 1을 바탕으로 요소별 특정 조건이 포함된 조합들의 정확도를 이용하여 특정 조건 별 정확도를 비교하였다. 각 요소에 따른 정확도 비교는 Table 6에 간략히 명시되었다.

\(A A\left(D_{1}\right)=\frac{\sum_{x=1}^{n} A\left(C_{D_{1}}\right)_{x}}{n}\)     ... Eq. (1)

AA : Average Accuracy, D:One of The Factor, Dx: Factor of x condition, A: Accuracy, n: Number of combinations including condition D

Table 6. Average accuracy and best accuracy by varying the condition

CPTSCQ_2021_v26n7_29_t0006.png 이미지

레이어 개수의 조건은 4가지이며 최적화 방법, 활성화 함수의 조건 변화에 따라 각 12번씩 평가하였다. 그 결과잔차 블록 8개를 포함한 ResNet19에서 평균 정확도 97.13%, 최고 정확도 97.88%로 가장 높은 정확도를 보였다. 8개보다 더 많은 잔차 블록을 포함하였을 때 정확도가 감소하여 16개의 잔차 블록을 가진 ResNet35에서 평균 정확도 96.73%, 최고 정확도 97.30%의 성능을 보여 레이어 개수 조건 중 가장 낮은 정확도를 보였다.

최적화 방법은 SGD, Adam, Adadelta 함수를 적용하여 조건에 따른 성능을 비교하였고 다른 요소의 조건 조합에 따라 각 최적화 방법 조건은 16번씩 평가되었다. 세 가지의 최적화 방법에서 평균 정확도와 최고 정확도를 각각 분석한 결과 SGD를 적용하였을 때 평균 97.22%, 최고 97.88%의 정확도를 얻었으며 최적화 방법의 변화에 따라가장 낮은 정확도와 가장 높은 정확도를 비교했을 때 약 0.66%의 차이를 보였다.

각 활성화 함수의 조건은 다른 요소의 조건에 따라 12 번씩 실험하였으며 ReLU, Leaky ReLU, Swish, Mish를적용하여 활성화 함수에 따른 모델의 성능을 비교하였다. 모델에 Mish를 적용하였을 때 97.88%로 가장 높은 성능을 보인 조합을 얻었지만 평균 정확도를 비교했을 때 ReLU를 적용한 모델에서 97.07%로 가장 우수한 성능을 보였다. 평균 정확도를 비교했을 때 Swish를 적용한 모델과 ReLU를 적용한 모델의 정확도 차는 약 0.3%로 세 가지의 요소 중 가장 적은 차이를 보였다.

2. Overall performance comparison

이 실험에서는 4개의 모델 깊이, 3개의 최적화 방법, 4개의 활성화 함수 조건을 선정하여 총 48개 조합의 성능을 평가하였다. Table 7은 전체 조건 중 가장 높은 정확도를 보인 5개의 조건과 정확도를 표시하였다. 가장 우수한 성능을 보인 조건은 ResNet19+Mish+SGD의 조합으로 손실률 0.1099와 정확도 97.88%의 결과를 얻었다. Res Net 35+ReLU+Adadelta는손실 0.1331, 정확도 95.81%로 가장 낮은 정확도를 보였으며 최고 정확도와 최저 정확도의 차이로 약 2.07%의 결과를 얻었다. Fig. 7은 각 클래스의 분류 정확도를 나타낸 혼동행렬 그림으로 입력 데이터는 N, S, V, F, Q의 다섯 개 클래스로 분류되었으며 모든 클래스에서 평균 97.9%의 분류 정확도로 비교적 높은 정확도를 보였다. 오 분류는 V 클래스에서 가장 많았으며 N 클래스로 1.9%, S 클래스로 1.3%의 오 분류율을 나타냈다. 또한 비정상 신호를 정상 신호로 분류한 경우는 약 3.3%의 수치를 보였다.

CPTSCQ_2021_v26n7_29_f0007.png 이미지

Fig. 7. Confusion matrix for accuracy in the 5- categories

Table 7. Top-5 conditions with the highest accuracy

CPTSCQ_2021_v26n7_29_t0007.png 이미지

3. Discussion

이 실험에서는 심전도 신호를 이용하여 심장박동의 종류를 높은 정확도로 분류할 수 있는 CNN 모델을 평가하고 성능 개선을 위해 가장 우수한 성능을 보이는 모델 구성 요소의 조합을 도출하였다. 이 실험에서 도출한 모델의 성능을 비교하기 위해 1D-CNN을 이용하여 같은 데이터의 심전도 신호를 분류한 기존 연구의 결과와 비교하였으며 Table 8에 나타내었다. 기존 연구와 비교하였을 때 더 높은 정확도를 보였으며 특히 모델 구조를 참고했던 Kachuee et al.의 실험 결과와 비교했을 때 모델의 요소를 변경하고 성능을 개선하여 정확도가 약 4.48% 향상한 것을 확인하였다.

Table 8. Classification accuracy by using CNN-based methods

CPTSCQ_2021_v26n7_29_t0008.png 이미지

모델의 구성 요소에 따른 정확도 결과를 살펴보면 잔차블록이 8개일 때 가장 높은 정확도를 보인 후 블록이 증가함에 따라 정확도가 낮아짐을 확인하였다. 이는 과적합에 의한 현상으로 판단되며 전체 데이터를 사용하여 학습량을 늘리거나 레이어 개수의 조건을 좀 더 세분화하면 더 좋은 성능의 결과를 얻을 수 있을 것으로 판단된다. 최적화 방법은 SGD를 적용했을 때 가장 높은 정확도를 보였다. 이는 최적화 수행을 빠르게 반복한 결과라고 판단되나 다른 최적화 방법과 비교했을 때 상대적으로 연산량이 많은 만큼 효율성 측면에서의 연구가 필요할 것으로 판단된다. 활성화 함수는 평균적으로 ReLU를 적용하였을 때 우수한 성능을 보였으나 Mish를 적용했을 때 가장 우수한 성능을 보였다. 또한 Top-5의 결과를 살펴보았을 때 네 가지의 활성화 함수가 비슷한 성능을 보였고 따라서 활성화 함수의 성능에 대한 영향은 세 요소 중 가장 적은 것으로 판단되며 특히 활성화 함수 자체가 아닌 여러 요소나 파라미터와 조합에 따라 성능의 차이가 발생하는 것으로 판단된다.

V. Conclusions

본 논문에서는 모바일 기기에도 적용할 수 있는 단일 리드 심전도 신호를 높은 정확도로 분류하기 위한 CNN 모델의 성능을 평가하고 성능을 개선하기 위해 모델의 성능에 영향을 주는 세 가지 요소를 선정하여 각 조합에 따른 모델의 성능을 비교 및 평가하였다. 단일 리드 심전도의 경우 다중 리드 심전도와 비교했을 때 포함하고 있는 정보량이 적기 때문에 복잡한 신호의 판단에 어려움이 있으므로 제한된 정보에서 정확한 특징 추출을 통해 비정상 심장 박동을 판단하는 것이 중요하다. 따라서 이 논문에서는 전문지식 없이 특징 추출이 가능한 CNN 모델을 이용하였으며 모델의 깊이, 최적화 방법, 활성화 함수에 변화에 따른 모델의 성능을 비교하였다. 각 요소를 나누어 비교하였을 때 잔차 블록이 8개일 때, 최적화 방법으로 SGD를 적용하였을 때, 활섬화 함수로 ReLU를 적용하였을 때 각각 평균 정확도가 97.13%, 97.07%, 97.22%로 가장 높았으며 총 48개의 조합을 이용한 실험 중 가장 높은 정확도를 보인 조합은 ResNet19+Mish+SGD로 손실률 0.1099, 정확도 97.88% 의 정확도를 보였다. 따라서 상대적으로 적은 정보를 가진 데이터를 이용하여 유의미한 특징을 추출하고 복잡한 신호 형태의 데이터를 높은 정확도로 분류할 수 있음을 확인할 수 있다. 추후 실험에서는 모바일 기기를 통한 심전도 측정을 위한 실시간 검출 적합성을 판단하고 분류 과정의 연산량 및 연산시간 최소화를 위한 연구가 필요하다.

ACKNOWLEDGEMENT

This work was supported by the Technology development Program(S2857986) funded by the Ministry of SMEs and Startups (MSS, Korea)

References

  1. Sannino, G., & De Pietro, G. (2018). A deep learning approach for ECG-based heartbeat classification for arrhythmia detection. Future Generation Computer Systems, 86, 446-455. https://doi.org/10.1016/j.future.2018.03.057
  2. Elhaj, F. A., Salim, N., Harris, A. R., Swee, T. T., & Ahmed, T. (2016). Arrhythmia recognition and classification using combined linear and nonlinear features of ECG signals. Computer methods and programs in biomedicine, 127, 52-63. https://doi.org/10.1016/j.cmpb.2015.12.024
  3. Plawiak, P., & Acharya, U. R. (2020). Novel deep genetic ensemble of classifiers for arrhythmia detection using ECG signals. Neural Computing and Applications, 32(15), 11137-11161. https://doi.org/10.1007/s00521-018-03980-2
  4. Sadhukhan, D., & Mitra, M. (2012). R-peak detection algorithm for ECG using double difference and RR interval processing. Procedia Technology, 4, 873-877. https://doi.org/10.1016/j.protcy.2012.05.143
  5. Bayoumy, K., Gaber, M., Elshafeey, A., Mhaimeed, O., Dineen, E. H., Marvel, F. A., ... & Elshazly, M. B. (2021). Smart wearable devices in cardiovascular care: where we are and how to move forward. Nature Reviews Cardiology, 1-19.
  6. Kachuee, S.Fazeli & M.Sarrafzadeh. (2018). ECG Heartbeat Classification: A deep Transferable Representation. 2018 IEEE International Conference on Healthcare Informatics (ICHI). DOI 10.1109/ICHI.2018.00092
  7. Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.
  8. He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
  9. Choi, D., Shallue, C. J., Nado, Z., Lee, J., Maddison, C. J., & Dahl, G. E. (2019). On empirical comparisons of optimizers for deep learning. arXiv preprint arXiv:1910.05446.
  10. Agostinelli, F., Hoffman, M., Sadowski, P., & Baldi, P. (2014). Learning activation functions to improve deep neural networks. arXiv preprint arXiv:1412.6830.
  11. Goldberger, A., Amaral, L., Glass, L., Hausdorff, J., Ivanov, P. C., Mark, R., ... & Stanley, H. E. (2000). PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation [Online]. 101 (23), pp. e215-e220.
  12. Kiranyaz, S., Ince, T., & Gabbouj, M. (2015). Real-time patient-specific ECG classification by 1-D convolutional neural networks. IEEE Transactions on Biomedical Engineering, 63(3), 664-675. https://doi.org/10.1109/TBME.2015.2468589
  13. Yildirim, O., Plawiak, P., Tan, R. S., & Acharya, U. R. (2018). Arrhythmia detection using deep convolutional neural network with long duration ECG signals. Computers in biology and medicine, 102, 411-420. https://doi.org/10.1016/j.compbiomed.2018.09.009