• 검색 결과가 없습니다.

Chronic Kidney Disease Risk Prediction using Electronic Health Records Pattern Information based on Deep Learning

N/A
N/A
Protected

Academic year: 2021

Share "Chronic Kidney Disease Risk Prediction using Electronic Health Records Pattern Information based on Deep Learning"

Copied!
85
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

저작자표시-비영리-변경금지 2.0 대한민국 이용자는 아래의 조건을 따르는 경우에 한하여 자유롭게 l 이 저작물을 복제, 배포, 전송, 전시, 공연 및 방송할 수 있습니다. 다음과 같은 조건을 따라야 합니다: l 귀하는, 이 저작물의 재이용이나 배포의 경우, 이 저작물에 적용된 이용허락조건 을 명확하게 나타내어야 합니다. l 저작권자로부터 별도의 허가를 받으면 이러한 조건들은 적용되지 않습니다. 저작권법에 따른 이용자의 권리는 위의 내용에 의하여 영향을 받지 않습니다. 이것은 이용허락규약(Legal Code)을 이해하기 쉽게 요약한 것입니다. Disclaimer 저작자표시. 귀하는 원저작자를 표시하여야 합니다. 비영리. 귀하는 이 저작물을 영리 목적으로 이용할 수 없습니다. 변경금지. 귀하는 이 저작물을 개작, 변형 또는 가공할 수 없습니다.

(2)

이 학 석 사 학 위 논 문

EHR 데이터의 패턴 정보를 활용한

딥러닝 기반 만성 신질환 위험도 예측 연구

아 주 대 학 교 대 학 원

의 학 과 / 의 학 전 공

이 유 림

(3)

EHR 데이터의 패턴 정보를 활용한

딥러닝 기반 만성 신질환 위험도 예측 연구

지 도 교 수 박 래 웅

이 논 문 을 이 학 석 사 학 위 논 문 으 로 제 출 함 .

2 0 1 9 년 2 월

아 주 대 학 교 대 학 원

의 학 과 / 의 학 전 공

이 유 림

(4)

이유림의 이학 석사학위 논문을 인준함.

심 사 위 원 장

박 래 웅 인

윤 덕 용 인

고 정 길 인

아 주 대 학 교 대 학 원

2019 년 1 월 9 일

(5)

감사의 글

짧지 않은 2 년이라는 시간 동안 함께 동고동락하면서 지냈던 생활들이 생각납니다. 제가 끝까지 포기하지 않고 공부할 수 있게 도움 주셨던 많은 분께 감사의 글을 올립니다. 가장 먼저 저를 지도해주시고 학업뿐만 아니라 많은 조언을 아낌없이 해주신 박래웅 교수님께 감사의 말씀을 드립니다. 교수님 덕분에 학업에 열중할 수 있었고 참된 지도자의 모습을 통해 많은 것을 배울 수 있었습니다. 학업과 과제에 있어 많은 지도를 해주셨던 윤덕용 교수님, 논문을 쓸 때 중심을 잡아주시며 지도해주셨던 고정길 교수님, 찾아뵙고 여쭤보면 언제든 열정적으로 지도해주셨던 박범희 교수님, 그리고 아주대학교 의료정보학과 선후배님들에게 감사의 말씀을 전하고 싶습니다. 가장 먼저 앞에서 이끌어주고 힘들 때나 기쁠 때나 옆에 있어 줬던 진상형 선배님, 지금은 곁에 없어도 찾아가면 새로운 시각을 주시고 언제나 응원해주는 오승빈 선배님, 엄한 말로 꾸짖으면서도 늘 도와주시고 관심 가져주시는 변정현 선배님, 모르는 게 있을 때마다 찾아가면 늘 도와주시고 알려주셨던 박호준 선배님, 지금은 연구실에 안 계시지만 가장 힘들 때 많이 도와주시고 정신적인 멘토였던 신다혜 선배님, 좌절할 때마다 옆에서 힘이 돼주고 새로운 통찰력을 줬던 소요한 후배님, 늘 챙겨주시고 인생에 대해 많은 조언을 해주신 김은강 선생님 이외에도 이성원, 박애란, 황지영 박사님, 조수연, 정성재, 전민석, 이혜진, 유승찬, 김도엽, 신서정, 조재형, 오송희, 김규리, 박지명, 박유진, 김준형, 박동수, 정광수, 박정진, 강민경 선생님과 모든 의료정보학과 선생님들께 감사를 드립니다. 마지막으로 언제나 뒤에서 받쳐주며 응원해주고 이해해줬던 가족에게 깊은 감사를 드립니다.

(6)

i

- 국문 요약 -

EHR 데이터의 패턴 정보를 활용한

딥러닝 기반 만성 신질환 위험도 예측 연구

2013 년도 질병관리본부의 국민건강통계에 따르면 30 세 이상의 성인 중 3.9%가 만성 신질환(chronic kidney disease)을 가지고 있으며, 65 세 이상에서는 16.5%로 유병률이 매우 높은 질환이다. 특히 발병 과정에서 신부전증으로 인해 여러 가지 합병증들이 유발되는데, 해당 질병들이 악화되면서 많은 환자들을 사망에 이르게 만든다. 그럼에도 불구하고 초기 증상이 뚜렷하지 않아 환자가 신장 이상을 느끼고 병원에 내원하는 경우는 드문 실정이다. 이러한 만성 신질환을 조기에 예측하고자 전자의무기록(electronic health record, EHR)을 이용한 연구들이 선행되고 있다. 최근 딥러닝의 기술이 급속하게 발전하면서 의료 분야에서도 활발한 연구가 진행되고 있으며 기존의 전통적인 기계학습(Machine Learning)보다 좋은 성능을 보이고 있다. 또한, 딥러닝 분야에서 다양한 모델 구조 실험들이 이루어지고 있으며 구조에 따라 성능이 달라지는 연구 사례들이 있었다. 그러나 의료분야에서 다양한 딥러닝 모델 구조를 실험하고 만성 신질환 예측을 위한 연구 사례는 비교적 적었다. 이에 본 논문에서는 이에이치알(EHR) 데이터 중 진단과 처방 정보를 활용한 만성 신질환 위험도를 예측하였으며 여러 가지 구조의 딥러닝 모델에 따른 성능을 비교 평가하였다. 학습된 데이터의 가중치를 추출하여 만성

(7)

ii

신질환 예측에 높은 수치를 가진 시점들의 정보들을 확인하여 정성적인 평가를 하였다.

실험 결과 국민건강보험공단 표본연구 DB 에 대하여 정확도(accuracy) 81.09%, 에이유알오씨(The Area under the Receiver Operating Characteristics Curve, AUROC) 87.75%, 에이유피알씨(The Area under the Precision-Recall Curve, AUPRC) 52.72%, 웨이티드 에프원 스코어(Weighted F1-score) 83.03%를 나타냈고, 아주대학교병원 데이터베이스에 대해서 정확도 82.07%, 에이유알오씨 88.24%, 에이유피알씨 63.61%, 웨이티드 에프원 스코어 82.93%를 나타냈다. 이에 기반하여 본 연구에서 제안된 모델이 만성 신질환의 조기 발견과 지연 및 유병률을 감소시키는 데 효과적으로 기여하리라 기대한다. 핵심어: 전자의무기록, 순환 신경망, 합성곱 신경망, 임베딩 기법, 어텐션 메커니즘

(8)

iii

차 례

국문요약 ... I 차례 ... III 그림 차례 ... V 표 차례 ... VII Ⅰ. 서론 ... 1 A. 연구배경및필요성 ... 1 B. 연구목적 ... 4 Ⅱ. 이론적 배경 ... 5

A. 합성곱신경망(CONVOLUTIONAL NEURAL NETWORK,CNN) ... 5

B. 순환신경망(RECURRENT NEURAL NETWORK,RNN) ... 7

1. 장단기 메모리(Long Short-Term Memory, LSTM) ... 9

2. 게이트 순환 유닛(Gated Recurrent Unit, GRU) ... 11

3. 양방향 순환 신경망(Bidirectional recurrent neural network, BRNN) ... 13 4. 어텐션 메커니즘(Attention mechanism) ... 15 C. 임베딩(EMBEDDING) ... 17 1. 워드투벡(Word2Vec) ... 17 2. 메드투벡(Med2Vec) ... 19 Ⅲ. 연구대상 및 방법 ... 20 A. 분석대상데이터 ... 20 1. 오몹 시디엠(OMOP-CDM) ... 22 2. 국민건강보험공단 표본연구 DB ... 23 3. 아주대학교병원 데이터베이스 ... 24 B. 데이터전처리 ... 25 C. 실험설계 ... 28

(9)

iv

D. 딥러닝기반의만성신질환위험도예측모델 ... 30

1. 입력 계층(Input layer) ... 32

2. 임베딩 계층(Embedding layer) ... 34

3. 다양한 구조 계층(Various structure layer) ... 36

4. 예측 계층(Prediction layer) ... 41

E. 개발환경 ... 42

F. 평가척도 ... 44

1. 정확도(Accuracy) ... 45

2. 에이유알오씨(The Area under the Receiver Operating Characteristics Curve, AUROC) ... 46

3. 에이유피알씨(The Area under the Precision-Recall Curve, AUPRC) ... 47 4. 에프원 스코어(F1-score) ... 48 Ⅳ. 실험 결과 ... 49 A. 예측모델별성능 ... 49 B. 어텐션메커니즘을이용한가중치추출결과 ... 53 Ⅴ. 고찰 ... 57 Ⅵ. 결론 ... 60 참고문헌 ... 61 부록 ... 66 ABSTRACT ... 72

