KR102216689B1 - Method and system for visualizing classification result of deep neural network for prediction of disease prognosis through time series medical data - Google Patents
Method and system for visualizing classification result of deep neural network for prediction of disease prognosis through time series medical data Download PDFInfo
- Publication number
- KR102216689B1 KR102216689B1 KR1020180146628A KR20180146628A KR102216689B1 KR 102216689 B1 KR102216689 B1 KR 102216689B1 KR 1020180146628 A KR1020180146628 A KR 1020180146628A KR 20180146628 A KR20180146628 A KR 20180146628A KR 102216689 B1 KR102216689 B1 KR 102216689B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- disease
- time
- patient
- medical data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/50—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Primary Health Care (AREA)
- Epidemiology (AREA)
- Pathology (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
시계열 의료 데이터를 통한 질병 예후 예측을 위한 딥 뉴럴 네트워크의 분류 결과 시각화 방법 및 시스템이 개시된다. 컴퓨터로 구현되는 방법에 있어서, 환자의 의료 데이터를 시간 순의 시계열 데이터인 시퀀스(sequence) 형태로 표현함으로써 시퀀스 데이터를 생성하는 단계; RNN(recurrent neural network)과 어텐션 네트워크(attention network)를 이용한 질병 예측 모델을 통해 상기 시퀀스 데이터로부터 상기 환자의 질병을 예측하는 단계; 및 Grad-CAM(gradient-weighted class activation map)을 이용하여 상기 환자의 질병 예측에 대한 상기 시퀀스 데이터의 어텐션 가중치를 시각화하는 단계를 포함하는 방법을 제공한다.Disclosed is a method and system for visualizing classification results of deep neural networks for predicting disease prognosis using time series medical data. A computer-implemented method, comprising the steps of: generating sequence data by representing medical data of a patient in the form of a sequence that is time-series data; Predicting a disease of the patient from the sequence data through a disease prediction model using a recurrent neural network (RNN) and an attention network; And visualizing an attention weight of the sequence data for disease prediction of the patient using a gradient-weighted class activation map (Grad-CAM).
Description
아래의 설명은 질병 예후를 예측하여 예측 결과를 제공하는 기술에 관한 것이다.The description below relates to a technology that predicts disease prognosis and provides prediction results.
심장혈관 및 뇌혈관 질병과 같은 고위험 질병의 정확한 예측은 의료 영역의 사망을 예방하기 위해 아주 중요한 문제이다. 대부분의 기존 방법은 주로 병리학적, 방사선학적, 임상적 정보를 사용하여 예측 결과를 제공한다.Accurate prediction of high-risk diseases such as cardiovascular and cerebrovascular diseases is a very important issue to prevent death in the medical field. Most existing methods use primarily pathological, radiological, and clinical information to provide predictive results.
예컨대, 한국공개특허 제10-2014-0098561호(공개일 2014년 08월 08일)에는 분석 대상 질병에 관련된 단일염기다형성(single nucleotide polymorphism, SNP) 조합을 기초로 사용자의 질병 발생 위험도를 예측하는 기술이 개시되어 있다.For example, Korean Patent Application Publication No. 10-2014-0098561 (published on August 08, 2014) predicts the risk of a user's disease on the basis of a single nucleotide polymorphism (SNP) combination related to the disease to be analyzed. The technology is disclosed.
병리학적 및 방사선학적 측정이 경쟁력 있는 정밀도를 제공한다고 하더라도 예측을 위해 데이터를 얻고 분석하는 데 많은 시간과 비용이 필요하다.Although pathological and radiological measurements provide competitive precision, obtaining and analyzing data for prediction requires a lot of time and money.
환자의 진단 및 의약품 기록을 포함하는 의료 기록인 EHR(electronic health record, 전자 건강 기록)을 대안으로 사용할 수 있다. EHR 데이터는 시계열 정보를 포함하고 의료 전문가에 의해 측정되므로 질병 예후를 예측하는 데 유용하다.An alternative is to use an electronic health record (EHR), a medical record that includes the patient's diagnosis and medication records. EHR data contains time series information and is measured by medical professionals, which is useful for predicting disease prognosis.
최근 딥러닝(deep learning)의 발전으로 컴퓨터 비전, 자연어 처리, 오디오 신호 처리 등과 같은 다양한 분야에서 주목할 만한 성공을 거두고 있는 가운데, 의료 영역에서 많은 연구들이 기존 의료 데이터 및 EHR 데이터로부터 다양한 질병을 예측하기 위한 딥러닝 기반의 접근법을 도입하고 있다.Recent advances in deep learning have achieved remarkable success in various fields such as computer vision, natural language processing, and audio signal processing, while many studies in the medical field are predicting various diseases from existing medical data and EHR data. We are introducing a deep learning-based approach for this.
그러나, 딥러닝 기반 방법이 유망한 결과를 보여주더라도 그들의 블랙박스 특성 때문에 어떤 요소가 질병 상태에 큰 영향을 미치는지 조사하기는 쉽지 않다.However, even if the deep learning-based method shows promising results, it is not easy to investigate which factors have a significant influence on the disease state due to their black box characteristics.
RNN(Recurrent Neural Network)과 어텐션(attention) 메커니즘을 기반으로 한 새로운 질병 예측 방법인 EHR 기반 질병 예측 모델을 제공한다.We provide an EHR-based disease prediction model, a new disease prediction method based on RNN (Recurrent Neural Network) and attention mechanism.
특정 시점의 EHR 데이터가 특정 종류의 질병으로 분류되는데 미치는 상대적 영향력을 시간 축에 대한 선형 합의 형태로 시각화할 수 있는 기술을 제공한다.It provides a technology that can visualize the relative influence of EHR data at a specific point in time to be classified as a specific type of disease in the form of a linear agreement on the time axis.
컴퓨터로 구현되는 방법에 있어서, 환자의 의료 데이터를 시간 순의 시계열 데이터인 시퀀스(sequence) 형태로 표현함으로써 시퀀스 데이터를 생성하는 단계; RNN(recurrent neural network)과 어텐션 네트워크(attention network)를 이용한 질병 예측 모델을 통해 상기 시퀀스 데이터로부터 상기 환자의 질병을 예측하는 단계; 및 Grad-CAM(gradient-weighted class activation map)을 이용하여 상기 환자의 질병 예측에 대한 상기 시퀀스 데이터의 어텐션 가중치를 시각화하는 단계를 포함하는 방법을 제공한다.A computer-implemented method, comprising the steps of: generating sequence data by representing medical data of a patient in the form of a sequence that is time-series data; Predicting a disease of the patient from the sequence data through a disease prediction model using a recurrent neural network (RNN) and an attention network; And visualizing an attention weight of the sequence data for disease prediction of the patient using a gradient-weighted class activation map (Grad-CAM).
일 측면에 따르면, 상기 생성하는 단계는, 상기 의료 데이터로서 진단 기록(diagnosis records)에 포함된 정보와 처방 기록(medication records)에 포함된 정보를 정보 유형 별로 각각 시퀀스 데이터를 생성한 후 상기 질병 예측 모델에 입력 가능하도록 임베딩하는 단계를 포함할 수 있다.According to one aspect, the generating step includes generating sequence data for each information type of information included in diagnosis records and information included in prescription records as the medical data, and then predicting the disease. It may include embedding the model to be input.
다른 측면에 따르면, 상기 생성하는 단계는, 상기 의료 데이터를 양방향 GRU(gated recurrent units)의 입력으로 하여 임베딩 벡터로 통합하는 단계를 포함할 수 있다.According to another aspect, the generating may include the step of integrating the medical data into an embedding vector as an input of bidirectional gated recurrent units (GRU).
또 다른 측면에 따르면, 상기 생성하는 단계는, 상기 의료 데이터를 연속된 의료 이벤트 사이의 시간 간격을 포함하는 임베딩 벡터로 인코딩하는 단계를 포함할 수 있다.According to another aspect, the generating may include encoding the medical data into an embedding vector including a time interval between consecutive medical events.
또 다른 측면에 따르면, 상기 질병 예측 모델은, 질병 예측에 대해 상기 의료 데이터에 포함된 시간 정보의 중요성을 학습하기 위해 어텐션 메커니즘을 이용할 수 있다.According to another aspect, the disease prediction model may use an attention mechanism to learn the importance of time information included in the medical data for disease prediction.
또 다른 측면에 따르면, 상기 질병 예측 모델은, 상기 어텐션 네트워크의 시간-분포 소프트맥스 레이어(time-distributed softmax layer)에 의해 상기 시퀀스 데이터에 대한 어텐션 가중치를 계산한 후 상기 RNN의 출력에 반영할 수 있다.According to another aspect, the disease prediction model may calculate an attention weight for the sequence data by a time-distributed softmax layer of the attention network and then reflect it in the output of the RNN. have.
또 다른 측면에 따르면, 상기 예측하는 단계는, 상기 시퀀스 데이터의 어텐션 가중치를 병합하여 완전 연결 레이어(fully connected layer)를 통해 질병 예측에 따른 클래스 라벨링을 수행하는 단계를 포함할 수 있다.According to another aspect, the predicting may include merging attention weights of the sequence data and performing class labeling according to disease prediction through a fully connected layer.
또 다른 측면에 따르면, 상기 시각화하는 단계는, 상기 어텐션 가중치에 대한 클래스(class)의 소프트맥스 출력의 그래디언트(gradient)를 계산하는 단계; 시간 차원에 대해 1차원 GAP(Global Average Pooling)를 수행하여 시간 평균 그래디언트를 획득하는 단계; 및 상기 시간 평균 그래디언트를 이용하여 상기 어텐션 가중치의 Grad-CAM을 계산하는 단계를 포함할 수 있다.According to another aspect, the visualizing may include calculating a gradient of a softmax output of a class with respect to the attention weight; Obtaining a time average gradient by performing one-dimensional GAP (Global Average Pooling) on the time dimension; And calculating a Grad-CAM of the attention weight by using the time average gradient.
또 다른 측면에 따르면, 상기 시각화하는 단계는, 히트맵을 통해 질병 예측에 따른 클래스에 대한 상기 어텐션 가중치의 Grad-CAM을 시각화할 수 있다.According to another aspect, in the visualizing step, the Grad-CAM of the attention weight for the class according to the disease prediction may be visualized through a heat map.
또 다른 측면에 따르면, 상기 시각화하는 단계는, 상기 환자의 방문 시간에 대한 타임 도메인을 통해 질병 예측에 따른 클래스에 미치는 상대적 영향력을 나타내는 상기 Grad-CAM의 히트맵을 제공할 수 있다.According to another aspect, the step of visualizing may provide a heat map of the Grad-CAM indicating a relative influence on a class according to disease prediction through a time domain for the visit time of the patient.
상기 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.It provides a computer-readable recording medium, characterized in that the program for executing the method in a computer is recorded.
컴퓨터 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 환자의 의료 데이터를 시간 순의 시계열 데이터인 시퀀스 형태로 표현함으로써 시퀀스 데이터를 생성하는 데이터 처리부; 및 RNN과 어텐션 네트워크를 이용한 질병 예측 모델을 통해 상기 시퀀스 데이터로부터 상기 환자의 질병을 예측하고 Grad-CAM(gradient-weighted class activation map)을 이용하여 상기 환자의 질병 예측에 대한 상기 시퀀스 데이터의 어텐션 가중치를 시각화하는 시각화부를 포함하는 컴퓨터 시스템을 제공한다.A computer system comprising at least one processor implemented to execute a computer-readable instruction, wherein the at least one processor generates sequence data by expressing patient medical data in a sequence form that is time-series data A data processing unit; And an attention weight of the sequence data for predicting the patient's disease using a gradient-weighted class activation map (GD-CAM) and predicting the patient's disease from the sequence data through a disease prediction model using an RNN and an attention network. It provides a computer system including a visualization unit for visualizing.
본 발명의 실시예들에 따르면, 환자의 EHR 데이터와 어텐션 네트워크를 사용한 예측 모델로서 고위험 질병을 예측할 수 있는 RNN 기반의 새로운 질병 예측 모델을 제공할 수 있다.According to embodiments of the present invention, it is possible to provide a new disease prediction model based on RNN capable of predicting high-risk diseases as a prediction model using EHR data of a patient and an attention network.
본 발명의 실시예들에 따르면, 특정 시점의 EHR 데이터가 특정 종류의 질병으로 분류되는데 미치는 상대적 영향력을 시간 축에 대한 선형 합의 형태로 시각화함으로써 보다 자세한 정보를 제공할 수 있다.According to embodiments of the present invention, more detailed information may be provided by visualizing the relative influence of EHR data at a specific time point on classification as a specific type of disease in the form of a linear sum on a time axis.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 질병 예후 예측 방법의 예를 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 있어서 EHR 기반 어텐션 네트워크(EHAN)의 구조를 도시한 것이다.
도 5는 본 발명의 일 실시예에 있어서 EHR 기반 어텐션 네트워크(EHAN)에서 사용된 어텐션 구조의 일례를 도시한 것이다.
도 6은 본 발명의 일 실시예에 있어서 고위험 질병으로 분류된 질병 코드 예시를 나타낸 테이블이다.
도 7은 본 발명의 일 실시예에 있어서 진단 피처에 대한 Grad-CAM을 시각화한 인터페이스 화면의 예시를 도시한 것이다.1 is a block diagram illustrating an example of an internal configuration of a computer system according to an embodiment of the present invention.
2 is a diagram illustrating an example of components that may be included in a processor of a computer system according to an embodiment of the present invention.
3 is a flowchart illustrating an example of a disease prognosis prediction method that can be performed by a computer system according to an embodiment of the present invention.
4 shows the structure of an EHR-based attention network (EHAN) according to an embodiment of the present invention.
5 illustrates an example of an attention structure used in an EHR-based attention network (EHAN) according to an embodiment of the present invention.
6 is a table showing examples of disease codes classified as high-risk diseases according to an embodiment of the present invention.
7 illustrates an example of an interface screen visualizing Grad-CAM for a diagnostic feature in an embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들은 질병 예후를 예측하여 예측 결과를 제공하는 기술에 관한 것이다.Embodiments of the present invention relate to technology for predicting disease prognosis and providing predictive results.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 시계열 의료 데이터의 학습을 통해서 특정 질병의 예후를 예측하기 위한 딥 뉴럴 네트워크의 분류 결과를 시각화 할 수 있고, 이를 통해 효율성, 정확성, 신속성, 비용 절감 등의 측면에 있어서 상당한 장점들을 달성한다.Examples including those specifically disclosed in this specification can visualize the classification result of a deep neural network for predicting the prognosis of a specific disease through learning of time series medical data, through which efficiency, accuracy, speed, and cost reduction It achieves considerable advantages in terms of the back.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 질병 예후 예측 시스템이 도 1의 컴퓨터 시스템(100)을 통해 구현될 수 있다. 도 1에 도시한 바와 같이, 컴퓨터 시스템(100)은 질병 예후 예측 방법을 실행하기 위한 구성요소로서 프로세서(110), 메모리(120), 영구 저장 장치(130), 버스(140), 입출력 인터페이스(150) 및 네트워크 인터페이스(160)를 포함할 수 있다.1 is a block diagram illustrating an example of an internal configuration of a computer system according to an embodiment of the present invention. For example, the disease prognosis prediction system according to embodiments of the present invention may be implemented through the
프로세서(110)는 환자 의료 기록으로부터 고위험 질병을 예측하기 위한 구성요소로서 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(110)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(110)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼 등에 포함될 수 있다. 프로세서(110)는 버스(140)를 통해 메모리(120)에 접속될 수 있다.
메모리(120)는 컴퓨터 시스템(100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(120)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 다이내믹 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(120)는 컴퓨터 시스템(100)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(120)는 예를 들어 질병 예후 예측을 위한 명령어들을 포함하는 컴퓨터 시스템(100)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(100)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(110)를 포함할 수 있다.
버스(140)는 컴퓨터 시스템(100)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(140)는 예를 들어 컴퓨터 시스템(100)의 컴포넌트들 사이에, 예를 들어 프로세서(110)와 메모리(120) 사이에 데이터를 운반할 수 있다. 버스(140)는 컴퓨터 시스템(100)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(130)는 (예를 들어, 메모리(120)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(100)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(130)는 컴퓨터 시스템(100) 내의 프로세서(110)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(130)는 예를 들어 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(150)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 질병 예후 예측을 위한 입력이 입출력 인터페이스(150)를 통해 수신될 수 있다.The input/
네트워크 인터페이스(160)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(160)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 질병 예후 예측을 위한 입력이 네트워크 인터페이스(160)를 통해 수신될 수 있다.The
또한, 다른 실시예들에서 컴퓨터 시스템(100)은 도 1의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(100)은 상술한 입출력 인터페이스(150)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Further, in other embodiments, the
본 발명에서는 RNN과 어텐션 메커니즘을 기반으로 한 새로운 질병 예측 모델로서 EHR 기반 어텐션 네트워크(EHAN: EHR History-based prediction using Attention Network)를 제안한다.The present invention proposes an EHR History-based prediction using Attention Network (EHAN) as a new disease prediction model based on an RNN and an attention mechanism.
본 명세서에서는 심혈관 질병과 뇌혈관 질병을 사망을 유발하는 고위험 질병의 대표적인 예로 하여 설명하고 있으나, 이에 한정되는 것은 아니다. 그리고, 의사가 결정한 진단 기록(diagnosis records)과 치료를 위한 처방 기록(medication records)을 환자 의료 기록의 대표적인 예로 하여 설명하고 있으나, 이 또한 이에 한정되는 것은 아니다.In the present specification, cardiovascular disease and cerebrovascular disease are described as representative examples of high-risk diseases that cause death, but are not limited thereto. In addition, although diagnosis records determined by a doctor and prescription records for treatment are described as representative examples of patient medical records, these are not limited thereto.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 질병 예후 예측 방법의 예를 도시한 순서도이다.2 is a diagram showing an example of components that can be included in a processor of a computer system according to an embodiment of the present invention, and FIG. 3 is a disease prognosis that can be performed by a computer system according to an embodiment of the present invention. It is a flowchart showing an example of a prediction method.
도 2에 도시된 바와 같이, 프로세서(110)는 데이터 처리부(210)와, 분류 및 시각화부(220)를 포함할 수 있다. 이러한 프로세서(110)의 구성요소들은 적어도 하나의 프로그램 코드에 의해 제공되는 제어 명령에 따라 프로세서(110)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(110)가 의료 데이터를 사전 처리하도록 컴퓨터 시스템(100)을 제어하기 위해 동작하는 기능적 표현으로서 데이터 처리부(210)가 사용될 수 있다. 프로세서(110) 및 프로세서(110)의 구성요소들은 도 3의 질병 예후 예측 방법이 포함하는 단계들(S310 내지 S330)을 수행할 수 있다. 예를 들어, 프로세서(110) 및 프로세서(110)의 구성요소들은 메모리(120)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 적어도 하나의 프로그램 코드는 질병 예후 예측 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.As shown in FIG. 2, the
질병 예후 예측 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.The disease prognosis prediction method may not occur in the order shown, and some of the steps may be omitted or an additional process may be further included.
단계(S310)에서 프로세서(110)는 질병 예후 예측 방법을 위한 프로그램 파일에 저장된 프로그램 코드를 메모리(120)에 로딩할 수 있다. 예를 들어, 질병 예후 예측 방법을 위한 프로그램 파일은 도 1을 통해 설명한 영구 저장 장치(130)에 저장되어 있을 수 있고, 프로세서(110)는 버스를 통해 영구 저장 장치(130)에 저장된 프로그램 파일로부터 프로그램 코드가 메모리(120)에 로딩되도록 컴퓨터 시스템(110)을 제어할 수 있다. 이때, 프로세서(110) 및 프로세서(110)가 포함하는 데이터 처리부(210)와, 분류 및 시각화부(220) 각각은 메모리(120)에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(S320 내지 S330)을 실행하기 위한 프로세서(110)의 서로 다른 기능적 표현들일 수 있다. 단계들(S320 내지 S330)의 실행을 위해, 프로세서(110) 및 프로세서(110)의 구성요소들은 직접 제어 명령에 따른 연산을 처리하거나 또는 컴퓨터 시스템(100)을 제어할 수 있다.In step S310, the
단계(S320)에서 데이터 처리부(210)는 환자의 의료 기록으로서 시계열 정보를 포함하는 의료 데이터를 시퀀스 형태로 표현하여 사전 처리할 수 있다. 다시 말해, 데이터 처리부(210)는 환자의 의료 기록을 시간 순의 시계열 데이터인 시퀀스 형태의 피처로 표현함으로써 해당 환자에 대한 시퀀스 데이터를 생성할 수 있다.In step S320, the
고위험 질병(심혈관 질병과 뇌혈관 질병)의 예후를 예측하기 위해 실제 병원에서 수집한 전자 의료 데이터(EHR 데이터)로서, 혈관 질병을 가지고 있지 않은 환자, 심혈관 질병을 가지고 있는 환자, 뇌혈관 질병을 가지고 있는 환자의 의료 기록을 사용할 수 있다.As electronic medical data (EHR data) collected in actual hospitals to predict the prognosis of high-risk diseases (cardiovascular disease and cerebrovascular disease), patients without vascular disease, patients with cardiovascular disease, and cerebrovascular disease Medical records of patients who are present are available.
전자 의료 데이터로는 환자의 질병과 증상 등을 분류하는 코드, 일례로 국제 통계 분류 10차 개정판인 ICD-10으로 표현된 질병 분류 코드를 이용할 수 있다. 의료 데이터로 사용되는 ICD-10 코드는 총 6,667개이며, 이들 코드 전체를 사용하거나 혹은 환자들에게서 일정 횟수 이상 나타나는 일부 코드들을 선택적으로 사용하는 것 또한 가능하다. 환자의 의료 데이터에는 질병 분류 코드 이외에도 시간 정보(진단 일자, 처방 일자, 방문 시간 간격 등), 의약품 코드, 방문 유형 등 다양한 추가 정보가 포함될 수 있다.As electronic medical data, a code for classifying a patient's diseases and symptoms, for example, a disease classification code expressed as ICD-10, the 10th revision of the international statistical classification, can be used. A total of 6,667 ICD-10 codes are used as medical data, and it is possible to use all of these codes or to selectively use some codes that appear more than a certain number of times in patients. In addition to the disease classification code, the patient's medical data may include various additional information such as time information (diagnosis date, prescription date, visit time interval, etc.), drug code, and visit type.
일례로, 환자 의료 기록은 진단 기록과 처방 기록을 포함할 수 있으며, 이외에도 혈압, 콜레스테롤 등과 같은 생체 측정 정보는 물론이고, 날짜나 환자 상태 정보, 그리고 나이나 성별 등과 같은 환자 임상 정보 또한 활용 가능하다. 이하에서는 진단 기록과 처방 기록을 환자 의료 기록의 일 예로 하여 구체적인 실시예를 설명하고 있으나, 이러한 것으로만 한정되는 것은 아니며 전자 의료 기록에 포함되거나 혹은 전자 의료 기록으로부터 도출 가능한 환자의 모든 정보를 활용할 수 있음은 당연하다.For example, patient medical records may include diagnostic records and prescription records, and in addition to biometric information such as blood pressure and cholesterol, as well as date and patient status information, and patient clinical information such as age or gender may also be used. . Hereinafter, a specific embodiment is described using diagnostic records and prescription records as examples of patient medical records, but is not limited thereto, and all patient information included in the electronic medical record or derived from the electronic medical record can be used. It is natural that there is.
진단 기록은 환자 고유번호(pid), 진단 일자(date), 질병 분류 코드(code), 방문 유형(type)을 포함할 수 있고, 처방 기록은 환자 고유번호(pid), 처방 일자(date), 의약품 코드(code), 방문 유형(type)을 포함할 수 있다. 방문 유형은 환자가 병원을 방문한 유형으로, 외래 환자, 입원 환자, 응급 환자 등으로 구분될 수 있다.The diagnosis record may include a patient identification number (pid), a diagnosis date, a disease classification code (code), and a visit type (type), and the prescription record may include a patient identification number (pid), a prescription date, and May include drug code and visit type. The type of visit is a type of visit by a patient to a hospital, and can be classified into an outpatient, an inpatient, and an emergency patient.
데이터 처리부(210)는 환자의 의료 기록에 포함된 정보를 정보 유형 별로 각각 시퀀스 데이터를 생성한 후 질병 예측 모델에 입력 가능하도록 임베딩(embedding)할 수 있다. 피처 표현(feature representation)을 위해 다양한 유형의 의료 데이터를 양방향 GRU(gated recurrent units)의 입력으로 연결하여 이벤트 임베딩 벡터로 통합할 수 있다. 특히, 정규 시간 간격 데이터만 처리할 수 있는 RNN의 한계를 해결하기 위해 연속된 의료 이벤트 사이의 시간 간격을 임베딩 벡터에 명시적으로 인코딩할 수 있다. 다시 말해, 진단 일자나 처방 일자의 시간 간격을 나타내는 추가 피처를 표현할 수 있으며, 예를 들어 첫 번째 진단 일자와 두 번째 진단 일자의 시간 간격이 30주이고, 두 번째 진단 일자와 세 번째 진단 일자의 시간 간격이 7주인 경우 (30, 7)과 같이 기록하여 해당 기록으로부터 시퀀스 데이터를 생성할 수 있다.The
단계(S330)에서 분류 및 시각화부(210)는 EHR 기반 어텐션 네트워크(EHAN) 모델을 통해 시퀀스 형태의 의료 데이터에서 고위험 질병을 예측함과 동시에 고위험 질병의 예측값에 대한 의료 데이터의 상대적 영향력을 시각화할 수 있다. 이때, 분류 및 시각화부(210)는 Grad-CAM(gradient-weighted class activation map)을 통해 특정 시점의 의료 데이터가 특정 질병 예측에 얼마나 큰 영향을 미치는지 시각화 하여 보다 명확하고 자세한 해석이 가능한 결과를 제공할 수 있다.In step S330, the classification and
본 발명에 따른 EHR 기반 어텐션 네트워크(EHAN) 모델은 (1) 자동 순차 모델링을 위한 양방향 GRU, (2) 장기 의존성 모델링을 개선하기 위한 어텐션 메커니즘, (3) 클래스 특정 어텐션-가중치를 시각화하기 위한 RNN 기반 그래디언트-가중 클래스 활성화 매핑(Grad-CAM)이 포함된다.The EHR-based attention network (EHAN) model according to the present invention includes (1) a two-way GRU for automatic sequential modeling, (2) an attention mechanism for improving long-term dependency modeling, and (3) an RNN for visualizing class-specific attention-weights. Based gradient-weighted class activation mapping (Grad-CAM) is included.
본 발명에 따른 EHR 기반 어텐션 네트워크(EHAN) 모델은 피처 표현을 위한 모듈과 함께, 분류를 위한 모듈을 포함할 수 있다. 이때, EHR 기반 어텐션 네트워크(EHAN) 모델은 질병 상태를 구별하는 데 큰 영향을 미치는 중요한 의학적 사건에 집중함으로써 예측 능력을 향상시키기 위해 어텐션 메커니즘을 이용한다. 또한, EHR 기반 어텐션 네트워크(EHAN) 모델은 Grad-CAM을 통합하여 질병 분류와 관련된 의료 이벤트의 중요성 점수를 명시적으로 제공할 수 있다.The EHR-based attention network (EHAN) model according to the present invention may include a module for classification as well as a module for feature expression. At this time, the EHR-based Attention Network (EHAN) model uses an attention mechanism to improve predictive ability by focusing on important medical events that have a great influence on distinguishing disease states. In addition, the EHR-based Attention Network (EHAN) model can incorporate Grad-CAM to explicitly provide the importance score of medical events related to disease classification.
RNN은 가변 길이 순차 데이터 모델링에 자주 사용되는 뉴럴 네트워크이다. RNN은 한 번에 한 개의 입력을 처리하고 과거의 정보를 암시적으로 저장하는 숨겨진 유닛의 순환적 연결을 포함한다. 최근 RNN은 LSTM(long short term memory) 및 GRU와 같은 메모리 셀의 일종으로 작동하는 보다 정교한 숨겨진 유닛을 사용한다. 또한, 특정 시점을 가중시켜 장기 의존성을 보다 효과적으로 학습하도록 설계된 어텐션 메커니즘을 적용하여 RNN의 성능이 더욱 향상될 수 있다. 이때, 어텐션은 일반적으로 뉴럴 네트워크의 아키텍쳐에 따라 다양한 형태로 구현될 수 있다.RNN is a neural network frequently used for modeling variable length sequential data. The RNN contains a circular link of hidden units that process one input at a time and implicitly store past information. Recent RNNs use more sophisticated hidden units that act as some kind of memory cell such as long short term memory (LSTM) and GRU. In addition, the performance of the RNN can be further improved by applying an attention mechanism designed to more effectively learn long-term dependence by weighting a specific point in time. In this case, the attention may be implemented in various forms according to the architecture of the neural network.
한편, CAM(Class activation mapping)은 CNN(convolutional neural networks)의 효과적인 시각화를 위해 설계된 딥러닝 기술이다. CAM을 사용하면 주어진 하이레벨의 피처에서 식별 영역을 하이라이트하여 예측된 클래스 점수를 시각화할 수 있다. CAM은 분류 구조가 특정 레이어의 피처 맵에 대해 GAP(Global Average Pooling)를 사용하도록 한다는 점에서 네트워크 제한으로 인해 분류 성능의 저하를 초래할 수 있다. 이와 달리, Grad-CAM은 CAM을 개선한 것으로, 관심 레이어의 그래디언트에 GAP를 적용하여 분류 아키텍처로 인한 제약을 제거할 수 있다.Meanwhile, CAM (Class Activation Mapping) is a deep learning technology designed for effective visualization of convolutional neural networks (CNN). Using CAM, you can visualize predicted class scores by highlighting areas of identification at a given high-level feature. CAM may cause degradation of classification performance due to network limitations in that the classification structure uses GAP (Global Average Pooling) for feature maps of a specific layer. In contrast, Grad-CAM is an improved CAM, and it is possible to remove the constraints due to the classification architecture by applying GAP to the gradient of the layer of interest.
본 발명에 따른 EHR 기반 어텐션 네트워크(EHAN) 모델은 RNN과 어텐션 메커니즘을 기반으로 한 것으로, EHR 시퀀스 데이터에서 고위험 질병을 예측함과 동시에 Grad-CAM을 사용하여 중요한 이벤트를 강조하기 위한 엔드 투 엔드(end-to-end) 모델로 구현된 것이다.The EHR-based Attention Network (EHAN) model according to the present invention is based on an RNN and an attention mechanism, and an end-to-end for highlighting important events using Grad-CAM while predicting high-risk diseases from EHR sequence data. It is implemented as an end-to-end) model.
도 4는 본 발명의 일 실시예에 있어서 EHR 기반 어텐션 네트워크(EHAN)의 구조를 도시한 것이다.4 shows the structure of an EHR-based attention network (EHAN) according to an embodiment of the present invention.
EHR 기반 어텐션 네트워크(EHAN)에 의한 질병 예후 예측 방법은 입력 표현(input representation)(사전 처리) 단계, 피처 추출(feature extraction) 단계, 분류(classification) 및 시각화 단계로 구성될 수 있다.The disease prognosis prediction method by the EHR-based attention network (EHAN) may be composed of an input representation (pre-processing) step, a feature extraction step, a classification and a visualization step.
첫 번째 입력 표현 단계에서, 주어진 진단 기록(401)과 처방 기록(402)은 워드 벡터 표현으로 변환된다.In the first input presentation step, the given
피처 추출 단계에서, 워드 벡터는 어텐션 메커니즘으로 양방향 GRU로 전달되고 집합 피처로 병합될 수 있다.In the feature extraction step, the word vector may be transferred to the bidirectional GRU by an attention mechanism and merged into an aggregate feature.
추출된 피처는 분류 단계에서 소프트맥스(softmax) 이진 벡터로 분류되고, Grad-CAM 기반 시각화 단계를 통해 시간 관련 정보를 획득할 수 있다.The extracted feature is classified as a softmax binary vector in the classification step, and time-related information may be obtained through the Grad-CAM-based visualization step.
도 4를 참조하면, EHR 기반 어텐션 네트워크(EHAN)는 환자의 진단 기록(401)과 처방 기록(402) 각각에 대하여 네 가지 유형(pid, date, code, type)의 정보를 입력으로 사용하며, 해당 환자가 고위험군인지 여부를 나타내는 2차원 소프트맥스 벡터를 결과로 출력한다.4, the EHR-based attention network (EHAN) uses information of four types (pid, date, code, type) for each of the patient's
데이터 처리 단계(S320)에서는 입력 표현을 위해 진단 기록(401)과 처방 기록(402)을 이진 워드 벡터로 인코딩한다. 인코딩된 이진 워드 벡터는 분류 및 시각화부(210)로서 피처 추출 모듈(RNN 및 어텐션 모듈)(410)과 분류 모듈(다중 완전 연결 레이어(fully connected layer))(420) 및 시각화 모듈(Grad-CAM)(430)로 구성된 뉴럴 네트워크 아키텍처에 의해 처리된다.In the data processing step S320, the
입력 표현Input expression
설명의 편의를 위해 단일 환자에 대한 입력 표현을 설명한다.For convenience of explanation, the input expression for a single patient is described.
환자 의료 기록의 시퀀스를 나타내기 위해 질병 진행 모델링(disease progression modeling)(DPM)을 이용한다. 방문 횟수가 k라고 가정할 때, i번째(i=1,2,…,k) 타임 스탬프와 의료 기록을 각각 와 로 표시할 수 있다. 여기에서, 는 의료 기록 x의 어휘 목록(vocabulary)을 나타낸다. 예를 들어, 어휘 목록 사이즈가 |c|인 특정 의료 기록 x를 사용하면 i번째 방문 시 의료 코드를 가진 이진 벡터 로 나타낼 수 있으며, 여기서 j번째 좌표에서 각각의 값은 가 해당되는 방문에서 문서화됨을 나타낸다.Use disease progression modeling (DPM) to represent the sequence of patient medical records. Assuming that the number of visits is k, the i-th (i=1,2,…,k) time stamp and medical record are respectively Wow Can be marked with From here, Represents the vocabulary of medical record x. For example, using a specific medical record x with a vocabulary list size of |c|, a binary vector with medical code at visit i Can be expressed as, where each value at the j-th coordinate is Is documented at the applicable visit.
이하에서는 4가지 종류의 의료 기록, 즉 질병 코드 dc, (진단 기록의) 방문 유형 dt, 의약품 코드 mc, (투약 기록의) 방문 유형 mt를 고려한다. 방문 유형은 환자가 병원을 방문한 유형으로, 외래 환자, 입원 환자, 응급 환자 등으로 구분될 수 있다.Below we consider four types of medical records: disease code d c , visit type d t (of diagnostic record), drug code m c , and visit type m t (of medication record). The type of visit is a type of visit by a patient to a hospital, and can be classified into an outpatient, an inpatient, and an emergency patient.
질병 코드 dc의 경우 날짜 별로 진단 가능한 모든 코드에 대응하는 벡터(1 또는 0)로 표현될 수 있으며, 예를 들어, 100개의 질병 코드가 존재하면 크기가 100인 벡터로 표현될 수 있다.The disease code d c may be expressed as a vector (1 or 0) corresponding to all codes that can be diagnosed by date. For example, if there are 100 disease codes, it may be expressed as a vector of
EHREHR 기반 base 어텐션Attention 네트워크( network( EHANEHAN ))
Grad-CAM을 이용한 시각화를 위해 오리지널 입력 도메인으로 되돌릴 수 있는 적절한 피처 표현이 필요하다. EHR 기반 어텐션 네트워크(EHAN)는 피처 추출 모듈(410)과 분류 모듈(420) 및 시각화 모듈(430)로 이루어진다.For visualization using Grad-CAM, we need an appropriate feature representation that can be reverted to the original input domain. The EHR-based attention network (EHAN) includes a
- 임베딩 (피처 추출 모듈(410))-Embedding (feature extraction module 410)
본 실시예에서는 수학식 1과 같이 정의된 소프트-임베딩(soft-embedding) 기술을 이용한다.In this embodiment, a soft-embedding technique defined as in
[수학식 1][Equation 1]
여기서, 과 은 주어진 입력 의 임베딩 벡터와 학습할 임베딩 행렬을 의미한다. m은 임베딩 차원의 크기이다.here, and Is the given input It means the embedding vector of and the embedding matrix to be learned. m is the size of the embedding dimension.
4가지 종류의 의료 기록(dc, dt, mc, mt)에 해당되는 각 의료 기록 유형 에 대해 해당 임베딩 벡터 은 수학식 2와 같이 정의된다.Each type of medical record covered by four types of medical records (d c , d t , m c , m t ) For the corresponding embedding vector Is defined as in
[수학식 2][Equation 2]
의 각 임베딩 차원의 숫자는 각각 , , , 이다. The number of each embedding dimension of is , , , to be.
각 임베딩 차원의 숫자를 해당 어휘 크기의 4제곱근 루트로 결정한다. 예를 들어, 어휘 크기가 100일 때 임베딩의 숫자는 로 계산할 수 있다.The number of each embedding dimension is determined as the root of the square of the corresponding vocabulary size. For example, when the vocabulary size is 100, the number of embeddings is Can be calculated as
질병 코드 dc와 진단 유형 dt은 동일한 타임스탬프에서 파생되므로 두 개의 임베딩 벡터를 수학식 3과 같이 연결할 수 있다.Since the disease code d c and the diagnosis type d t are derived from the same timestamp, two embedding vectors can be connected as shown in
[수학식 3][Equation 3]
여기서, 은 진단 기록의 임베딩 벡터이고, 는 진단 기록의 i번째 방문과 i-1번째 방문 사이의 시간 간격을 의미한다.here, Is the embedding vector of the diagnostic record, Is the time interval between visit i and visit i-1 of the diagnostic record.
는 수학식 4와 같이 정의될 수 있다. May be defined as in Equation 4.
[수학식 4][Equation 4]
여기서, 는 i번째 방문일의 타임스탬프를 나타낸다.here, Represents the timestamp of the i-th visit date.
동일한 방법으로, 처방 기록의 임베딩 벡터 을 얻을 수 있다.In the same way, the embedding vector of the prescription record Can be obtained.
- 피처 추출 (피처 추출 모듈(410))-Feature extraction (feature extraction module 410)
진단 기록의 임베딩 벡터(진단 피처)와 처방 기록의 임베딩 벡터(처방 피처)에 대한 각각의 순차적 모델링을 위해 두 개의 양방향 GRU 레이어와 어텐션 메커니즘을 사용한다.Two bidirectional GRU layers and an attention mechanism are used for each sequential modeling of the embedding vector of the diagnostic record (diagnostic feature) and the embedding vector of the prescription record (prescription feature).
양방향 GRU 레이어 Gd와 Gm은 임베딩 벡터 와 를 방문 시점(time point) 로 사용하고 수학식 5와 수학식 6의 가중치 행렬 Hd 및 Hm을 반환한다.Bidirectional GRU layers G d and G m are embedding vectors Wow The time point And return the weight matrices H d and H m of Equations 5 and 6.
[수학식 5][Equation 5]
[수학식 6][Equation 6]
여기서, nd와 nm은 각 레이어의 GRU 유닛 수를 나타내고, k는 방문 횟수를 나타낸다.Here, n d and n m denote the number of GRU units of each layer, and k denote the number of visits.
주어진 입력 x의 시간 포지션의 중요성을 학습하기 위해 RNN 출력인 Hd 및 Hm에 어텐션 메커니즘을 적용할 수 있다.The attention mechanism can be applied to the RNN outputs H d and H m to learn the importance of the time position of a given input x.
도 5는 본 발명의 일 실시예에 있어서 EHR 기반 어텐션 네트워크(EHAN)에서 사용된 어텐션 구조의 일례를 도시한 것이다.5 illustrates an example of an attention structure used in an EHR-based attention network (EHAN) according to an embodiment of the present invention.
양방향 GRU 레이어의 각 출력에 대한 어텐션 가중치를 학습하기 위해 각각 완전 연결 레이어와 소프트맥스 활성화로 구성된 2개의 소프트맥스 레이어를 사용한다.In order to learn attention weights for each output of the bidirectional GRU layer, two softmax layers consisting of a fully connected layer and softmax activation, respectively, are used.
본 실시예에서는 일종의 자가-어텐션(self-attention) 메커니즘을 사용한다. 어텐션 가중치 벡터(attention weight vector)는 시간-분포(time-distributed) 소프트맥스 레이어에 의해 계산되며 RNN 출력에 어텐션 가중치를 곱한다.In this embodiment, a kind of self-attention mechanism is used. The attention weight vector is calculated by a time-distributed softmax layer, and the RNN output is multiplied by the attention weight.
학습 가능한 가중치 행렬 와 은 수학식 7과 수학식 8의 어텐션 가중치 행렬 와 을 구성하는데 사용된다.Learnable weight matrix Wow Is the attention weight matrix of Equations 7 and 8 Wow Is used to construct.
[수학식 7][Equation 7]
[수학식 8][Equation 8]
어텐션 가중치 벡터 와 는 수학식 9, 수학식 10와 같이 정의될 수 있다.Attention weight vector Wow May be defined as in
[수학식 9][Equation 9]
[수학식 10][Equation 10]
여기서, 는 소프트맥스 활성화 함수를 나타내고, 은 행렬을 취하여 대각선 벡터를 생성하는 함수를 나타내고, 와 의 i번째 요소는 각각의 i번째 방문에 대한 질병 코드 dc와 의약품 코드mc에 대한 어텐션 가중치를 나타낸다.here, Denotes the softmax activation function, Represents a function that takes a matrix and produces a diagonal vector, Wow The i-th element of is the attention weight for disease code d c and drug code m c for each i-th visit.
가중치 행렬 Hd 및 Hm의 어텐션 가중치 표현(attention-weighted representation)인 Cd 및 Cm은 수학식 11과 수학식 12를 통해 얻을 수 있다.C d and C m, which are attention-weighted representations of the weight matrices H d and H m , can be obtained through
[수학식 11][Equation 11]
[수학식 12][Equation 12]
여기서, 와 은 nd 차원 벡터와 nm 차원 벡터를 나타내고, 은 요소별 곱셈(element-wise multiplication)을 나타내고, 은 외적 연산자(outer product operator)를 나타낸다.here, Wow Represents an n d dimensional vector and an n m dimensional vector, Represents element-wise multiplication, Denotes the outer product operator.
- 분류 (분류 모듈(420))-Classification (classification module 420)
EHR 기반 어텐션 네트워크(EHAN)는 이전 단계에서 추출된 진단 피처와 처방 피처를 병합하여 두 개의 완전 연결 레이어를 사용하여 질병 라벨을 예측할 수 있다. 예컨대, 클래스 라벨링을 위해 도 6의 표에 나타낸 바와 같이 의료 전문가에 의해 결정된 질병 코드 그룹을 사용할 수 있다.The EHR-based Attention Network (EHAN) can predict disease labels using two fully connected layers by merging the diagnostic and prescription features extracted in the previous step. For example, for class labeling, a disease code group determined by a medical professional as shown in the table of FIG. 6 may be used.
어텐션 가중치 행렬 Cd 및 Cm은 벡터 와 로 평면화(flattened)될 수 있으며, 이 두 벡터는 통합 표현(integrated representation) 으로 연관시킬 수 있다. 그리고, 중간 출력 O를 수학식 13을 통해 계산할 수 있다.Attention weight matrices C d and C m are vectors Wow Can be flattened, and these two vectors are integrated representation Can be associated with Then, the intermediate output O can be calculated through Equation 13.
[수학식 13][Equation 13]
여기서, 은 로지스틱 시그모이드 함수(logistic sigmoid function)를 나타내고, 은 학습 가능한 가중치 행렬을 나타내고, 는 바이어스 벡터를 나타내고, 는 중간 출력 O의 차원을 나타낸다.here, Denotes a logistic sigmoid function, Denotes the learnable weight matrix, Denotes the bias vector, Represents the dimension of the intermediate output O.
두 번째 완전 연결 레이어는 수학식 14와 같은 최종 소프트맥스 출력 를 출력할 수 있다.The second fully connected layer outputs the final softmax as shown in Equation 14 Can be printed.
[수학식 14][Equation 14]
여기서, 는 학습 가능한 가중치 행렬을 나타내고, 는 바이어스 벡터를 나타낸다. 손실 함수에는 이진 크로스-엔트로피가 사용될 수 있다.here, Denotes a learnable weight matrix, Denotes the bias vector. Binary cross-entropy can be used for the loss function.
- Grad-CAM(gradient-weighted class activation map) (시각화 모듈(430))-Grad-CAM (gradient-weighted class activation map) (visualization module 430)
본 발명에서는 의료 기록의 어느 시점이 분류 결과에 가장 큰 영향을 미치는가를 시각화할 수 있다. 따라서, 시간 정보가 포함된 최상위 표현(highest-level representation)을 나타내는 를 Grad-CAM의 목표 피처로 간주한다.In the present invention, it is possible to visualize which point in the medical record has the greatest influence on the classification result. Thus, indicating the highest-level representation containing time information Is regarded as the target feature of Grad-CAM.
첫째, 진단 피처인 어텐션 가중치 행렬 Cd에 대한 클래스 c의 소프트맥스 출력의 그래디언트 를 수학식 15를 통해 계산할 수 있다.First, the gradient of the softmax output of class c for the attention weight matrix C d , which is a diagnostic feature. Can be calculated through Equation 15.
[수학식 15][Equation 15]
여기서, 는 클래스 c의 최종 소프트맥스 출력을 나타낸다.here, Denotes the final softmax output of class c.
시간 차원에 대해 1차원 GAP를 수행하여 수학식 16을 통해 시간 평균 그래디언트 를 얻을 수 있다.Time average gradient through Equation 16 by performing a one-dimensional GAP on the time dimension Can be obtained.
[수학식 16][Equation 16]
마지막으로, 클래스 c에서 진단 피처 Cd의 Grad-CAM인 는 수학식 17을 통해 계산할 수 있다.Finally, the Grad-CAM of diagnostic feature C d in class c Can be calculated through Equation 17.
[수학식 17][Equation 17]
여기서, 은 행렬을 취하여 대각선 벡터를 생성하는 함수를 나타내고, 은 외적 연산자를 나타내고, 는 k차원 벡터를 나타낸다.here, Represents a function that takes a matrix and produces a diagonal vector, Represents the cross product operator, Represents a k-dimensional vector.
진단 피처 Cd와 동일한 절차를 거쳐 처방 피처 Cm에 대한 Grad-CAM을 도출할 수 있다.The Grad-CAM for the prescription feature C m can be derived through the same procedure as the diagnostic feature C d .
- Grad-CAM을 이용한 시각화 (시각화 모듈(430))-Visualization using Grad-CAM (visualization module 430)
엔드 투 엔드 접근법은 학습 효율성은 물론이고 새로운 피처를 발견할 수 있는 능력을 갖추고 있다. 일반적으로 피처가 딥 네트워크 모델의 가중치로 표현되기 때문에 학습된 피처를 직관적으로 해석하기 어려운 점이 있다. 이를 해결하기 위해 본 발명에서는 Grad-CAM을 이용하여 질병 분류에 중요한 방문 시간 관련 정보를 얻을 수 있다.The end-to-end approach has learning efficiency as well as the ability to discover new features. In general, it is difficult to intuitively interpret a learned feature because the feature is represented by the weight of the deep network model. In order to solve this problem, in the present invention, information related to visit time important for disease classification can be obtained using Grad-CAM.
예컨대, 도 7을 참조하면 시각화 모듈(430)에서는 히트맵을 통해 포지티브 클래스(비정상)에 대한 진단 피처 Cd의 Grad-CAM을 시각화 할 수 있다.For example, referring to FIG. 7, the
도 7의 (A)에서 x축은 진단을 위한 방문 시간을, y축은 무작위로 선택된 10명의 포지티브 분류 예시를 도시한 것이다. 도 7의 (A) 그래프에서 가로 줄 하나가 환자 한 사람에 대한 진단 피처 Cd의 Grad-CAM을 나타내는 것이다. 도 7의 (A) 그래프를 구성하는 히트맵은 각 피처 벡터의 어느 시점이 해당 포지티브 클래스의 분류에 상대적 영향력을 미치는지를 보여준다.In FIG. 7A, the x-axis shows the visit time for diagnosis, and the y-axis shows an example of positive classification of 10 randomly selected people. In the graph of FIG. 7 (A), one horizontal line represents the Grad-CAM of the diagnostic feature C d for one patient. The heat map constituting the graph of FIG. 7 (A) shows which viewpoint of each feature vector has a relative influence on the classification of the corresponding positive class.
도 7의 (B) 그래프에서 가로 스케일은 방문 시간에 대한 타임 도메인으로, Grad-CAM의 히트맵이 진할수록 당시 방문 시점의 진단이 결과에 큰 영향을 준 것을 의미할 수 있다.In the graph (B) of FIG. 7, the horizontal scale is a time domain for the visit time, and the darker the heat map of Grad-CAM may mean that the diagnosis at the time of the visit has a great influence on the result.
도 7의 (B)는 고유번호 id가 20065752인 환자의 Grad-CAM에 대한 질병 코드 주석을 나타낸 것이다. 예를 들어, 해당 환자가 11회 방문했고 마지막 방문 이후 6 개월 이내에 질병 발생 확률이 0.7989로 예측되는 발병 예측 결과를 제공할 수 있다. 5번째 방문에서 가장 높은 강도가 나타나는데, 이는 5번째 방문 시점에 질병 코드 'E785', 'R42', 'E780'이 긍정적인 분류에 상대적으로 더 많은 영향을 미쳤음을 보여주는 것이다.(B) of Figure 7 shows the disease code annotation for Grad-CAM of a patient whose ID number is 20065752. For example, it is possible to provide an onset prediction result that the patient has visited 11 times and the probability of disease occurrence within 6 months after the last visit is predicted as 0.7989. The highest intensity appeared at Visit 5, indicating that at Visit 5, the disease codes'E785','R42', and'E780' had a relatively more influence on the positive classification.
이처럼 본 발명의 실시예들에 따르면, 환자의 EHR 데이터와 어텐션 네트워크를 사용한 예측 모델로서 고위험 질병을 예측할 수 있는 RNN 기반의 새로운 질병 예측 모델을 제공할 수 있다. 특히, 특정 시점의 EHR 데이터가 특정 종류의 질병으로 분류되는데 미치는 상대적 영향력을 시간 축에 대한 선형 합의 형태로 시각화함으로써 보다 자세하고 유용한 정보를 제공할 수 있다.As described above, according to embodiments of the present invention, a new disease prediction model based on an RNN capable of predicting a high-risk disease may be provided as a prediction model using EHR data of a patient and an attention network. In particular, it is possible to provide more detailed and useful information by visualizing the relative influence of EHR data at a specific point in time to be classified as a specific type of disease in the form of a linear agreement on the time axis.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable gate array (PLU). It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be embodyed in any type of machine, component, physical device, computer storage medium or device to be interpreted by the processing device or to provide instructions or data to the processing device. have. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. In this case, the medium may be one that continuously stores a program executable by a computer, or temporarily stores a program for execution or download. In addition, the medium may be a variety of recording means or storage means in a form in which a single or several pieces of hardware are combined, but is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks, and And a ROM, RAM, flash memory, and the like, and may be configured to store program instructions. In addition, examples of other media include an app store that distributes applications, a site that supplies or distributes various software, and a recording medium or a storage medium managed by a server.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and drawings as described above, various modifications and variations can be made from the above description to those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.
Claims (12)
환자의 의료 데이터를 시간 순의 시계열 데이터인 시퀀스(sequence) 형태로 표현함으로써 시퀀스 데이터를 생성하는 단계;
RNN(recurrent neural network)과 어텐션 네트워크(attention network)를 이용한 질병 예측 모델을 통해 상기 시퀀스 데이터로부터 상기 환자의 질병을 예측하는 단계; 및
Grad-CAM(gradient-weighted class activation map)을 이용하여 상기 환자의 질병 예측에 대한 상기 시퀀스 데이터의 어텐션 가중치를 시각화하는 단계
를 포함하고,
상기 생성하는 단계는,
상기 의료 데이터로서 진단 기록(diagnosis records)에 포함된 정보와 처방 기록(medication records)에 포함된 정보를 정보 유형 별로 각각 시퀀스 데이터를 생성한 후 상기 질병 예측 모델에 입력 가능하도록 임베딩하는 단계; 및
연속된 의료 이벤트 사이의 시간 간격을 나타내는 추가 피처를 표현하여 상기 의료 데이터를 상기 시간 간격을 포함하는 임베딩 벡터로 인코딩하는 단계
를 포함하고,
상기 시각화하는 단계는,
상기 의료 데이터에 포함된 시간 정보에 대한 타임 도메인을 통해 상기 환자의 질병 예측 결과에 영향을 미치는 의료 데이터의 시점을 시각화하는 것
을 특징으로 하는 방법.In the computer-implemented method,
Generating sequence data by expressing the patient's medical data in the form of a sequence that is time-series data;
Predicting a disease of the patient from the sequence data through a disease prediction model using a recurrent neural network (RNN) and an attention network; And
Visualizing the attention weight of the sequence data for disease prediction of the patient using a gradient-weighted class activation map (CAM)
Including,
The generating step,
Generating sequence data for each information type of information included in diagnosis records and information included in prescription records as the medical data, and then embedding them to be input into the disease prediction model; And
Encoding the medical data into an embedding vector including the time interval by expressing an additional feature representing a time interval between successive medical events
Including,
The visualizing step,
Visualizing the time point of medical data that affects the patient's disease prediction result through a time domain for time information included in the medical data
The method characterized by.
상기 생성하는 단계는,
상기 의료 데이터를 양방향 GRU(gated recurrent units)의 입력으로 하여 임베딩 벡터로 통합하는 단계
를 포함하는 방법.The method of claim 1,
The generating step,
Integrating the medical data into an embedding vector by taking the medical data as an input of bidirectional gated recurrent units (GRU)
How to include.
상기 질병 예측 모델은,
질병 예측에 대해 상기 의료 데이터에 포함된 시간 정보의 중요성을 학습하기 위해 어텐션 메커니즘을 이용하는 것
을 특징으로 하는 방법.The method of claim 1,
The disease prediction model,
Using an attention mechanism to learn the importance of the temporal information contained in the medical data for disease prediction.
The method characterized by.
상기 질병 예측 모델은,
상기 어텐션 네트워크의 시간-분포 소프트맥스 레이어(time-distributed softmax layer)에 의해 상기 시퀀스 데이터에 대한 어텐션 가중치를 계산한 후 상기 RNN의 출력에 반영하는 것
을 특징으로 하는 방법.The method of claim 1,
The disease prediction model,
Calculating an attention weight for the sequence data by a time-distributed softmax layer of the attention network and reflecting it in the output of the RNN
The method characterized by.
상기 예측하는 단계는,
상기 시퀀스 데이터의 어텐션 가중치를 병합하여 완전 연결 레이어(fully connected layer)를 통해 질병 예측에 따른 클래스 라벨링을 수행하는 단계
를 포함하는 방법.The method of claim 1,
The predicting step,
Merging the attention weights of the sequence data and performing class labeling according to disease prediction through a fully connected layer
How to include.
상기 시각화하는 단계는,
상기 어텐션 가중치에 대한 클래스(class)의 소프트맥스 출력의 그래디언트(gradient)를 계산하는 단계;
시간 차원에 대해 1차원 GAP(Global Average Pooling)를 수행하여 시간 평균 그래디언트를 획득하는 단계; 및
상기 시간 평균 그래디언트를 이용하여 상기 어텐션 가중치의 Grad-CAM을 계산하는 단계
를 포함하는 방법.The method of claim 1,
The visualizing step,
Calculating a gradient of a softmax output of a class with respect to the attention weight;
Obtaining a time average gradient by performing one-dimensional GAP (Global Average Pooling) on the time dimension; And
Computing a Grad-CAM of the attention weight using the time average gradient
How to include.
상기 시각화하는 단계는,
히트맵을 통해 질병 예측에 따른 클래스에 대한 상기 어텐션 가중치의 Grad-CAM을 시각화하는 것
을 특징으로 하는 방법.The method of claim 1,
The visualizing step,
Visualizing the Grad-CAM of the attention weight for the class according to disease prediction through a heat map
The method characterized by.
상기 시각화하는 단계는,
상기 환자의 방문 시간에 대한 타임 도메인을 통해 질병 예측에 따른 클래스에 미치는 상대적 영향력을 나타내는 상기 Grad-CAM의 히트맵을 제공하는 것
을 특징으로 하는 방법.The method of claim 1,
The visualizing step,
Providing a heat map of the Grad-CAM showing the relative influence on the class according to disease prediction through the time domain for the visit time of the patient
The method characterized by.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
환자의 의료 데이터를 시간 순의 시계열 데이터인 시퀀스 형태로 표현함으로써 시퀀스 데이터를 생성하는 데이터 처리부; 및
RNN과 어텐션 네트워크를 이용한 질병 예측 모델을 통해 상기 시퀀스 데이터로부터 상기 환자의 질병을 예측하고 Grad-CAM(gradient-weighted class activation map)을 이용하여 상기 환자의 질병 예측에 대한 상기 시퀀스 데이터의 어텐션 가중치를 시각화하는 시각화부
를 포함하고,
상기 데이터 처리부는,
상기 의료 데이터로서 진단 기록에 포함된 정보와 처방 기록에 포함된 정보를 정보 유형 별로 각각 시퀀스 데이터를 생성한 후 상기 질병 예측 모델에 입력 가능하도록 임베딩하고,
연속된 의료 이벤트 사이의 시간 간격을 나타내는 추가 피처를 표현하여 상기 의료 데이터를 상기 시간 간격을 포함하는 임베딩 벡터로 인코딩하고,
상기 시각화부는,
상기 의료 데이터에 포함된 시간 정보에 대한 타임 도메인을 통해 상기 환자의 질병 예측 결과에 영향을 미치는 의료 데이터의 시점을 시각화하는 것
을 특징으로 하는 컴퓨터 시스템.In a computer system,
At least one processor implemented to execute computer-readable instructions
Including,
The at least one processor,
A data processing unit for generating sequence data by expressing the patient's medical data in the form of a sequence that is time-series data; And
The patient's disease is predicted from the sequence data through a disease prediction model using an RNN and an attention network, and the attention weight of the sequence data for predicting the disease of the patient is calculated using a gradient-weighted class activation map (CAM). Visualization unit to visualize
Including,
The data processing unit,
As the medical data, the information included in the diagnosis record and the information included in the prescription record are generated for each information type, and then embedded to be input into the disease prediction model,
Encode the medical data into an embedding vector including the time interval by expressing an additional feature representing a time interval between successive medical events,
The visualization unit,
Visualizing the time point of medical data that affects the patient's disease prediction result through a time domain for time information included in the medical data
Computer system, characterized in that.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180146628A KR102216689B1 (en) | 2018-11-23 | 2018-11-23 | Method and system for visualizing classification result of deep neural network for prediction of disease prognosis through time series medical data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180146628A KR102216689B1 (en) | 2018-11-23 | 2018-11-23 | Method and system for visualizing classification result of deep neural network for prediction of disease prognosis through time series medical data |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200063364A KR20200063364A (en) | 2020-06-05 |
| KR102216689B1 true KR102216689B1 (en) | 2021-02-17 |
Family
ID=71088797
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020180146628A Active KR102216689B1 (en) | 2018-11-23 | 2018-11-23 | Method and system for visualizing classification result of deep neural network for prediction of disease prognosis through time series medical data |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102216689B1 (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20230020863A (en) | 2021-08-04 | 2023-02-13 | 단국대학교 산학협력단 | Visualization device and method for analyzing gait pattern based on explanatory deep learning |
| WO2024053834A1 (en) * | 2022-09-08 | 2024-03-14 | 재단법인 아산사회복지재단 | Method and apparatus for selecting feature of input data of sequence model by using tree-based ensemble model |
| KR20240062320A (en) | 2022-10-31 | 2024-05-09 | 주식회사 디케이닥터 | Daily simple digital paper questionnaire sending system for health-related unknown data mining |
| KR20240132876A (en) | 2023-02-27 | 2024-09-04 | 주식회사 디케이닥터 | Questionnaire data management system for risk group analysis |
| KR20240154131A (en) | 2023-04-17 | 2024-10-25 | 주식회사 디케이닥터 | Personalized user-based paperweight data extraction and operation system |
| KR20250009605A (en) | 2023-07-10 | 2025-01-20 | 주식회사 디케이닥터 | Health information profiling system using My Data |
| KR20250054880A (en) | 2023-10-16 | 2025-04-24 | 주식회사 디케이닥터 | Paperweight data processing system using external data |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111696674B (en) * | 2020-06-12 | 2023-09-08 | 电子科技大学 | A deep learning method and system for electronic medical records |
| CN111986045A (en) * | 2020-06-28 | 2020-11-24 | 国网浙江省电力有限公司金华供电公司 | Empty nest elderly identification method based on graph attention neural network |
| US12056880B2 (en) | 2020-08-03 | 2024-08-06 | Korea Advanced Institute Of Science And Technology | Method of classifying lesion of chest x-ray radiograph based on data normalization and local patch and apparatus thereof |
| KR102620789B1 (en) * | 2020-08-03 | 2024-01-05 | 한국과학기술원 | Data preprocessing and local-patch based infectious disease classification method on chest x-ray radiograph and apparatus therefore |
| KR102430779B1 (en) * | 2020-09-04 | 2022-08-09 | 주식회사 뷰노 | Disease judgement method |
| CN116368578A (en) * | 2020-11-04 | 2023-06-30 | 昂泰克特健康有限公司 | Method and device for predicting disease occurrence |
| WO2022119325A1 (en) * | 2020-12-01 | 2022-06-09 | 서울대학교병원 | Sleep apnea diagnostic auxiliary system using simple skull x-ray image and method for providing diagnostic auxiliary information using same |
| CN112734739B (en) * | 2021-01-18 | 2022-07-08 | 福州大学 | Visual building crack identification method based on attention mechanism and ResNet fusion |
| CN113724187B (en) * | 2021-03-16 | 2025-06-27 | 腾讯科技(深圳)有限公司 | Medical image processing method, device, electronic device and storage medium |
| KR102519848B1 (en) * | 2021-05-27 | 2023-04-11 | 재단법인 아산사회복지재단 | Device and method for predicting biomedical association |
| CN113628759A (en) * | 2021-07-22 | 2021-11-09 | 中国科学院重庆绿色智能技术研究院 | Infectious disease epidemic situation safety region prediction method based on big data |
| KR102794730B1 (en) * | 2021-08-17 | 2025-04-10 | 주식회사 메디컬에이아이 | System for removing noise of electrocardiogram data based on deep learning |
| KR102605708B1 (en) * | 2021-08-27 | 2023-11-23 | 한양대학교 산학협력단 | Visual explanation for image classification task using adjustable grad-cam |
| KR102594173B1 (en) * | 2021-11-29 | 2023-11-16 | 주식회사 데이터스튜디오 | Method and apparatus generating training image for time series data prediction |
| CN114648767A (en) * | 2022-03-30 | 2022-06-21 | 京东科技信息技术有限公司 | Processing method, device, equipment and medium for stylized calligraphy |
| CN115116608B (en) * | 2022-04-29 | 2025-08-12 | 腾讯科技(深圳)有限公司 | Disease prediction method, disease prediction device, storage medium, apparatus, and program product |
| WO2023239150A1 (en) * | 2022-06-07 | 2023-12-14 | 서울대학교병원 | Functional analysis device and method |
| CN114758032B (en) * | 2022-06-15 | 2022-09-16 | 之江实验室 | Multiphase phase CT image classification system based on space-time attention model and construction method |
| KR102764485B1 (en) * | 2022-08-10 | 2025-02-10 | 주식회사 대웅제약 | Device for training diabetes onset prediction model based on artificial intelligence algorithm and control method thereof |
| CN115299962A (en) * | 2022-08-12 | 2022-11-08 | 山东大学 | An Anesthesia Depth Monitoring Method Based on Bidirectional Gated Loop Unit and Attention Mechanism |
| CN116959715B (en) * | 2023-09-18 | 2024-01-09 | 之江实验室 | Disease prognosis prediction system based on time sequence evolution process explanation |
| KR102748088B1 (en) * | 2023-09-21 | 2024-12-31 | 주식회사 지오비전 | Pressure ulcer occurrence prediction system |
| CN117079821B (en) * | 2023-10-12 | 2023-12-19 | 北京大学第三医院(北京大学第三临床医学院) | Patient hospitalization event prediction method |
| KR20250057411A (en) * | 2023-10-20 | 2025-04-29 | 사회복지법인 삼성생명공익재단 | Method and apparatus for predicting acute based on artificial intelligence |
| CN118039183A (en) * | 2024-04-11 | 2024-05-14 | 四川互慧软件有限公司 | Method, device and electronic device for predicting infection risk based on recurrent neural network |
| CN118737465B (en) * | 2024-07-03 | 2025-04-04 | 电子科技大学 | Chronic disease comorbidity prediction method and system based on time series disease network |
| KR102889521B1 (en) * | 2025-05-29 | 2025-11-21 | 에이아이미래 엘엘씨 | Method for intuitive visualization of health data using color mapping on human body diagram with zoom in/out function |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005508556A (en) | 2001-11-02 | 2005-03-31 | シーメンス メディカル ソリューションズ ユーエスエー インコーポレイテッド | Patient data mining to diagnose and predict patient status |
| US20150220833A1 (en) | 2014-01-31 | 2015-08-06 | Google Inc. | Generating vector representations of documents |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7676379B2 (en) * | 2004-04-27 | 2010-03-09 | Humana Inc. | System and method for automated extraction and display of past health care use to aid in predicting future health status |
-
2018
- 2018-11-23 KR KR1020180146628A patent/KR102216689B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005508556A (en) | 2001-11-02 | 2005-03-31 | シーメンス メディカル ソリューションズ ユーエスエー インコーポレイテッド | Patient data mining to diagnose and predict patient status |
| US20150220833A1 (en) | 2014-01-31 | 2015-08-06 | Google Inc. | Generating vector representations of documents |
Non-Patent Citations (2)
| Title |
|---|
| Fenglong MA et al., Proceedings of 23rd ACM SIGKDD international conference on knowledge discovery and data mining, ACM, 2017.* |
| Ramprasaath R. Selvaraju et al., arXiv preprint arXiv:1610.02391, p.618-626, 2016.* |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20230020863A (en) | 2021-08-04 | 2023-02-13 | 단국대학교 산학협력단 | Visualization device and method for analyzing gait pattern based on explanatory deep learning |
| WO2024053834A1 (en) * | 2022-09-08 | 2024-03-14 | 재단법인 아산사회복지재단 | Method and apparatus for selecting feature of input data of sequence model by using tree-based ensemble model |
| KR20240062320A (en) | 2022-10-31 | 2024-05-09 | 주식회사 디케이닥터 | Daily simple digital paper questionnaire sending system for health-related unknown data mining |
| KR20240132876A (en) | 2023-02-27 | 2024-09-04 | 주식회사 디케이닥터 | Questionnaire data management system for risk group analysis |
| KR20240154131A (en) | 2023-04-17 | 2024-10-25 | 주식회사 디케이닥터 | Personalized user-based paperweight data extraction and operation system |
| KR20250009605A (en) | 2023-07-10 | 2025-01-20 | 주식회사 디케이닥터 | Health information profiling system using My Data |
| KR20250054880A (en) | 2023-10-16 | 2025-04-24 | 주식회사 디케이닥터 | Paperweight data processing system using external data |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20200063364A (en) | 2020-06-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102216689B1 (en) | Method and system for visualizing classification result of deep neural network for prediction of disease prognosis through time series medical data | |
| Rahman et al. | Enhancing heart disease prediction using a self-attention-based transformer model | |
| CN119377894B (en) | Multi-mode data dynamic fusion and labeling method and system for medical decision | |
| KR102225894B1 (en) | Method and system for predicting disease prognosis from patient medical history using deep attention network | |
| KR101869438B1 (en) | Method and system for predicting prognosis from diagnostic histories using deep learning | |
| Baytas et al. | Patient subtyping via time-aware LSTM networks | |
| Alonso-Betanzos et al. | Big-data analysis, cluster analysis, and machine-learning approaches | |
| Hagar et al. | Survival analysis with electronic health record data: Experiments with chronic kidney disease | |
| CN113902186B (en) | Patient death risk prediction method, system, terminal and readable storage medium based on electronic medical records | |
| Chantamit-O-Pas et al. | Long short-term memory recurrent neural network for stroke prediction | |
| US20190221294A1 (en) | Time series data processing device, health prediction system including the same, and method for operating the time series data processing device | |
| US12205046B2 (en) | Device for ensembling data received from prediction devices and operating method thereof | |
| KR20190086345A (en) | Time series data processing device, health predicting system including the same, and method for operating time series data processing device | |
| KR20240100366A (en) | Predicting clinical trial facilitator performance using patient claims and historical data | |
| KR20190070232A (en) | Apparatus and method of processing multi-dimensional time series medical data | |
| KR20200029425A (en) | Method and system for predicting disease prognosis from patient medical history using deep attention network | |
| CN114822741B (en) | Processing device, computer device and storage medium for patient classification model | |
| Sampath et al. | Ensemble nonlinear machine learning model for chronic kidney diseases prediction | |
| KR102508131B1 (en) | Systems and methods for strengthening graph connection to knowledge graphs | |
| Jahan et al. | How Healthcare Industry can Leverage Big Data Analytics Technology and Tools for Efficient Management | |
| CN115240873A (en) | A machine learning-based drug recommendation method, electronic device and computer-readable storage medium | |
| Feng et al. | Can attention be used to explain ehr-based mortality prediction tasks: A case study on hemorrhagic stroke | |
| US20240120109A1 (en) | Artificial intelligence architecture for providing longitudinal health record predictions | |
| KR20200061968A (en) | Time series data processing device and operating method thereof | |
| Talukder | Clinical decision support system: an explainable AI approach |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 6 |







