KR20230096392A - 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 - Google Patents
심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 Download PDFInfo
- Publication number
- KR20230096392A KR20230096392A KR1020210185838A KR20210185838A KR20230096392A KR 20230096392 A KR20230096392 A KR 20230096392A KR 1020210185838 A KR1020210185838 A KR 1020210185838A KR 20210185838 A KR20210185838 A KR 20210185838A KR 20230096392 A KR20230096392 A KR 20230096392A
- Authority
- KR
- South Korea
- Prior art keywords
- sample
- feature map
- heartbeat
- generating
- classification model
- Prior art date
Links
- 238000013145 classification model Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims description 43
- 230000004913 activation Effects 0.000 claims description 26
- 230000000873 masking effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 14
- 238000012549 training Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 239000000284 extract Substances 0.000 description 10
- 238000012952 Resampling Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 206010003119 arrhythmia Diseases 0.000 description 4
- 230000006793 arrhythmia Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 206010042602 Supraventricular extrasystoles Diseases 0.000 description 1
- 208000009729 Ventricular Premature Complexes Diseases 0.000 description 1
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006996 mental state Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000035790 physiological processes and functions Effects 0.000 description 1
- 238000000718 qrs complex Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/346—Analysis of electrocardiograms
- A61B5/349—Detecting specific parameters of the electrocardiograph cycle
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/024—Detecting, measuring or recording pulse rate or heart rate
- A61B5/0245—Detecting, measuring or recording pulse rate or heart rate by using sensing means generating electric signals, i.e. ECG signals
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/346—Analysis of electrocardiograms
- A61B5/349—Detecting specific parameters of the electrocardiograph cycle
- A61B5/352—Detecting R peaks, e.g. for synchronising diagnostic apparatus; Estimating R-R interval
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
- A61B5/7267—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
-
- 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
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Cardiology (AREA)
- Physics & Mathematics (AREA)
- Public Health (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Heart & Thoracic Surgery (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- Biophysics (AREA)
- Veterinary Medicine (AREA)
- Artificial Intelligence (AREA)
- Physiology (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Psychiatry (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
컴퓨팅 장치는 심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하고, 심장 박동 분류 모델의 복수의 레이어를 통해 샘플로부터 특성 맵을 생성하고, 특성 맵 및 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하고, 어텐션 마스크로 특성 맵을 마스크하여 마스크된 특성 맵을 생성하고, 심장 박동 분류 모델의 출력 레이어를 통해 마스크된 특성 맵으로부터 샘플의 분류를 수행한다.
Description
본 발명은 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법에 관한 것이다.
심전도(electrocardiogram, ECG)의 자동 분류는 어려운 과제이며, 연구자의 노력과 관계없이 몇 가지 이유로 인해 여전히 미해결 문제로 간주된다. 예를 들어 ECG 파형의 형태학적 특성은 환자마다 다르며 진행 중인 생리적 과정과 환자의 정신 상태에 의해 조절될 수 있다. 따라서 어떤 환자 그룹을 위해 설계된 분류 시스템은 다른 환자로부터 획득한 데이터에서 잘 수행되지 않을 수 있다. 이와 관련하여 기존의 기계 학습 방법과 관련된 문제점을 완화하여 더 나은 일반화 기능을 달성하기 위해 수많은 심층 학습 기반 심장 박동 분류 방법이 제안되었다. 그러나 심장 박동에 대한 심층 표현 학습은 여전히 어렵다. 예를 들어, 심층 특성의 품질은 심층 모델로 처리된 정보의 내용과 밀접한 관련이 있다.
또 다른 문제점은 클래스 불균형 데이터이며, 클래스 불균형 데이터로 인해 훈련 데이터가 클래스 인스턴스의 분포를 왜곡할 수 있다. 불균형 데이터에서 일부 클래스(소수 클래스)는 표현이 부족한 반면 다른 클래스는 매우 풍부할 수 있다. 훈련 중에 다수 클래스의 높은 표현은 분류 알고리즘을 다수 클래스로 편향되게 할 수 있다. 그 결과, 소수 클래스 샘플은 종종 분류되지 않을 수 있다. 그러나 실제 시나리오에서는 발생 빈도가 낮은 이벤트가 매우 중요할 수 있다. 예를 들어, 감시 작업에서 의심스러운 활동은 모니터링 시스템이 올바르게 인식해야 하는 드문 이벤트이다. 마찬가지로, 의료 영역에서 질병 진단 작업은 소수 클래스 샘플이 관심의 대상이 되는 시나리오의 예이다. 특히, 부정맥은 갑작스럽고 드물게 나타나기 때문에, 부정맥을 발견하는 작업도 이러한 시나리오의 한 예이다. 부정맥에서는 비정상적인 박동의 탐지가 가장 중요하며 비정상 박동의 잘못된 분류는 바람직하지 않다.
본 발명의 어떤 실시예는 관련성이 높은 특성을 추출할 수 있거나 불균형 데이터 문제를 해결할 수 있는 심장 박동 분류 방법 및 장치 또는 심장 박동 분류 모델의 학습 방법을 제공할 수 있다.
본 발명의 한 실시예에 따르면, 컴퓨팅 장치에 의해 수행되는, 심장 박동 분류 방법이 제공될 수 있다. 상기 심장 박동 분류 방법은 심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하는 단계, 상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 샘플로부터 특성 맵을 생성하는 단계, 상기 특성 맵 및 상기 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하는 단계, 상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하는 단계, 그리고 상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 샘플의 분류를 수행하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 보조 특성은 상기 샘플에 대응하는 상기 심전도 신호의 RR 간격(RR interval)을 포함할 수 있다.
어떤 실시예에서, 상기 어텐션 마스크를 생성하는 단계는 상기 특성 맵의 통계 값을 계산하는 단계, 상기 보조 특성으로 상기 통계 값을 정규화하여 정규화된 통계 값을 생성하는 단계, 그리고 하나 이상의 활성화 레이어를 통해서 상기 정규화된 통계 값으로부터 상기 어텐션 마스크를 생성하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 어텐션 마스크를 생성하는 단계는 상기 정규화된 통계 값에 가중치를 곱하고 소정 값만큼 시프트한 후에 상기 활성화 레이어에 입력하는 단계를 더 포함할 수 있다.
어떤 실시예에서, 상기 복수의 제1 레이어는 복수의 컨볼루션 레이어를 포함하고, 상기 제2 레이어는 하나 이상의 완전 연결 레이어를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 컴퓨팅 장치에 의해 수행되는, 심장 박동 분류 모델의 학습 방법이 제공될 수 있다. 상기 학습 방법은, 심전도 신호로부터 생성된 복수의 샘플을 자신의 레이블이 속한 클래스에 따라 복수의 클래스 클러스터로 분류하는 경우, 소정 기준에 기초해서 상기 복수의 클래스 클러스터 중에서 샘플의 수가 가장 많은 다수 클래스 클러스터로부터 제1 샘플을 선택하는 단계, 상기 제1 샘플을 상기 복수의 클래스 클러스터 중에서 샘플의 수가 가장 적은 소스 클래스 클러스터에 속하는 제2 샘플로 변환하는 단계, 상기 복수의 샘플과 상기 제2 샘플로부터 데이터 세트를 생성하는 단계, 그리고 상기 데이터 세트에서 선택된 입력 샘플을 상기 심장 박동 분류 모델에 입력하여 상기 심장 박동 분류 모델을 학습하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 소정의 기준은 상기 소스 클래스 클러스터에 속한 샘플과의 유사성을 포함할 수 있다.
어떤 실시예에서, 상기 제1 샘플을 선택하는 단계는 상기 제1 샘플과 상기 소스 클래스 클러스터에서 중앙에 해당하는 샘플과의 제1 거리를 계산하는 단계, 상기 제1 샘플과 상기 복수의 클래스 클러스터 중 상기 소스 클래스 클러스터를 제외한 나머지 클래스 클러스터 각각에서 중앙에 해당하는 샘플과의 제2 거리를 계산하는 단계, 그리고 상기 제1 거리가 상기 제2 거리보다 작은 경우, 상기 제1 샘플을 선택하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 제2 샘플로 변환하는 단계는 상기 제2 샘플에 상기 소수 클래스 클러스터의 레이블을 태깅하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 제2 샘플로 변환하는 단계는 상수 인자에 기초해서 상기 제2 샘플과 상기 나머지 클래스 클러스터의 경계 사이의 마진을 증가시키는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 심장 박동 분류 모델을 학습하는 단계는 상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 입력 샘플로부터 특성 맵을 생성하는 단계, 상기 특성 맵 및 상기 입력 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하는 단계, 상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하는 단계, 그리고 상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 입력 샘플의 분류를 수행하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 보조 특성은 상기 입력 샘플에 대응하는 상기 심전도 신호의 RR 간격을 포함할 수 있다.
어떤 실시예에서, 상기 어텐션 마스크를 생성하는 단계는 상기 특성 맵의 통계 값을 계산하는 단계, 상기 보조 특성으로 상기 통계 값을 정규화하여 정규화된 통계 값을 생성하는 단계, 그리고 하나 이상의 활성화 레이어를 통해서 상기 정규화된 통계 값으로부터 상기 어텐션 마스크를 생성하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 어텐션 마스크를 생성하는 단계는 상기 정규화된 통계 값에 가중치를 곱하고 소정 값만큼 시프트한 후에 상기 활성화 레이어에 입력하는 단계를 더 포함할 수 있다.
어떤 실시예에서, 상기 복수의 제1 레이어는 복수의 컨볼루션 레이어를 포함하며, 상기 제2 레이어는 하나 이상의 완전 연결 레이어를 포함할 수 있다.
본 발명의 또 다른 실시예에 따르면, 하나 이상의 명령어를 저장하는 메모리, 그리고 프로세서를 포함하는 심장 박동 분류 장치가 제공될 수 있다. 상기 프로세서는 상기 명령어를 실행함으로써, 심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하고, 상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 샘플로부터 특성 맵을 생성하고, 상기 특성 맵 및 상기 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하고, 상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하고, 상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 샘플의 분류를 수행할 수 있다.
도 1은 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 한 예를 나타내는 도면이다.
도 2는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 전처리부의 한 예를 나타내는 도면이다.
도 3은 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 분류기의 한 예를 나타내는 도면이다.
도 4는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 심장 박동 분류 방법 또는 학습 방법의 한 예를 나타내는 흐름도이다.
도 5는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 어텐션 모듈의 한 예를 나타내는 도면이다.
도 6은 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 재샘플링부의 한 예를 나타내는 도면이다.
도 7은 본 발명의 한 실시예에 따른 심장 박동 분류 장치에서 변환에 적합한 샘플을 설명하는 도면이다.
도 8은 본 발명의 한 실시예에 따른 심장 박동 분류 장치에서 샘플 변환을 설명하는 도면이다.
도 9는 본 발명의 한 실시예에 따른 컴퓨팅 장치의 한 예를 나타내는 블록도이다.
도 2는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 전처리부의 한 예를 나타내는 도면이다.
도 3은 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 분류기의 한 예를 나타내는 도면이다.
도 4는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 심장 박동 분류 방법 또는 학습 방법의 한 예를 나타내는 흐름도이다.
도 5는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 어텐션 모듈의 한 예를 나타내는 도면이다.
도 6은 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 재샘플링부의 한 예를 나타내는 도면이다.
도 7은 본 발명의 한 실시예에 따른 심장 박동 분류 장치에서 변환에 적합한 샘플을 설명하는 도면이다.
도 8은 본 발명의 한 실시예에 따른 심장 박동 분류 장치에서 샘플 변환을 설명하는 도면이다.
도 9는 본 발명의 한 실시예에 따른 컴퓨팅 장치의 한 예를 나타내는 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
아래 설명에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
아래 설명에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1은 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 한 예를 나타내는 도면이다.
도 1을 참고하면, 심장 박동 분류 장치(100)는 심층 학습(deep learning) 기반의 심장 박동 분류 장치로, 목적 태스크를 수행하기 위해 신경망(기계 학습 모델)에 대한 기계 학습을 수행하거나 학습된 신경망을 통해 심장 박동을 분류하는 컴퓨팅 장치이다. 목적 태스크는 심장 박동 분류를 위한 태스크를 포함할 수 있다. 이를 위해, 심장 박동 분류 장치(100)는 기계 학습 모델로 심장 박동 분류 모델을 사용할 수 있다.
어떤 실시예에서, 컴퓨팅 장치는 노트북, 데스크톱(desktop), 랩탑(laptop), 서버(server) 등이 될 수 있으나, 이에 한정되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치일 수 있다. 이러한 컴퓨팅 장치의 한 예는 도 9를 참고하여 설명한다.
도 1에는 심장 박동 분류 장치(100)가 하나의 컴퓨팅 장치로 구현되는 예가 도시되어 있지만, 심장 박동 분류 장치(100)의 기능은 하나 이상의 컴퓨팅 장치에 의해 구현될 수 있다.
심장 박동 분류 장치(100)는 분류기(140)를 포함한다. 어떤 실시예에서, 심장 박동 분류 장치(100)는 훈련 데이터 세트의 샘플에 기초해서 심장 박동 분류 모델을 학습할 수 있다. 샘플은 심전도 신호에 기초해서 생성되고, 대응하는 레이블(심장 박동의 종류)가 태깅되어 있다. 심장 박동 분류 장치(100)는 샘플을 심장 박동 분류 모델에 입력하여 클래스를 분류하여 예측하고, 예측한 클래스와 레이블에 기초해서 손실을 계산하고, 손실을 역전파하여 심장 박동 분류 모델의 파라미터를 갱신함으로써 심장 박동 분류 모델을 학습할 수 있다. 어떤 실시예에서, 심장 박동 분류 장치(100)는 심전도 신호에 대응하는 샘플을 학습된 심장 박동 분류 모델에 입력하여 샘플의 클래스를 분류할 수 있다.
어떤 실시예에서, 심장 박동 분류 장치(100)가 학습 장치로 동작하는 경우, 심장 박동 분류 장치(100)는 재샘플링부(130)를 더 포함할 수 있다. 훈련 데이터 세트에 포함되는 복수의 샘플은 자신의 레이블이 속한 클래스에 따라 복수의 클래스 클러스터로 분류될 수 있다. 복수의 클래스 클러스터 중에서 샘플의 수가 가장 많은 클러스터가 다수(majority) 클래스 클러스터에 해당하고, 샘플의 수가 가장 적은 클러스터가 소수(minority) 클래스 클러스터에 해당한다. 앞으로, 다수 클래스 클러스터에 속한 샘플을 다수 클래스 샘플이라 하고, 소수 클래스 클러스터에 속한 샘플을 소수 클래스 샘플이라 한다. 재샘플링부(130)는 소정의 기준에 따라 다수 클래스 클러스트에서 선택한 다수 클래스 샘플을 소수 클래스 샘플로 변환하여, 훈련 데이터 세트를 다시 생성할 수 있다.
어떤 실시예에서, 심장 박동 분류 장치(100)는 데이터 획득부(110)와 전처리부(120)를 더 포함할 수 있다.
데이터 획득부(110)는 심장 박동 분류 모델의 데이터 세트를 위한 심전도 신호를 획득할 수 있다. 어떤 실시예에서, 데이터 획득부(110)는 다양한 데이터베이스 중에서 심장 박동 분류 모델의 훈련 또는 검증을 위한 데이터베이스를 선택할 수 있다. 예를 들면, 데이터 획득 모듈(110)은 MIT-BIH 심전도 데이터베이스를 선택할 수 있다.
전처리부(120)는 데이터 획득부(110)에서 획득한 데이터를 전처리하여서 데이터 세트를 위한 샘플을 생성할 수 있다. 또는 전처리부(120)는 분류의 대상이 되는 심전도 신호를 전처리하여서 샘플을 생성할 수 있다. 어떤 실시예에서, 전처리부(120)는 전처리를 통해 데이터에서 다양한 유형의 노이즈를 제거하고 박동 세그먼트를 추출할 수 있다.
도 2는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 전처리부의 한 예를 나타내는 도면이다.
도 2를 참고하면, 전처리부(200)는 노이즈 제거부(210) 및 샘플 추출부(220)를 포함한다.
심전도 신호는 일반적으로 동작 잡음(motion artifact) 및 전원 라인 간섭과 같은 다양한 유형의 노이즈에 의해 손상될 수 있다. 이러한 노이즈가 존재하는 경우 원하는 정보가 추출될 수 없으므로 오분류를 초래할 수 있다. 따라서, 노이즈 제거부(210)는 심전도 신호에서 노이즈를 제거한다. 어떤 실시예에서, 노이즈 제거부(210)는 심전도 신호에서 기저선 변동(baseline drift)와 노이즈를 제거할 수 있다.
어떤 실시예에서, 노이즈 제거부(210)는 기저선 변동 제거를 위해 하나 이상의 필터를 포함할 수 있다. 어떤 실시예에서, 하나 이상의 필터는 두 개의 중앙값(median) 필터를 포함할 수 있다. 노이즈 제거부(210)는 소정의 슬라이딩 윈도우(예를 들면, 200ms의 슬라이딩 윈도우)를 가지는 제1 중앙값 필터를 심전도 신호에 적용하여, 심전도 신호에서 P파와 QRS군(QRS complex)를 제거하고, 소정의 슬라이딩 윈도우(예를 들면, 600ms의 슬라이딩 윈도우)를 가지는 제2 중앙값 필터를 제1 중앙값 필터의 출력에 적용하여 T파를 제거할 수 있다. 그 결과, 제2 중앙값 필터의 출력에는 심전도 신호의 기준선을 포함할 수 있다. 따라서, 노이즈 제거부(210)는 심전도 신호에서 제2 중앙값 필터의 출력을 감산해서 심전도 신호로부터 기준선 변동을 제거할 수 있다.
어떤 실시예에서, 노이즈 제거부(210)는 노이즈 제거를 위해 저역 통과 필터를 포함할 수 있다. 노이즈 제거부(210)는 기준선 변동이 제거된 심전도 신호에 저역 통과 필터를 적용하여 고주파 노이즈와 전원선 노이즈를 제거할 수 있다. 예를 들어, 노이즈 제거부(210)는 차수가 12이고 차단 주파수가 35 Hz인 저역 통과 필터를 사용할 수 있다.
샘플 추출부(220)는 노이즈가 제거된 심전도 신호에서 원하는 샘플(예를 들면, 세그먼트)을 추출한다. 어떤 실시예에서, 샘플 추출부(220)는 원하는 세그먼트를 추축하기 위해 심전도 피크 검출을 수행할 수 있다. 샘플 추출부(220)는 피크 검출 알고리즘으로 예를 들면 Pan-Tompkins 알고리즘을 사용할 수 있다. 샘플 추출부(220)는 피크 검출 알고리즘에 기초해서 심전도 신호에서 R 피크를 찾은 후에, T 피크를 추정하고, 연속되는 T 피크 사이의 세그먼트를 샘플로 추출할 수 있다. 샘플 추출부(220)에서 추출된 샘플은 분류기(예를 들면, 도 1의 140)에서 훈련 데이터 세트 또는 검증 데이터 세트의 샘플로 사용될 수 있다. 어떤 실시예에서는 샘플은 2차원 이미지 형태로 생성될 수 있다.
어떤 실시예에서, 샘플 추출부(220)는 심전도 신호로부터 RR 간격을 추출할 수 있다. RR 간격은 심전도 신호에서 두 개의 연속된 R파 사이의 간격으로, 예를 들면 두 개의 연속된 R파의 피크점 사이의 간격일 수 있다.
도 3은 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 분류기의 한 예를 나타내는 도면이며, 도 4는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 심장 박동 분류 방법 또는 학습 방법의 한 예를 나타내는 흐름도이다.
도 3을 참고하면, 분류기의 기계 학습 모델, 즉 심장 박동 분류 모델(300)은 복수의 컨볼루션 레이어(310), 어텐션(attention) 모듈(320) 및 출력 레이어(330)를 포함하며, 심전도 신호에 대응하는 입력 샘플을 입력 받고 입력 샘플을 분류하여서 클래스 예측값을 출력한다. 클래스 예측값은 입력 샘플에 대응하는 심전도 신호의 심장 박동을 지시할 수 있다. 어떤 실시예에서, 심장 박동은 예를 들면 N 박동(normal beat), V 박동(ventricular ectopic beat), S 박동(supraventricular ectopic beat), F 박동(fusion beat) 또는 Q 박동(unknown beat)일 수 있다.
복수의 컨볼루션 레이어(310) 중 첫 번째 컨볼루션 레이어(310)는 예를 들면 전처리부로부터 입력 샘플을 수신하고, 입력 샘플로부터 특성을 추출할 수 있다. 이러한 특성은 특성 맵(feature map)의 형태로 표현될 수 있다. 다른 컨볼루션 레이어(310)는 앞의 레이어가 전달하는 특성으로부터 다시 특성을 추출하여 다음 레이어로 전달할 수 있다. 컨볼루션 레이어(310)는 입력 데이터 또는 입력 특성에 컨볼루션 필터를 적용하여서 특성을 추출할 수 있다. 컨볼루션 필터는 입력 데이터 또는 입력 특성의 수용 영역(receptive)에 컨볼루션 연산을 수행하여서 특성을 추출할 수 있다. 예를 들면, 패딩이 있는 필터 크기 16의 컨볼루션 필터가 사용될 수 있다.
어떤 실시예에서, 심장 박동 분류 모델(300)은 각 컨볼루션 레이어(310) 뒤에 위치하는 정규화 레이어(340)와 활성화 레이어(350)를 더 포함할 수 있다. 어떤 실시예에서, 정규화 레이어(340)는 배치(batch) 정규화를 사용하고 사용되고, 활성화 레이어(350)는 ReLu(Rectified Linear Unit) 함수를 사용할 수 있다.
어떤 실시예에서, 심장 박동 분류 모델(300)는 활성화 레이어(330) 뒤에 드롭아웃(dropout) 레이어(360)를 더 포함할 수 있다. 예를 들면, 드롭아웃 레이어(360)의 드롭아웃 값은 0.5로 설정될 수 있다. 어떤 실시예에서, 드롭아웃 레이어(360)를 사용하는 경우, 마지막 컨볼루션 레이어(310)와 어텐션 모듈(320) 사이에는 드롭아웃 레이어가 사용되지 않을 수 있다.
어텐션 모듈(320)은 어텐션 마스크를 사용하여 대상에 특정된 특성(target specific feature)을 추출한다. 어텐션 모듈(320)는 앞의 레이어에서 출력되는(추출된) 특성 맵 및 대응하는 샘플의 보조 특성을 입력 받는다. 어떤 실시예에서, 보조 특성은 샘플, 즉 심전도 신호의 RR 간격(RR interval)일 수 있다. 어텐션 모듈(320)은 추출된 특성 맵과 보조 특성에 기초해서 어텐션 마스크를 생성하고, 어텐션 마스크를 추출된 특성 맵에 적용하여 마스크된 특성(특성 맵)을 출력한다. 이와 같이, 특성 맵에 어텐션 마스크를 적용함으로써 대상에 특정된 특성이 추출될 수 있다.
출력 레이어(330)는 완전 연결 레이어(fully-connected layer 또는 dense layer)(330)를 포함할 수 있다. 완전 연결 레이어(330)는 어텐션 모듈(320)로부터 출력되는 특성(마스크된 특성)으로부터 분류를 수행하여 예측 값을 출력한다. 완전 연결 레이어는 각 레이블에 대한 확률을 제공할 수 있다. 어떤 실시예에서, 복수의 완전 연결 레이어(330)가 제공될 수 있다. 어떤 실시예에서, 심장 박동 분류 모델(300)은 완전 연결 레이어(330) 뒤에 활성화 레이어를 더 포함할 수 있다. 어떤 실시예에서, 활성화 레이어는 시그모이드(sigmoid) 함수를 사용할 수 있다.
도 3 및 도 4를 참고하면, 심장 박동 분류 장치는 입력 샘플을 심장 박동 분류 모델(300)에 입력 샘플을 입력한다(S410). 심장 박동 분류 장치는 심장 박동 분류 모델(300)의 복수의 컨볼루션 레이어(310)를 통해 입력 샘플로부터 특성 맵을 생성한다(S420). 심장 박동 분류 장치는 심장 박동 분류 모델(300)의 어텐션 모듈(320)을 통해 특성 맵과 보조 특성에 기초해서 어텐션 마스크를 생성하고(S430), 어텐션 마스크로 특성 맵을 마스크한다(S440). 심장 박동 분류 장치는 심장 박동 분류 모델(300)의 출력 레이어(330)를 통해 마스크된 특성 맵으로부터 입력 샘플의 분류를 수행한다(S450). 이러한 과정을 통해 심장 박동 분류 장치는 학습된 심장 박동 분류 모델을 사용해서 입력 샘플로부터 입력 샘플의 심전도 신호에 대응하는 심장 박동을 분류(예측)할 수 있다.
어떤 실시예에서, 심장 박동 분류 장치가 심장 박동 분류 모델을 학습하는 경우, 심장 박동 분류 장치는 훈련 데이터 세트의 각 훈련 샘플을 심장 박동 분류 모델에 입력하여 심장 박동 분류 모델을 반복적으로 훈련시킬 수 있다. 이 경우, 각 훈련 샘플에는 해당하는 심전도 신호의 정답 분류에 해당하는 레이블이 태깅되어 있다. 레이블은 심장 박동의 다양한 클래스 중 대응하는 클래스를 지시할 수 있다. 이 경우, 심장 박동 분류 장치는 각 훈련 모델을 심장 박동 분류 모델을 입력하여서 예측한 출력 값과 해당 훈련 모델의 레이블에 기초해서 손실을 계산하고, 손실을 역전파함으로써 심장 박동 분류 모델의 파라미터를 갱신할 수 있다. 이러한 과정을 반복함으로써 심장 박동 분류 모델이 학습될 수 있다.
이상에서 설명한 실시예에 따르면, 어텐션 모듈을 통해 대상에 특정된 특성을 기초로 심장 박동 분류 모델을 학습하고, 학습된 심장 박동 분류 모델을 심장 박동을 분류함으로써, 부정맥을 검출할 수 있다.
도 5는 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 어텐션 모듈의 한 예를 나타내는 도면이다.
도 5를 참고하면, 어텐션 모듈(500)은 통계 값 계산부(510), 정규화부(520), 신경망 및 마스크 적용부(550)를 포함한다.
통계 값 계산부(510)는 앞의 레이어에서 추출된 특성 맵을 입력 받고, 특성 맵의 통계 값을 계산한다. 어떤 실시예에서, 통계 값은 평균일 수 있으며, 앞으로 통계 값을 평균으로 설명한다. 어떤 실시예에서, 특성 맵이 KㅧL 크기를 가지는 경우, 통계 값 계산부(510)는 각 열에서 특성의 평균을 계산하고, 1ㅧL 크기의 평균을 출력할 수 있다. 통계 값 계산부(510)는 예를 들면 수학식 1과 같이 각 열에서 평균을 계산할 수 있다.
수학식 1에서, fc,k는 특성 맵의 각 열에서 k번째 특성의 값이며, K는 특성 맵의 각 열에 포함된 특성의 개수이다.
정규화부(520)는 특성 맵의 평균을 보조 특성으로 정규화한다. 어떤 실시예에서, 보조 특성은 특성 맵에 대응하는 샘플의 RR 간격일 수 있다. 어떤 실시예에서, 정규화부(520)는 특성 맵의 평균을 보조 특성으로 정규화하기 전에, 보조 특성을 스케일링할 수 있다(521). 정규화부(520)는 예를 들면 수학식 2와 같이 특성 맵의 평균을 보조 특성으로 정규화할 수 있다.
수학식 2에서, RRi는 RR 간격이고, α는 스케일링 계수이다.
신경망은 정규화된 특성 맵의 평균으로부터 어텐션 마스크를 생성하며, 하나 이상의 활성화 레이어(530, 540)를 포함할 수 있다. 정규화부(520)의 출력에 가중치(W1)가 곱해지고 소정 값(b1)만큼 시프트된 후에(531), 활성화 레이어(530)에 입력될 수 있다. 또한 활성화 레이어(530)의 출력에 가중치(W2)가 곱해지고 소정 값(b2)만큼 시프트된 후에(541), 활성화 레이어(540)에 입력될 수 있다. 어떤 실시예에서, 활성화 레이어(530)는 활성화 함수로 tanh 함수를 사용하고, 활성화 레이어(540)는 활성화 함수로 시그모이드 함수를 사용할 수 있다. 이 경우, 활성화 레이어(531)의 출력(Vs)과 활성화 레이어(532)의 출력(Ac,k)은 각각 수학식 3과 4와 같이 주어질 수 있다.
활성화 레이어(532)의 출력이 어텐션 마스크(Ac,k)에 해당하며, 마스크 적용부(540)는 어텐션 마스크(Ac,k)를 특성 맵에 적용해서 마스크된 특성을 출력한다. 어떤 실시예에서, 마스크 적용부(550)는 수학식 5와 같이 어텐션 마스크(Ac,k)를 특성 맵(fc,k)에 곱해서 마스크된 특성을 출력할 수 있다. 어떤 실시예에서, 어텐션 마스크는 1ㅧL 크기를 가지므로, 특성 맵의 각 열에 있는 모든 특성에 동일한 어텐션 마스크가 곱해질 수 있다. 특성에 반영되는 마스크 값은 해당 클래스의 중요도를 반영할 수 있다.
이상에서 설명한 보조 특성은 형태학적 패턴과 관련된 정보를 융합함으로써 가장 관련성이 높은 특성을 추출할 수 있다. 따라서, 심장 박동 분류 장치는 보조 특성을 사용하여 대상에 특정된 특성을 추출함으로써, 서로 다른 클래스 간의 구분을 향상시킬 수 있다.
다음, 도 6 내지 도 8을 참고로 하여 심장 박동 분류 장치의 재샘플링부에 대해서 설명한다.
도 6은 본 발명의 한 실시예에 따른 심장 박동 분류 장치의 재샘플링부의 한 예를 나타내는 도면이다. 도 7은 본 발명의 한 실시예에 따른 심장 박동 분류 장치에서 변환에 적합한 샘플을 설명하는 도면이며, 도 8은 본 발명의 한 실시예에 따른 심장 박동 분류 장치에서 샘플 변환을 설명하는 도면이다.
재샘플링부(600)는 샘플 선택부(610)와 샘플 변환부(620)을 포함한다.
훈련 데이터 세트에 포함되는 복수의 샘플은 레이블이 속한 클래스에 따라 복수의 클래스 클러스터로 분류될 수 있다. 복수의 클래스 클러스터 중에서 샘플의 수가 가장 많은 클러스터가 다수 클래스 클러스터에 해당하고, 샘플의 수가 가장 적은 클러스터가 소수 클래스 클러스터에 해당한다.
샘플 선택부(610)는 소정의 기준에 따라 다수 클래스 샘플 중 적합한 샘플을 선택한다. 어떤 실시예에서, 소정의 기준은 소수 클래스 샘플과 유사성이 높은 기준을 포함할 수 있다. 도 7에 도시한 것처럼, 샘플 선택부(610)는 다수 클래스 샘플(710) 중에서 소수 클래스 샘플(720)과의 유사성이 다른 클래스 샘플(710, 730)과의 유사성보다 높은 샘플(711)을 선택할 수 있다.
어떤 실시예에서, 샘플 사이의 유사성은 유클리드 거리로 판단될 수 있다. 샘플 선택부(610)는 다수 클래스 샘플 중에서 임의의 샘플(xmaj,k)을 선택하고, 선택한 샘플(xmaj,k)과 소수 클래스 샘플 중 중앙에 해당하는 샘플(xmin,c)과의 거리를 계산할 수 있다. 또한, 샘플 선택부(610)는 선택한 샘플(xmaj,k)과 소수 클래스 샘플을 제외한 각 클래스 샘플 중 중앙에 해당하는 샘플(xall,c)과의 거리를 각각 계산할 수 있다. 샘플 선택부(610)는 소수 클래스 중앙 샘플(xmin,c)과의 거리가 다른 모든 클래스 중앙 샘플(xall,c)과의 거리보다 짧은 경우, 해당 샘플(xmaj,k)을 소정의 기준에 따라 적합한 샘플로 선택할 수 있다. 예를 들면, 샘플 선택부(610)는 수학식 6을 만족하는 다수 클래스 샘플(xmaj,k)을 적합한 샘플로 선택할 수 있다.
수학식 6에서, d()는 유클리드 거리를 나타낸다.
샘플 변환부(620)는 샘플 선택부(610)에서 선택한 샘플을 소수 클래스 샘플로 변환한다. 샘플 변환부(620)는 변환한 샘플을 소스 클래스의 레이블로 태깅한다. 어떤 실시예에서, 샘플 변환부(620)는 최적화 방식으로 샘플 변환을 수행할 수 있다. 최적화 방식에서는 변환된(생성된) 샘플이 대상 클래스에서 더 높은 분류 성능을 제공하도록 목표 함수가 최적화될 수 있다. 어떤 실시예에서, 샘플 변환부(620)는 다른 클래스와의 유사성을 줄이면서 대상 소수 클래스와의 샘플 유사성을 높일 수 있도록 선택한 샘플을 소스 클래스 샘플로 변환할 수 있다. 어떤 실시예에서, 도 8에 도시한 것처럼, 샘플 변환부(620)는 소수 클래스 샘플을 분류하기 위한 분류기의 신뢰도를 향상시키기 위해 상수 인자에 기초해서 선택한 샘플(811)과 다른 클래스(810, 830)의 경계 사이의 마진을 증가시킬 수 있다. 또한, 도 7에 도시한 것처럼 샘플 변환부(620)는 소수 클래스(820)에 대한 손실을 줄이도록 최적화를 수행할 수 있다.
예를 들면, 샘플 변환부(620)는 수학식 7과 같이 선택한 샘플(xmaj,k)를 소수 클래스 샘플로 변환할 수 있다.
수학식 7에서, β는 마진 유도를 위한 상수 인자이다.
샘플 변환부(620)에서 생성된 샘플은 대상 클래스(소스 클래스)의 레이블로 태깅된 다음에 심장 박동 분류 모델에 입력될 수 있다.
소수 클래스는 매우 적은 수의 샘플을 가지고 있으므로 제한된 수의 소수 클래스 샘플에서 새로운 샘플을 재생성하는 것은 분류 모델의 일반화 능력 저하와 함께 과적합 및 불량 분류로 이어질 수 있다. 그러나 위에서 설명한 재샘플링부는 다수 클래스 샘플에서 소수 클래스 샘플을 생성하므로, 심장 박동 분류 모델의 일반화 기능을 향상시키고 클래스 불균형 데이터 문제를 해결할 수 있다.
다음, 본 발명의 한 실시예에 따른 심장 박동 분류 장치, 심장 박동 분류 방법 또는 학습 방법을 구현할 수 있는 예시적인 컴퓨팅 장치에 대하여 도 9를 참고로 하여 설명한다.
도 9는 본 발명의 한 실시예에 따른 컴퓨팅 장치의 한 예를 나타내는 블록도이다.
도 9를 참고하면, 컴퓨팅 장치는 프로세서(910), 메모리(920), 저장 장치(930), 통신 인터페이스(940) 및 버스(950)를 포함한다. 컴퓨팅 장치(900)는 다른 범용적인 구성 요소를 더 포함할 수 있다.
프로세서(910)는 컴퓨팅 장치(900)의 각 구성의 전반적인 동작을 제어한다. 프로세서(910)는 CPU(central processing unit), MPU(microprocessor unit), MCU(micro controller unit), GPU(graphic processing unit) 등의 다양한 프로세싱 유닛 중 적어도 하나로 구현될 수 있으며, 병렬 프로세싱 유닛으로 구현될 수도 있다. 또한, 프로세서(910)는 위에서 설명한 심장 박동 분류 방법 또는 학습 방법을 실행하기 위한 프로그램에 대한 연산을 수행할 수 있다.
메모리(920)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(920)는 심장 박동 분류 방법 또는 학습 방법을 실행하기 위하여 저장 장치(930)로부터 컴퓨터 프로그램을 로드할 수 있다. 저장 장치(930)는 프로그램을 비임시적으로 저장할 수 있다. 저장 장치(930)는 비휘발성 메모리로 구현될 수 있다.
통신 인터페이스(940)는 컴퓨팅 장치(900)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(940)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다.
버스(950)는 컴퓨팅 장치(900)의 구성 요소간 통신 기능을 제공한다. 버스(950)는 주소 버스(address bus), 데이터 버스(data bus) 및 제어 버스(control bus) 등 다양한 형태의 버스로 구현될 수 있다.
컴퓨터 프로그램은 메모리(920)에 로드될 때 프로세서(910)로 하여금 심장 박동 분류 방법 또는 학습 방법을 수행하도록 하는 명령어(instructions)를 포함할 수 있다. 즉, 프로세서(910)는 명령어를 실행함으로써, 심장 박동 분류 방법 또는 학습 방법을 위한 동작을 수행할 수 있다.
어떤 실시예에서, 심장 박동 분류 방법을 구현하기 위해, 컴퓨터 프로그램은, 심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하고, 심장 박동 분류 모델의 복수의 제1 레이어를 통해 입력 샘플로부터 특성 맵을 생성하고, 특성 맵 및 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하고, 어텐션 마스크로 특성 맵을 마스크하여 마스크된 특성 맵을 생성하고, 심장 박동 분류 모델의 제2 레이어를 통해 마스크된 특성 맵으로부터 샘플의 분류를 수행하는 명령어를 포함할 수 있다.
어떤 실시예에서, 심장 박동 분류 모델의 학습 방법을 구현하기 위해, 컴퓨터 프로그램은, 심전도 신호로부터 생성된 복수의 샘플을 자신의 레이블이 속한 클래스에 따라 복수의 클래스 클러스터로 분류하는 경우, 소정 기준에 기초해서 복수의 클래스 클러스터 중에서 샘플의 수가 가장 많은 다수 클래스 클러스터로부터 제1 샘플을 선택하고, 제1 샘플을 복수의 클래스 클러스터 중에서 샘플의 수가 가장 적은 소스 클래스 클러스터에 속하는 제2 샘플로 변환하고, 복수의 샘플과 제2 샘플로부터 데이터 세트를 생성하고, 데이터 세트에서 선택된 입력 샘플을 심장 박동 분류 모델에 입력하여 심장 박동 분류 모델을 학습하는 명령어를 포함할 수 있다.
위에서 설명한 본 발명의 한 실시예에 따른 심장 박동 분류 방법 또는 학습 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 컴퓨터 프로그램으로 구현될 수 있다. 한 실시예에서, 컴퓨터가 읽을 수 있는 매체는 이동형 기록 매체이거나 고정식 기록 매체일 수 있다. 다른 실시예에서, 컴퓨터가 읽을 수 있는 매체에 기록된 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 다른 컴퓨팅 장치에 설치되어 실행될 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (20)
- 컴퓨팅 장치에 의해 수행되는, 심장 박동 분류 방법으로서,
심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하는 단계,
상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 샘플로부터 특성 맵을 생성하는 단계,
상기 특성 맵 및 상기 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하는 단계,
상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하는 단계, 그리고
상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 샘플의 분류를 수행하는 단계
를 포함하는 심장 박동 분류 방법. - 제1항에서,
상기 보조 특성은 상기 샘플에 대응하는 상기 심전도 신호의 RR 간격(RR interval)을 포함하는, 심장 박동 분류 방법. - 제1항에서,
상기 어텐션 마스크를 생성하는 단계는
상기 특성 맵의 통계 값을 계산하는 단계,
상기 보조 특성으로 상기 통계 값을 정규화하여 정규화된 통계 값을 생성하는 단계, 그리고
하나 이상의 활성화 레이어를 통해서 상기 정규화된 통계 값으로부터 상기 어텐션 마스크를 생성하는 단계
를 포함하는 심장 박동 분류 방법. - 제3항에서,
상기 어텐션 마스크를 생성하는 단계는 상기 정규화된 통계 값에 가중치를 곱하고 소정 값만큼 시프트한 후에 상기 활성화 레이어에 입력하는 단계를 더 포함하는, 심장 박동 분류 방법. - 제1항에서,
상기 복수의 제1 레이어는 복수의 컨볼루션 레이어를 포함하며,
상기 제2 레이어는 하나 이상의 완전 연결 레이어를 포함하는
심장 박동 분류 방법. - 컴퓨팅 장치에 의해 수행되는, 심장 박동 분류 모델의 학습 방법으로서,
심전도 신호로부터 생성된 복수의 샘플을 자신의 레이블이 속한 클래스에 따라 복수의 클래스 클러스터로 분류하는 경우, 소정 기준에 기초해서 상기 복수의 클래스 클러스터 중에서 샘플의 수가 가장 많은 다수 클래스 클러스터로부터 제1 샘플을 선택하는 단계,
상기 제1 샘플을 상기 복수의 클래스 클러스터 중에서 샘플의 수가 가장 적은 소스 클래스 클러스터에 속하는 제2 샘플로 변환하는 단계,
상기 복수의 샘플과 상기 제2 샘플로부터 데이터 세트를 생성하는 단계, 그리고
상기 데이터 세트에서 선택된 입력 샘플을 상기 심장 박동 분류 모델에 입력하여 상기 심장 박동 분류 모델을 학습하는 단계
를 포함하는 학습 방법. - 제6항에서,
상기 소정의 기준은 상기 소스 클래스 클러스터에 속한 샘플과의 유사성을 포함하는 학습 방법. - 제6항에서,
상기 제1 샘플을 선택하는 단계는
상기 제1 샘플과 상기 소스 클래스 클러스터에서 중앙에 해당하는 샘플과의 제1 거리를 계산하는 단계,
상기 제1 샘플과 상기 복수의 클래스 클러스터 중 상기 소스 클래스 클러스터를 제외한 나머지 클래스 클러스터 각각에서 중앙에 해당하는 샘플과의 제2 거리를 계산하는 단계, 그리고
상기 제1 거리가 상기 제2 거리보다 작은 경우, 상기 제1 샘플을 선택하는 단계
를 포함하는 학습 방법. - 제6항에서,
상기 제2 샘플로 변환하는 단계는 상기 제2 샘플에 상기 소수 클래스 클러스터의 레이블을 태깅하는 단계를 포함하는 학습 방법. - 제6항에서,
상기 제2 샘플로 변환하는 단계는 상수 인자에 기초해서 상기 제2 샘플과 상기 나머지 클래스 클러스터의 경계 사이의 마진을 증가시키는 단계를 포함하는 학습 방법. - 제6항에서,
상기 심장 박동 분류 모델을 학습하는 단계는
상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 입력 샘플로부터 특성 맵을 생성하는 단계,
상기 특성 맵 및 상기 입력 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하는 단계,
상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하는 단계, 그리고
상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 입력 샘플의 분류를 수행하는 단계
를 포함하는 학습 방법. - 제11항에서,
상기 보조 특성은 상기 입력 샘플에 대응하는 상기 심전도 신호의 RR 간격(RR interval)을 포함하는, 학습 방법. - 제11항에서,
상기 어텐션 마스크를 생성하는 단계는
상기 특성 맵의 통계 값을 계산하는 단계,
상기 보조 특성으로 상기 통계 값을 정규화하여 정규화된 통계 값을 생성하는 단계, 그리고
하나 이상의 활성화 레이어를 통해서 상기 정규화된 통계 값으로부터 상기 어텐션 마스크를 생성하는 단계
를 포함하는 학습 방법. - 제13항에서,
상기 어텐션 마스크를 생성하는 단계는 상기 정규화된 통계 값에 가중치를 곱하고 소정 값만큼 시프트한 후에 상기 활성화 레이어에 입력하는 단계를 더 포함하는, 학습 방법. - 제11항에서,
상기 복수의 제1 레이어는 복수의 컨볼루션 레이어를 포함하며,
상기 제2 레이어는 하나 이상의 완전 연결 레이어를 포함하는
학습 방법. - 하나 이상의 명령어를 저장하는 메모리, 그리고
프로세서를 포함하며,
상기 프로세서는 상기 명령어를 실행함으로써,
심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하고,
상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 샘플로부터 특성 맵을 생성하고,
상기 특성 맵 및 상기 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하고,
상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하고,
상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 샘플의 분류를 수행하는
심장 박동 분류 장치. - 제16항에서,
상기 보조 특성은 상기 샘플에 대응하는 상기 심전도 신호의 RR 간격(RR interval)을 포함하는, 심장 박동 분류 장치. - 제16항에서,
상기 프로세서는
상기 특성 맵의 통계 값을 계산하고,
상기 보조 특성으로 상기 통계 값을 정규화하여 정규화된 통계 값을 생성하고,
하나 이상의 활성화 레이어를 통해서 상기 정규화된 통계 값으로부터 상기 어텐션 마스크를 생성하는
심장 박동 분류 장치. - 제18항에서,
상기 프로세서는 상기 정규화된 통계 값에 가중치를 곱하고 소정 값만큼 시프트한 후에 상기 활성화 레이어에 입력하는, 심장 박동 분류 장치. - 제16항에서,
상기 복수의 제1 레이어는 복수의 컨볼루션 레이어를 포함하며,
상기 제2 레이어는 하나 이상의 완전 연결 레이어를 포함하는
심장 박동 분류 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210185838A KR20230096392A (ko) | 2021-12-23 | 2021-12-23 | 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 |
US18/083,935 US20230200742A1 (en) | 2021-12-23 | 2022-12-19 | Method and apparatus for classifying heartbeats and method of training heartbeat classification model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210185838A KR20230096392A (ko) | 2021-12-23 | 2021-12-23 | 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230096392A true KR20230096392A (ko) | 2023-06-30 |
Family
ID=86898603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210185838A KR20230096392A (ko) | 2021-12-23 | 2021-12-23 | 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230200742A1 (ko) |
KR (1) | KR20230096392A (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117481606B (zh) * | 2023-11-13 | 2024-05-14 | 齐鲁工业大学(山东省科学院) | 一种基于改进孪生网络的小样本心电信号分类方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102171236B1 (ko) | 2019-03-14 | 2020-10-28 | 서울시립대학교 산학협력단 | 심장 박동의 타입을 분류하는 방법 및 이를 이용한 장치 |
-
2021
- 2021-12-23 KR KR1020210185838A patent/KR20230096392A/ko unknown
-
2022
- 2022-12-19 US US18/083,935 patent/US20230200742A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102171236B1 (ko) | 2019-03-14 | 2020-10-28 | 서울시립대학교 산학협력단 | 심장 박동의 타입을 분류하는 방법 및 이를 이용한 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20230200742A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10869610B2 (en) | System and method for identifying cardiac arrhythmias with deep neural networks | |
US20200337580A1 (en) | Time series data learning and analysis method using artificial intelligence | |
Shimpi et al. | A machine learning approach for the classification of cardiac arrhythmia | |
Mehta et al. | SVM-based algorithm for recognition of QRS complexes in electrocardiogram | |
Wu et al. | ECG classification using ICA features and support vector machines | |
Prakash et al. | A system for automatic cardiac arrhythmia recognition using electrocardiogram signal | |
Zhao et al. | An explainable attention-based TCN heartbeats classification model for arrhythmia detection | |
Liao et al. | A novel approach for classification of congestive heart failure using relatively short-term ECG waveforms and SVM classifier | |
Mehta et al. | Development of entropy based algorithm for cardiac beat detection in 12-lead electrocardiogram | |
Mehta et al. | Support Vector Machine for Cardiac Beat Detection in Single Lead Electrocardiogram. | |
Mehta et al. | Identification of QRS complexes in 12-lead electrocardiogram | |
CN111839498A (zh) | 心电图分析装置及其心电图分析方法 | |
KR20230096392A (ko) | 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 | |
Kutluana et al. | Classification of cardiac disorders using weighted visibility graph features from ECG signals | |
Kedir-Talha et al. | Neural networks and SVM for heartbeat classification | |
CN116473569A (zh) | 一种心电图数据处理方法、系统及存储介质 | |
Qiu et al. | STCT: Spatial-temporal conv-transformer network for cardiac arrhythmias recognition | |
CN115105084A (zh) | 基于深度学习的心搏定位分类方法、系统、介质及设备 | |
Lu et al. | A New Multichannel Parallel Network Framework for the Special Structure of Multilead ECG | |
Roy et al. | Identification and classification of human mental stress using physiological data: A low-power hybrid approach | |
Din et al. | ECG-based cardiac arrhythmias detection through ensemble learning and fusion of deep spatial–temporal and long-range dependency features | |
Kebriaee et al. | Using an active learning semi-supervision algorithm for classifying of ECG signals and diagnosing heart diseases | |
Habijan et al. | Classification of arrhythmia ecg signals using convolutional neural network | |
Zailan et al. | Comparative Analysis Of Machine Learning Algorithms For Optimizing Variable Step-Size Least Mean Square In Motion Artifact Reduction | |
US20230190204A1 (en) | Statistical dependence-aware biological predictive system |