(10)

v

그림 차례

그림1.만성신질환진료인원및총진료비추이(2006~2010) ... 2

그림2.합성곱신경망의구조예시(ALBELWI AND MAHMOODM 2017) ... 6

그림3.순환신경망의구조 ... 7 그림4.장단기메모리의구조 ... 9 그림5.게이트순환유닛의구조 ... 11 그림6.양방향순환신경망의구조 ... 13 그림7.어텐션기법의구조(BAHDANAU ET AL.,2014) ... 15 그림8.워드투벡의구조(MILOLOV ET AL.,2013) ... 18 그림9.메드투벡의구조(CHOI ET AL.,2016) ... 19 그림10.시디엠워크플로 ... 22 그림11.아킬레스를이용한국민건강보험공단표본연구DB데이터셋특성 ... 23 그림12.아킬레스를이용한아주대학교병원데이터셋특성 ... 24 그림13.데이터전처리를위한윈도우설정예시 ... 26 그림14.만성신질환위험도예측모델기본구조 ... 31 그림15.멀티핫벡터변환예시 ... 33 그림16.순환신경망을이용한만성신질환위험도예측모델 ... 36 그림17.합성곱신경망을이용한만성신질환위험도예측모델 ... 38 그림18.직렬과병렬구조로쌓은예측모델구조.(A)직렬구조의예측모델 구조(B)병렬구조의예측모델구조. ... 39 그림19.도메인별병렬적으로학습되는예측모델구조예시 ... 40 그림20.알오씨곡선의예시 ... 46 그림21.피알씨곡선의예시 ... 47 그림22.메드투벡을이용한임베딩결과값을PCA 로재구성한시각화. .... 66

(11)

vi

그림23.메드투벡을이용한임베딩결과값을PCA 로재구성및구형의 형태로정규화한시각화 ... 66 그림24.오몹시디엠컨셉아이디2801 와가까운코사인거리의컨셉 아이디의시각화 ... 67 그림25.시그모이드함수와미분된시그모이드함수 ... 68 그림26.쌍곡탄젠트함수와미분된쌍곡탄젠트함수 ... 69 그림27.렐루함수 ... 70

(12)

vii

표 차례

표1.만성신질환단계별설명및사구체여과율 ... 1 표2.데이터셋의기본특성 ... 20 표3.만성신질환의선정및제외기준 ... 25 표4.데이터셋별타겟및비교환자그룹수 ... 27 표5.계층별초매개변수설정 ... 28 표6.개발환경상세 ... 42 표7.개발에사용된파이썬라이브러리 ... 43 표8.혼동행렬 ... 44 표9.모델별구조설명 ... 49 표10.모델별성능 ... 50 표11.국민건강보험공단표본연구DB어텐션메커니즘의가중치추출결과 ... 53 표12.아주대학교병원데이터베이스어텐션메커니즘의가중치추출결과 ... 55

(13)

1

Ⅰ. 서론

A.

연구 배경 및 필요성

미국신장재단(National Kidney Foundation, NKF)의 정의에 의하면, 만성 신질환(chronic kidney disease)은 신장의 구조적, 기능적 이상으로 정의되는 신장 손상이 3 개월 이상 지속되거나 사구체여과율(Glomerular Filtration Rate, GFR)이 3 개월 이상 60ml/min/1.73m,미만인 경우를 말한다(Kopple, 2001). 신부전의 주

원인으로는 당뇨병, 만성 사구체 신염, 고혈압, 다발성 낭종신 등이 있으며 증상으로는 의식장애, 고혈압, 식욕감퇴, 소양증, 빈혈, 기능 항진증, 면역기능 저하 등이 있다(Lovey and Coresh, 2012). 임상 분야에서 진단 및 치료를 위해 추정 사구체여과율(estimated Glomerular Filtration Rate, eGFR)을 기준으로 만성 신질환을 1 단계에서 5 단계까지 나누고 있으며, 표 1 을 통해 각 단계를 확인할 수 있다. 표 1. 만성 신질환 단계별 설명 및 사구체여과율 단계 정의 사구체여과율 (ml/min/ 1.73m,) 1 신장 손상 ≥ 90 2 신장 손상과 경도의 사구체여과율 감소 60 - 89 3 중증도의 사구체여과율 감소 30 - 59 4 중증의 사구체여과율 감소 15 - 29 5 신부전 < 15 또는 투석

(14)

2

2013 년도 질병관리본부 국민건강통계에 따르면 만성 신질환은 30 세 이상의 성인 중 3.9%, 65 세 이상에서는 16.5%로 높은 유병률을 보인다(이형민 and 오경원, 2013). 또한 만성 신질환 진료 인원은 2006 년 85,141 명, 2007 년 94,050 명, 2008 년 102,798 명, 2009 년 110,354 명, 2010 년 116,762 명으로 5 년간 연평균 약 8.2%씩 증가하고 있으며 총 진료비는 2006 년 8,953 억원, 2007 년 9,970 억원, 2008 년 1 조 1,115 억원, 2009 년 1 조 2,161 억원, 2010 년 1 조 3,213 억원으로 연평균 약 10.2%씩 증가하는 것으로 추정되었다(이형민 and 오경원, 2013)(그림 1). 그림 1. 만성 신질환 진료 인원 및 총 진료비 추이(2006~2010) 만성 신질환은 신장의 사구체 여과 기능을 영구적으로 감소시키기 때문에 조기에 발견하여 진행 속도를 늦추는 것이 급선무이다. 그러나 초기 증상이 뚜렷하지 않아 발견하기까지 상당 기간이 걸린다. 또한 고혈압, 산성골이영양증, 심폐합병증 등의 여러 가지 합병증을 유발하고, 심혈관계질환을 급속하게 악화시켜 심근경색증, 뇌졸중 등으로 사망에 이르게 한다(김영훈, 2009). 20,000 40,000 60,000 80,000 100,000 120,000 140,000 2006년 2007년 2008년 2009년 2010년 진료 인원 총 진료비(천만원)

(15)

3

만성 신질환을 조기에 예측하고자 인구통계학적, 검사 등의 전자의무기록(electronic health record, EHR) 데이터를 이용한 기계학습(Machine Learning) 기반의 연구들이 선행되어 왔다(Vijayarani and Dhayanand, 2015; Sinha and Sinha, 2015). 최근 의료분야에서 딥러닝(Deep Learning) 기반의 연구들이 활발히 진행되고 있고 전통적인 기계학습 기반의 연구보다 성능이 뛰어난 결과를 보였다(Sha and Wang, 2017; Brett et al., 2016, Choi et al., 2017).

딥러닝은 도메인 지식이 필요한 피처 엔지니어링(feature engineering)이 사용되지만, 피처 엔지니어링 중심의 우선순위보다는 원데이터를 일반화하여 재표현(Representation)이 가능하는 점에 주목한다(Bengio et al., 2015). 게다가 비선형 함수를 활용함으로써 데이터의 숨겨진 복잡한 관계를 추출하는데 매우 강력한 것으로 입증되어 좋은 예측 성능을 보여주었다(Goodfellow et al., 2016). 그러나 딥러닝은 모델이 스스로 자질(feature)들을 개별적으로 계산하기 때문에 결과 해석에 대한 가능성이 결여된다. 모델 해석의 부족은 의료 분야에서 임상적 의사 결정을 포함하기 때문에 잠재적인 오분류를 가지고 있는 모델을 사용하는데 망설일 수 있다(Mozaffari-Kermani et al., 2015). 이러한 해석 불가능한 문제에 대해서 어텐션 메커니즘(Attention mechanism)으로 어느 정도 완화가 가능하다(Cho et al., 2015). 어텐션 메커니즘은 예측에 대한 특정 단계에서 중요성을 나타내는 가중치를 학습함으로써 인간의 시각적인 자질을 모방한 기법이다(Cho et al., 2015). 또한, 딥러닝 분야에서 신경망을 깊게 쌓거나 병렬 또는 직렬로 쌓는 것만으로도 좋은 성능을 보이는 연구들이 진행되어 왔다(Zhang et al., 2017; Liang and Hu, 2015; Donahue et al., 2016). 아직까지 의료 분야에서는 이러한 다양한 구조를 이용한 실험은 비교적 드물다.

(16)

4

B.

연구 목적

본 연구에서는 이에이치알(EHR) 데이터의 패턴 정보를 활용한 딥러닝 기반의 다양한 모델 구조 실험을 통해 만성 신질환 위험도를 조기 예측하고 어텐션 메커니즘을 활용하여 결과에 대한 가중치 시점을 분석하는 것을 목표로 한다. 이를 통해 만성 신질환의 발병을 지연하고 의료비를 줄이는데 기여할 것이라고 생각된다.

(17)

5

. 이론적 배경

A.

합성곱 신경망(Convolutional neural network, CNN)

