KR102483693B1 - 설명 가능한 다중 심전도 부정맥 진단 장치 및 방법 - Google Patents

설명 가능한 다중 심전도 부정맥 진단 장치 및 방법 Download PDF

Info

Publication number
KR102483693B1
KR102483693B1 KR1020200166666A KR20200166666A KR102483693B1 KR 102483693 B1 KR102483693 B1 KR 102483693B1 KR 1020200166666 A KR1020200166666 A KR 1020200166666A KR 20200166666 A KR20200166666 A KR 20200166666A KR 102483693 B1 KR102483693 B1 KR 102483693B1
Authority
KR
South Korea
Prior art keywords
map
neural network
attention
training
electrocardiogram
Prior art date
Application number
KR1020200166666A
Other languages
English (en)
Other versions
KR20220077583A (ko
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 KR1020200166666A priority Critical patent/KR102483693B1/ko
Priority to PCT/KR2021/016001 priority patent/WO2022119155A1/ko
Publication of KR20220077583A publication Critical patent/KR20220077583A/ko
Application granted granted Critical
Publication of KR102483693B1 publication Critical patent/KR102483693B1/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
    • 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/327Generation of artificial ECG signals based on measured signals, e.g. to compensate for missing leads
    • 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/361Detecting fibrillation
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • G06N3/0427
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Veterinary Medicine (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Physiology (AREA)
  • Psychiatry (AREA)
  • Fuzzy Systems (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

일 실시예에 따른 프로세서에 의해 수행되는 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법은, 트레이닝 심전도(electrocardiogram, ECG) 데이터로부터 뉴럴 네트워크(Neural Network)의 어텐션 브랜치에 기초하여 미리 지정되는 개수의 클래스 별로 특징 맵(feature map)을 생성하는 단계, 특징 맵으로부터 어텐션 맵(attention map) 및 기준 응답 맵(reference response map)을 생성하는 단계, 어텐션 맵 및 기준 응답 맵에 기초하여 손실 값을 산출하는 단계, 및 산출된 손실 값에 기초하여 뉴럴 네트워크의 파라미터를 업데이트하는 단계를 포함할 수 있다.

Description

설명 가능한 다중 심전도 부정맥 진단 장치 및 방법{METHOD AND APPARATUS OF EXPLAINABLE MULTI ELECTROCARDIOGRAM ARRHYTHMIA DIAGNOSIS}
이하에서는, 심전도 데이터에 기초하여 심장 부정맥을 진단하는 기술에 관하여 설명한다.
심혈관 질환은 건강한 삶을 유지하는데 가장 큰 장애물 중 하나이며, 심장 관련 질환의 대부분은 심장 부정맥(cardiac arrhythmia, CA)로 설명될 수 있다. 심장 활동(cardiac activity)을 기록하는 여러 방법 중에서 전위를 측정하는 방법인 심전도(electrocardiogram, ECG)는 비침습적이고 효과적인 특성으로 인하여 가장 널리 사용된다. 심전도 데이터를 이용하여 심장 부정맥(CA)을 정확하게 감지하는 것은 심장 전문의에게 주요 과제 중 하나이다. 종래에는 심장 전문의의 심전도 신호 수동 해석에 의존하였으나, 심전도 데이터로부터 정확한 CA를 감지하기 위하여 기계 학습(machine learning) 및 딥러닝(deep learning)이 도입되었다.
기존의 심전도 데이터 분석 방법은, 인스턴스와 레이블 사이의 일대일 관계를 암시적으로 가정하여 분석을 수행함으로써, 실제로 환자가 가지는 복수의 CA 유형들을 모두 정확히 판단하지 못하는 문제점이 발생한다. 또한, 기존의 심전도 데이터를 분석하기 위한 CNN 기반의 모델들은 분류 결과에 대한 설명 가능성(explainability)이 모호한 문제점이 발생한다. 이른바, AI의 '블랙 박스(black box)'의 문제점이 발생한다. 그러나, 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크는, 다중 레이블 학습(multilabel learning)이 용이하고, 임상의에게 해석 가능한 시각적 설명(visual explanation)을 제공하는 어텐션 맵(attention map)을 생성하기 때문에, 다중 레이블 분류(multilabel classification) 및 설명 가능성(explainability)의 문제를 해결할 수 있다.
일 실시예에 따른 프로세서에 의해 수행되는 심전도 진단 장치의 뉴럴 네트워크(Neural Network)를 트레이닝시키는 방법은, 트레이닝 심전도(electrocardiogram, ECG) 데이터로부터 뉴럴 네트워크의 어텐션 브랜치에 기초하여 미리 지정되는 개수의 클래스 별로 특징 맵(feature map)을 생성하는 단계, 상기 특징 맵으로부터 어텐션 맵(attention map) 및 기준 응답 맵(reference response map)을 생성하는 단계, 상기 어텐션 맵 및 상기 기준 응답 맵에 기초하여 손실 값을 산출하는 단계, 및 상기 산출된 손실 값에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트하는 단계를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법의 상기 어텐션 맵 및 기준 응답 맵을 생성하는 단계는, 상기 어텐션 브랜치에 의해 생성된 복수의 특징 맵들 중 모든 클래스에 대응하는 특징 맵으로부터 상기 어텐션 맵을 생성하는 단계, 및 상기 복수의 특징 맵들 중 참값 클래스(Ground Truth class)에 대응하는 특징 맵으로부터 상기 기준 응답 맵을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법의 상기 기준 응답 맵을 생성하는 단계는, 상기 복수의 특징 맵들 중 상기 참값 클래스에 대응하는 특징 맵의 평균을 상기 기준 응답 맵으로 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법의 상기 손실 값을 산출하는 단계는, 상기 어텐션 맵 및 상기 기준 응답 맵 간의 차이를 산출하는 단계를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법의 상기 차이를 산출하는 단계는, 상기 어텐션 맵 및 상기 기준 응답 맵 간의 유클리드 노름(Euclidean norm)을 산출하는 단계를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법은, 상기 산출된 유클리드 노름에 가중치를 적용하는 단계를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법의 상기 손실 값을 산출하는 단계는, 참값 레이블(Ground Truth label) 및 상기 어텐션 브랜치로부터 출력되는 클래스 스코어(class score) 사이의 제1 이진 교차 엔트로피(binary cross-entropy) 값을 산출하는 단계, 참값 레이블 및 상기 인지 브랜치로부터 출력되는 클래스 스코어 사이의 제2 이진 교차 엔트로피 값을 산출하는 단계, 및 상기 산출된 상기 어텐션 맵 및 상기 기준 응답 맵 간의 차이, 제1 이진 교차 엔트로피 값, 및 제2 이진 교차 엔트로피 값을 합산하여 상기 손실 값을 산출하는 단계를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법은, 상기 트레이닝 심전도 데이터에 정규화(normalized) 및 제로 패딩(zero-padding)를 포함하는 전처리를 적용하여 상기 뉴럴 네트워크에 입력될 입력 데이터를 생성하는 단계를 더 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법의 상기 특징 맵을 생성하는 단계는, 트레이닝 심전도 데이터로부터 복수의 질병 분류 클래스들의 각각 별로 특징 맵을 추출하는 단계를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치는, 어텐션 브랜치를 포함하는 뉴럴 네트워크를 저장한 메모리, 및 트레이닝 심전도 데이터로부터 뉴럴 네트워크의 어텐션 브랜치에 기초하여 미리 지정되는 개수의 클래스 별로 특징 맵을 생성하고, 상기 특징 맵으로부터 어텐션 맵 및 기준 응답 맵을 생성하며, 상기 어텐션 맵 및 상기 기준 응답 맵에 기초하여 손실 값을 산출하고, 상기 산출된 손실 값에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트하는 프로세서를 포함할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치의 프로세서는, 상기 어텐션 브랜치에 의해 생성된 복수의 특징 맵들 중 모든 클래스에 대응하는 특징 맵으로부터 상기 어텐션 맵을 생성하고, 상기 복수의 특징 맵들 중 참값 클래스(Ground Truth class)에 대응하는 특징 맵으로부터 상기 기준 응답 맵을 생성할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치의 프로세서는, 상기 복수의 특징 맵들 중 상기 참값 클래스에 대응하는 특징 맵의 평균을 상기 기준 응답 맵으로 생성할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치의 프로세서는, 상기 어텐션 맵 및 상기 기준 응답 맵 간의 차이를 산출할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치의 프로세서는, 상기 어텐션 맵 및 상기 기준 응답 맵 간의 유클리드 노름(Euclidean norm)을 산출할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치의 프로세서는, 상기 산출된 유클리드 노름에 가중치를 적용할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치의 프로세서는, 참값 레이블(Ground Truth label) 및 상기 인지 브랜치로부터 출력되는 클래스 스코어(class score) 사이의 제1 이진 교차 엔트로피(binary cross-entropy) 값을 산출하고, 참값 레이블 및 상기 어텐션 브랜치로부터 출력되는 클래스 스코어 사이의 제2 이진 교차 엔트로피 값을 산출하며, 상기 산출된 상기 어텐션 맵 및 상기 기준 응답 맵 간의 차이, 제1 이진 교차 엔트로피 값, 및 제2 이진 교차 엔트로피 값을 합산하여 상기 손실 값을 산출할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치의 프로세서는, 상기 트레이닝 심전도 데이터에 정규화(normalized) 및 제로 패딩(zero-padding)를 포함하는 전처리를 적용하여 상기 뉴럴 네트워크에 입력될 입력 데이터를 생성할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치의 프로세서는, 트레이닝 심전도 데이터로부터 복수의 질병 분류 클래스들의 각각 별로 특징 맵을 추출할 수 있다.
도 1은 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크(Neural Network)를 트레이닝 시키는 방법에 대하여 설명한다.
도 2는 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크의 구조에 관하여 도시한다.
도 3은 일 실시예에 따른 뉴럴 네트워크의 유클리드 노름에 적용되는 가중치에 따른 분류 평가 결과를 도시한다.
도 4는 LBBB 및 STE로 진단된 심전도 테스트 데이터를 입력하는 경우에 생성되는 어텐션 맵을 도시한다.
도 5는 AF와 STD로 진단된 심전도 테스트 데이터를 입력하는 경우에 생성되는 어텐션 맵을 도시한다.
도 6은 일 실시예에 따라 심전도 진단 장치의 뉴럴 네트워크를 트레이닝 시키는 장치의 구성을 나타낸 블록도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
다중 레이블 분류(Multilabel classification)
다중 클래스 학습(multiclass learning)이란 인스턴스(instance)를 여러 대상 레이블들 중 하나의 레이블에 매핑 시킴으로써 모델을 트레이닝 시킬 수 있다. 반면, 다중 레이블 학습(multilabel learning)에서는 인스턴스를 하나 이상의 대상 레이블에 매핑 시킴으로써 모델을 트레이닝 시킬 수 있다. 다중 레이블 분류는 예측된 레이블들을 관련성 있거나(relevnat), 관련성 없는(irrelevant) 집합으로 분류하므로, 분할(bipartitioning) 방법이 정의되어야 한다. 딥 러닝 네트워크(deep learning network)에서는, 클래스 확률(class probabilites)에 따라 레이블을 정렬할 수 있고, 분할에 대한 임계값(t)을 이용하여 레이블을 분류할 수 있다. 예를 들어, 분할에 대한 임계값(t)은 참값 레이블 일반적으로 0.5로 설정될 수 있으나, 이로 한정하지 않으며 다른 값으로 미리 설정될 수도 있다.
기존의 심전도 데이터 분석 방법은, 인스턴스(예를 들어, 심전도 데이터)와 레이블(예를 들어, 복수의 질병 분류 클래스들과 각각 대응됨) 사이의 일대일 관계를 가정하여 분류를 수행하기 때문에, 다중 레이블 분류에 적합하지 않았다. 예시적으로, 환자로부터 획득한 심전도 데이터로부터 딥러닝 네트워크를 이용하여 부정맥에 대한 8개의 질병(심방 세동, 방실 차단, 좌각차단, 우각차단, 심방 조기 수축, ST 분절 상승) 가능성이 예측될 수 있다. 정상 클래스(normal class)를 포함하여 8개의 질병 각각에 대하여 클래스가 생성되어, 총 9개의 클래스가 생성될 수 있다. 다시 말해, 기존의 심전도 데이터 분석 방법은, 환자로부터 획득하는 심전도 데이터에 대하여 하나의 질병에 대응하는 레이블이 할당되는 것이 암시적으로 가정되었다. 그러나, 실제로 환자는 복수의 질병을 가질 수 있으며, 환자로부터 획득한 심전도 데이터로부터 환자가 갖는 질병을 모두 정확히 분류할 필요가 있다. 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크는 종래의 심전도 데이터 분석 방법과 비교하여, 다중 레이블 분류에 적합하여 입력되는 심전도 데이터를 복수의 레이블에 할당함으로써 환자가 갖는 복수의 질병들을 모두 정확히 판단할 수 있는 장점을 갖는다.
설명 가능한 AI(Explainable AI)
합성곱 신경망(Convolutional Neural Network, CNN)은 심전도 데이터의 질병 진단을 위한 효과적인 방법으로 알려져 있으나, 해석능력(interpretability) 또는 설명가능성(explainability)이 좋지 않아 임상 실습(clinical practice)에 적용되지 않았다. AI의 잘못된 해석성은 의학에 심각한 결과를 초래할 수 있기 때문에, 설명 가능성(explainability)는 매우 중요한 문제이다. 딥러닝의 알고리즘을 설명할 수 없다면 정확한 예측을 필요로하는 의료 AI 분야에서 실용화되기 어려우며, 설명가능성을 고려하지 않는다면 알고리즘이 잘못된 기준으로 학습될 가능성도 배제할 수 없다. 결국, 딥러닝을 이용한 심전도 데이터에 대한 CA 분류에서, 모델 결정(decision)의 재추적 가능성은 정확한 예측을 하는 것 만큼 중요하다.
응답 기반 방법(Response-based method)은 순방향 전파(forward propagation) 중 어텐션(attention)을 시각화(visualize)한다. 응답 기분 방법 중 하나의 예시로는, 이미지 분류 CNN에서 활성화 맵(activation map)을 추출하는 클래스 활성화 맵(class activation map, CAM)이 있다. CAM은 마지막 컨볼루션 레이어에 의해 생성된 압축된 공간 어텐션 또는 특징 맵들의 가중합을 나타낸다. 예측된 클래스 스코어는 해당 클래스와 관련된 각 단위의 가중치를 얻기 위하여 GAP(global-average pooling) 레이어에 다시 투영되며, 가중치를 GAP에 입력하고, 특징 맵들과 곱한 후 합산하여 CAM을 생성한다. CAM은 컴퓨터 비전에서 시각적 설명을 제공하는데 효과적이지만, 완전히 연결된 레이어(fully-connected layer)를 컨볼루션 레이어로 대체하기 때문에 모델의 분류 정확도가 떨어지는 단점이 있다.
이러한 한계를 해결하기 위하여, Grad-CAM이 도입되었다. Grad-CAM은 먼저, 이미지를 순방향 전파하고, 참값 레이블에 대한 확률 스코어를 계산한다. 역전파를 통하여, 스코어의 그라디언트(gradient)는 마지막 컨볼루션 레이어의 특징 맵과 관련하여 미분된다. 특징 맵들의 내적과 역전파 결과들이 합산되며, 중요도에 따라 특징 맵의 가중합을 반영한다고 가정한다. 최종 시각적 설명은 가중합을 렐루(Rectified Linear Unit, ReLU)를 통해 전달함으로써 생성한다.
종래의 어텐션 브랜치 네트워크(Attention Branch Network)는 합성곱 신경망(CNN) 내에서 어텐션 맵(attention map)을 활용하여 모델이 결정을 내리는 방법을 설명할 수 있는 뉴럴 네트워크의 모델 중 하나이다. 어텐션 브랜치 네트워크는 CNN 모델의 결정과 관계된 어텐션 맵(attention map)을 추출할 뿐만 아니라, 어텐션 맵을 사용하여 네트워크의 성능을 향상시킬 수도 있다. 이는, 어텐션 브랜치 네트워크에서 어텐션 추출을 위한 어텐션 브랜치(attention branch)를 도입함으로써 달성된다. 높은 레벨의 컨볼루션 레이어들은 이미지의 관련된 부분(relevant part)에 초점을 맞추도록 어텐션 맵은 처리된 입력과 결합한다. 어텐션 브랜치 네트워크는 이미지 분류에서 기존 CNN 모델을 능가하며, 시각적 설명(visual explanation)은 CAM 또는 Grad-CAM과 비슷하다. 어텐션 브랜치 네트워크의 장점은 트레이닝 중에 맵을 생성할 수 있다는 것에 있다. 반면, CAM 또는 Grad-CAM의 경우에서는 레이어 가중치 또는 역전파를 얻기 위하여 모델이 완전히 학습되는 것이 요구된다.
종래의 어텐션 브랜치 네트워크(ABN)는, 백본 네트워크(backbone network), 어텐션 브랜치(attention branch), 인지 브랜치(perception branch)를 포함할 수 있다.
입력 데이터의 공간적인 특징(spatial feature)을 추출하기 위한 백본 네트워크는, 입력 데이터를 입력 받아 특징 맵을 출력할 수 있다. 백본 네트워크는 컨볼루션 레이어를 포함하는 딥 뉴럴 네트워크 모델일 수 있다. 컨볼루션 레이어는 필터를 이용하여 컨볼루션 연산을 레이어 입력에 적용할 수 있다. 뉴럴 네트워크는 입력 레이어, 히든 레이어 및 출력 레이어를 포함한다. 입력 레이어, 히든 레이어 및 출력 레이어는 각각 복수의 노드들을 포함한다. 히든 레이어는 다양한 수의 레이어들을 포함할 수 있다. 뉴럴 네트워크에서 출력 레이어를 제외한 레이어들의 노드들은 출력 신호를 전송하기 위한 링크들을 통해 다음 레이어의 노드들과 연결될 수 있고, 링크들은 레이어들을 다양한 구조로 연결할 수도 있다. 히든 레이어에 포함된 각각의 노드에는 이전 레이어에 포함된 노드들의 가중된 입력들(weighted inputs)에 관한 활성 함수(activation function)의 출력이 입력될 수 있다. 가중치는 뉴럴 네트워크의 파라미터로 지칭될 수 있다. 활성 함수는 시그모이드(sigmoid), 하이퍼볼릭 탄젠트(hyperbolic tangent; tanh) 및 렐루(rectified linear unit; ReLU)를 포함할 수 있고, 활성 함수에 의해 뉴럴 네트워크가 비선형성을 가질 수 있다.
백본 네트워크로부터 추출된 특징 맵은 어텐션 브랜치(attention branch)로 입력될 수 있다. 어텐션 브랜치(attention branch)는 어텐션 브랜치 네트워크의 결정(decision)에 대한 설명 가능성을 제공하는 어텐션 맵(attention map)을 생성할 수 있다. 또한, 어텐션 브랜치는 특징 맵에 기초해서 어텐션 브랜치에 대응하는 클래스 스코어를 산출하는 레이어를 포함할 수 있다.
인지 브랜치(perception branch)는 특징 맵 및 어텐션 브랜치로부터 생성된 어텐션 맵에 기초해서 인지 브랜치에 대응하는 클래스 스코어를 산출하는 레이어를 포함할 수 있다.
종래의 어텐션 브랜치 네트워크는, 어텐션 브랜치로부터 산출된 클래스 스코어 및 인지 브랜치로부터 산출된 클래스 스코어에 기초하여 손실 값이 산출되며, 산출된 손실 값에 기초하여 어텐션 브랜치 네트워크의 파라미터가 업데이트되는 뉴럴 네트워크 구조이다. 트레이닝 데이터에 의하여 트레이닝된 어텐션 브랜치 네트워크는, 입력 데이터에 대응하여 각 클래스에 대응하는 확률을 출력할 수 있다.
반면, 일 실시예에 따른 뉴럴 네트워크는, 기존의 어텐션 브랜치 네트워크와 손실 함수에서 차이가 나타난다. 일 실시예에 따른 뉴럴 네트워크는 어텐션 브랜치를 포함하는 뉴럴 네트워크다. 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크는, 어텐션 브랜치로부터 산출되는 클래스 스코어, 인지 브랜치로부터 산출되는 클래스 스코어 뿐만 아니라, 어텐션 맵 및 기준 응답 맵의 차이에 기초하여 손실 값을 산출할 수 있다. 후술하겠으나, 일 실시예에 따른 뉴럴 네트워크는, 기준 응답 맵을 사용하여 다중 레이블 분류 성능을 보다 향상시킬 수 있으며, 설명가능성 또한 어텐션 가시화(attention visulization)을 통하여 제공할 수 있다. 이하에서는, 일 실시예에 따른 뉴럴 네트워크의 구조에 관하여 보다 구체적으로 설명한다.
도 1은 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크(Neural Network)를 트레이닝 시키는 방법에 대하여 설명한다.
단계(101)에서는, 환자로부터 트레이닝 심전도(electrocardiogram, ECG) 데이터를 입력 받아 전처리하는 과정을 설명한다.
예시적으로, 환자로부터 획득한 12개의 리드(lead)로 구분되는 심전도 데이터를 트레이닝 심전도 데이터로 사용할 수 있다. 일 실시예에 따른 뉴럴 네트워크는, 획득한 트레이닝 심전도 데이터에 전처리(post-processing)를 적용하여 백본 네트워크로 입력할 수 있다. 트레이닝 심전도 데이터에 대하여 각 리드 마다 백본 네트워크에 입력되는 데이터의 길이가 균일하도록 제로 패딩(zero-padding)의 전처리를 적용할 수 있다. 또한, 트레이닝 심전도 데이터에 정규화(normalized)의 전처리를 적용하여 입력 데이터의 범위를 조절할 수 있다.
단계(102)에서는 전처리된 트레이닝 심전도 데이터로부터 뉴럴 네트워크(Neural Network)의 어텐션 브랜치에 기초하여 미리 지정되는 개수의 클래스 별로 특징 맵(feature map)을 생성할 수 있다.
심전도 데이터로부터 추출 가능한 부정맥에 대한 복수의 질병 마다 클래스를 생성할 수 있다. 일 실시예에 따른 뉴럴 네트워크는, 어텐션 브랜치에서 각 클래스 별로 컨볼루션 레이어 및 렐루(ReLU)를 거쳐 특징 맵을 생성할 수 있다. 일 실시예에 따른 뉴럴 네트워크는, 입력되는 심전도 데이터를 복수의 레이블에 할당하는 다중 레이어 분류(multilabel classification)를 위하여, 각 클래스 별로 특징 맵을 생성한다.
단계(103)에서는 특징 맵으로부터 어텐션 맵(attention map) 및 기준 응답 맵(reference response map)을 생성할 수 있다.
일 실시예에 따른 뉴럴 네트워크는, 클래스 별로 생성된 특징 맵에 기초하여 어텐션 브랜치의 설명 가능성을 제공하는 어텐션 맵(attention map)을 생성할 수 있다. 어텐션 브랜치에 의해 생성된 복수의 특징 맵들 중 모든 클래스에 대응하는 특징 맵으로부터 어텐션 맵을 생성할 수 있다. 또한, 복수의 특징 맵들 중 참값 클래스(Ground Truth class)에 대응하는 특징 맵으로부터 기준 응답 맵을 생성할 수 있다. 본 명세서에서 참값 클래스란(Ground Truth class), 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝 시키는 단계에서, 환자가 갖는 부정맥 질병에 대응하는 클래스를 나타낼 수 있다.
단계(104)에서는 생성된 어텐션 맵 및 상기 기준 응답 맵에 기초하여 손실 값을 산출할 수 있다.
기존의 어텐션 브랜치 네트워크에서는, 손실 값은 어텐션 브랜치로부터 산출되는 클래스 스코어 및 인지 브랜치로부터 산출되는 클래스 스코어에만 기초하여 산출된다. 그러나, 일 실시예에 따른 뉴럴 네트워크에서의 손실 값은, 어텐션 맵 및 기준 응답 맵의 차이에 대응하는 값을 손실 값에 부가함으로써 다중 클래스 분류가 보다 향상될 수 있다.
단계(105)에서는 산출된 손실 값에 기초하여 뉴럴 네트워크의 파라미터를 업데이트 할 수 있다.
도 2에서는 각 단계에 대하여 보다 구체적으로 설명한다.
도 2는 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크의 구조에 관하여 도시한다.
일 실시예에 따른 뉴럴 네트워크는 백본 네트워크(backbone network)(210), 어텐션 브랜치(attention branch)(220), 및 인지 브랜치(perception branch)(230)의 3가지 주요 모듈로 구성된다. 뉴럴 네트워크는 어텐션 맵(attention map)을 생성함으로써, 뉴럴 네트워크의 결정(decision)에 대한 시각적 설명(visual explanation)을 제공할 뿐만 아니라, 뉴럴 네트워크의 분류 성능이 향상된다.
이하에서는, 일 실시예에 따른 뉴럴 네트워크는 환자로부터 심전도 데이터를 획득하여 트레이닝 데이터로 이용할 수 있다. 트레이닝 데이터는, 트레이닝 입력 및 트레이닝 출력의 쌍을 의미하며, 트레이닝 출력은 참값 레이블을 지시할 수 있다. 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크에서는, 획득한 트레이닝 심전도 데이터(251)에 전처리를 적용하여 백본 네트워크(210)에 전처리된 데이터를 입력할 수 있다. 구체적으로, 트레이닝 심전도 데이터(251)에 정규화(normalized) 및 제로 패딩(zero-padding)을 포함하는 전처리를 적용할 수 있다.
예시적으로, 환자로부터 측정되는 심전도 데이터는 총 12개의 리드(lead)로 구분될 수 있으며, 12개의 리드로 구분되는 심전도 데이터를 트레이닝 심전도 데이터(251)로 사용할 수 있다. 12개의 리드는 I, II, III, aVR, aVL, aVF, V1, V2, V3, V4, V5, V6의 심전도를 나타낼 수 있으며, 각 표준 심전도는 환자로부터 측정 부위를 달리함으로써 획득할 수 있다.
일 실시예에 따른 뉴럴 네트워크는 획득한 트레이닝 심전도 데이터(251)에 대하여 전역 평균(global mean)을 차감하고 전역 표준 편차(global standard deviation)로 나누어 정규화(normalized)함으로써 전처리를 적용할 수 있다.
또한, 일 실시예에 따른 어텐션 뉴럴 네트워크는, 컨볼루션 레이어를 포함하는 뉴럴 네트워크인 백본 네트워크(210)에 입력되는 데이터의 길이를 균일하게 하기 위하여 제로 패딩(zero-padding)의 전처리 과정을 거칠 수 있다. 예시적으로, 획득한 트레이닝 심전도 데이터(251)의 리드 별로, 72,000 타임 포인트(time-point)로 정의된 기준 시간에 맞추어 전처리할 수 있다. 즉, 트레이닝 심전도 데이터의 리드 마다 획득된 데이터가 기준 시간에 미치지 못하는 경우, 기준 시간의 길이가 되도록 획득된 데이터 앞에 '0'을 채울 수 있다.
다시 말해, 트레이닝 심전도 데이터(251)에 정규화 과정 및 제로 패딩(zero-padding)의 과정의 전처리를 적용할 수 있다. 예시적으로, 백본 네트워크(210)에 대한 입력(
Figure 112020130482318-pat00001
)의 크기가 72,000(time-point) × 12(lead)가 되도록 트레이닝 심전도 데이터를 전처리 할 수 있다.
백본 네트워크는 하나 이상의 컨볼루션 레이어(convolution layer)로 구성될 수 있다. 여기서는, 백본 네트워크로 4개의 컨볼루션 레이어를 사용하는 것을 예시적으로 설명한다. 예를 들어, 아래 표 1과 같은 4개의 컨볼루션 레이어가 사용될 수 있다.
Figure 112020130482318-pat00002
예시적으로, 각 컨볼루션 레이어 후에는 배치 정규화가 이루어지며, 모든 컨벌루션 레이어 및 맥스 풀링(Max pooling) 레이어의 커널 크기(kernel dimension)는 3×3일 수 있다. 컨볼루션 레이어의 경우 스트라이드(stride)는 1로 설정될 수 있고, 맥스 풀링 레이어의 경우 스트라이드는 3으로 설정될 수 있다.
백본 네트워크는 입력되는 트레이닝 심전도 데이터로부터 중요한 특징만 남도록 공간 정보(spatial information)의 특징을 추출하여 제1 특징 맵(
Figure 112020130482318-pat00003
, 252)을 생성할 수 있다.
제1 특징 맵(252)은 심층 특성을 효율적으로 트레이닝하는 어텐션 브랜치(220)로 전달 될 수 있다. 제1 특징 맵(252)은 어텐션 브랜치(220)의 잔여 함수(residual funciton, 203)로 입력될 수 있다. 잔여 함수(203)은 3개의 연속된 컨볼루션 레이어로 구성될 수 있다. 예를 들어, 64개 필터의 1×1 컨볼루션 레이어, 64개 필터의 3Х3 컨볼루션 레이어, 256개 필터의 1×1 컨볼루션 레이어로 구성될 수 있다. 제1 특징 맵(252)에 대한 잔여 함수(203)의 적용(
Figure 112020130482318-pat00004
)은 잔여 매핑(residual mapping)을 위하여 제1 특징 맵(252)과 다시 합산(
Figure 112020130482318-pat00005
)될 수 있다.
잔여 함수(203)에 대한 출력은 배치 정규화(Batch normalization)(205)를 거친 후에, 제1 컨볼루션 레이어(205)에 입력 될 수 있다. 제1 컨볼루션 레이어(205)는 개별 클래스의 특징 맵으로 해석될 수 있는, h×w 차원의 특징 맵을 K개 생성할 수 있다. 다시 말해, 제1 컨볼루션 레이어(205)는 K×h×w 맵을 출력할 수 있다. 여기서, h, w, K는 1 이상의 자연수를 나타낼 수 있으며, K는 일 실시예에 따른 뉴럴 네트워크에서 미리 지정되는 클래스의 개수를 나타낼 수 있다.
제1 컨볼루션 레이어(205)에 의하여 개별 클래스에 대응하는 특징 맵이 출력될 수 있고, 출력된 특징 맵은 활성함수를 통과할 수 있다. 활성 함수는 양수 값 만을 추출하는 렐루(Rectified Linear Unit, ReLU)(206)를 나타낼 수 있다. 결국, 제1 컨볼루션 레이어(205)를 통하여 추출된 h×w 차원의 K개의 특징 맵은 렐루(ReLU, 206)에 입력되어 양수 값 만이 추출될 수 있다. 이하 명세서에서는, 각각의 클래스 별로 렐루(206)를 거쳐 출력되는 K개의 특징 맵을 제2 특징 맵(Ck)이라 한다. 예를 들어, C1는 제2 특징 맵 중 제1 클래스에 대응하는 특징 맵을, C2는 제2 특징 맵 중 제2 클래스에 대응하는 특징 맵을, Ck는 제2 특징 맵 중 제k 클래스에 대응하는 특징 맵을 의미할 수 있다. 정리하면, 트레이닝 심전도 데이터(251)로부터 어텐션 브랜치(220)에 기초하여 미리 지정되는 개수의 클래스 별로 제2 특징 맵을 생성할 수 있다.
제2 특징 맵으로부터 어텐션 맵(
Figure 112020130482318-pat00006
)(231) 및 기준 응답 맵(
Figure 112020130482318-pat00007
, reference response map)(232)을 생성할 수 있다. 어텐션 브랜치에 의해 생성된 복수의 제2 특징 맵들 중 모든 클래스에 대응하는 제2 특징 맵으로부터 어텐션 맵(231)을 생성할 수 있다. 또한, 복수의 제2 특징 맵들 중 참값 클래스(Ground Truth class)에 대응하는 제2 특징 맵(270)으로부터 기준 응답 맵(232)을 생성할 수 있다.
먼저, 제2 특징 맵으로부터 어텐션 브랜치(220)에 대한 어텐션 맵(231)을 생성하는 방법을 설명한다. 첫째로, 제2 특징 맵이 1×1×1 컨볼루션 레이어(209) 및 배치 정규화(211)를 거쳐 개별 클래스에 대응하는 K개의 제2 특징 맵에 대한 추출 값을 산출할 수 있다. 이어서, 산출된 추출 값에 시그모이드 함수(212)를 적용하여 1×h×w의 차원을 가지는 어텐션 맵(231)을 생성할 수 있다. 즉, 어텐션 맵(231)은 복수의 제2 특징 맵들 중 모든 클래스에 대응하는 제2 특징 맵에 기초하여 생성될 수 있으며, 어텐션 맵(231)은 개별 클래스에 대응하는 제2 특징 맵을 모두 반영할 수 있다.
반면, 기준 응답 맵(232)은 모든 클래스가 아닌, 참값 클래스(Ground Truth class)에 대응하는 제2 특징 맵에 기초하여 생성될 수 있다. 하기 수학식 1에서는, 복수의 제2 특징 맵들 중 참값 클래스에 대응하는 제2 특징 맵으로부터 기준 응답 맵(232)을 생성하는 방법을 설명한다.
Figure 112020130482318-pat00008
여기서, R은 기준 응답 맵(232),
Figure 112020130482318-pat00009
는 참값 클래스의 수,
Figure 112020130482318-pat00010
Figure 112020130482318-pat00011
,
Figure 112020130482318-pat00012
을 나타내는 인디케이터(indicator)를 의미한다.
다시 말해, 일 실시예에 따른 뉴럴 네트워크에서는 복수의 특징 맵들 중 참값 클래스에 대응하는 어텐션 맵의 평균을 기준 응답 맵(232)으로 생성할 수 있다. 기준 응답 맵(232)은 참값 클래스(Ground Truth class)에 대응하는 어텐션 맵의 평균이므로, 모든 참값 클래스의 특징 맵을 반영한다고 할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법에 있어서, 제2 특징 맵으로부터 생성된 어텐션 맵(231) 및 기준 응답 맵(232)에 기초하여 손실 값을 산출할 수 있다. 구체적으로, 일 실시예에 따른 뉴럴 네트워크는 참값 레이블(Ground Truth label) 및 어텐션 브랜치로부터 출력되는 제1 클래스 스코어(class score) 사이의 제1 이진 교차 엔트로피(binary cross-entropy) 값을 산출하고, 참값 레이블 및 인지 브랜치로부터 출력되는 제2 클래스 스코어 사이의 제2 이진 교차 엔트로피 값을 산출할 수 있다. 일 실시예에 따른 뉴럴 네트워크는, 산출된 어텐션 맵(231) 및 기준 응답 맵(232) 간의 차이, 제1 이진 교차 엔트로피 값, 및 제2 이진 교차 엔트로피 값을 합산함으로써 손실 값을 산출할 수 있다. 일 실시예에 따르면, 제1 이진 교차 엔트로피 값, 제2 이진 교차 엔트로피 값, 어텐션 맵(231) 및 기준 응답 맵(232) 간의 유클리드 거리(Euclidean distance)를 합산함으로써 손실 값을 산출할 수 있다. 유클리드 거리는, 예를 들어, 유클리드 노름(Euclidean norm)일 수 있다. 이하에서는, 손실 값을 산출하는 과정에 대하여 보다 구체적으로 설명한다.
렐루(206)를 거쳐 추출된 제2 특징 맵은 각각의 클래스에 대한 공간적 표현(spatial representations)을 반영하기 위하여, 제2 특징 맵을 GAP(general average pooling)(207) 및 시그모이드(sigmoid)(208)를 거쳐 각 레이블 마다 제1 클래스 스코어(class score)를 추출할 수 있다. GAP(207)는 추출된 제2 특징 맵에 대하여 개별적으로 평균화(average)하는 레이어이며, 시그모이드(208)는 GAP(207)로부터 추출된 값을 정규화하여 각 레이블에 대한 제1 클래스 스코어(233)를 산출하는 레이어를 의미한다. 아래 수학식 2에서는, 각 레이블에 대한 제1 클래스 스코어(233)를 산출하는 과정을 나타낸다.
Figure 112020130482318-pat00013
여기서,
Figure 112020130482318-pat00014
는 k번째 레이블에 대한 제1 클래스 스코어를 나타내며, (1,j)는 n번째 레이블에 대응하는 제2 특징 맵(
Figure 112020130482318-pat00015
)에서의 특정 위치 값을 나타내며,
Figure 112020130482318-pat00016
는 시그모이드 함수를 나타낸다.
또한, 어텐션 브랜치(220)로부터 추출되는 어텐션 맵(231)은 어텐션 메커니즘(attention mechanism)(240)에 입력될 수 있다. 어텐션 메커니즘(240)에서는 제1 특징 맵(252) 및 어텐션 맵(231)을 입력 받아 제3 특징 맵(
Figure 112020130482318-pat00017
)(253)을 추출할 수 있다. 아래 수학식 3에서는, 어텐션 메커니즘(240)을 통하여 제3 특징 맵(253)을 추출하는 과정을 설명한다.
Figure 112020130482318-pat00018
제3 특징 맵(253)는 인지 브랜치(perception branch)(230)의 잔여 함수(213)에 입력 될 수 있다. 잔여 함수(213)의 출력은 GAP를 거쳐 제3 특징 맵이 평균화되며, GAP를 거쳐 512 유닛(unit)을 갖는 컨볼루션 레이어에 도달한다. 512개의 유닛들은 각 클래스와 대응되는 K개의 유닛이 있는 레이어와 완전히 연결(fully-connected)되며, K개의 유닛은 각각 시그모이드 함수로 활성화되어 개별 클래스에 대한 제2 클래스 스코어(234)를 산출할 수 있다. 아래 수학식 4에서는, 인지 브랜치(230)을 통하여 각 레이블에 대응하는 제2 클래스 스코어(234)를 산출하는 과정을 설명한다.
Figure 112020130482318-pat00019
정리하면, 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크는 어텐션 브랜치(220)로부터 제1 클래스 스코어(233)를 산출할 수 있고, 인지 브랜치(230)로부터 제2 클래스 스코어(234)를 산출할 수 있다. 뉴럴 네트워크의 손실 함수(
Figure 112020130482318-pat00020
)(290)는 참값 레이블 및 어텐션 브랜치로부터 출력되는 제1 클래스 스코어 사이의 제1 이진 교차 엔트로피 값, 참값 레이블 및 어텐션 브랜치로부터 출력되는 제2 클래스 스코어 사이의 제2 이진 교차 엔트로피 값, 및 어텐션 맵(231) 및 기준 응답 맵(232) 사이의 유클리드 노름(Euclidean norm)에 기초하여 산출될 수 있다. 손실 함수(
Figure 112020130482318-pat00021
)(290)는 제1 이진 교차 엔트로피 값, 제2 이진 교차 엔트로피 값, 어텐션 맵(231) 및 기준 응답 맵(232) 간의 유클리드 거리(Euclidean distance)를 합산함으로써 산출될 수 있다. 또한, 손실 함수(
Figure 112020130482318-pat00022
)(290)는 제1 이진 교차 엔트로피 값, 제2 이진 교차 엔트로피 값, 및 어텐션 맵(231) 및 기준 응답 맵(232) 사이의 유클리드 거리에 가중치를 적용한 값을 합산함으로써 산출될 수 있다. 손실 함수(
Figure 112020130482318-pat00023
)(290)는, 아래 수학식 5와 같이 표현될 수 있다.
Figure 112020130482318-pat00024
여기서,
Figure 112020130482318-pat00025
는 어텐션 브랜치(220)에 대한 이진 교차 엔트로피 값을 나타내며,
Figure 112020130482318-pat00026
는 인지 브랜치(230)에 대한 이진 교차 엔트로피 값을 나타내며,
Figure 112020130482318-pat00027
은 어텐션 맵(231) 및 기준 응답 맵(232) 사이의 유클리드 노름(Euclidean norm)을 나타낸다.
Figure 112020130482318-pat00028
는 산출된 유클리드 노름에 적용되는 가중치를 나타낸다.
Figure 112020130482318-pat00029
은 아래 수학식 6과 같이 표현될 수 있다.
Figure 112020130482318-pat00030
상술한 수학식 5에서,
Figure 112020130482318-pat00031
,
Figure 112020130482318-pat00032
는 다중 레이블을 이용하는 일 실시예에 따른 뉴럴 네트워크에서, 입력되는 심전도 데이터가 지시하는 하나 이상의 질병들에 대한 정확한 예측을 하기 위한 목적과 관련된다.
Figure 112020130482318-pat00033
항은 분류를 위한 종합적인 시각적 설명(comprehensive visual explanation)을 생성하기 위한 목적과 관련된다. 또한, 유클리드 노름에 적용되는 가중치를 의미하는
Figure 112020130482318-pat00034
는 두 목적의 중요성의 균형을 맞추기 위한 배율 인수를 나타낸다. 예를 들어, 그러나 한정되지 않게,
Figure 112020130482318-pat00035
는 0.001 내지 10 사이의 값을 가질 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크는 산출된 손실 값에 기초하여 뉴럴 네트워크의 파라미터를 업데이트 할 수 있다. 수학식 5를 참조하면, 일 실시예에 따른 뉴럴 네트워크는 어텐션 브랜치로부터 출력되는 클래스 스코어와 참값 레이블 간의 이진 교차 엔트로피 값 및 인지 브랜치로부터 출력되는 클래스 스코어와 참값 레이블 간의 이진 교차 엔트로피 값을 최소화하는 방향, 및 어텐션 브랜치에서 생성된 어텐션 맵과 참값 클래스에 대응하는 특징 맵으로부터 생성된 기준 응답 맵 사이의 유클리드 거리를 최소화하는 방향으로 모델의 파라미터를 업데이트 할 수 있다.
일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크는 산출된 손실 값에 기초하여 뉴럴 네트워크에 포함된 어텐션 브랜치 및 인지 브랜치의 파라미터를 함께 업데이트 및 트레이닝 시킬 수 있다.
정리하면, 일 실시예에 따른 뉴럴 네트워크는 종래의 뉴럴 네트워크와는 차별되게, 어텐션 브랜치에서 생성되는 어텐션 맵을 참값 레이블의 특성을 모두 반영한 기준 응답 맵과 거리를 최소화 시키는 방향으로 트레이닝되기 때문에, 뉴럴 네트워크의 설명 가능성 및 다중 레이블 분류 문제 모두를 향상시킬 수 있다. 다시 말해, 일 실시예에 따른 뉴럴 네트워크는 어텐션 브랜치에서 생성되는 어텐션 맵을 참값 레이블의 특성을 모두 반영하도록 파인 튜닝(fine-tuning) 한다. 따라서, 일 실시예에 따른 뉴럴 네트워크에서, 뉴럴 네트워크의 결정에 대한 설명 가능성을 제공하는 어텐션 맵이 참값 레이블의 특성을 반영하는 기준 응답 맵과 가까워지기 때문에 뉴럴 네트워크의 설명 가능성을 향상시킬 수 있다. 또한, 기준 응답 맵은 참값 레이블에 대응하는 특징 값들을 평균화한 것으로 다중 레이블의 특성을 반영하고 있기 때문에, 일 실시예에 따른 뉴럴 네트워크는 다중 레이블의 특성을 반영한 어텐션을 생성할 수 있다. 더 나아가, 일 실시예에 따른 뉴럴 네트워크는, 어텐션 맵 및 참값 레이블의 특성을 모두 반영한 기준 응답 맵 사이의 거리를 최소화하는 방향으로 트레이닝 되기 때문에, 후술하겠으나, 다중 레이블 분류 성능에서도 기존의 뉴럴 네트워크와 비교하여 향상된다.
이하에서는, 일 실시예에 따른 심전도 진단 장치의 뉴럴 네트워크의 분류 성능 결과에 대하여 설명한다.
일 실시예에 따른 모델 분류 성능 평가에 사용되는 트레이닝 심전도 데이터는 12개의 리드(I, II, III, aVR, aVL, aVF, V1, V2, V3, V4, V5, V6)에 대한 6,877개의 심전도 기록(recording)일 수 있다. CA는 정상 클래스(normal class) 및 8개의 하위 유형으로 나뉠 수 있다. 예를 들어, 8개의 하위 유형은 심방 세동(atrial fibrillation, AF), 1도 방실 차단(first degree atrioventricular block, I-AVB), 좌각차단(LBBB), 우각차단(RBBB), 심방 조기 수축(prematrue atrial contraction, PAC), ST분절 상승(ST-segment elevated, STE)일 수 있다. 심전도 기록은 500Hz의 주파수에서 6초에서 144초의 범위로 샘플링될 수 있으며, 6877개의 기록은 76:4:20의 비율로 분할되어 각각 학습(training), 검증(validation), 및 테스트의 하위 집합(test subset)으로 나뉠 수 있다. 아래 표 2는 예시적인 심전도 트레이닝 데이터를 나타낸다.
Figure 112020130482318-pat00036
네트워크 분류 성능 평가 단계에서는, 어텐션 브랜치로부터 출력되는 클래스 스코어(
Figure 112020130482318-pat00037
)와 인지 브랜치로부터 출력되는 클래스 스코어(
Figure 112020130482318-pat00038
)를 이진 교차 엔트로피 함수에서 참값 레이블(
Figure 112020130482318-pat00039
)과 비교하기 전에, 0.5의 임계 상수로 분할한다. 다시 말해, 특정 클래스에 대한 클래스 스코어가 0.5보다 큰 경우는 1로 클래스 스코어를 재정의하고, 클래스 스코어가 0.5 이하인 경우는 0으로 클래스 스코어를 재정의한다. 모델의 분류 성능을 측정하기 위하여, 하기 수학식 7과 같이 정의된 F1 스코어(F1 score)의 평가 방법을 사용할 수 있다.
Figure 112020130482318-pat00040
수학식 7에서, Precision 및 Recall은 아래 수학식 8 및 수학식 9과 같이 정의 될 수 있다.
Figure 112020130482318-pat00041
Figure 112020130482318-pat00042
여기서, TP는 True Positive를 나타내며, FP는 False Positive를 나타내고, FN은 False Negative를 나타낼 수 있다.
종래에는, 다중 레이블 분류(multilabel classification)에서 모델이 얼마나 분류를 잘 수행되는지 측정하기 위하여, F1 스코어(F1 score)의 평가 방법을 사용하였다. 그러나, 종래의 널리 알려진 평가 방법인 F1 스코어(F1 score)의 평가 방법은 모델이 심전도 데이터로부터 복수의 참값 클래스들 중 하나의 클래스를 올바르게 예측한 경우에도 해당 모델에 점수가 일부 부여된다. 반면, 하위 집합 정확도(subset accuracy)의 평가 방법은, 모델이 복수의 참값 클래스들 중 일부 클래스를 올바르게 예측한 경우에도 모든 참값 클래스를 정확히 예측하지 않는 경우에는 틀리게 예측된 것으로 평가하기 때문에, 하위 집합 정확도(subset accuracy)가 다중 레이블 분류의 평가에 보다 엄격하고 정확하다.
도 3은 일 실시예에 따른 뉴럴 네트워크의 유클리드 노름에 적용되는 가중치에 따른 분류 평가 결과를 도시한다.
그래프(300)는 손실 함수(290)에 의하여 파라미터가 업데이트되는 뉴럴 네트워크에서, 어텐션 맵 및 기준 응답 맵 간의 유클리드 노름에 적용되는 가중치에 따라 다중 레이블 분류(classification)의 정확도를 F1 스코어에 의하여 평가한 그래프이다. 그래프(300)을 참조하면, 가중치(
Figure 112020130482318-pat00043
)가 0.01인 경우에, 일 실시예에 따른 뉴럴 네트워크의 F1 스코어가 가장 높게 나타난다.
이하, 표 3은 세가지 모델(제1 모델, 제2 모델, 도 2에 따른 모델)의 분류 성능을 요약한다.
Figure 112020130482318-pat00044
제1 모델은 12채널 다중 레이블 심전도 데이터 분류를 위한 Chen et. al(2020) 모델이다. 제2 모델은, 종래의 어텐션 브랜치 네트워크로, 어텐션 브랜치에 대한 이진 교차 엔트로피 값 및 인지 브랜치에 대한 이진 교차 엔트로피 값만을 기초로 손실 함수가 산출되는 네트워크이다. 도 2에 따른 모델은 일 실시예에 따른 뉴럴 네트워크로, 어텐션 브랜치에 대한 이진 교차 엔트로피 값, 인지 브랜치에 대한 이진 교차 엔트로피 값, 및 어텐션 맵 및 기준 응답 맵 사이의 유클리드 거리에 기초하여 손실 함수가 결정되는 네트워크이다.
F1 스코어를 사용하여 전체 분류 정확도(overall classification accuracy)를 비교하는 경우, 일 실시예에 따른 뉴럴 네트워크가 0.812로 가장 높은 점수로 평가된다. 단일 및 다중 레이블 데이터를 병합하여 전체 하위 집합 정확도(Subset accuracy)를 평가하는 경우, 제1 모델은 73.5%의 성능으로 나타난다. 단일 레이블 데이터로 하위 집합 정확도(subset accuracy-single)를 평가하는 경우, 제1 모델은 77.4%의 성능으로 나타난다. 그러나, 다중 레이블 데이터로 하위 집합 정확도(subset accuracy-multi)를 평가하는 경우, 일 실시예에 따른 뉴럴 네트워크가 84.6%의 정확도를 가지며, 다른 두 모델 보다 성능이 훨씬 뛰어난 것으로 평가된다.
종래의 어텐션 브랜치 네트워크 모델인 제2 모델에 따라 심전도 데이터의 질병을 분류하는 경우, 제1 모델과 비교하여 다중 레이블 하위 집합 정확도(subset-accuracy-multi)가 향상된다. 그러나, 일 실시예에 따른 뉴럴 네트워크에 따라 심전도 데이터의 질병을 분류하는 경우, 하위 집합 정확도 및 F1 스코어의 개선이 나타날 뿐만 아니라, 9개의 레이블 중 5개에서 가장 높은 F1 스코어가 나타나는 것을 확인할 수 있다.
도 4 및 도 5는 일 실시예에 따른 뉴럴 네트워크 및 종래의 어텐션 브랜치 네트워크에 심전도 테스트 데이터를 입력했을 때 생성되는 어텐션 맵(attention map)을 도시한다. 도 4 및 도 5의 어텐션 맵에서는 어텐션이 가시화(visualization)되며, 어텐션이란 입력 데이터의 각 부분이 알고리즘의 결정에 나타내는 기여도를 수치화한 것을 의미한다.
일 실시예에 따른 뉴럴 네트워크는 어텐션 브랜치에서 생성되는 어텐션 맵을 참값 레이블의 특성을 모두 반영한 기준 응답 맵과 거리를 최소화 시키는 방향으로 트레이닝되기 때문에, 뉴럴 네트워크의 설명 가능성 및 다중 레이블 분류 문제 모두를 향상시킬 수 있다. 다시 말해, 일 실시예에 따른 뉴럴 네트워크는 어텐션 브랜치에서 생성되는 어텐션 맵에 참값 레이블의 특성을 모두 반영하도록 파인 튜닝(fine-tuning)되므로, 일 실시예에 따른 뉴럴 네트워크의 어텐션 맵은 동시에 발생하는 CA 유형들을 캡처하는데 효과적이다. 도 4 및 도 5는 설명 가능성(explainability)을 평가하기 위하여 모델에서 획득한 어텐션 맵(attention map)을 가시화(visualization)한 것이다.
도 4는 LBBB 및 STE로 진단된 심전도 테스트 데이터를 입력하는 경우에 생성되는 어텐션 맵을 도시한다.
어텐션 맵(401)은 일 실시예에 따른 뉴럴 네트워크에 LBBB 및 STE로 진단된 심전도 테스트 데이터를 입력하는 경우에 생성되는 어텐션 맵을 나타낸다. 어텐션 맵(402)는 종래의 어텐션 브랜치 네트워크에 LBBB 및 STE로 진단된 심전도 테스트 데이터를 입력하는 경우에 생성되는 어텐션 맵을 나타낸다. 어텐션 맵(401) 및 어텐션 맵(402)는 모두 약 12.5초 근처의 LBBB의 주요 지표인 V1의 QS 콤플렉스(complex)를 잘 포착한다. 그러나, 일 실시예에 따른 뉴럴 네트워크의 어텐션 맵(401)은 V1 내지 V6에서 약 8초 근처에서 관찰되는 STE 증상에도 주의를 기울이지만, 제2 모델의 어텐션 맵(402)은 해당 부분에 덜 집중하는 것이 확인된다.
도 5는 AF와 STD로 진단된 심전도 테스트 데이터를 입력하는 경우에 생성되는 어텐션 맵을 도시한다.
어텐션 맵(501)은 일 실시예에 따른 뉴럴 네트워크에 AF 및 STD로 진단된 심전도 테스트 데이터를 입력하는 경우에 생성되는 어텐션 맵을 나타낸다. 어텐션 맵(502)은 종래의 어텐션 브랜치 네트워크가 AF 및 STD로 진단된 심전도 테스트 데이터를 입력하는 경우에 생성되는 어텐션 맵을 나타낸다. AF는 신호 전체에서 일관되게 나타나는 경향이 있으며, 일 실시예에 따른 뉴럴 네트워크의 어텐션 맵(501)은 종래의 어텐션 브랜치 네트워크의 어텐션 맵(502)과 비교하여 전체에 걸쳐 균일한 어텐션을 할당하는 것을 확인할 수 있다. STD의 증상을 보이는 것으로 보고된 단서 중 하나인 V2는, STD의 징후를 반영한다(예를 들어, ST 세그먼트의 하향 및 발병 후 2초 전 두번의 맥박). 어텐션 맵(501)은 해당 영역을 강조하지만, 어텐션 맵(502)은 STD의 증상에 주목하지 않는다. 전반적으로, 종래의 어텐션 브랜치 네트워크의 어텐션 맵(502)은 몇가지 눈에 띄는 증상에만 집중하는 반면, 어텐션 맵(501)는 입력 신호 전반에 걸쳐 상대적으로 분산되는 주의를 기울이면서 두드러지는 증상에 집중한다.
도 6은 일 실시예에 따라 심전도 진단 장치의 뉴럴 네트워크를 트레이닝 시키는 장치의 구성을 나타낸 블록도이다.
일 실시예에 따라 심전도 진단 장치의 뉴럴 네트워크를 트레이닝 시키는 장치(600)는 통신부(610), 프로세서(620), 및 메모리(630)를 포함할 수 있다. 통신부(610)는 외부 장치로부터 트레이닝 심전도 신호를 수신할 수 있다. 예를 들어, 트레이닝 심전도 신호는 부정맥에 관한 질병이 기록된 12개의 표준 심전도 신호일 수 있다. 메모리(620)는 일 실시예에 따른 뉴럴 네트워크를 저장할 수 있다. 프로세서(630)는 수신한 트레이닝 심전도 데이터에 정규화(normalized) 및 제로 패딩(zero-padding)를 포함하는 전처리를 적용하여 상기 뉴럴 네트워크에 입력될 입력 데이터를 생성할 수 있다. 또한, 프로세서(630)는 트레이닝 심전도 데이터로부터 뉴럴 네트워크의 어텐션 브랜치에 기초하여 미리 지정되는 개수의 클래스 별로 제2 특징 맵을 생성하고, 제2 특징 맵으로부터 어텐션 맵 및 기준 응답 맵을 생성하며, 어텐션 맵 및 기준 응답 맵에 기초하여 손실 값을 산출하고, 산출된 손실 값에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 프로세서에 의해 수행되는, 심전도 진단 장치의 뉴럴 네트워크(Neural Network)를 트레이닝시키는 방법에 있어서,
    트레이닝 심전도(electrocardiogram, ECG) 데이터로부터 상기 뉴럴 네트워크의 어텐션 브랜치에 기초하여 미리 지정되는 개수의 클래스 별로 특징 맵(feature map)을 생성하는 단계;
    상기 특징 맵으로부터 어텐션 맵(attention map) 및 기준 응답 맵(reference response map)을 생성하는 단계;
    상기 어텐션 맵 및 상기 기준 응답 맵에 기초하여 손실 값을 산출하는 단계; 및
    상기 산출된 손실 값에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트하는 단계
    를 포함하고,
    상기 어텐션 맵 및 기준 응답 맵을 생성하는 단계는,
    상기 어텐션 브랜치에 의해 생성된 복수의 특징 맵들 중 모든 클래스에 대응하는 특징 맵으로부터 상기 어텐션 맵을 생성하는 단계; 및
    상기 복수의 특징 맵들 중 참값 클래스(Ground Truth class)에 대응하는 특징 맵의 평균을 상기 기준 응답 맵으로 생성하는 단계
    를 포함하는 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 손실 값을 산출하는 단계는,
    상기 어텐션 맵 및 상기 기준 응답 맵 간의 차이를 산출하는 단계;
    를 포함하는 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법.
  5. 제4항에 있어서,
    상기 차이를 산출하는 단계는,
    상기 어텐션 맵 및 상기 기준 응답 맵 간의 유클리드 노름(Euclidean norm)을 산출하는 단계;
    를 포함하는 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법.
  6. 제5항에 있어서,
    상기 산출된 유클리드 노름에 가중치를 적용하는 단계
    를 포함하는 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법.
  7. 제4항에 있어서,
    상기 손실 값을 산출하는 단계는,
    참값 레이블(Ground Truth label) 및 상기 어텐션 브랜치로부터 출력되는 클래스 스코어(class score) 사이의 제1 이진 교차 엔트로피(binary cross-entropy) 값을 산출하는 단계;
    참값 레이블 및 인지 브랜치(perception branch)로부터 출력되는 클래스 스코어 사이의 제2 이진 교차 엔트로피 값을 산출하는 단계; 및
    상기 산출된 상기 어텐션 맵 및 상기 기준 응답 맵 간의 차이, 제1 이진 교차 엔트로피 값, 및 제2 이진 교차 엔트로피 값을 합산하여 상기 손실 값을 산출하는 단계
    를 포함하는 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법.
  8. 제4항에 있어서,
    상기 손실 값을 산출하는 단계는,
    참값 레이블 및 상기 어텐션 브랜치로부터 출력되는 클래스 스코어 사이의 제1 이진 교차 엔트로피 값을 산출하는 단계;
    참값 레이블 및 인지 브랜치로부터 출력되는 클래스 스코어 사이의 제2 이진 교차 엔트로피 값을 산출하는 단계; 및
    상기 산출된 상기 어텐션 맵 및 상기 기준 응답 맵 간의 유클리드 노름에 가중치가 적용된 값, 제1 이진 교차 엔트로피 값, 및 제2 이진 교차 엔트로피 값을 합산하여 상기 손실 값을 산출하는 단계
    를 포함하는 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법.
  9. 제1항에 있어서,
    상기 트레이닝 심전도 데이터에 정규화(normalized) 및 제로 패딩(zero-padding)를 포함하는 전처리를 적용하여 상기 뉴럴 네트워크에 입력될 입력 데이터를 생성하는 단계
    를 더 포함하는 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법.
  10. 제1항에 있어서,
    상기 특징 맵을 생성하는 단계는,
    트레이닝 심전도 데이터로부터 복수의 질병 분류 클래스들의 각각 별로 특징 맵을 추출하는 단계
    심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 방법.
  11. 하드웨어와 결합되어 제1항, 및 제4항 내지 제10항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  12. 심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치에 있어서,
    어텐션 브랜치를 포함하는 상기 뉴럴 네트워크를 저장한 메모리;
    트레이닝 심전도 데이터로부터 상기 뉴럴 네트워크의 어텐션 브랜치에 기초하여 미리 지정되는 개수의 클래스 별로 특징 맵을 생성하고, 상기 특징 맵으로부터 어텐션 맵 및 기준 응답 맵을 생성하며, 상기 어텐션 맵 및 상기 기준 응답 맵에 기초하여 손실 값을 산출하고, 상기 산출된 손실 값에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트하는 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 어텐션 브랜치에 의해 생성된 복수의 특징 맵들 중 모든 클래스에 대응하는 특징 맵으로부터 상기 어텐션 맵을 생성하고, 상기 복수의 특징 맵들 중 참값 클래스(Ground Truth class)에 대응하는 특징 맵의 평균을 상기 기준 응답 맵으로 생성하는,
    심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치.
  13. 삭제
  14. 삭제
  15. 제12항에 있어서,
    상기 프로세서는,
    상기 어텐션 맵 및 상기 기준 응답 맵 간의 차이를 산출하는,
    심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치.
  16. 제15항에 있어서,
    상기 프로세서는,
    상기 어텐션 맵 및 상기 기준 응답 맵 간의 유클리드 노름(Euclidean norm)을 산출하는,
    심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치.
  17. 제16항에 있어서,
    상기 프로세서는,
    상기 산출된 유클리드 노름에 가중치를 적용하는,
    심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치.
  18. 제15항에 있어서,
    상기 프로세서는,
    참값 레이블(Ground Truth label) 및 상기 어텐션 브랜치로부터 출력되는 클래스 스코어(class score) 사이의 제1 이진 교차 엔트로피(binary cross-entropy) 값을 산출하고, 참값 레이블 및 인지 브랜치(perception branch)로부터 출력되는 클래스 스코어 사이의 제2 이진 교차 엔트로피 값을 산출하며, 상기 산출된 상기 어텐션 맵 및 상기 기준 응답 맵 간의 차이, 제1 이진 교차 엔트로피 값, 및 제2 이진 교차 엔트로피 값을 합산하여 상기 손실 값을 산출하는,
    심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치.
  19. 제15항에 있어서,
    상기 프로세서는,
    참값 레이블 및 상기 어텐션 브랜치로부터 출력되는 클래스 스코어 사이의 제1 이진 교차 엔트로피 값을 산출하고, 참값 레이블 및 인지 브랜치로부터 출력되는 클래스 스코어 사이의 제2 이진 교차 엔트로피 값을 산출하며, 상기 산출된 상기 어텐션 맵 및 상기 기준 응답 맵 간의 유클리드 노름에 가중치가 적용된 값, 제1 이진 교차 엔트로피 값, 및 제2 이진 교차 엔트로피 값을 합산하여 상기 손실 값을 산출하는,
    심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치.
  20. 제12항에 있어서,
    상기 프로세서는,
    상기 트레이닝 심전도 데이터에 정규화(normalized) 및 제로 패딩(zero-padding)를 포함하는 전처리를 적용하여 상기 뉴럴 네트워크에 입력될 입력 데이터를 생성하는,
    심전도 진단 장치의 뉴럴 네트워크를 트레이닝시키는 장치.
KR1020200166666A 2020-12-02 2020-12-02 설명 가능한 다중 심전도 부정맥 진단 장치 및 방법 KR102483693B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200166666A KR102483693B1 (ko) 2020-12-02 2020-12-02 설명 가능한 다중 심전도 부정맥 진단 장치 및 방법
PCT/KR2021/016001 WO2022119155A1 (ko) 2020-12-02 2021-11-05 설명 가능한 다중 심전도 부정맥 진단 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200166666A KR102483693B1 (ko) 2020-12-02 2020-12-02 설명 가능한 다중 심전도 부정맥 진단 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220077583A KR20220077583A (ko) 2022-06-09
KR102483693B1 true KR102483693B1 (ko) 2023-01-03

Family

ID=81853248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200166666A KR102483693B1 (ko) 2020-12-02 2020-12-02 설명 가능한 다중 심전도 부정맥 진단 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102483693B1 (ko)
WO (1) WO2022119155A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022179645A2 (zh) * 2022-06-13 2022-09-01 合肥心之声健康科技有限公司 心电图分析方法、装置、电子设备和存储介质
KR20240011089A (ko) 2022-07-18 2024-01-25 고려대학교 산학협력단 심층 신경망의 선형 근사를 기반으로 하는 설명 맵 생성 장치 및 방법
CN115429284B (zh) * 2022-09-16 2024-05-03 山东科技大学 心电信号分类方法、系统、计算机设备以及可读存储介质
CN115293300B (zh) * 2022-10-09 2022-12-23 广东技术师范大学 基于tsk模糊语义的心律失常分类方法及系统
CN117257324B (zh) * 2023-11-22 2024-01-30 齐鲁工业大学(山东省科学院) 基于卷积神经网络和ecg信号的房颤检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6692488B2 (ja) * 2016-11-22 2020-05-13 三菱電機株式会社 ニューロンネットワークをトレーニングする方法及び能動学習システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6362893B2 (ja) * 2014-03-20 2018-07-25 株式会社東芝 モデル更新装置及びモデル更新方法
US11537871B2 (en) * 2018-04-25 2022-12-27 Fujitsu Limited Deep neural network training for application program generation
KR102163217B1 (ko) * 2018-06-14 2020-10-08 한국과학기술원 심층 컨볼루션 신경망을 이용한 심전도 부정맥 분류 방법 및 장치
CN110738247B (zh) * 2019-09-30 2020-08-25 中国科学院大学 一种基于选择性稀疏采样的细粒度图像分类方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6692488B2 (ja) * 2016-11-22 2020-05-13 三菱電機株式会社 ニューロンネットワークをトレーニングする方法及び能動学習システム

Also Published As

Publication number Publication date
WO2022119155A1 (ko) 2022-06-09
KR20220077583A (ko) 2022-06-09

Similar Documents

Publication Publication Date Title
KR102483693B1 (ko) 설명 가능한 다중 심전도 부정맥 진단 장치 및 방법
Mousavi et al. Inter-and intra-patient ecg heartbeat classification for arrhythmia detection: a sequence to sequence deep learning approach
US10869610B2 (en) System and method for identifying cardiac arrhythmias with deep neural networks
Murugesan et al. Ecgnet: Deep network for arrhythmia classification
Brunese et al. Deep learning for heart disease detection through cardiac sounds
US10980429B2 (en) Method and system for cuffless blood pressure estimation using photoplethysmogram features and pulse transit time
CN111565633A (zh) 利用人工智能的时间序列数据学习及分析方法
CN107837082A (zh) 基于人工智能自学习的心电图自动分析方法和装置
CN110974214A (zh) 一种基于深度学习的自动心电图分类方法、系统及设备
CN112164448B (zh) 免疫治疗疗效预测模型训练方法、预测系统及方法和介质
Rohmantri et al. Arrhythmia classification using 2D convolutional neural network
Hassan et al. Performance comparison of CNN and LSTM algorithms for arrhythmia classification
CN113855037A (zh) 基于Transformer的房颤识别方法及装置
Belen et al. An uncertainty estimation framework for risk assessment in deep learning-based AFib classification
KR102264569B1 (ko) 클래스 확률 출력망 기반 심장 상태 분류 방법 및 장치
CN116864140A (zh) 一种心内科术后护理监测数据处理方法及其系统
CN112037906A (zh) 一种长时生理信号时间序列的样本数据的扩充方法及系统
KR20160125095A (ko) 동맥 혈압 파형의 특징점을 이용한 두개내압 파형의 피크 검출 장치 및 방법
CN112842355B (zh) 基于深度学习目标检测的心电信号心搏检测识别方法
Magrupov et al. A Technique for Classifying the ECG Signal into Various Possible States of the Cardiovascular System
Cyriac et al. Heart Disease Prediction Using Ensemble Voting Methods in Machine Learning
Liu et al. Weakly Supervised Arrhythmia Detection Based on Deep Convolutional Neural Network
Mathur Detecting Myocardial Infarctions Using Machine Learning Methods
KR102560516B1 (ko) 심전도 데이터 및 신체 정보를 이용하는 딥러닝 모델 기반 심장 질환 발병 예측 장치 및 방법
Jothiaruna A deep learning framework for automatic cardiovascular classification from electrocardiogram images

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right