정형데이터와 이미지데이터를 함께 이용한 헬스케어 이벤트예측

2021.04.16

라인웍스에서는 Electronic Health Record (이하 EHR) 데이터를 이용하여 다양한 머신러닝 프로젝트를 진행하고 있습니다.

앞서 진행된 EHR 데이터를 이용한 이벤트 예측 연구 중 많은 경우가 정형 데이터만을 사용하거나 이미지, 텍스트 등의 비정형 데이터 중 한 종류의 데이터만을 사용하였습니다. 이번 글에서는 정형 데이터와 이미지 데이터(Chest X-Ray)를 함께 학습하는 모델을 구축하여 정형 데이터만을 사용하여 학습한 모델과 사망 예측 성능을 비교해보겠습니다.

EHR은 정형 데이터와 비정형 데이터로 구성됩니다. 정형 데이터는 정해진 규칙에 맞게 생성되어 행과 열로 이루어진 테이블 형태를 뜻합니다. 우리가 흔히 생각하는 데이터베이스를 그 예로 들 수 있으며 EHR에서는 인구통계정보, 진단정보, 의료행위정보 등이 여기에 해당합니다. 비정형 데이터는 미리 정의된 방식으로 정리되지 않은 데이터를 뜻합니다. 미리 정의되지 않은 형식을 허용하기 때문에 기존의 형식에서 벗어나 변칙적인 내용이나 모호함을 포함할 수 있어 전통적으로 사용해온 프로그램으로는 쉽게 파악하기 힘든 경우가 많습니다. 예로 영상데이터인 X-ray, 텍스트 데이터인 진료노트 등이 있습니다. 

기사에 따르면 국내 5대 상급병원에서는 2018년 기준으로 한 달에 약 90TB에 달하는 의료데이터가 생성되나 약 80%가 제대로 활용되지 못합니다. 이때 활용되지 못하는 대부분은 비정형 데이터입니다. 만약 이런 데이터를 용도에 맞추어 사용할 수 있다면 예측 성능을 더욱 높일 수 있을 것입니다. 

그동안 많은 연구들이 EHR 예후 예측, 폐CT 폐암예측과 같이 단일 모달리티를 사용하는데 집중해왔었으나, 최근 멀티 모달리티를 연계하여 데이터를 구축하고 활용하는 사례가 늘어나고 있습니다. 그 일환으로 MIT에서 2020년 8월 13일에 공개한 MIMIC-IV는 다년간의 비식별화된 Beth Israel Deaconess Medical Center 중환자실의 데이터에 이미지 데이터도 추가되었습니다.

MIMIC-IV에서는 256,366명 환자, 524,520건의 입원 정보를 포함하고 있습니다. 데이터는 정형 데이터인 환자 입원 정보, Intensive Care Unit(이하 ICU) 정보, 병원 정보(진단, 수술, 처방 등), Chest X-Ray(이하 CXR) 정보 등으로 구성되어 있습니다.

*MIMIC-IV 데이터베이스에 대한 상세 정보는 공식페이지를 참조하세요.

MIMIC-IV에서 사용한 데이터 및 전처리 방법

정형데이터

MIMIC-IV의 정형 데이터는 2008~2019년간 기록되었으며 사용한 정형 데이터는 다음과 같습니다.

  • 환자 방문 정보
    • 방문 유형, 이전 방문 횟수, 입원 기간, 중환자실 이용 기록 등
  • 환자 기본 정보
    • 나이, 성별 등
  • 진단
    • 해당 방문에서 환자가 진단받은 내역
  • 의료 행위
    • 해당 방문에서 수행된 의료행위 내역
  • 의약품
    • 해당 방문에서 처방받은 의약품 내역
  • Lab 검사
    • 해당 방문에서 Lab 검사한 결과
  • 청구
    • 해당 방문에서 청구받은 내역

정형데이터 전처리 방법

정형 데이터는 코드(질병, 수술 등)와 범주형 데이터는 One-Hot Encoding 하였고, 수치형 데이터는 정규화하지 않고 사용했습니다.

이미지 데이터인 CXR

데이터상 존재하는 CXR의 view position은 Anterior – Posterior(이하 AP), Posterior – Anterior(이하 PA), LATERAL 등이 있습니다. AP는 선 상태로 상체의 후면을 촬영하는 방식입니다. 서 있어야 하므로 비교적 증상이 심하지 않은 환자들이 촬영합니다. PA는 누운 상태로 상체의 전면을 촬영하는 방식입니다. 일반적으로 서 있을 수 없는 중환자가 촬영합니다. LATERAL은 상체의 측면을 촬영하는 방식입니다.

[View position 종류]

CXR 전처리 방법

여러 View position 중 AP position만 사용하였습니다. AP position의 이미지 수가 가장 많으며 한가지의 position만을 사용해 학습하여 성능을 확인하는 것이 성능비교 하기에 가장 명확할 것으로 판단했기 때문입니다.

CXR을 촬영하지 않은 방문을 제외하면 방문당 평균 3.62장의 CXR을 촬영합니다. 이 중 가장 먼저 촬영된 CXR만 사용하였습니다. 기본적인 모델 구조에 따라 한 방문당 한 장의 이미지만 사용 가능한 제약조건이 있었으며 방문 후 가장 먼저 촬영한 CXR이 환자의 증상을 가장 잘 표현한다고  판단했기 때문입니다. 