합성곱 신경망은 1989 년 LeCun 에 의해 처음으로 소개되었다(LeCun et al., 1989). 노드들이 1 차원으로만 배치 되어있는 인공신경망과 다르게 2 차원적으로 배치되어 있는 형태이며 지역적 자질을 추출한다. 합성곱 신경망은 일반적으로 영상 이미지를 다루기 위해 고안되었으나 최근에는 자연어 처리에 효과적인 것이 밝혀지면서 자연어 처리에도 활용되어지고 있다(Kim, 2014). 합성곱 신경망의 구조는 여러 개의 층으로 구성되며 기본적으로 합성곱(convolution), 풀링(pooling), 완전연결(fully-connected)을 사용하며 필요에 따라, 합성곱과 풀링 계층 뒤에 국소 콘트라스트 정규화(Local Contrast Normalization, LCN) 계층을 배치하는 경우도 있다. 합성곱 계층에서는 합성곱 특징을 추출하기 위해 입력 데이터에 공용 파라미터인 합성곱 필터(convolution filter)가 이동하면서 합성곱 연산을 한다. 필터 이동 시 움직이는 간격은 스트라이드(stride)에 따라서 결정된다. 합성곱 필터를 이용한 합성곱은 입력데이터 가장자리의 정보가 손실되는데, 이를 방지하기 위해 패딩(padding)을 적용하여 정보를 반영한다. 풀링 계층은 합성곱 계층에서 연산 과정을 거친 특징 맵(feature map)의 크기를 줄이거나 서브 샘플링(sub sampling)하는 용도이다. 세부 종류로는 최대 풀링(max pooling), 최소 풀링(min pooling), 평균 풀링(average pooling) 등이 있으며 특징 맵의 특정 영역들을 최댓값, 최솟값, 평균값으로 변환하여 크기를 줄이거나 특정 데이터를 강조하는 용도이다. 완전 연결 계층은 다수의 합성곱, 풀링 계층을 거친 후 마지막 단계로써 클래스를 분류하기 위해 사용된다.

(18)

6

(19)

7

B.

순환 신경망(Recurrent Neural Network, RNN)

자연어 처리 분야에서 각광받고 있는 순환 신경망은 시퀀스 길이와 관계없이 유연한 구조를 만들 수 있고 시간에 대한 정보 처리가 가능하다(Lipton et al., 2015). 이는 기본적으로 과거의 연산값과 현재의 입력값을 함께 연산하여 현재 시점의 결과값이 출력되는 구조로서, 이전 시점의 은닉값과 현 시점의 입력값을 함께 연산하여 과거의 데이터를 활용하게 되기 때문에 일반적으로 시계열 정보를 가진 자연어 처리에 효과적인 성능을 보이고 있다. 그림 3. 순환 신경망의 구조 순환 신경망의 기본 구조는 다음과 같다. 입력 시퀀스를 {/0, /,, … , /3}라 할 때, 567는 입력값 x 을 은닉 계층으로 보내는 가중치, 577는 이전 시점의 은닉 상태(hidden state)를 다음 시점의 은닉 상태로 보내는 가중치, 578는 은닉 상태에서 출력값 9 로 보내는 가중치이다. 파라미터는 모든 시점의 상태에서 동일하게 적용된다. :시점일 때, 이전 은닉 상태인 ℎ3<0에 가중치 577를 곱한 값과 현 시점의 입력값인 /3에 가중치 567를 곱한 값 그리고 임계값(bias)인 =7를 더한 후 활성화 함수(activation function)를 통과시킨 값이 현 시점의 ℎ3다. 활성화 함수는 때에 따라 쌍곡탄젠트(tanh), 시그모이드(sigmoid) 등이 사용된다.

(20)

8

ℎ3= ? (577ℎ3<0+ 567/3+ =7) 93는 앞에서 구한 ℎ3에 가중치 578를 곱한 값과 임계값인 =8를 더한 값이다. 93= 5783+ =8 해결하는 문제가 분류(classification) 문제인 경우, 마지막 9값에 활성화 함수인 소프트맥스 함수(softmax function)를 통과시킨다. 93 = ?(5783+ =8)

(21)

9

1. 장단기 메모리(Long Short-Term Memory, LSTM)

일반적으로 순환 신경망은 시계열 데이터 분석에 성능이 좋다고 알려져 있다. 그러나 데이터의 시간 정보가 길어질수록 역전파시 그라디언트 소실 문제(vanishing gradient problem)로 인해 학습능력이 크게 떨어지는 문제가 발생하는데, 이는 0 부터 1 까지의 값을 갖는 활성화 함수가 미분 값을 이전 은닉 상태에 곱하게 되면서 0 과 가까워지기 때문이다. 바로 이러한 문제를 극복하기 위해 은닉 상태에 셀 상태를 추가한 구조인 장단기 메모리(Long Short-Term Memory, LSTM)가 고안되었다(Hochreiter and Schmidhuber, 1997).

그림 4. 장단기 메모리의 구조

장단기 메모리는 3 개의 게이트인 입력 게이트(input gate), 망각 게이트(forget gate), 출력 게이트(output gate)를 가지며 이전 시점의 정보를 장단기 메모리 셀에 저장할 수 있다. 셀 상태(cell state)는 망각 게이트를 통해 수정되며 입력 게이트를 통해 조정된다. 장단기 메모리는 장기 상태를 저장하고 필요 없는 정보는 삭제하는 것이 핵심이다. 이를 위해 매 시점마다 일부 기억이 삭제, 추가된다. 이 같은 내용을 설명해 주는 수식은 아래와 같다. D3= ?(567E/3+ 577E3<0+ =7E) F3 = ?(567G/3+ 577G3<0+ =7G) H3= :IJℎ(567K/3+ 577K3<0+ =7K)

(22)

10

L3 = D3⊙ L3<0+ F3⊙ H3 N3 = ?(567O/3+ 577Oℎ3<0+ =7O) ℎ3 = N3⊙ tanh (L3) 망각 게이트 계층 D3는 과거 정보를 얼마나 반영할지 결정하는 게이트이며, 입력 게이트 계층 F3는 현재 정보를 얼마나 기억할지 결정하는 게이트, 출력 게이트 계층 N3는 셀 상태의 어느 부분을 출력하여 내보낼 지를 결정하는 게이트이다. 5는 가중치를 나타내며 = 는 임계값을 의미한다. D3, F3에서 시그모이드(σ ) 함수를 통과시켜 출력 범위가 0 에서 1 사이로 변환시킨다. 0 에 가까울수록 정보를 잊고, 1 과 가까울수록 기억하게 된다. H3의 어느 부분이 장기 상태에 더해져야 하는지는 F3에 의해 제어된다. 마지막으로 앞에서 구했던 N3와 L3에 쌍곡탄젠트 함수를 거쳐 -1 에서 1 사이로 받은 값과 요소별 곱셈 연산을 한다.

(23)

11

2. 게이트 순환 유닛(Gated Recurrent Unit, GRU)

게이트 순환 유닛(Gated Recurrent Unit, GRU)은 장단기 메모리와 비슷한 구조이나 망각 게이트와 입력 게이트가 합쳐진 업데이트 게이트와 리셋 게이트로 총 두 개의 게이트를 가지고 있어 계산을 단순화하는 동시에 순환 신경망의 단점인 그라디언트 소실 문제를 극복한 구조이다(Cho et al., 2014a). 구조가 단순화되었음에도 장단기 메모리와 성능이 유사하기 때문에 많은 분야에서 활용하고 있다. 그림 5. 게이트 순환 유닛의 구조 쥐알유(GRU)의 수식은 아래와 같다. T3 = ?(567U/3+ 577Uℎ3<0+ =7U) H3 = :IJℎ(567K/3+ 577K(T3⊙ ℎ3<0) + =7K) V3= ?(567W/X+ 577W3<0+ =7W) ℎ3 = V3⊙ ℎ3<0+ (1 − V3) ⊙ H3 리셋 게이트 T3는 과거 정보를 얼마나 잊을지 결정하는 게이트, H3에서는 현 시점 정보와 과거 정보를 반영하는 동시에 과거 정보를 얼마나 반영할지 리셋 게이트 값으로 결정하며 업데이트 게이트 계층 V3는 과거 정보의 ℎ3<0과 현재 정보의 ℎ3을 얼마나 조합할지 결정하는 게이트이다. 5 는 가중치를 나타내며 = 는 임계값을

(24)

12

의미한다. T3의 활성화 함수는 시그모이드이므로 값이 0 과 가까울 수록 과거 정보를 잊고, 1 과 가까울수록 과거 정보를 기억한다. V3 의 활성화 함수 또한 시그모이드이므로 값이 0 과 가까울 수록 과거 정보를 잊고, 1 과 가까울수록 과거 정보를 기억한다. 마지막으로 요소별 곱셈을 하여 현 시점의 ℎ3를 추출한다.

(25)

13

3. 양방향 순환 신경망(Bidirectional recurrent neural network, BRNN)

기본적인 순환 신경망의 구조는 다음 정보를 예측하기 위해서 과거의 정보와 현재의 정보만을 사용한다. 어떤 시점을 예측할 때 과거의 정보만이 아닌 미래의 정보까지 함께 사용한다면 더 좋은 성능을 기대할 수 있다. 양방향 순환 신경망(Bidirectional Recurrent Neural Network, BRNN)은 순환 신경망과 달리 시퀀스의 현재 시점을 예측하기 위해 미래의 정보도 함께 사용한다(Schuster and Paliwal, 1997). 그림 6. 양방향 순환 신경망의 구조 비알엔엔(BRNN)의 수식은 다음과 같다. ℎ3 ZZZ⃗ = ?(567ZZ⃗/3+ 57ZZ⃗7ZZ⃗ℎZ⃗3<0+ =7ZZ⃗) ℎ3 ⃐ZZZ = ?(567⃐ZZ/3+ 57⃐ZZ7⃐ZZℎ⃐Z3]0+ =7⃐ZZ) 93 = 57ZZ⃗8ZZZ⃗ + 5ℎ3 7⃐ZZ8ℎ⃐Z3+ =8 비알엔엔은 2 개의 은닉 계층인 전방향 은닉 계층과 후방향 은닉 계층을 갖는다. 전방향, 후방향 은닉 계층의 수식은 동일하나 정보의 흐름만 반대로 들어간다.

