KR20230096392A - 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 - Google Patents

심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 Download PDF

Info

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
Application number
KR1020210185838A
Other languages
English (en)
Inventor
주바이르
우성필
박찬원
임선환
Original Assignee
한국전자통신연구원
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020210185838A priority Critical patent/KR20230096392A/ko
Priority to US18/083,935 priority patent/US20230200742A1/en
Publication of KR20230096392A publication Critical patent/KR20230096392A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • A61B5/349Detecting specific parameters of the electrocardiograph cycle
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, 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/024Detecting, measuring or recording pulse rate or heart rate
    • A61B5/0245Detecting, measuring or recording pulse rate or heart rate by using sensing means generating electric signals, i.e. ECG signals
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • A61B5/349Detecting specific parameters of the electrocardiograph cycle
    • A61B5/352Detecting R peaks, e.g. for synchronising diagnostic apparatus; Estimating R-R interval
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • A61B5/7267Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT 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

심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법{METHOD AND APPARATUS FOR CLASSIFYING HEARTBEAT, AND METHOD FOR LEARNING HEARTBEAT CLASSIFICATION MODEL}
본 발명은 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법에 관한 것이다.
심전도(electrocardiogram, ECG)의 자동 분류는 어려운 과제이며, 연구자의 노력과 관계없이 몇 가지 이유로 인해 여전히 미해결 문제로 간주된다. 예를 들어 ECG 파형의 형태학적 특성은 환자마다 다르며 진행 중인 생리적 과정과 환자의 정신 상태에 의해 조절될 수 있다. 따라서 어떤 환자 그룹을 위해 설계된 분류 시스템은 다른 환자로부터 획득한 데이터에서 잘 수행되지 않을 수 있다. 이와 관련하여 기존의 기계 학습 방법과 관련된 문제점을 완화하여 더 나은 일반화 기능을 달성하기 위해 수많은 심층 학습 기반 심장 박동 분류 방법이 제안되었다. 그러나 심장 박동에 대한 심층 표현 학습은 여전히 어렵다. 예를 들어, 심층 특성의 품질은 심층 모델로 처리된 정보의 내용과 밀접한 관련이 있다.
또 다른 문제점은 클래스 불균형 데이터이며, 클래스 불균형 데이터로 인해 훈련 데이터가 클래스 인스턴스의 분포를 왜곡할 수 있다. 불균형 데이터에서 일부 클래스(소수 클래스)는 표현이 부족한 반면 다른 클래스는 매우 풍부할 수 있다. 훈련 중에 다수 클래스의 높은 표현은 분류 알고리즘을 다수 클래스로 편향되게 할 수 있다. 그 결과, 소수 클래스 샘플은 종종 분류되지 않을 수 있다. 그러나 실제 시나리오에서는 발생 빈도가 낮은 이벤트가 매우 중요할 수 있다. 예를 들어, 감시 작업에서 의심스러운 활동은 모니터링 시스템이 올바르게 인식해야 하는 드문 이벤트이다. 마찬가지로, 의료 영역에서 질병 진단 작업은 소수 클래스 샘플이 관심의 대상이 되는 시나리오의 예이다. 특히, 부정맥은 갑작스럽고 드물게 나타나기 때문에, 부정맥을 발견하는 작업도 이러한 시나리오의 한 예이다. 부정맥에서는 비정상적인 박동의 탐지가 가장 중요하며 비정상 박동의 잘못된 분류는 바람직하지 않다.
KR 10-2171236 B1
본 발명의 어떤 실시예는 관련성이 높은 특성을 추출할 수 있거나 불균형 데이터 문제를 해결할 수 있는 심장 박동 분류 방법 및 장치 또는 심장 박동 분류 모델의 학습 방법을 제공할 수 있다.
본 발명의 한 실시예에 따르면, 컴퓨팅 장치에 의해 수행되는, 심장 박동 분류 방법이 제공될 수 있다. 상기 심장 박동 분류 방법은 심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하는 단계, 상기 심장 박동 분류 모델의 복수의 제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는 본 발명의 한 실시예에 따른 컴퓨팅 장치의 한 예를 나타내는 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
아래 설명에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
아래 설명에서, 제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과 같이 각 열에서 평균을 계산할 수 있다.
Figure pat00001
수학식 1에서, fc,k는 특성 맵의 각 열에서 k번째 특성의 값이며, K는 특성 맵의 각 열에 포함된 특성의 개수이다.
정규화부(520)는 특성 맵의 평균을 보조 특성으로 정규화한다. 어떤 실시예에서, 보조 특성은 특성 맵에 대응하는 샘플의 RR 간격일 수 있다. 어떤 실시예에서, 정규화부(520)는 특성 맵의 평균을 보조 특성으로 정규화하기 전에, 보조 특성을 스케일링할 수 있다(521). 정규화부(520)는 예를 들면 수학식 2와 같이 특성 맵의 평균을 보조 특성으로 정규화할 수 있다.
Figure pat00002
수학식 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와 같이 주어질 수 있다.
Figure pat00003
Figure pat00004
활성화 레이어(532)의 출력이 어텐션 마스크(Ac,k)에 해당하며, 마스크 적용부(540)는 어텐션 마스크(Ac,k)를 특성 맵에 적용해서 마스크된 특성을 출력한다. 어떤 실시예에서, 마스크 적용부(550)는 수학식 5와 같이 어텐션 마스크(Ac,k)를 특성 맵(fc,k)에 곱해서 마스크된 특성을 출력할 수 있다. 어떤 실시예에서, 어텐션 마스크는 1ㅧL 크기를 가지므로, 특성 맵의 각 열에 있는 모든 특성에 동일한 어텐션 마스크가 곱해질 수 있다. 특성에 반영되는 마스크 값은 해당 클래스의 중요도를 반영할 수 있다.
Figure pat00005
이상에서 설명한 보조 특성은 형태학적 패턴과 관련된 정보를 융합함으로써 가장 관련성이 높은 특성을 추출할 수 있다. 따라서, 심장 박동 분류 장치는 보조 특성을 사용하여 대상에 특정된 특성을 추출함으로써, 서로 다른 클래스 간의 구분을 향상시킬 수 있다.
다음, 도 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)을 적합한 샘플로 선택할 수 있다.
Figure pat00006
수학식 6에서, d()는 유클리드 거리를 나타낸다.
샘플 변환부(620)는 샘플 선택부(610)에서 선택한 샘플을 소수 클래스 샘플로 변환한다. 샘플 변환부(620)는 변환한 샘플을 소스 클래스의 레이블로 태깅한다. 어떤 실시예에서, 샘플 변환부(620)는 최적화 방식으로 샘플 변환을 수행할 수 있다. 최적화 방식에서는 변환된(생성된) 샘플이 대상 클래스에서 더 높은 분류 성능을 제공하도록 목표 함수가 최적화될 수 있다. 어떤 실시예에서, 샘플 변환부(620)는 다른 클래스와의 유사성을 줄이면서 대상 소수 클래스와의 샘플 유사성을 높일 수 있도록 선택한 샘플을 소스 클래스 샘플로 변환할 수 있다. 어떤 실시예에서, 도 8에 도시한 것처럼, 샘플 변환부(620)는 소수 클래스 샘플을 분류하기 위한 분류기의 신뢰도를 향상시키기 위해 상수 인자에 기초해서 선택한 샘플(811)과 다른 클래스(810, 830)의 경계 사이의 마진을 증가시킬 수 있다. 또한, 도 7에 도시한 것처럼 샘플 변환부(620)는 소수 클래스(820)에 대한 손실을 줄이도록 최적화를 수행할 수 있다.
예를 들면, 샘플 변환부(620)는 수학식 7과 같이 선택한 샘플(xmaj,k)를 소수 클래스 샘플로 변환할 수 있다.
Figure pat00007
수학식 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. 컴퓨팅 장치에 의해 수행되는, 심장 박동 분류 방법으로서,
    심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하는 단계,
    상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 샘플로부터 특성 맵을 생성하는 단계,
    상기 특성 맵 및 상기 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하는 단계,
    상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하는 단계, 그리고
    상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 샘플의 분류를 수행하는 단계
    를 포함하는 심장 박동 분류 방법.
  2. 제1항에서,
    상기 보조 특성은 상기 샘플에 대응하는 상기 심전도 신호의 RR 간격(RR interval)을 포함하는, 심장 박동 분류 방법.
  3. 제1항에서,
    상기 어텐션 마스크를 생성하는 단계는
    상기 특성 맵의 통계 값을 계산하는 단계,
    상기 보조 특성으로 상기 통계 값을 정규화하여 정규화된 통계 값을 생성하는 단계, 그리고
    하나 이상의 활성화 레이어를 통해서 상기 정규화된 통계 값으로부터 상기 어텐션 마스크를 생성하는 단계
    를 포함하는 심장 박동 분류 방법.
  4. 제3항에서,
    상기 어텐션 마스크를 생성하는 단계는 상기 정규화된 통계 값에 가중치를 곱하고 소정 값만큼 시프트한 후에 상기 활성화 레이어에 입력하는 단계를 더 포함하는, 심장 박동 분류 방법.
  5. 제1항에서,
    상기 복수의 제1 레이어는 복수의 컨볼루션 레이어를 포함하며,
    상기 제2 레이어는 하나 이상의 완전 연결 레이어를 포함하는
    심장 박동 분류 방법.
  6. 컴퓨팅 장치에 의해 수행되는, 심장 박동 분류 모델의 학습 방법으로서,
    심전도 신호로부터 생성된 복수의 샘플을 자신의 레이블이 속한 클래스에 따라 복수의 클래스 클러스터로 분류하는 경우, 소정 기준에 기초해서 상기 복수의 클래스 클러스터 중에서 샘플의 수가 가장 많은 다수 클래스 클러스터로부터 제1 샘플을 선택하는 단계,
    상기 제1 샘플을 상기 복수의 클래스 클러스터 중에서 샘플의 수가 가장 적은 소스 클래스 클러스터에 속하는 제2 샘플로 변환하는 단계,
    상기 복수의 샘플과 상기 제2 샘플로부터 데이터 세트를 생성하는 단계, 그리고
    상기 데이터 세트에서 선택된 입력 샘플을 상기 심장 박동 분류 모델에 입력하여 상기 심장 박동 분류 모델을 학습하는 단계
    를 포함하는 학습 방법.
  7. 제6항에서,
    상기 소정의 기준은 상기 소스 클래스 클러스터에 속한 샘플과의 유사성을 포함하는 학습 방법.
  8. 제6항에서,
    상기 제1 샘플을 선택하는 단계는
    상기 제1 샘플과 상기 소스 클래스 클러스터에서 중앙에 해당하는 샘플과의 제1 거리를 계산하는 단계,
    상기 제1 샘플과 상기 복수의 클래스 클러스터 중 상기 소스 클래스 클러스터를 제외한 나머지 클래스 클러스터 각각에서 중앙에 해당하는 샘플과의 제2 거리를 계산하는 단계, 그리고
    상기 제1 거리가 상기 제2 거리보다 작은 경우, 상기 제1 샘플을 선택하는 단계
    를 포함하는 학습 방법.
  9. 제6항에서,
    상기 제2 샘플로 변환하는 단계는 상기 제2 샘플에 상기 소수 클래스 클러스터의 레이블을 태깅하는 단계를 포함하는 학습 방법.
  10. 제6항에서,
    상기 제2 샘플로 변환하는 단계는 상수 인자에 기초해서 상기 제2 샘플과 상기 나머지 클래스 클러스터의 경계 사이의 마진을 증가시키는 단계를 포함하는 학습 방법.
  11. 제6항에서,
    상기 심장 박동 분류 모델을 학습하는 단계는
    상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 입력 샘플로부터 특성 맵을 생성하는 단계,
    상기 특성 맵 및 상기 입력 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하는 단계,
    상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하는 단계, 그리고
    상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 입력 샘플의 분류를 수행하는 단계
    를 포함하는 학습 방법.
  12. 제11항에서,
    상기 보조 특성은 상기 입력 샘플에 대응하는 상기 심전도 신호의 RR 간격(RR interval)을 포함하는, 학습 방법.
  13. 제11항에서,
    상기 어텐션 마스크를 생성하는 단계는
    상기 특성 맵의 통계 값을 계산하는 단계,
    상기 보조 특성으로 상기 통계 값을 정규화하여 정규화된 통계 값을 생성하는 단계, 그리고
    하나 이상의 활성화 레이어를 통해서 상기 정규화된 통계 값으로부터 상기 어텐션 마스크를 생성하는 단계
    를 포함하는 학습 방법.
  14. 제13항에서,
    상기 어텐션 마스크를 생성하는 단계는 상기 정규화된 통계 값에 가중치를 곱하고 소정 값만큼 시프트한 후에 상기 활성화 레이어에 입력하는 단계를 더 포함하는, 학습 방법.
  15. 제11항에서,
    상기 복수의 제1 레이어는 복수의 컨볼루션 레이어를 포함하며,
    상기 제2 레이어는 하나 이상의 완전 연결 레이어를 포함하는
    학습 방법.
  16. 하나 이상의 명령어를 저장하는 메모리, 그리고
    프로세서를 포함하며,
    상기 프로세서는 상기 명령어를 실행함으로써,
    심전도 신호로부터 생성된 샘플을 심장 박동 분류 모델에 입력하고,
    상기 심장 박동 분류 모델의 복수의 제1 레이어를 통해 상기 샘플로부터 특성 맵을 생성하고,
    상기 특성 맵 및 상기 샘플로부터 생성된 보조 특성에 기초해서 어텐션 마스크를 생성하고,
    상기 어텐션 마스크로 상기 특성 맵을 마스크하여 마스크된 특성 맵을 생성하고,
    상기 심장 박동 분류 모델의 제2 레이어를 통해 상기 마스크된 특성 맵으로부터 상기 샘플의 분류를 수행하는
    심장 박동 분류 장치.
  17. 제16항에서,
    상기 보조 특성은 상기 샘플에 대응하는 상기 심전도 신호의 RR 간격(RR interval)을 포함하는, 심장 박동 분류 장치.
  18. 제16항에서,
    상기 프로세서는
    상기 특성 맵의 통계 값을 계산하고,
    상기 보조 특성으로 상기 통계 값을 정규화하여 정규화된 통계 값을 생성하고,
    하나 이상의 활성화 레이어를 통해서 상기 정규화된 통계 값으로부터 상기 어텐션 마스크를 생성하는
    심장 박동 분류 장치.
  19. 제18항에서,
    상기 프로세서는 상기 정규화된 통계 값에 가중치를 곱하고 소정 값만큼 시프트한 후에 상기 활성화 레이어에 입력하는, 심장 박동 분류 장치.
  20. 제16항에서,
    상기 복수의 제1 레이어는 복수의 컨볼루션 레이어를 포함하며,
    상기 제2 레이어는 하나 이상의 완전 연결 레이어를 포함하는
    심장 박동 분류 장치.
KR1020210185838A 2021-12-23 2021-12-23 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법 KR20230096392A (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117481606B (zh) * 2023-11-13 2024-05-14 齐鲁工业大学(山东省科学院) 一种基于改进孪生网络的小样本心电信号分类方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102171236B1 (ko) 2019-03-14 2020-10-28 서울시립대학교 산학협력단 심장 박동의 타입을 분류하는 방법 및 이를 이용한 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
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