이미지 전처리는 CLAHE를 적용 후 Invert 하였습니다. CLAHE(Contrast Limited Adaptive Histogram Equalization)는 대비 정도를 증가시켜 각 부분을 더 또렷하게 하는 방법이고, Invert는 색상을 반전시키는 방법입니다. 논문에 따르면 우리가 보는 X-Ray 이미지를 그대로 보는 것보다 이를 반전시켜서 (뼈를 검게 하여) 보는 것이 진단에 도움이 된다고 합니다. 그리고 메모리의 한계로 인해 이미지를 256 x 256으로 Resize 하여 사용하였습니다.

[이미지 전처리에 따른 이미지 변화]

데이터에 따른 모델 구조

기존의 정형 데이터만을 사용한 모델 구조

정형 데이터만을 사용하던 선행연구에서는 아래와 같은 모델구조로 예측을 진행하였습니다. 모델 구조 특성상 비정형 데이터를 바로 사용하기 어렵습니다.

[기존 정형 데이터만을 사용한 모델 구조]

정형 데이터와 CXR을 함께 이용한 모델 구조

정형 데이터와 CXR을 함께 사용할 수 있도록 다중입력 모델을 구축하였습니다. 기존 모델 구조에서 CXR 학습을 위한 Efficientnet B0와 Efficientnet B0의 출력값과 정형 데이터로 학습된 모델의 출력값을 concat하여 학습을 진행하는 NN을 추가하였습니다.

[정형 데이터와 CXR을 함께 이용한 모델 구조]

결과

아래 표는 사용 데이터별 30일 이내 사망 예측 성능입니다. CXR을 추가로 사용하여 학습한 모델 성능이 정형 데이터만 사용한 모델 성능에 비해 AUROC 약 0.22% 하락, AUPRC 약 1.46% 상승, F1 약 2.32% 상승하였습니다. AUROC 하락 폭에 비해  AUPRC와 F1의 상승 폭이 크므로 성능이 더 좋다고 판단할 수 있습니다. AUPRC가 더 높다는 것은 위험환자를 놓치지 않는다는 것으로 해석할 수 있으므로 더 유의미한 성능향상입니다.

DATA TYPEAUROCAURPCF1
정형 데이터0.9219 ± 0.00760.7031 ± 0.00910.6447 ± 0.0203
정형 데이터 + CXR0.9199 ± 0.00710.7134 ± 0.00450.6597 ± 0.0181

[데이터별 30일 이내 사망 예측 성능]

마치며

이번 실험에서는 정형 데이터만 사용하던 방식을 벗어나 CXR도 함께 사용하여 예측을 해보았습니다. 요약하자면 의미 있는 성능 향상이 있었습니다. 이제 CXR 외에 MRI, CT 등 다른 Image도 사용하여 성능향상을 기대할 수 있습니다.

성능은 향상되었지만 아쉬운 점도 있습니다.이 모델로는 모든 방문에 대해 예측할 수 없다는 점입니다. CXR이 추가됨에 따른 성능 변화를 측정하기 위해 CXR을 촬영한 방문의 데이터로만 학습했기 때문입니다. 만약 모든 방문에 대해 예측한다면 CXR이 없는 경우에 올바르게 대응하지 못하여 좋은 성능을 기대하기 어려울 것입니다.

성능을 더 높이는 방법으로 시도해볼 수 있는 것은 한 방문에서 여러장의 이미지를 사용할 수 있도록 모델 구조를 개선하는 것입니다. 모델 구조와 메모리 자원의 한계로 한 방문당 한 장의 CXR만 사용하였습니다. 만약 사용하지 않은 CXR도 사용한다면 더 많은 정보를 얻을 수 있으므로 성능향상을 기대할 수 있습니다.

정형데이터와 CXR데이터를 함께 사용한 다른 사례로는 2020 Healthcare AI Datathon에 참가하여 인공호흡 사용을 조기 예측한 사례가 있습니다. 이에 대해 더 궁금하시다면 관련 내용을 정리한 2020 Healthcare AI Datathon 참가 후기를 추천드립니다. 

라인웍스에서는 EHR을 포함한 의료 분야의 다양한 데이터를 이용한 머신러닝 연구를 계속 진행하고 있습니다. 저희와 함께 연구를 진행할 머신러닝 엔지니어를 모시고 있습니다. 자세한 내용은 채용 공고를 확인해주세요.

참고문헌

  1. “[이슈분석]버려지는 의료데이터…표준화와 안전한 활용 시급”, <전자신문>, 2018.12.03, https://www.etnews.com/20181203000113
  2.  Johannes Kirchner, “Standard versus inverted digital luminescence radiography in detecting pulmonary nodules: A ROC analysis”, The American Journal of Emergency Medicine, eVolume 35, Issue 9, September 2017, Pages 1217-1221
  3. “LightGBM 알고리즘을 활용한 예측모델 구축과 성능 비교”, <Linewalks blog>, 2019.10.25, https://blog.linewalks.com/archives/6522
  4. Mingxing Tan, “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks”, Conference on Computer Vision and Pattern Recognition 2019