(26)

14

전방향 은닉 계층에서는 이전 시점의 은닉 계층인 ℎZ⃗3<0에 가중치를 곱한 값이

더해지고 후방향 은닉 계층에서는 다음 시점의 은닉 계층인 ℎZ⃗3]0에 가중치를 곱한 값이 더해진다. 마지막으로 두 은닉 계층을 각각 가중치를 곱한 후 더해준 값이 최종 출력값이다.

(27)

15

4. 어텐션 메커니즘(Attention mechanism) 시퀀스 투 시퀀스(Sequence-to-Sequence, S2S) 모델은 영어-한국어, 한국어-일본어 등의 기계번역에 사용되고 있는 순환 신경망의 발전된 아키텍처 중 하나이다(Sutskever 등, 2014). 에스투에스(S2S)의 구조는 인코더(encoder)와 디코더(decoder)로 나뉘는데 인코더는 입력데이터인 소스 시퀀스(source sequence)를 받는 역할이며 디코더는 출력데이터인 타겟 시퀀스(target sequence)를 출력하는 역할이다. 에스투에스의 이러한 구조상 입력데이터의 길이가 길어질수록 앞에 위치한 벡터들의 비중이 약해진다. 이런 문제점을 보완하기 위해 어텐션 메커니즘(attention mechanism) 기반의 에스투에스 모델이 새롭게 등장하였다. 어텐션 메커니즘은 은닉 상태에 가중치를 곱하여 가장 중요한 벡터에 집중하게 만드는 것이 주요 논지이다. 이에 따르면 최종 출력값은 가장 마지막의 은닉 계층만 출력되는 것이 아닌 모든 은닉 계층들의 가중치 곱의 합이다(그림 7). 또한 어텐션 메커니즘은 각 벡터마다 가중치를 곱하기 때문에 벡터의 중요성을 확인하는 데 사용된다. 그림 7. 어텐션 기법의 구조(Bahdanau et al., 2014)

(28)

16

어텐션 메커니즘의 수식은 다음과 같다. L^ = _ `^aℎ^ bc ad0 `^a= exp (h^a) ∑bc exp ( jd0 h^a) h^a= I(k^<0, ℎa) 모든 어텐션 벡터인 α를 소프트맥스 함수에 통과시켜 합이 1 이 되도록 변환한 후, 각 시점의 ℎ^에 어텐션 가중치인 α 를 곱하여 컨텍스트(context) 벡터인 L^가 추출된다.

(29)

17

C.

임베딩(embedding)

1. 워드투벡(Word2Vec) 컴퓨터는 숫자만 인식할 수 있기 때문에 모델 학습을 위해 텍스트를 수치 형태로 변환해야 한다. 이를 위해 대부분 원핫벡터(one-hot vector) 형태로 재표현(representation)하지만 원핫벡터로 변환된 데이터의 경우 단어 간의 관계성을 유추할 수 없다. 또한 고유한 자질들의 개수만큼 차원이 늘어나 희소해지기(sparse) 때문에 이를 위해 차원을 축소하는 것과 동시에 단어 간의 관계성을 유추할 수 있는 워드투벡(Word2Vec) 방법론이 개발되었다(Mikolov et al., 2013). 워드투벡은 “문서상 가까이 있는 단어들은 서로 연관이 깊을 것이다”라는 전제(Distributed Hypothesis)에서 시작되었으며 인공신경망을 통해 학습된다. 워드투벡은 단어의 문맥적 의미를 보존한 채 벡터형태로 변환된다. 예를 들면, ‘MAN’과 ‘WOMAN’의 두 단어 벡터의 거리는 ‘KING’과 ‘QUEEN’의 단어 벡터 거리와 유사하며, 벡터의 거리가 가까울수록 의미가 비슷하다고 해석된다. 워드투벡은 다음과 같은 두 개의 모델이 존재하는데, 시보우(Continuous Bag-of-Words, CBOW)는 주변 단어들을 이용하여 중심 단어를 예측하는 반면 스킵그램(Skip-gram)은 중심 단어를 이용하여 주변 단어들을 예측한다. 이 과정에서 연관성이 높은 벡터의 내적 값을 향상시키도록 학습한다.

(30)

18

(31)

19

2. 메드투벡(Med2Vec) 의료데이터와 자연어는 비슷한 구조이지만 다른 형태를 가진다. 구조적으로 비교하자면 문서를 환자와 같게 볼 수 있으며 문서 안의 단락은 환자의 방문, 단락 안의 문장은 방문 과정에서 생긴 의료 코드로 볼 수 있다. 다만, 단락 안 문장의 경우에는 순서가 있지만 환자가 방문 과정에서 생긴 의료 코드는 동시에 발생하고, 인구통계학적 데이터도 동반된다. 이러한 의료데이터의 특성을 반영한 임베딩(embedding) 기법으로 Choi et al. 연구에서 메드투벡(Med2Vec)을 개발하였다(Choi et al., 2016). 메드투벡은 한 환자를 기준으로 t 번째의 방문 벡터의 윈도우(window)만큼 앞뒤 방문 벡터와의 관계성이 높아지도록 학습시키는 알고리즘이다. 그림 9 는 메드투벡의 구조이다.

(32)

20

Ⅲ. 연구대상 및 방법

A.

분석 대상 데이터

모델의 성능 실험을 위해 활용한 데이터는 2003 년부터 2013 년까지의 건강보험공단 표본연구 DB 와 아주대학교병원 데이터베이스이다. 사용된 변수는 인구통계학적 데이터(나이, 성별), 진단 데이터(진단명, 진단 날짜 등), 처방 데이터(처방명, 처방 날짜 등)를 활용하였다. 예측 모델을 학습 및 배포하기 위해 오몹 시디엠(Observation Medical Outcomes Partnership-Common Data Model, OMOP-CDM) 5 버전으로 변환된 데이터를 활용하였다. 데이터의 특성은 다음 표와 같다. 표 2. 데이터셋의 기본 특성 Dataset 국민건강보험공단 표본연구 DB 아주대학교병원 데이터베이스 # of patients 1,125,691 2,277,540 # of visits 121,570,644 43,755,028 Avg. # of visits per

patient 109 20 # of unique medical codes 11,070 8,509 # of unique diagnosis codes 7,494 6,755 # of unique medication codes 3,576 1,754

(33)

21

Avg. # of medical codes per visit

6 7

Max # of medical codes per visit

158 265

국민건강보험공단 표본연구 DB 데이터셋이 아주대학교병원 데이터셋보다 환자별 평균 방문 수가 많았고 의료 코드가 약 2,500 종류 더 많은 것을 확인할 수 있다. 이에 비해, 방문별 최대 의료 코드 수는 아주대학교병원 데이터셋이 약 100 개 더 많은 것을 확인할 수 있다.

(34)

22

1. 오몹 시디엠(OMOP-CDM)

본 연구는 오봅 시디엠(OMOP-CDM)으로 변환된 데이터를 사용하였다. 일반적으로 각 기관이 보유한 전자의무기록자료나 보험청구자료의 데이터 구조와 용어는 기관별로 다르게 사용된다. 공통데이터모델(common data model, CDM)은 이렇듯 서로 다른 형태로 산재되어 있는 데이터베이스를 동일한 형태로 변환하여 후항적 관찰연구 기반의 분석을 가능케 한다(Hripcsak et al., 2015). 또한 각 기관의 원천 자료를 통해 추출된 요약 결과만을 취합함으로써 개인 정보를 유출하지 않는 동시에 데이터를 한 곳에 모으지 않고도 모아서 분석한 것과 같은 결과를 낼 수 있게 된다. 나아가 오딧세이 네트워크 산하 오몹 시디엠(OMOP-CDM)은 국제표준용어를 이용하여 구축되기 때문에 전세계 기관의 데이터를 하나의 연구 프로토콜과 프로그램 코드로 분석할 수 있게 된다. 그림 10. 시디엠 워크플로

(35)

23

2. 국민건강보험공단 표본연구 DB 국민건강보험공단은 국민 건강 증진에 대한 보험 급여를 실시하는 기관으로서 보건 향상에 기여하고 있다. 국민건강보험공단에서 관리하고 있는 표본연구 DB 는 2006 년 1 년간 건강보험가입자 및 의료급여수급권자 자격을 유지한 대한민국 인구의 약 98%의 전국민 데이터를 보유하고 있으며, 그 중 100 만 명의 샘플데이터로 성, 연령, 진단 정보 등으로 층화 추출된 샘플 데이터를 제공한다. 덧붙여 사회, 경제적 현황 데이터와 의료이용 현황 데이터, 요양기관 현황 데이터를 포함하고 있다. 데이터의 특성은 그림 11 에서 확인할 수 있다. 그림 11. 아킬레스를 이용한 국민건강보험공단 표본연구 DB 데이터셋 특성 아킬레스 힐(ACHILLES HEEL)은 데이터베이스의 특성과 품질을 평가하기 위한 프로파일링 도구이다.

(36)

24

3. 아주대학교병원 데이터베이스 아주대학교병원은 1994 년에 개원하였으며, 경기남부권역 응급의료센터와 경기지역암센터, 권역외상센터 등을 갖추고 있는 상급종합병원이다. 2018 년을 기준으로 아주대학교병원의 병상 수는 1,179 개이며 전자의무기록 데이터베이스 내의 환자수는 총 240 만여명이다. 데이터의 특성은 그림 12 에서 확인할 수 있다. 그림 12. 아킬레스를 이용한 아주대학교병원 데이터셋 특성

