CNN과 LSTM을 활용한 심전도 부정맥 자동 검출
초록
**
본 논문은 단일 채널 심전도(ECG) 데이터를 입력으로, 합성곱 신경망(CNN)과 장단기 메모리(LSTM) 네트워크를 결합한 모델을 설계하여 심방세동을 포함한 여러 종류의 부정맥을 자동으로 분류한다. 8,528개의 레코드로 구성된 PhysioNet 2017 챌린지 훈련 데이터를 10‑fold 층화 교차검증한 결과, 전체 F‑measure가 0.83을 기록했으며, 비공개 테스트셋에서도 0.80의 성능을 보였다.
**
상세 분석
**
이 연구는 기존 ECG 기반 부정맥 탐지에서 흔히 사용되는 전통적인 특징 추출(예: R‑peak 검출, HRV 분석) 대신, 원시 파형을 그대로 입력으로 하는 엔드‑투‑엔드 딥러닝 파이프라인을 제안한다. 모델 아키텍처는 크게 두 부분으로 나뉜다. 첫 번째는 1‑차원 합성곱 레이어와 풀링, 배치 정규화, 드롭아웃을 순차적으로 쌓아, 시간축상의 로컬 패턴(예: QRS 복합체, P‑wave, T‑wave)을 효과적으로 추출한다. 여기서 사용된 커널 크기와 스트라이드 설정은 9초~60초 구간의 다양한 길이의 신호에 대해 충분한 해상도를 유지하도록 설계되었으며, 다중 스케일 특징을 포착하기 위해 여러 개의 병렬 컨볼루션 블록이 적용되었다.
두 번째 단계는 추출된 시퀀스 특징을 LSTM 유닛에 전달하여 장기 의존성을 모델링한다. LSTM은 심박 사이의 변동성, 부정맥 발작의 지속 시간, 그리고 비정상 구간의 전후 관계 등을 학습함으로써, 단순히 순간적인 파형만을 보는 CNN의 한계를 보완한다. 논문에서는 단일 LSTM 레이어 대신 2‑layer 스택드 LSTM을 사용했으며, 각 레이어의 은닉 차원은 128로 설정해 과적합을 방지하면서도 충분한 표현력을 확보했다.
학습 과정에서는 클래스 불균형을 완화하기 위해 가중치가 부여된 교차 엔트로피 손실 함수를 사용했고, 데이터 증강으로는 신호의 시간축을 약간씩 이동시키는 시프트, 랜덤 노이즈 추가, 그리고 신호 강도 스케일링을 적용했다. 또한, 18번째 샘플마다 예측을 수행하고 최종 예측을 선택하는 “슬라이딩 윈도우” 방식은 실시간 모니터링 시 연산량을 크게 줄이면서도 정확도를 유지할 수 있게 한다.
성능 평가는 10‑fold 층화 교차검증을 통해 평균 F‑measure 0.83 ± 0.015를 얻었으며, 이는 기존 CNN‑only 혹은 LSTM‑only 모델에 비해 유의미하게 향상된 수치이다. 특히, 부정맥이 드물게 나타나는 클래스(예: 심실조기수축)에서도 재현율이 상승했으며, 이는 CNN‑LSTM 결합이 다양한 시간적 스케일의 특징을 동시에 포착할 수 있음을 시사한다. 테스트 셋에서 0.80의 F‑measure를 기록한 점은 실제 임상 환경에서도 활용 가능함을 보여준다.
한계점으로는 단일 리드 ECG에 국한된 점, 그리고 모델이 “블랙박스” 특성을 갖는다는 점이 있다. 향후 연구에서는 멀티‑리드 데이터를 통합하거나, attention 메커니즘을 도입해 중요한 시점에 대한 가시성을 높이는 방안을 모색할 수 있다. 또한, 실시간 적용을 위해 경량화된 모델 설계와 하드웨어 최적화도 필요하다.
**
댓글 및 학술 토론
Loading comments...
의견 남기기