본 논문은 관심있는 회사인 VUNO라는 회사에서 찾아본 논문이다.
스마트워치를 사용해서 Multiple Lead의 ECG 데이터를 수집하는 것은 순차적으로 디바이스를 몸에 두어서 측정해야한다.
이를 Asynchronous (비동기식) 으로 측정한다고 한다. 이렇게 비동기식으로 수집된 ECG 데이터에서 분석하는 연구는 많지않다.
그래서 본 논문에서는 비동기식으로 채집된 ECG 데이터를 기반으로 급성 심근 경색을 탐지하는 AI Model을 개발하고 상용 ECG 소프트웨어가 탐지하는 성능과 비교하였다 --> 그에 따라 최적화된 lead 수도 결정
Train하는 부분에서는 각 채널에 랜덤으로 Masking하고, 마스킹된 나머지 리드채널을 가진 다양한 타겟팅 리드 셋을 사용하여 모델을 테스팅한 Residual Network랑 Self-Attention Mechanisms을 기반의 AI Model을 구성하였다.
일반적으로 Lead의 개수가 증가할수록 성능은 향상되었다고한다. 그리고 특정 위치에서 발생하는 급성 심근 경색을 감지못하는 위험을 방지하기위해 리드의 개수를 최소 3개 이상으로 지정해야한다.
문제제기
자기 건강관리, 질병 예방, 피트니스에 대한 관심이 높아지고 몸에 부착하거나 입는 옷,악세서리들(wearable device)을 선택하는 사람들이 늘어났다.
그에 따라 일반적으로 ECG 측정은 병원에서 진행하여 측정한다. 이것을 일반 대중에게까지 확장하고, 시기에 맞는 진단을 용이하게 할 수 있게되었다.
근데 single-lead로만 하게되면 다른 위치에서 나오는 useful한 데이터들을 놓칠 수도 있음
그래서 multi-lead로 하게되면 myocardial infraction, pulmonary embolism and acute (left or right) heart failure과 같은 질병들을 robust하게 탐지하는데 있어 필요함
그래서 12-lead ECG가 의사들 사이에서 가장 일반적으로 사용됨
스마트 워치로 측정을 하려면 각 다른 부위를 순차적으로 위치해서 ECG 데이터를 수집함
이런 방식은 asynchronous, 비동기식으로 측정됨 (다 다른시간에 측정되기 때문)
특정 논문에 의하면 의사가 심장질환과 관련된 상태를 탐지할 때 standard 12-lead ECG와 비교하여 스마트워치에서
추출한 데이터와의 일치도를 평가한 논문이 있따
이 논문은 상용 ECG Software와 본 논문에서 제시한 AI Model의 성능비교를 하는 것으로 목표로 함
이 논문에서는 SmartWatch에서 이러한 알고리즘을 적용하여 분류또한 가능할 것이다라는 가능성을 보여준 논문이다.
Data Sample
아주대 Medical Center, 1994.06 ~ 2018.01 까지의 447,445명의 환자로부터 1,039,550의 ECG 데이터 수집
각 리드는 500Hz에서 샘플링됨, 지속시간 2.5초
I21 (급성 심근 경색증) or I22 (후속 ST상승 및 비-ST 상승) --> 둘 중에 하나라도 있으면 ECG에 급성 심근 경색이 있는것으로 표시됨, 없으면 급성 심근경색 없는 것으로 표시
모호성을 줄이기 위해서 코드 없는 환자, ECG 측정 후 24시간 이내가 아닌 환자는 제외
급성 심근 경색을 탐지하기위한 자동 ECG 해석의 성능을 확인하기 위해 2가지 방법으로 분류
위 두가지에대한 별개 성과지표를 도출
Deriving Asynchronous Lead Sets from ECG Reports
ECG 데이터 예시
위 사진은 10초 ECG reports
aVR, VL, aVF 보다 2.5초 더 빨리 기록된 1,2,3.. 뭔소리인지 모르겠다.
In Multimedia Appendix 1, leads I, II, and III are shown to have been recorded 2.5 seconds earlier than leads aVR, aVL, and aVF, which were recorded 2.5 seconds earlier than leads V1, V2, and V3, which in turn had been recorded 2.5 seconds earlier than leads V4, V5, and V6.
비동기 ECG lead sets은 마치 smartwatch를 통해 순차적으로 받은 ECG 데이터와 비슷하게 상황을 시뮬레이팅 할 수 있음
각 채널을 random하게 masking하고 다양한 target lead sets을 테스트함 --> 최적의 Lead의 개수를 결정하기위함
4-lead set은 I, II, 2개의 Precordial Leads (V1, V2, V3, V4, V5, V6) 중 2개
3-lead set은 I, II, 1개의 Precordial Leads 중 1개
2-lead set은 I or II , 1개의 Precordial Leads 중 1개
single lead는 I or II
이렇게 총 4가지 케이스에 대해 Test를 함
Primary and Secondary Aims of Study
이 연구의 목적은 두개로 나눌 수 있음
AUROC, AUPRC, Specificity, Positive Predictive Value (PPV), Negative Predictive Value (NPV)로 성능을 평가
Neural Network Architecture and Training
딥러닝 모델의 구조는 Encoding - Self-Attention 구조로 되어있음
Encoding Phase
500Hz -> 250Hz로 다운샘플링된 12-lead ECG Channel의 2.5초 길이의 input을 model에 전달
각 lead는 별도의 weight-shared Encoder 처리되었음
뭔 뜻인지 모름
16개의 Residual Block을 사용하고 각 블록 안에는 2 or 3개의 1D convolution 레이어를 사용해서 블록 구성
모든 CNN layer에 ReLU Activation Function, Batch Normalization사용
처음 ReLU Activation Function은 pooling Layer를 통해 block's output과 연결되어있음
그리고 각 블록의 input output 에는 skip connection으로 연결되어있음
stride 2인 CNN layer를 모든 2 or 4개마다 Residual Block을 적용함
encoder에서의 final output의 각 feature는 길이1을 얻기위해 average pooling됨
Self-Attention Phase
각 Lead Channel간의 연관성을 포착하기 위해서 Multi-head self-attention 모듈을 사용함
이 논문은 랜덤 mask를 씌우는데, Masked Multi-Head Self-Attention을 사용하면서 target Lead Channel을 제외한 다른 채널은 마스킹함
이 구조를 사용하여 Self-attention Phase를 구성함
2개의 dense layer로 classifier를 구성 -> flatten으로 1차원으로 만들고 6144->1 ==> Acute myocardial infraction을 0~1 사이로 판단함
Adam Optimizer, batch size = 32, learning rate = 0.001
Random Gaussian Noise, Time Scaling, Signal Masking를 사용해서 Data Augmentation을 함
AUROC는 일반적으로 0.5 ~ 1 사이의 값을 가짐
0.7~0.8 ==> Good
0.8 이상 ==> Excellent
0.5 이하면 즉시 폐기
12 leads AUROC : 0.88
4 leads AUROC : 0.849 ~ 0.868
3 leads AUROC : 0.826 ~ 0.857
2 leads AUROC : 0.773 ~ 0.826
1 leads AUROC : 0.767 ~ 0.770
2 leads 의 성능은 특정 set에 따라 GE analysis Program보다 좋은게 있고 아닌것도 존재함
하지만 확실한건 single lead이면 무조건 성능이 GE analysis Program보다 성능이 떨어졌음
따라서 Multiple-Lead ECG가 심장질환에 대해서 robust, 정확하게 탐지하려면 필요함 (특히 급성 심근 경색)
일반적으로 lead의 개수가 증가하면 증가할수록 성능도 따라서 올랐음
SmartWatch로 측정한다면 1분도 안걸림 --> 비상상황에서 적은 lead의 개수로 측정하면 급성심근경색을 발견하지 못할 가능성이 있음, 따라서 위험을 줄이고자 최소 3개, 4개이상의 리드를 측정하는 것이 좋음
논문에서는 I,II,V5 / I,II,V2,V5 를 추천함
최종진단은 의사가 내려야한다는 것, 하지만 이 최종진단까지의 시간을 줄여줄 수 있음
reperfusion : 심실 재관류, 혈액이 차단된 허혈 조직에 혈액을 재공급하는 것
이 심실 재관류는 급성심근경색의 치료법인데, 증상 이후로 3시간 이내로 심실 재관류가 필요한데 30분이 지연될수록 사망률은 증가하게됨
이 논문에서 제안하는 모델은 적절한 타이밍에 급성 심근 경색 진단과 심실 재관류를 facilitating? 함으로써 사망률을 줄임
--> 이 질병이 발생함으로써 나타나는 경제적 손실을 줄일 수 있음
Strengths
실제 환경에서 적용가능한 면에서 모든 스마트워치에 구현이 "이론적으로" 가능
ECG 측정하는 방법, 측정한 데이터를 전처리하는 software, 실행시킬 AI model --> 충분히 가능성 있음
매우 큰 데이터 셋으로 train, validation, test 함
큰 데이터 셋은 overfit을 방지할 수 있음, 그래서 다른 데이터셋에도 잘 적용됨
Limitation
응급실에서 초기 ECG 데이터가 확실하게 급성심근경색 명백하게 명시할 수 있는지를 보장하지 못함
--> 급성 심근 경색으로 표시되어있는 곳에도 명시적으로 나타나지 않을 수 있음? --> 분류를 잘 못한 경우를 이야기하는 것인가
12-lead set은 완벽하게 비동기적인건 아님
완전히 비동기식 lead set을 구성할 수 있는 최대 리드는 4개 였음 --> 5개 이상은 향후 연구에서 평가..
확정적인 판단이 아니라는 것
최종 진단은 결국 의사가 내려야함
--> 미리 사전진단으로 환자를 효율적으로 분류해서 적절한 치료를 받을 수 있게할 수 있음
SmartWatch로 수집된 비동기 ECG신호에서 급성 심근 경색을 감지하기위한 AI 모델을 개발하였음
또한 최소 3개 lead, 이상적으로는 4개 이상의 lead를 측정하는 것이 필요
이 모델에서는 급성 심근 경색에 대해 훈련시켰음, 그래서 본 모델을 바탕으로 다른 질병도 검출하는 다양한 모델을 기대하고있음