(37)

25

B.

데이터 전처리

만성 신질환 진단을 받은 타겟 환자와 진단을 받지 않은 비교 환자를 나누기 위해 다음과 같은 조건을 설정하였다. 만성 신질환 진단을 한 번도 받지 않은 환자 중 만성 신질환 타겟 환자 수의 6 배의 비율로 랜덤 샘플링(random sampling)하여 비교 환자로 추출하였다. (1) 만성 신질환을 처음 진단받은 당시의 나이가 18 세 이상 100 세 이하(타겟 환자 해당) (2) 의료 시설에 방문한 횟수가 2 번 이상(타겟 환자, 비교 환자 해당) 만성 신질환의 3 단계에서 5 단계까지를 아웃컴(outcome)으로 설정하였으며, 아래의 표는 만성 신질환의 아웃컴에 대한 상세 진단 코드이다. 표 3. 만성 신질환의 선정 및 제외 기준 OMOP-CDM Concept id OMOP-CDM Concept name Inclusion criteria

46271022 Chronic kidney disease 198185 Chronic renal failure 443597 Chronic kidney disease stage 3 443612 Chronic kidney disease stage 4 443611 Chronic kidney disease stage 5 Exclusion

criteria

4324887 Disorder related to renal transplantation

4309006 Kidney transplant failure and rejection

4128369 Renal transplant rejection 4127554 Failed renal transplant

(38)

26

199991 Disorder of transplanted kidney 타겟 환자와 비교 환자의 시간의 따른 변화 요소를 동일한 조건으로 주기 위해 윈도우를 설정하였다(window setting). 2011 년에서 2013 년 사이의 만성 신질환을 진단받은 환자를 타겟 환자로 잡았고 2010 년에서 2011 년 사이의 데이터는 필수로 존재하여야 하며 학습을 위해 타겟 환자와 비교 환자의 2003 년부터 2011 년에 기록된 데이터를 사용하였다. 모든 환자의 방문 길이를 전부 학습하기엔 모델의 성능이 떨어지고 학습 시간 소모가 커서 방문 길이에 따른 성능 및 시간을 비교하여 비교적 적은 소요시간에 좋은 성능이 보이는 국민건강보험공단 표본연구 DB 데이터셋은 80, 아주대학교병원 데이터셋은 30 을 환자별 최대 방문 수로 설정하였다. 그림 13 은 데이터 전처리를 위한 윈도우 설정 예시이다. 그림 13. 데이터 전처리를 위한 윈도우 설정 예시 첫 번째 환자의 경우, 방문한 횟수가 1 이기 때문에 제외하였고, 3 번째 환자의 경우, 2003 년 이전에도 방문한 데이터가 존재하였지만 활용하지 않았다. 4 번째 환자의 경우, 처음으로 만성 신질환을 진단받은 날짜가 2013 년 이후이기 때문에 학습 데이터에서 제외하였다.

(39)

27

나이의 정규화(normalization)를 위해 최소-최대 정규화(min-max normalization) 알고리즘을 사용하였으며 성별의 경우 남성은 1, 여성은 0 으로 변환하였다. 전처리를 통해 추출된 데이터의 수는 표 4 와 같다. 표 4. 데이터셋별 타겟 및 비교 환자 그룹 수 Dataset 국민건강보험공단 표본연구 DB 아주대학교병원 데이터베이스 # of target patients 3,690 756 # of comparator patients 21,826 3,463 Total # of patients 25,516 4,219

(40)

28

C.

실험 설계

모델은 선행학습(pre-training) 단계와 학습(training) 단계로 나뉜다. 선행학습 과 학습 단계의 옵티마이저(optimizer)는 아담(Adam)을 적용하였고, 학습단계에서 학습데이터를 샘플링하여 평균 오차를 산출하고 개별 가중치의 업데이트를 수행하는 확률 그라디언트 하강(Stochastic Gradient Descent)을 적용하였다. 모델의 초매개변수(hyperparameter)는 표 5 와 같이 설정하였다. 초매개변수별로 모델을 훈련시켰으며 모델별로 성능이 가장 우수한 지표를 추출하여 비교하였다. 데이터를 학습하고 성능을 평가하기 위해 8:2 비율로 훈련 집합(train set)과 검증 집합(validation set)으로 나누었으며 10-겹 교차 검증(10-fold cross validation)하였다.

표 5. 계층별 초매개변수 설정

Training step

layer Method Hyperparameter Value

Pre-training Embedding layer Number of epochs 2000 Learning rate 0.0001 0.0005 Med2Vec Hidden size of u 300

Hidden size of v 30 Window size 3 5 Training Number of epochs 300

Mini batch size 64 128

(41)

29

Learning rate 0.0001 Class weight 6 Keep probability 0.5 L2 regularization 0.003 RNN layer GRU Hidden size 64

Drop out True Bi-GRU Hidden size 64

Drop out True Attention

layer

Attention Hidden size 32

CNN layer CNN Kernel size 3 Stride size 1 Channel size 64 Padding Same Activation function ReLU

(42)

30

D.

딥러닝 기반의 만성 신질환 위험도 예측 모델

본 논문에서는 이에이치알 데이터를 이용하여 만성 신질환 위험도를 예측하기 위해 합성곱 신경망과 순환 신경망을 단일 또는 복합적인 구조로 만들어 실험하였다. 환자의 이에이치알 데이터를 벡터로 변환한 뒤 메드투벡을 통해 임베딩하여 선행학습하고 합성곱 신경망과 순환 신경망을 직렬 또는 병렬적으로 쌓은 모델을 통해 학습시킨 뒤 소프트맥스 함수를 통과시켜 만성 신질환의 위험도를 예측한다. 순환 신경망으로 학습할 경우, 어텐션 메커니즘을 추가하여 성능을 비교하고 가중치가 큰 시점을 추출하여 결과를 분석하였다. 그림 14 는 만성 신질환 위험도 예측을 위한 모델들의 기본 구조이다. 1. 입력 계층(Input layer) 2. 임베딩 계층(Embedding layer)

3. 다양한 구조 계층(Various structure layer) 4. 예측 계층(Prediction layer)

(43)

31

(44)

32

1. 입력 계층(Input layer) 입력 데이터의 형태는 환자의 방문 시점별 진단 및 처방 정보가 멀티핫벡터 형태로 표현되어 시간의 순서대로 행렬 형태로 쌓이게 된다. 이에이치알 데이터의 진단 코드들은 아래와 같이 나타낸다. 이 때, |"|는 고유한 진단 코드들의 수이다. #$, #&, #', … , #|)| 처방 코드들은 진단 코드와 동일하게 아래와 같이 나타낼 수 있으며, |*|는 고유한 처방 코드들의 수이다. m$, m&, m', … , m|,| 진단 코드와 처방 코드를 합친 의료 코드들을 아래와 같이 나타내며, |-|는 고유한 진단과 처방을 합친 의료 코드들의 수이다. 두 도메인의 코드들은 서로 겹치지 않기 때문에 |-| = |"| + |*|이 성립하고 " ⊂ -, * ⊂ -가 성립한다. 1$, 1&, 1', … , 1|2| 사용한 데이터의 환자수가 N 명이라 했을 때 4 번째 환자의 이에이치알 데이터의 총 방문 기록 수를 T(7)이라 하면, 4번째 환자의 방문 데이터들을 아래와 같이 나타낼 수 있으며 각 방문 벡터 x: 는 의료 코드인 -에 포함되어 있고 <= ∈ {0,1}|2| 이 성립하며 환자가 1C의 의료 코드를 가지고 있다면 i번째 원소는 1 이 된다. <$, <&, <', … , <EF

(45)

33

예를 들어, 아래 그림과 같이 n번째 환자의 데이터가 존재한다면 4 번 방문 기록이 있기 때문에 H(I)= 4가 되고 < $, <&, <', <K의 멀티핫벡터로 인코딩 된 방문데이터로 나타낼 수 있다. 그림 15. 멀티 핫 벡터 변환 예시

(46)

34

2. 임베딩 계층(Embedding layer) 입력 계층에서 출력되는 멀티핫벡터를 의미 있게 재표현하기 위해 임베딩 기법 중 메드투벡을 사용하였다. 메드투벡의 구조는 방문 벡터를 재표현하기 위해 완전연결 계층을 통과시킨 후 코드 추적을 가능하게 하기 위해 렐루(ReLU) 함수를 통과시킨다. 임베딩 L′의 은닉 크기를 N이라 할 때, OP의 크기는 N × |-|가 되며 RP의 크기는 N이 된다. L′= = STUV(OP<=+ RP) 방문의 의료 코드들을 예측하기 위해 아래의 크로스 엔트로피 에러(cross entropy error)를 최소화한다. OW ∈ ℝ|2|×I와 R

