• 검색 결과가 없습니다.

C. 임베딩( EMBEDDING )

1. 워드투벡(Word2Vec)

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)은 중심 단어를 이용하여 주변 단어들을 예측한다. 이 과정에서 연관성이 높은 벡터의 내적 값을 향상시키도록 학습한다.

18

그림 8. 워드투벡의 구조(Milolov et al., 2013)

19

2. 메드투벡(Med2Vec)

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

그림 9. 메드투벡의 구조(Choi et al., 2016)

20

오몹 시디엠(Observation Medical Outcomes Partnership-Common Data Model, OMOP-CDM) 5 버전으로 변환된 데이터를 활용하였다. 데이터의 특성은 다음 표와

# of patients 1,125,691 2,277,540

# of visits 121,570,644 43,755,028 Avg. # of visits per

21

Avg. # of medical

codes per visit

6 7

Max # of medical codes per visit

158 265

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

이에 비해, 방문별 최대 의료 코드 수는 아주대학교병원 데이터셋이 약 100 개 더 많은 것을 확인할 수 있다.

22

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

본 연구는 오봅 시디엠(OMOP-CDM)으로 변환된 데이터를 사용하였다.

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

그림 10. 시디엠 워크플로

23

2. 국민건강보험공단 표본연구 DB

국민건강보험공단은 국민 건강 증진에 대한 보험 급여를 실시하는 기관으로서 보건 향상에 기여하고 있다. 국민건강보험공단에서 관리하고 있는 표본연구 DB 는 2006 년 1 년간 건강보험가입자 및 의료급여수급권자 자격을 유지한 대한민국 인구의 약 98%의 전국민 데이터를 보유하고 있으며, 그 중 100 만 명의 샘플데이터로 성, 연령, 진단 정보 등으로 층화 추출된 샘플 데이터를 제공한다.

덧붙여 사회, 경제적 현황 데이터와 의료이용 현황 데이터, 요양기관 현황 데이터를 포함하고 있다. 데이터의 특성은 그림 11 에서 확인할 수 있다.

그림 11. 아킬레스를 이용한 국민건강보험공단 표본연구 DB 데이터셋 특성

아킬레스 힐(ACHILLES HEEL)은 데이터베이스의 특성과 품질을 평가하기 위한 프로파일링 도구이다.

24

3. 아주대학교병원 데이터베이스

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

그림 12. 아킬레스를 이용한 아주대학교병원 데이터셋 특성

25

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

26

199991 Disorder of transplanted kidney

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

그림 13. 데이터 전처리를 위한 윈도우 설정 예시

첫 번째 환자의 경우, 방문한 횟수가 1 이기 때문에 제외하였고, 3 번째 환자의 경우, 2003 년 이전에도 방문한 데이터가 존재하였지만 활용하지 않았다. 4 번째 환자의 경우, 처음으로 만성 신질환을 진단받은 날짜가 2013 년 이후이기 때문에 학습 데이터에서 제외하였다.

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

28

layer Method Hyperparameter Value

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

30

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

본 논문에서는 이에이치알 데이터를 이용하여 만성 신질환 위험도를 예측하기 위해 합성곱 신경망과 순환 신경망을 단일 또는 복합적인 구조로 만들어 실험하였다.

환자의 이에이치알 데이터를 벡터로 변환한 뒤 메드투벡을 통해 임베딩하여 선행학습하고 합성곱 신경망과 순환 신경망을 직렬 또는 병렬적으로 쌓은 모델을 통해 학습시킨 뒤 소프트맥스 함수를 통과시켜 만성 신질환의 위험도를 예측한다.

순환 신경망으로 학습할 경우, 어텐션 메커니즘을 추가하여 성능을 비교하고 가중치가 큰 시점을 추출하여 결과를 분석하였다. 그림 14 는 만성 신질환 위험도 예측을 위한 모델들의 기본 구조이다.

1. 입력 계층(Input layer)

2. 임베딩 계층(Embedding layer)

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

31

그림 14. 만성 신질환 위험도 예측 모델 기본 구조

32

33

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

그림 15. 멀티 핫 벡터 변환 예시

34

35

36

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

임베딩된 진단과 처방 정보를 다양한 구조의 모델을 통해 학습시킨다.

사용한 신경망은 순환 신경망과 합성곱 신경망이며, 순환 신경망은 어텐션 메커니즘을 추가로 구축한다. 모델 구조의 종류는 단일 모델과 복합 모델이 있으며 단일 모델은 하나의 신경망을 사용하며 복합 모델은 순환 신경망과 합성곱 신경망을 병렬 또는 직렬로 쌓아 학습한다.

(A) 합성곱 신경망을 이용한 단일 모델

그림 16. 순환 신경망을 이용한 만성 신질환 위험도 예측 모델

순환 신경망을 이용한 모델의 구조는 단방향 쥐알유 모델이 있고 양방향 모델이 있다. 양방향 모델의 구조는 전방향 은닉 쥐알유 계층(forward hidden GRU layer)과 후방향 은닉 쥐알유 계층(backward hidden GRU layer)으로 나뉜다. n=는 메드투백으로 임베딩된 벡터이다. 전방향 은닉 쥐알유 계층은 아래와 같이 구할 수 있다.

k= = â(Oäãån=+ Oããåℎç⃗=è$+ Rãå)

37

38

öC = exp (LCELv)

∑ exp (= LCELv) õC = \ öCC

C

(B) 합성곱 신경망을 이용한 단일 모델

그림 17. 합성곱 신경망을 이용한 만성 신질환 위험도 예측 모델

모든 시점의 벡터들을 하나로 구성하여 행렬로 나타낸 뒤 합성곱 필터를 통해 합성곱 연산을 하고 렐루에 통과시켜 환자의 처방 정보의 여러 압축 버전으로 생성, 이후 완전 연결 계층을 통해 하나의 벡터로 변환시킨다. 이 때 필터의 열(column)은 임베딩 크기로 고정되는 데 이미지와 달리 입력값의 열은 순서가 존재하지 않으며 임베딩된 자질들이기 때문이다.

39

(C) 복합 모델

순환 신경망과 합성곱 신경망을 직렬 또는 병렬로 쌓아 학습한다. 아래의 그림은 두 신경망을 직렬, 병렬로 쌓은 구조의 예시이다.

그림 18. 직렬과 병렬 구조로 쌓은 예측 모델 구조. (A) 직렬 구조의 예측 모델 구조 (B) 병렬

그림 18. 직렬과 병렬 구조로 쌓은 예측 모델 구조. (A) 직렬 구조의 예측 모델 구조 (B) 병렬

관련 문서