심장 박동별 RNN으로 부정맥 자동 분류

심장 박동별 RNN으로 부정맥 자동 분류
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 단일 리드 ECG 데이터를 심장 박동 단위로 분할하고, 다양한 특성을 추출한 뒤 15개의 RNN과 4개의 HSMM을 앙상블하여 정상 리듬, 심방세동(AF), 기타 부정맥, 잡음 신호 네 클래스를 구분한다. 소프트 어텐션을 적용해 중요한 박동을 시각화함으로써 모델의 해석 가능성을 높였으며, 비공개 테스트셋에서 평균 F1 = 0.79(정상 0.90, AF 0.79, 기타 0.68)를 달성했다.

상세 분석

이 연구는 기존의 전체 파형을 직접 입력하는 방식과 달리, ECG 신호를 심장 박동(R‑peak) 기준으로 0.66 초 길이의 윈도우로 나누어 시퀀스 길이를 평균 33 단계로 축소한다. 이는 RNN이 장기 의존성을 학습할 때 발생하는 기울기 소실·폭발 문제를 완화하고, 학습 효율을 크게 높인다. 특성 추출 단계에서는 δRR(이전 박동과의 간격), 5개 대역의 상대·전체 웨이블릿 에너지, R‑peak 진폭, Q‑amplitude, QRS 지속시간, 웨이블릿 엔트로피 등 전통적인 도메인 지식을 활용한다. 추가로 두 개의 Stacked Denoising Autoencoder(SDAE)를 각각 원시 박동 파형과 웨이블릿 계수에 학습시켜 저차원 임베딩을 얻고, 이를 기존 특성과 결합해 풍부한 입력 벡터를 만든다.

모델 구성은 두 단계로 나뉜다. Level 1에서는 1~5개의 GRU 또는 양방향 LSTM 레이어(각 80 유닛)와 선택적 어텐션 레이어를 포함한 15개의 RNN을 다양한 이진 분류 설정(예: 정상 vs. 나머지, AF vs. 나머지 등)으로 학습한다. 또한 각 클래스별 64 상태를 갖는 비모수적 Hidden Semi‑Markov Model(HSMM)을 구축해 로그‑우도값을 얻는다. RNN의 softmax 출력과 HSMM 로그우도를 연결해 19‑차원 예측 벡터를 만든 뒤, Level 2 블렌더인 다층 퍼셉트론(MLP)으로 최종 클래스 확률을 산출한다. 블렌더 입력에는 전체 ECG의 웨이블릿 에너지와 평균 절대 편차(AAD) 등 전역 특성도 포함한다. 하이퍼파라미터는 그리드 서치와 Bayesian 최적화를 통해 선정했으며, 과적합 방지를 위해 검증 세트에서 블렌더를 학습시켰다.

어텐션 메커니즘은 각 박동의 은닉 상태 h_t에 대해 u_t = tanh(W_beath_t + b_beat)를 계산하고, u_t와 학습된 전역 컨텍스트 벡터 u_beat 간 내적을 softmax로 정규화해 가중치 a_t를 얻는다. 최종 컨텍스트 벡터 c = ∑a_t h_t는 분류기에 전달된다. 시각화 결과, 정상 리듬을 구분한 모델은 모든 박동에 고르게 가중치를 부여하는 반면, ‘기타 부정맥’ 모델은 길어진 PR 구간 등 특정 이상 박동에 집중한다는 점에서 임상적 해석 가능성을 입증한다.

성능 평가에서는 PhysioNet 2017 Challenge 데이터(12,186개 훈련, 3,658개 비공개 테스트)를 사용했으며, 클래스 불균형을 완화하기 위해 가중치 손실과 외부 데이터 보강을 적용했다. 평균 F1 = 0.79는 기존 34‑layer CNN(예: Rajpurkar et al.) 대비 파라미터 수가 현저히 적음에도 경쟁력을 유지한다는 점에서 의미가 크다. 또한 어텐션 기반 해석은 의료 현장에서 모델 신뢰성을 높이는 중요한 요소로 작용한다.


댓글 및 학술 토론

Loading comments...

의견 남기기