W∈ ℝ|2|는 소프트맥스 분류를 위한 가중치 행렬 및 임계값이다. min YZ,[Z 1 H\ <=]C⊺_`abc=, −(1 − <=]C)⊺log (1 − bc=) E =h$ , iℎTkT bc= = exp (OWn′=+ RW) ∑|2|th$exp (OW[q, : ]n′=+ RW[q]) L′=에 인구통계학적 정보인 #=∈ ℝu를 컨캣(concatenate)한 벡터를 다시 한번 완전 연결의 형태로 렐루에 통과시킨다. 임베딩 n′의 은닉 크기를 4이라 할 때, Ov의 크기는 4 × (N + #)가 되며 Rv의 크기는 4이 된다. n′== STUV(Ov[L=, #=]+ Rv) 의료 코드들의 공출현빈도(co-occurrence)를 높이기 위해 아래의 로그 우도(log-likelihood)를 최대화시킨다. 가중치 행렬OPw는 OPw = STUV(OP) ∈

(47)

35

min Yyz 1 H\ \ \ log {|1t}1C~ t:P∈ÄÅ,tÇC C:PÉ∈ÄÅ E =h$ , iℎTkT {(1t|1C) = exp (OPw[: , q]O Pw[: , Ñ]⊺) ∑|2|Üh$exp (OPw[: , Ö]⊺OPw[: , Ñ]) 앞서 기술한 2 가지의 목적 함수(objective function)를 합하여 아래와 같이 통합된 목적 함수로서 최적화시킨다. ákamin Yy,àz,Z,[y,àz,Z 1 H\{− \ \ log {|1t}1C~ t:P∈ÄÅ,tÇC C:PÉ∈ÄÅ E =h$ +1 H\ <=]C⊺_`abc=, −(1 − <=]C)⊺log(1 − bc=)} E =h$

(48)

36

3. 다양한 구조 계층(Various structure layer)

임베딩된 진단과 처방 정보를 다양한 구조의 모델을 통해 학습시킨다. 사용한 신경망은 순환 신경망과 합성곱 신경망이며, 순환 신경망은 어텐션 메커니즘을 추가로 구축한다. 모델 구조의 종류는 단일 모델과 복합 모델이 있으며 단일 모델은 하나의 신경망을 사용하며 복합 모델은 순환 신경망과 합성곱 신경망을 병렬 또는 직렬로 쌓아 학습한다. (A) 합성곱 신경망을 이용한 단일 모델 그림 16. 순환 신경망을 이용한 만성 신질환 위험도 예측 모델 순환 신경망을 이용한 모델의 구조는 단방향 쥐알유 모델이 있고 양방향 모델이 있다. 양방향 모델의 구조는 전방향 은닉 쥐알유 계층(forward hidden GRU layer)과 후방향 은닉 쥐알유 계층(backward hidden GRU layer)으로 나뉜다. n=는 메드투백으로 임베딩된 벡터이다. 전방향 은닉

쥐알유 계층은 아래와 같이 구할 수 있다.

(49)

37

a= = êá4ℎ(Oäãën=+ Oããë(k=⊙ ℎç⃗=è$) + Rãë) ì= = â(Oäãîn=+ Oããîℎç⃗=è$+ Rãî) ℎç⃗= = ì=⊙ ℎç⃗=è$+ (1 − ì=) ⊙ a= 후방향 은닉 쥐알유 계층도 전방향 은닉 쥐알유 계층과 마찬가지로 구할 수 있지만 이전 시점의 정보가 아닌 다음 시점의 정보를 이용하여 구하게 된다. k= = â(Oäãån=+ Oããåℎ⃖ç=]$+ Rãå) a= = êá4ℎ(Oäãën=+ Oããë(k=⊙ ℎç⃗=]$) + Rãë) ì= = â(Oäãîn=+ Oããîℎç⃗=]$+ Rãî) ℎç⃗= = ì=⊙ ℎç⃗=]$+ (1 − ì=) ⊙ a= 마지막으로 두 은닉 계층에 각각 가중치를 곱한 후 더해준다. ℎ= = Oãçç⃗ãℎççç⃗ + O= ã⃐ççãℎ⃐ç=+ Rã 위에서 연산 된 은닉 상태들에 어텐션 메커니즘을 추가함으로써, 가장 마지막의 은닉 상태 결과 값만이 아닌 모든 은닉 상태들의 가중치를 곱한 값으로 추출한다. 이를 통해 향후 은닉 상태의 가중치 값이 어떤 시점에서 큰 지 확인할 수 있게 되어, 모델이 예측에 있어 가장 많이 영향을 미친 시점을 확인할 수 있게 된다. 이 과정에서 어텐션 값들은 소프트맥스 함수를 거치기 때문에 모든 가중치의 값이 1 이 된다. 따라서, 가장 비중이 큰 요소 값을 추출해낼 수 있다. 식으로 나타내면 아래와 같다. LC는 방문 시점에 대한 컨텍스트 벡터(context vector)이다. LC = tanh(Ov=+ Rv)

(50)

38

öC = exp (LCELv) ∑ exp (= LCELv) õC = \ öCC C (B) 합성곱 신경망을 이용한 단일 모델 그림 17. 합성곱 신경망을 이용한 만성 신질환 위험도 예측 모델 모든 시점의 벡터들을 하나로 구성하여 행렬로 나타낸 뒤 합성곱 필터를 통해 합성곱 연산을 하고 렐루에 통과시켜 환자의 처방 정보의 여러 압축 버전으로 생성, 이후 완전 연결 계층을 통해 하나의 벡터로 변환시킨다. 이 때 필터의 열(column)은 임베딩 크기로 고정되는 데 이미지와 달리 입력값의 열은 순서가 존재하지 않으며 임베딩된 자질들이기 때문이다.

(51)

39

(C) 복합 모델 순환 신경망과 합성곱 신경망을 직렬 또는 병렬로 쌓아 학습한다. 아래의 그림은 두 신경망을 직렬, 병렬로 쌓은 구조의 예시이다. 그림 18. 직렬과 병렬 구조로 쌓은 예측 모델 구조. (A) 직렬 구조의 예측 모델 구조 (B) 병렬 구조의 예측 모델 구조. 본 연구에서는 진단과 처방 정보를 함께 벡터로 변환하여 사용하기 때문에 추가적인 복합 모델로 두 정보를 서로 다른 신경망을 통과시켜 학습되도록 하였다. 아래의 그림은 임베딩된 진단 및 처방 정보를 나누어 순환 신경망을 통해 진단 정보를 학습하고 합성곱 신경망을 통해 처방 정보를 학습하는

(52)

40

구조의 모델 예시이다. nu=는 t 시점의 임베딩된 진단 코드 벡터들을 의미하며, nx=는 t 시점의 임베딩된 처방 코드 벡터들을 의미한다.

(53)

41

4. 예측 계층(Prediction layer) 다양한 구조 계층에서 추출된 벡터를 컨캣 연산한다. 그 후, 완전 연결 계층을 통해 레이블(label) 크기로 변환하고 소프트맥스 함수를 거쳐 최종 결과값인 b= = {0,1}|ú|가 출력된다. 최종 출력값은 만성 신질환 진단을 받는 것과 만성 신질환 진단받지 않는 것으로 나뉘기 때문에 |ù|의 값은 2 가 된다. { = õ`ûêNá<(OP[1uC, 1xC] + RP) õ`ûêNá<(<C) = TäÉ ∑ TC äÉ

(54)

42

E.

개발 환경

실험을 위해 우분투(Ubuntu) 환경의 서버에서 진행하였다. 모델은 텐서플로우(TensorFlow)를 통해 구현되었으며 쥐피유(GPU) 컴퓨팅 자원을 사용하여 학습시켰다. 표 6 은 실험 환경에 대한 사양이며, 표 7 는 사용된 파이썬 3.5(Python 3.5)에서 라이브러리들의 내역이다. 표 6. 개발 환경 상세 Component Details

CPU Intel Xeon CPU E5-2696 v4 @ 2.20 GHz (1CPU, 22 Cores 44

Threads)

MotherBoard SuperMicro SYS-7048GR-TR X10DRG-Q

RAM 124 GiB (SAMSUNG

M393A4K30BB0-CPB 2133MHz 64GB x2, 128GB)

GPU NVIDIA GeForce GTX Titan X SLI 2 way

OS Ubuntu Linux 16.04 LTS (Linux Kernel 4.15)

Python 3.5.2

Jupyter notebook 5.7.0

Abbreviations: CPU, Central processing unit; RAM, Random access memory; GPU, Graphics processing unit; OS, Operating system;

(55)

43

표 7. 개발에 사용된 파이썬 라이브러리

Python library Details

Matplotlib 2.2.2 NumPy 1.14.5 Pandas 0.23.1 Pymssql 2.1.3 SciPy 1.1.0 Scikit-learn 0.0 TensorFlow 1.8.0

(56)

44

F.

평가 척도

본 연구의 성능을 평가하기 위한 지표로 정확도(Accuracy), 에이유알오씨(The Area under the Receiver Operating Characteristics Curve, AUROC), 에이유피알씨(The Area under the Precision-Recall Cruve, AUPRC), 웨이티드 에프원 스코어(Weighted F1-score)를 사용했다. 평가 척도를 정의하기에 앞서 지표에 사용되는 혼동 행렬(confusion matrix)은 표 8 과 같으며, True Positive(TP), True Negative(TN), False Positive(FP), False Negative(FN)는 혼동 행렬의 셀을 의미한다.

표 8. 혼동 행렬

Actual

Disease No Disease Predicted Positive(P) True Positive

(TP)

False Positive (FP) Negative(N) False Negative

(FN)

True Negative (TN)

(57)

45

1. 정확도(Accuracy) 정확도는 실험에 사용된 전체 환자 수에서 모델이 정확하게 분류한 환자 수에 대한 비율이며 다음과 같이 정의된다. 데이터가 균등할 때 주로 사용하는 지표이다. 정확도= 모델이 정확하게 분류한 환자 수(TP + TN) 검증에 사용된 환자 수 (TP + TN + FP + FN)

(58)

46

2. 에이유알오씨(The Area under the Receiver Operating

Characteristics Curve, AUROC)

에이유알오씨(AUROC)는 알오씨(ROC) 곡선 아래 영역의 넓이 값으로 알오씨 곡선에서 x 축은 1-특이도(Specificity), y 축은 민감도(Sensitivity)로 표현된다. 민감도와 특이도는 다음과 같이 정의된다. 민감도=모델이 정확하게 분류한 타겟 환자 수(TP) 실제 타겟 환자 수(TP + FN) 특이도=모델이 정확하게 분류한 비교 환자 수(TN) 실제 비교 환자 수 (TN + FP) 그래프 모형은 다음과 같다. 파란색 점선인 y=x 그래프보다 상위에 존재하고 그래프의 곡선이 위로 갈수록 성능이 좋은 모델이라 평가한다. 그림 20. 알오씨 곡선의 예시

(59)

47

3. 에이유피알씨(The Area under the Precision-Recall Curve,

AUPRC) 에이유피알씨(AUPRC)는 피알씨(PRC) 곡선 아래 영역의 넓이 값으로 피알씨 곡선에서 x 축은 재현율(recall), y 축은 정밀도(precision)로 표현되며 파라미터 조절에 따른 값의 변화를 그래프로 표현한 것이다. 정밀도와 재현율은 다음과 같이 정의된다. 정밀도=모델이 정확하게 분류한 타겟 환자 수(TP) 모델이 타겟환자로 예측한 수(TP + FP) 재현율=모델이 정확하게 분류한 타겟 환자 수(TP) 실제 타겟 환자 수(TP + FN) 피알씨 곡선의 그래프 모형은 다음과 같다. 그림 21. 피알씨 곡선의 예시

(60)

48

4. 에프원 스코어(F1-score) 에프원 스코어(F1-score)는 정밀도와 재현율의 조화평균으로 계산되며 가중치를 준 평균이라고 해석할 수 있다. 주로 데이터가 불균등할 때 사용된다. 수식은 아래와 같다. 에프원 스코어 = 2 × 정밀도× 재현율 정밀도+ 재현율

에프원 스코어는 매크로(macro), 웨이티드(weighted), 마이크로(micro)로 나뉜다. 매크로는 클래스 크게 가중치를 주지 않아 클래스 크기에 상관없이 모든 클래스를 같은 비중으로 다룬다. 웨이티드는 클래스별 샘플 수로 가중치를 두어 평균을 계산한다. 마지막으로 마이크로는 모든 클래스의 TP, FP, FN 의 총 수를 헤아린 후 수치를 계산한다. 본 연구는 클래스별 샘플 수가 다르기 때문에 웨이티드를 성능 평가에 활용했다. 에프원 스코어는 결합된 지표이기 때문에 정해진 클래스 판별 기준값(threshold)이 존재하지 않는다. 다만, 알고리즘을 서로 비교할 때 정밀도과 재현율을 복합적으로 고려하고 싶을 경우 에프원 스코어를 통해 비교한다.

(61)

49

. 실험 결과

A.

예측 모델별 성능

모델별로 초매개변수 설정 실험을 통해 최적의 성능을 결과로 추려 비교하였다. 성능 비교에 앞서 모델별 구조 설명은 다음과 같다. 표 9. 모델별 구조 설명 모델 이름 구조 설명 RNN 단일 RNN BRNN 양방향 RNN CNN 단일 CNN Series CRNN 진단+처방 정보를 직렬구조의 CNN, RNN 으로 학습 Parallel CRNN-All 진단+처방 정보를 병렬구조의 CNN, RNN 으로 학습 Parallel CRNN-Dx,Rx 진단 정보를 CNN, 처방 정보를 RNN 으로 병렬 학습 Parallel CRNN-Rx,Dx 처방 정보를 CNN, 진단 정보를 RNN 으로 병렬 학습

(62)

50

어텐션 메커니즘을 사용한 모델과 사용하지 않은 모델을 비교하여 어텐션 메커니즘의 성능을 살펴보았다. 어텐션 메커니즘은 순환 신경망에서 적용 가능하기 때문에 합성곱 신경망을 단독으로 진행한 모델은 어텐션 메커니즘 기능을 추가하지 않았다. 실험에 대한 결과 표는 다음과 같다. 평가지표별로 3 번째 높은 순위까지 진한 굵기로 처리했다. 표 10. 모델별 성능

Dataset Model Accuracy AUROC AUPRC Weighted

F1-score 국민 건강 보험 공단 표본 연구 DB RNN 0.7544 0.8722 0.5013 0.7829 RNN with Attention 0.7984 0.8674 0.4967 0.8197 BRNN 0.7839 0.8709 0.4905 0.8104 BRNN with Attention 0.7636 0.8562 0.4800 0.7938 CNN 0.7883 0.8689 0.5085 0.8087 Series CRNN 0.7555 0.8693 0.4988 0.7868 Series CRNN with Attention 0.7676 0.8682 0.4987 0.7967 Parallel CRNN-All 0.7904 0.8718 0.5166 0.8133 Parallel CRNN-All with Attention 0.7989 0.8700 0.5128 0.8208 Parallel CRNN-Dx,Rx 0.7847 0.8756 0.5234 0.8094

(63)

51

Parallel CRNN-Dx,Rx with Attention 0.8092 0.8759 0.5266 0.8265 Parallel CRNN-Rx,Dx 0.8001 0.8744 0.5234 0.8218 Parallel CRNN-Rx,Dx with Attention 0.8109 0.8775 0.5272 0.8303 아주 대학교 병원 데이터 베이스 RNN 0.8211 0.8604 0.6354 0.8286 RNN with Attention 0.8109 0.8497 0.5951 0.8212 BRNN 0.8064 0.8767 0.6336 0.8188 BRNN with Attention 0.8069 0.8362 0.6037 0.8170 CNN 0.7973 0.8663 0.5943 0.8085 Series CRNN 0.8063 0.8677 0.6245 0.8181 Series CRNN with Attention 0.7809 0.8606 0.5962 0.7975 Parallel CRNN-All 0.8018 0.8793 0.6264 0.8119 Parallel CRNN-All with Attention 0.8010 0.8723 0.6062 0.8065 Parallel CRNN-Dx,Rx 0.8186 0.8630 0.6343 0.8275

(64)

52

Parallel CRNN-Dx,Rx with Attention 0.7775 0.8678 0.6047 0.7923 Parallel CRNN-Rx,Dx 0.8207 0.8824 0.6361 0.8293 Parallel CRNN-Rx,Dx with Attention 0.8047 0.8796 0.6139 0.8135 웨이티드 에프원 스코어를 기준으로 국민건강보험공단 표본연구 DB 데이터셋의 경우, Parallel CRNN-Rx,Dx with Attention 모델이 가장 좋은 성능을 나타냈고 아주대학교병원 데이터셋의 경우, Parallel CRNN-Rx,Dx 모델이 가장 좋은 성능을 나타낸 것을 확인할 수 있다.

(65)

53

B.

어텐션 메커니즘을 이용한 가중치 추출 결과

모델의 TP 부분에서 어텐션 메커니즘의 가중치가 높은 시점을 추출하였고 가중치가 높은 시점 당시 받은 진단들을 추출하였다. 어텐션 메커니즘으로 추출된 코드의 빈도수를 데이터 셋 코드의 빈도수로 나눈 비율의 높은 순서대로 10 개의 진단 코드를 추려 표로 나타냈고 결과를 분석하였다. 표 11. 국민건강보험공단 표본연구 DB 어텐션 메커니즘의 가중치 추출 결과

Ratio rank OMOP-CDM Concept id

OMOP-CDM Concept name

Ratio

1 376112 Diabetic polyneuropathy 1.9 2 319835 Congestive heart failure 1.8 3 4319447 Urolithiasis 1.7 4 133637 Second degree burn of lower limb 1.6 5 443729 Peripheral circulatory disorder

associated with type 2 diabetes mellitus

1.5

6 4174977 Diabetic retinopathy 1.4 7 4091164 Tuberculosis of intrathoracic lymph

nodes, confirmed bacteriologically and histologically

1.1

7 4313846 Granulomatous hepatitis 1.1 7 381854 Disorder of conjunctiva 1.1 7 381252 Benign neoplasm of eye 1.1

1, 5, 6 순위의 의료 코드들은 당뇨병과 만성 신질환의 연관성을 가진 것을 확인할 수 있으며 당뇨병은 만성 신질환과 관련이 깊은 것을 문헌을 통해 확인할 수 있다(Pop-Busui et al., 2010). 2 위를 차지하고 있는 울혈성 심부전(congestive heart failure)은 문헌을 통해 관계성을 확인하였다(Silverberg et al., 2004). Gambaro et al.의 연구를 통해 신장

(66)

54

결석 환자는 만성 신질환의 위험이 2 배가 높으며, 여성이고 과체중일 경우 위험성이 증가하는 것을 확인할 수 있다(Gambaro et al., 2016). 따라서, 3 순위를 차지한 요로결석(urolithiasis)은 만성 신질환과 관련이 깊음을 시사한다. 4 위를 차지한 하지의 2 도 화상(Second degree burn of lower limb) 환자의 경우, 신장 기능 장애가 올 확률이 높아 만성 신질환과 관련이 있는 것을 확인할 수 있다(Ibrahim et al., 2013).

(67)

55

표 12. 아주대학교병원 데이터베이스 어텐션 메커니즘의 가중치 추출 결과

Ratio rank OMOP-CDM Concept id

OMOP-CDM Concept name

Ratio

1 432585 Blood coagulation disorder 30

2 134569 Erythema infectiosum 12

3 443731 Renal disorder due to type 2 diabetes

mellitus 11.3 4 4174977 Diabetic retinopathy 9.4

5 197320 Acute renal failure syndrome 9.0

6 444078 Inflammation of cervix 8.8

7 376065 Neurologic disorder associated with type 2 diabetes mellitus

8.8

8 381849 Degenerated eye 8.1

9 4166909 Superficial injury of lower limb 7.9

10 442752 Muscle pain 7.4

1 순위에 위치한 혈액응고장애(blood coagulation disorder)와 3, 5 순위에 위치한 신장과 관련된 의료 코드들은 만성 신질환의 주된 위험 요인으로 알려져 있다(Huang et al., 2016). 4, 7 순위에 위치한 의료 코드들은 당뇨병 환자에게 높은 유병률을 보이는 진단들이며 만성 신질환은 당뇨병과 긴밀한 관계를 가진 것을 문헌을 통해 확인할 수 있다(El Nahas and Bello, 2005). Wong et al. 연구에서는 신장 질환과 안질환이 밀접하게 연관되어 있음을 시사하며, 8 위에 위치한 degenerated eye 또한 관련 깊은

(68)

56

위험 인자로 소개하고 있다(Wong et al., 2013). 10 위에 위치한 근육통(muscle pain)은 만성 신질환 환자들의 공통적인 증상으로 알려져 있다(Caravaca et al., 2016).

(69)

57

. 고찰

본 연구를 통해 이에이치알 데이터의 진단 및 처방 정보를 이용한 만성 신질환 예측 방법론을 제시하였다. 기존의 연구에는 다양한 구조의 딥러닝 모델을 실험하여 성능을 비교하였고 어텐션 메커니즘을 이용해 가장 높은 가중치를 갖는 환자별 방문 시점을 확인하였다. 그 결과 순환 신경망으로 진단 정보를 학습시키고 합성곱 신경망으로 처방정보를 병렬 학습시킨 모델이 두 데이터셋에서 안정적으로 좋은 성능을 보였다. 국민건강보험공단 표본연구 DB 데이터셋의 경우, 아주대학교병원 데이터셋과는 다르게 어텐션 메커니즘을 추가한 모델이 더 좋은 성능을 보였는데 그 이유는 국민건강보험공단 표본연구 DB 데이터셋의 환자별 평균 방문 길이가 길기 때문에 길이가 긴 시계열 데이터에 비교적 좋은 성능을 보이는 어텐션 메커니즘의 특성 때문으로 보인다. 어텐션 메커니즘을 통해 추출된 가중치 높은 자질들은 당뇨(diabetes mellitus), 안질환(eye disease), 혈액응고장애(blood coagulation disorder), 신장질환(renal disease), 근육통(muscle pain), 울혈성 심부전(congestive heart failure), 요로결석(urolithiasis), 하지의 2 도 화상(Second degree burn of lower limb) 으로 만성 신질환의 중요한 위험 요인인 것을 문헌을 통해 확인할 수 있었다. 문헌에서 발견하지 못한 전염성 홍반(erythema infectiosum), 자궁 경부염증(inflammation of cervix), 하지 표면 상해(superficial injury of lower limb), 결핵(tuberculosis), 결막 장애(disorder of conjunctiva), 눈의 양성 종양(benign neoplasm of eye)은 만성 신질환과 관련성을 확인하지 못하였다. 그러나 임상적으로 만성 신질환의 드러나지 않은 위험 요인들이 계속해서 발견되고 있기 때문에 확인되지 않은 자질들은 잘못 추출된 것이 아니라 아직 밝혀지지 않은 숨겨진

(70)

58

패턴이 포함되어 있는 자질들일 수 있을 것이라 해석해야 한다(Kazancioğlu, 2013).

여러 연구들이 만성 신질환을 예측하기 위해서 이에이치알 데이터를 이용하여 전통적인 기계학습 기반의 모델을 활용해왔다. Sinha and Sinha 연구에서는 나이, 검사 데이터를 이용하여 서포트 벡터 머신, k-최근접 이웃 알고리즘 모델을 활용하였으며, 분석 결과 정확도는 73.7%, 78.7%였고 에프원 스코어는 66.7%, 80.9%였다(Sinha and Sinha, 2015). Vijayarani and Dhayanand 연구에서는 나이, 성별, 검사 데이터를 이용하여 서포트 벡터 머신, 나이브 베이즈 모델을 활용하였으며, 분석 결과 정확도는 70.9%, 76.3%였고 에프원 스코어는 19.2%, 21.3%였다(Vijayarani and Dhayanand, 2015). Ramya and Radha 연구에서는 나이, 성별, 검사 데이터를 이용하여 서포트 벡터 머신, 나이브 베이즈, 인공 신경망 모델을 활용하였으며, 분석 결과 정확도는 78.6% ~ 80.4%였다(Ramya and Radha, 2016). 성능을 비교하였을 때, 본 논문에서 제안한 모델들은 다른 데이터베이스에 적용된 모델보다 더 좋은 성능을 보였다. 특히, 진단 및 처방 정보를 개별적으로 학습한 구조의 모델은 진단 데이터와 처방 데이터의 자질들을 병렬적으로 구성하여 2 개의 다른 의료 도메인의 데이터를 병렬적으로 처리하였기 때문에 각 파라미터가 도메인별로 숨겨진 특성을 추출하는데 용이하여 성능 향상에 영향을 준 것으로 보이며 그 중에서도 진단 정보는 과거의 정보를 활용하는 순환 신경망, 처방 정보는 지역적 특징을 활용하는 합성곱 신경망이 더 적합하였다. 본 연구에서는 환자의 모든 방문 정보를 활용하지 않았는데 모든 방문 정보를 사용할 경우 과도한 메모리(memory)를 사용하기 때문에 주어진 개발환경에서는 학습이 불가능하였다. 이를 극복하기 위해 방문 길이를 30, 40, 50 등으로 세팅하여 성능을 비교하였고 모델의 성능이 저하되지 않는 범위에서 방문 길이를 제한하였다. 이러한 방법이 완전한 해결책은 아니기 때문에 방문 길이가 긴 환자들의 데이터들을 고려하여 새로운 방법을

(71)

59

고안해야 할 필요가 있을 것으로 생각된다. 또한, 어텐션 메커니즘의 1 차원적인 결과값만을 추출하여 패턴 정보의 흐름을 확인하지 못하였는데 단순히 높은 가중치만을 볼 것이 아닌 시점별로 가중치를 시각화하여 2 차원적인 패턴의 흐름을 추후 확인할 필요가 있다.

(72)

60

Ⅵ. 결론

본 연구를 통해 이에이치알 데이터를 활용한 딥러닝 기반의 만성 신질환 위험도를 예측하였다. 진단 및 처방 정보만을 이용하여 만성 신질환의 진단 여부를 예측하고, 시계열 정보를 고려하는 데 효과적인 딥러닝 기반의 모델을 적용하여, 다양한 모델 구조를 통해 성능을 비교 분석하였다. 또한 이에이치알 데이터를 바로 신경망에 입력하지 않고 임베딩을 통해 데이터의 희소성을 완화하고 어텐션 메커니즘을 적용하여 어떤 시점에서 만성 신질환 위험도 예측에 결정적인 영향을 미쳤는지 분석하였다. 진단 정보와 처방 정보만을 이용하여 조기 발견이 어려운 만성 신질환을 보다 효과적으로 예측하여 만성 신질환의 발병 지연 및 유병률 감소에 기여할 수 있을 것이며 더 나아가 본 모델이 다기관에 범용적으로 적용이 가능한 만성 신질환 조기 예측 전략으로 활용되길 기대한다.

수치

그림 2. 합성곱 신경망의 구조 예시(albelwi and Mahmoodm 2017)
그림 4. 장단기 메모리의 구조
그림 8. 워드투벡의 구조(Milolov et al., 2013)
그림 9. 메드투벡의 구조(Choi et al., 2016)
+7

참조

관련 문서

말초 혈관 저항 증가. 근육

Clicker를 이용한 학습과 교육 그리고 학습관리 시스템과 clicker의 결합 Using Clicker for learning and teaching clicker with a Learning..

Chronic kidney disease (partial update): Early identification and management of chronic kidney disease in adults in primary and secondary care (Clinical

Baek(2015)은 광역지역 지반정보를 이용한 실시간 액상화 위험도 개발에서 액상화 간 편 예측법을 이용한 액상화 평가프로그램을 개발하여 수도권과 그 주변

따라서 본 절에서는 Mathworks에서 제공하는 Deep Learning Toolbox의 Artificial Neural Network(ANN: 인공 신경망) 알고리즘을 이용해 Hot Swap 동작 시 발생하는

CHD: coronary heart disease, CVD: cardiovascular disease, MI: myocardial infarction, ACS: acute coronary syndrome, CKD: chronic kidney disease, HTN: hypertension. LDL-C

RLC(rotate left with carry): C 플래그를 포함하는 좌측 순환 시프트(회전) 연산.. RRC(rotate right with carry): C 플래그를 포함하는 우측

다시 말해서 신경은 심장의 수축운동을 일으키게 하는 것이 아니라 심장운동을 제어하거나 촉진하는 작용을 할 뿐이다..