KR102437594B1 - 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치 - Google Patents

전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치 Download PDF

Info

Publication number
KR102437594B1
KR102437594B1 KR1020200186808A KR20200186808A KR102437594B1 KR 102437594 B1 KR102437594 B1 KR 102437594B1 KR 1020200186808 A KR1020200186808 A KR 1020200186808A KR 20200186808 A KR20200186808 A KR 20200186808A KR 102437594 B1 KR102437594 B1 KR 102437594B1
Authority
KR
South Korea
Prior art keywords
encoder
data
electrical
channel
numerical
Prior art date
Application number
KR1020200186808A
Other languages
English (en)
Other versions
KR20220095009A (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 KR1020200186808A priority Critical patent/KR102437594B1/ko
Priority to EP21915854.0A priority patent/EP4272645A1/en
Priority to PCT/KR2021/020227 priority patent/WO2022146057A1/ko
Priority to CN202180088409.1A priority patent/CN116782829A/zh
Publication of KR20220095009A publication Critical patent/KR20220095009A/ko
Priority to KR1020220105475A priority patent/KR20220122588A/ko
Application granted granted Critical
Publication of KR102437594B1 publication Critical patent/KR102437594B1/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
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6801Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
    • A61B5/6802Sensor mounted on worn items
    • A61B5/681Wristwatch-type devices
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6887Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient mounted on external non-worn devices, e.g. non-medical devices
    • A61B5/6895Sport equipment
    • 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/7271Specific aspects of physiological measurement analysis
    • A61B5/7275Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • 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
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • 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
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • 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
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • 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
    • 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/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
    • 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/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • 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/045Combinations of networks
    • 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/048Activation functions
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Veterinary Medicine (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Cardiology (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Psychiatry (AREA)
  • Physiology (AREA)
  • Fuzzy Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

실시예들은 전기적 바이오 시그널 데이터 특히 단일 채널 혹은 다채널의 심전도 신호 또는 상기 심전도 신호에 기초하여 얻어진 흑백 혹은 컬러 심전도 이미지에 딥러닝 알고리즘을 이용하여 수치적 벡터정보를 추출하는 방법 및 장치, 이를 이용하여 질병을 분석, 예측, 질병에 관한 진단 보조 정보를 제공하는 방법 및 장치에 관련된다.

Description

전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치{METHOD AND DEVICE CONVERTING ELECTRICAL BIOSIGNALS DATA INTO NUMERICAL VECTORS AND METHOD AND APPARATUS FOR ANALYZING DISEASES USING THE SAME}
본 명세서는 전기적 바이오 시그널 데이터 특히 심전도 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석, 예측, 질병에 관한 진단 보조 정보를 제공하는 방법 및 장치에 관한 것이다.
전기적 바이오 시그널(Electrical Biosignal)은 생체 신호의 변화가 전기적 신호의 변화로 나타나는 신호들로서 대표적으로, 뇌전도(Electroencephalogram, EEG), 근전도(Electromyogram, EMG), 안전도(Electrocoulography, EOG), 심전도(Electrocardiography, ECG) 등이 있다. 이러한 전기적 바이오 시그널은 비정형적 데이터이므로 해석 및 활용이 용이하지 않다.
그 중 특히 심전도(Electrocardiography, ECG)는 심장의 박동에 따라 심근에서 발생하는 활동 전류의 기록이다. 심전도 검사는 측정에 1분도 걸리지 않는 간편한 검사로 급성 심근 경색과 부정맥을 진단하는데 사용된다. 심전도 분석은 환자의 심장 기능의 연구 및 상기 심장의 장애를 식별을 위해 잘 확립되었고, 의사들은 수십 년 동안 환자의 심장 활동을 모니터링하기 위해 심전도(ECG) 시스템을 사용해왔다.
그러나 심전도에는 전문가도 해석하기 어려운 여러 정보들이 포함되어 있으며, 이러한 정보는 좀 더 다양한 환자의 미래 상태 및 적절한 처치들을 예측하는데 사용될 수 있지만, 현재로서는 사용이 제한적인 실정이다.
한국등록특허공보 제10-2163217호(2020.10.8)
일 측면에서, 본 발명의 예시적인 구현예들에서는, 전기적 바이오 시그널 데이터 특히 심전도(ECG) 데이터부터 그 활용 범위를 극대화하도록 수치 정보를 추출하고, 이를 임상 프레임워크 내에서 활용하거나, 환자의 다른 정보들과 융합하여 질병을 분석, 예측하거나 진단에 관한 보조 정보를 제공할 수 있는 방법 및 장치를 제공하고자 한다.
본 발명의 예시적인 구현예들에서는, 전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 획득부; 및 상기 전기적 바이오 시그널 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 수치 벡터를 산출하는 인코더(encoder);를 포함하는 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 장치를 제공한다.
또한, 본 발명의 다른 예시적인 구현예들에서는, 전술한 인코더 및 상기 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단에 관한 보조 정보 제공을 수행하는 분석부; 를 포함하는 질병 분석 장치를 제공한다.
또한, 본 발명의 다른 예시적인 구현예들에서는 프로세서에 의해 수행되고, 전기적 바이오 시그널 특히 심전도(ECG) 데이터를 수치 벡터로 변환하는 방법에 있어서, 전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 단계; 상기 전기적 바이오 시그널 데이터를 인코더(encoder)에 입력하는 단계; 및 상기 인코더를 통해 딥러닝 알고리즘을 이용하여 수치 벡터를 산출하는 단계;를 포함하는, 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법을 제공한다.
또한, 본 발명의 다른 예시적인 구현예들에서는, 전술한 단계들을 수행하고, 추가적으로 상기 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단에 관한 보조 정보 제공을 위한 분석 결과를 생성하는 단계;를 포함하는 질병 분석 방법을 제공한다.
구체적으로, 일 측면에서, 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 장치 또는 질병 분석 장치는, 전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 획득부; 및 상기 전기적 바이오 시그널 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 제1 수치 벡터를 산출하는 인코더;를 포함하고, 상기 제1 수치 벡터는 전기적 바이오 시그널 데이터로부터 추출할 수 있는 해부학적(위치적) 특징 및 시간적 특징 중 하나 이상을 포함 특히 맥락적으로 포함하는 전기적 바이오 시그널 데이터로부터 추출된 특징들에 연관된 정형 데이터이다. 이러한 제1 수치 벡터는 후술하는 바와 같이 다운스트림태스크 또는 기계 학습에 효과적으로 사용된다.
예시적인 일 구현예 장치에서, 상기 제1 수치 벡터를 이용하여 질병 또는 건강 관련 분석, 예측 또는 진단 보조 정보 제공을 수행하는 분석부;를 더 포함한다.
예시적인 일 구현예 장치에서, 상기 장치는, 상기 제1 수치 벡터를 활용하여 복수의 태스크를 동시에 처리하는 복수의 다운스트림 태스크 처리부를 포함한다. 각 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 되어 하나의 인코더 말단으로 모여 하나의 인코더를 훈련시켜서 제1 수치 벡터에 범용성이 향상될 수 있다.
예시적인 일 구현예 장치에서, 상기 제1 수치 벡터는 그 자체로 또는 다른 정형 데이터 정보와 결합(concatenate)되어 다운스트림 태스크 처리부의 입력 벡터로 사용되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 2개 이상일 수 있고, 각 인코더로부터 출력된 복수개의 제 1 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터를 만들수 있다.
예시적인 일 구현예 장치에서, N개의 순차적인 전기적 바이오 시그널 데이터를 하나의 인코더에 통과시켜 N개의 순차적인 제1 수치 벡터들을 얻는 것일 수 있다
예시적인 일 구현예 장치에서, 상기 장치는 전기적 바이오 시그널 데이터를 일정 시간 간격으로 분할한 후 각각의 분할된 데이터 구간의 정보를 상기 인코더; 또는 상기 인코더 및 다운스트림 테스크 처리부를 통과시켜서 얻어진 시점별 결과치 또는 해당 시점별 결과치의 시점별 가중 평균에 기반하여 특정 질환에 관한 분석, 진단 또는 예측을 제공하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 장치는, 다운스트림 태스크의 네트워크를 훈련 시 상기 인코더의 네트워크의 가중치(weight)들을 고정시킨 후 다운스트림 태스크의 네트워크 가중치를 훈련을 통해 수정(업데이트)한 후 상기 인코더의 네트워크와 상기 다운스트림 태스크의 네트워크 가중치 전체를 추가적인 훈련을 통해 수정(업데이트)하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 복수의 다운스트림 태스크 처리부의 각각은 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 MLP는 상기 인코더의 인코딩 네트워크 훈련과 함께 멀티 태스크 러닝((jointly) multi-task learning)을 통해 훈련되거나, 인코더가 먼저 훈련을 마친 이후 별도로 훈련되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 MLP는 상기 제1 수치 벡터와 다른(different) 추가적인 정형 데이터 입력 정보를 받을 수 있으며, 상기 추가적인 정형 데이터 입력 정보는 나이, 성별, 생체 신호, 수치 검사 결과, 정형 데이터로 변형된 자연어 정보 및 획득부에서 획득된 전기적 바이오 시그널 데이터와 다른 종류의 바이오 시그널 데이터로부터 변환된 정형 데이터 정보중 적어도 하나 이상을 포함하고, 상기 생체 신호는 혈압, 맥박수, 체온, 호흡수 및 산소포화도로 이루어진 그룹에서 선택되는 하나 이상을 포함하는 것이다. 상기 추가적인 정형 데이터 입력 정보는 상기 제1 수치 벡터와 결합(concatenate)되거나 상기 제1 수치 벡터와 별도로 입력될 수 있다.
예시적인 일 구현예 장치에서, 상기 MLP가 특정 질병의 발생 유무를 예측하는 경우, 상기 MLP의 출력 시 획득된 전기적 바이오 시그널 데이터를 고려한 특정 질병 발생 확률 및 획득된 전기적 바이오 시그널 데이터를 고려하지 않은 특정 질병 발생 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 상기 획득된 전기적 바이오 시그널 데이터를 고려한 특정 질병 발생 확률이 상기 획득된 전기적 바이오 시그널 데이터를 고려하지 않은 특정 질병 발생 확률보다 비율 상 몇 배가 증가 했는지를 디스플레이하는 디스플레이부를 더 포함하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더의 딥러닝 알고리즘은 CNN을 기반으로 하고, 인코더 서브유닛(subunit)을 포함할 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더 서브유닛은 하나 이상의 컨볼루션 레이어; 하나 이상의 완전 연결 레이어 - 상기 완전 연결 레이어는 비선형 활성화 함수를 포함함; 및 채널별 전기적 바이오 시그널 데이터에서 추출된 특징 세트를 요약하여 대표 값을 각각 추출하고, 상기 대표 값에 기반한 채널별 특징 세트의 기여도가 반영되도록 상기 채널별 특징 세트를 재조정하는 집중 레이어를 포함하고, 상기 특징 세트는 각 채널에 대한 해부학적 구조와 관련된 특징을 포함하고, 상기 특징 세트에 비하여 재조정된 채널별 특징 세트는 각 채널에 대한 해부학적 특징이 보다 집중된 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 하나 이상의 컨벌루션 레이어는, 상기 하나 이상의 채널 각각에 대한 전기적 바이오 시그널 데이터를 개별적으로 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-seperable convolution layer)를 포함하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 집중 레이어는 상기 특징 세트의 요약을 위해, 상기 특징 세트를 풀링(pooling) 처리하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 집중 레이어는, 채널별 대표 값을 상기 완전 연결 레이어에 통과시켜 각 채널별 기여도를 산출하고, 상기 채널별 기여도를 상기 특징 세트에 각각 곱하여 각 채널별 특징 세트를 재조정하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 집중 레이어는 상기 채널별 대표 값을 완전 연결 레이어에 통과시킨 결과를 특정 범위 사이의 수치로 스케일링하여 상기 채널별 기여도를 산출하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더 서브유닛은 각 채널 별로 평균을 추출하여 하나의 스칼라(scalar) 값을 산출하는 스퀴즈 엑사이테이션 레이어(sqeeze-excitation layer)를 포함하고, 상기 채널 별 스칼라 값은 0 내지 1 사이이며, 채널의 중요도에 따라 스케일(scale)되고, 상기 채널 별 스칼라 값이 모인 벡터를 완전 연결 레이어(fully connected layer)에 통과시킨 후 활성화(sigmoid/RELU) 함수를 적용하여 차원을 축소시키는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 복수의 컨볼루션 블록을 포함하고, 상기 서브유닛은 제1 컨볼루션 레이어를 제외한 나머지 컨볼루션 블록에 포함된 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 컨볼루션 블록은 제1 인코더 서브유닛 및 제2 인코더 서브유닛을 포함하고, 상기 제1 인코더 서브유닛은 상기 제2 인코더 서브유닛에 비해 상기 컨볼루션 블록의 출력단보다 입력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제2 인코더 서브유닛에 비해 상기 특징 세트를 요약하여 대표 값을 추출하는 동작에 보다 집중하고 - 상기 제1 인코더 서브유닛의 대표 값에는 상기 해부학적 구조와 관련된 특징이 상기 제2 인코더 서브유닛의 대표 값에 비해 보다 많이 반영됨, 상기 제2 인코더 서브유닛은 상기 제1 인코더 서브유닛에 비해 상기 컨볼루션 블록의 입력단 보다 출력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제1 인코더 서브유닛에 비해 채널별 기여도에 따른 재조정 동작에 보다 집중하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더의 마지막 컨볼루션 블록은 논 로컬 네트워크(non-local network)를 더 포함하며, 상기 논 로컬 네트워크는 상기 전기적 바이오 시그널 데이터의 공간적 지점(spatial point)간의 유사도를 비교하여 공간적 주의(spatial attention)를 구현하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 전기적 바이오 시그널 데이터는 단일 채널 또는 다채널의 신호이고, 상기 인코더에 입력되는 전기적 바이오 시그널 신호는 C X M(각 입력 리드(채널)의 수 X 각 채널별 측정 값의 수)의 2차원 어레이(array) 형태일 수 있다.
예시적인 일 구현예 장치에서, 상기 전기적 바이오 시그널 데이터는 전기적 바이오 시그널 이미지이고, 상기 전기적 바이오 시그널 이미지는 2차원 평면 위에 모든 채널의 전기적 바이오 시그널 신호가 도시되고, 상기 전기적 바이오 시그널 이미지는 모든 리드(lead) 채널이 포함된 이미지 혹은 리드 채널 별로 크로핑(cropping)된 리드 채널 별 이미지로 변환되고, 상기 인코더에 입력되는 전기적 바이오 시그널 이미지는 1 이상의 리드 채널의 흑백 이미지, 또는 R(Red), G(Green), B(Blue) 3채널을 갖는 C X W X H(채널수 X 가로 픽셀 수 X 세로 픽셀 수)의 3차원 어레이(array) 형태로 바꾸어 입력되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 분석 결과는 질병 예측을 포함하고, 상기 분석부가 질병을 예측하는 경우, 상기 전기적 바이오 시그널 데이터는 단일 채널의 전기적 바이오 시그널 데이터이고, 상기 전기적 바이오 시그널 데이터가 심전도(ECG) 데이터인 경우, 상기 질병은 쇽(shock), 호흡부전, 심정지, 급성관상동맥증후군, 심근경색, 고칼륨 혈증을 포함하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 분석 결과는 상기 제1 수치 벡터를 사용하여 질병이 호전 또는 악화되었는지 여부를 결정하는 질병 진단 보조 정보를 포함할 수 있다. 상기 분석부가 상기 질병 진단 보조 정보를 제공하는 경우, 상기 전기적 바이오 시그널 데이터는 일정한 간격을 두고 측정한 복수의 전기적 바이오 시그널 데이터이고, 상기 복수의 전기적 바이오 시그널 데이터 각각은 상기 인코더의 풀링 레이어(pooling layer)를 통과하여, 획득된 제1 수치 벡터로부터 질병이 호전 또는 악화되었는지 여부의 진단 보조 정보를 제공하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 분석 결과는 질병 진단 보조 정보 제공을 포함하고, 상기 전기적 바이오 시그널 데이터는 일정하거나 불규칙한 시간 간격을 두고 측정한 복수의 전기적 바이오 시그널 데이터이고, 상기 분석부는 상기 복수의 전기적 바이오 시그널 데이터의 제1 수치 벡터 각각을 순차적인 벡터(sequential vector)로 배열하고, 상기 순차적인 벡터들을 벡터의 길이 방향으로 결합(concatenate)하여 멀티 레이어 퍼셉트론 네트워크(multilayer perceptron(MLP) network)에 통과시키거나, 상기 순차적인 벡터들을 벡터 길이의 수직 방향으로 결합(concatenate)하여 트랜스포머 네트워크(transformer network)에 통과시키거나, 결합하지 않고 RNN에 순차적으로 통과시키고, 시간에 대한 정보를 함수를 이용해 인코딩(encoding)하여 제2 수치 벡터를 추출하여 환자가 시간 경과에 따라 특정 질병의 발생, 호전 또는 악화 되었는지 진단하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 전기적 바이오 시그널 데이터의 특성들 중 임상적으로 정의된 형태적 특성들을 기초로 하여 지도학습(self-supervised learning)을 통해 훈련되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 전기적 바이오 시그널 데이터를 특정 방식으로 변형한 데이터를 훈련 데이터로 하여 자가 지도학습(self-supervised learning)을 통해 훈련되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 전기적 바이오 시그널 데이터를 증강한 데이터를 훈련 데이터로 하여, 비지도학습(unsupervised learning)을 통해 훈련되며, 원본 전기적 바이오 시그널 데이터를 공통으로 하는 증강된 전기적 바이오 시그널 데이터들의 각각을 인코더에 입력하고, 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 조정하는 과정을 포함하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 조정하는 과정은, 상기 산출된 각각의 제1 수치 벡터의 거리를 최소화 하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 장치는 스마트 워치, 전기적 바이오 시그널 측정 장치가 장착된 의료기구 또는 운동기구, 스마트폰 앱이 설치된 기기 또는 전자건강기록 시스템과 결합된 것일 수 있다.
예시적인 일 구현예에서, 이상의 장치들에서 상기 전기적 바이오 시그널은 바람직하게는 특히 심전도(ECG)이다.
한편, 다른 일 측면에서는, 프로세서에 의하여 수행되고, 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 또는 프로세서에 의해 수행되고, 딥러닝을 이용하여 전기적 바이오 시그널 데이터로부터 질병을 분석하는 방법에 있어서, 전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 단계; 상기 전기적 바이오 시그널 데이터를 인코더에 입력하는 단계; 및 상기 인코더를 통해 딥러닝 알고리즘을 이용하여 제1 수치 벡터를 산출하는 단계;를 포함하는 것이며, 상기 제1 수치 벡터는 전기적 바이오 시그널 데이터로부터 추출될 수 있는 해부학적(위치적) 특징 및 시간적 특징 중 하나 이상을 포함 특히 맥락적으로 포함하는 전기적 바이오 시그널 데이터로부터 추출된 특징들에 연관된 정형 테이터일 수 있다. 이러한 제1 수치 벡터는 후술하는 바와 같이 다운스트림태스크 또는 기계 학습에 효과적으로 사용된다.
예시적인 일 구현예에서, 상기 방법은, 제1 수치 벡터를 이용하여 질병 또는 건강 관련 분석, 예측 또는 진단 보조 정보 제공을 수행하는 단계;를 더 포함할 수 있다.
예시적인 일 구현예에서, 상기 방법은, 상기 제1 수치 벡터를 활용하여 복수의 다운스트림 태스크를 동시에 처리하는 단계;를 포함할 수 있다. 각 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 될 때 하나의 인코더 말단으로 모여 하나의 인코더를 훈련시키게 되어 제1 수치 벡터에 범용성이 향상될 수 있다.
예시적인 일 구현예 방법에서, 상기 제1 수치 벡터는 그 자체로 또는 추가적인 정형 데이터 정보와 결합(concatenate)되어 다운스트림 태스크 처리 단계의 입력 벡터로 사용되는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 2개 이상일 수 있고, 각 인코더로부터 출력된 복수개의 제 1 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터를 만들수 있다.
예시적인 일 구현예 방법에서, N개의 순차적인 전기적 바이오 시그널 데이터를 하나의 인코더에 통과시켜 N개의 순차적인 제1 수치 벡터들을 얻을 수 있다
예시적인 일 구현예 방법에서, 상기 방법은 전기적 바이오 시그널 데이터를 일정 시간 간격으로 분할한 후 각각의 분할된 데이터 구간의 정보를 상기 인코더; 또는 상기 인코더 및 다운스트림 테스크 처리를 거쳐서 얻어진 시점별 결과치 또는 해당 시점별 결과치의 시점별 가중 평균에 기반하여 특정 질환에 관한 분석, 진단 또는 예측을 제공하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 방법은, 다운스트림 태스크의 네트워크를 훈련 시 상기 인코더의 네트워크의 가중치(weight)들을 고정시킨 후 다운스트림 태스크의 네트워크 가중치를 훈련을 통해 수정(업데이트)한 후 상기 인코더의 네트워크와 상기 다운스트림 태스크의 네트워크의 가중치 전체를 추가적인 훈련을 통해 수정(업데이트)하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 복수의 다운스트림 태스크 처리는 각각은 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 MLP는 상기 인코더의 인코딩 네트워크 훈련과 함께 멀티 태스크 러닝((jointly) multi-task learning)을 통해 훈련되거나, 인코더가 먼저 훈련을 마친 이후 별도로 훈련되는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 MLP는 상기 제1 수치 벡터와 다른(different) 추가적인 정형 데이터 입력 정보를 받을 수 있으며, 상기 추가적인 정형 데이터 입력 정보는 나이, 성별, 생체 신호, 수치 검사 결과, 정형 데이터로 변형된 자연어 정보 및 획득부에서 획득된 전기적 바이오 시그널 데이터와 다른 종류의 바이오 시그널 데이터로부터 변환된 정형 데이터 정보중 적어도 하나 이상을 포함하고, 상기 생체 신호는 혈압, 맥박수, 체온, 호흡수 및 산소포화도로 이루어진 그룹에서 선택되는 하나 이상을 포함하는 것일 수 있다. 상기 추가적인 정형 데이터 입력 정보는 상기 제1 수치 벡터와 결합(concatenate)되거나 상기 제1 수치 벡터와 별도로 입력될 수 있다.
예시적인 일 구현예 방법에서, 상기 MLP가 특정 질병의 발생 유무를 예측하는 경우, 상기 MLP의 출력 시 획득된 전기적 바이오 시그널 데이터를 고려한 특정 질병 발생 확률 및 획득된 전기적 바이오 시그널 데이터를 고려하지 않은 특정 질병 발생 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 상기 획득된 전기적 바이오 시그널 데이터를 고려한 특정 질병 발생 확률이 상기 획득된 전기적 바이오 시그널 데이터를 고려하지 않은 특정 질병 발생 확률보다 비율 상 몇 배가 증가 했는지를 디스플레이할 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더의 딥러닝 알고리즘은 CNN을 기반으로 하고, 인코더 서브유닛(subunit)을 포함할 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더 서브유닛은 하나 이상의 컨볼루션 레이어; 하나 이상의 완전 연결 레이어 - 상기 완전 연결 레이어는 비선형 활성화 함수를 포함함; 및 채널별 전기적 바이오 시그널 데이터에서 추출된 특징 세트를 요약하여 대표 값을 각각 추출하고, 상기 대표 값에 기반한 채널별 특징 세트의 기여도가 반영되도록 상기 채널별 특징 세트를 재조정하는 집중 레이어를 포함하고, 상기 특징 세트는 각 채널에 대한 해부학적 구조와 관련된 특징을 포함하고, 상기 특징 세트에 비하여 재조정된 채널별 특징 세트는 각 채널에 대한 해부학적 특징이 보다 집중된 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 하나 이상의 컨벌루션 레이어는, 상기 하나 이상의 채널 각각에 대한 전기적 바이오 시그널 데이터를 개별적으로 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-seperable convolution layer)를 포함하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 집중 레이어는 상기 특징 세트의 요약을 위해, 상기 특징 세트를 풀링(pooling) 처리하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 집중 레이어는, 채널별 대표 값을 상기 완전 연결 레이어에 통과시켜 각 채널별 기여도를 산출하고, 상기 채널별 기여도를 상기 특징 세트에 각각 곱하여 각 채널별 특징 세트를 재조정하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 집중 레이어는 상기 채널별 대표 값을 완전 연결 레이어에 통과시킨 결과를 특정 범위 사이의 수치로 스케일링하여 상기 채널별 기여도를 산출하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더 서브유닛은 각 채널 별로 평균을 추출하여 하나의 스칼라(scalar) 값을 산출하는 스퀴즈 엑사이테이션 레이어(sqeeze-excitation layer)를 포함하고, 상기 채널 별 스칼라 값은 0 내지 1 사이이며, 채널의 중요도에 따라 스케일(scale)되고, 상기 채널 별 스칼라 값이 모인 벡터를 완전 연결 레이어(fully connected layer)에 통과시킨 후 활성화(sigmoid/RELU) 함수를 적용하여 차원을 축소시키는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 복수의 컨볼루션 블록을 포함하고, 상기 서브유닛은 제1 컨볼루션 레이어를 제외한 나머지 컨볼루션 블록에 포함된 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 컨볼루션 블록은 제1 인코더 서브유닛 및 제2 인코더 서브유닛을 포함하고, 상기 제1 인코더 서브유닛은 상기 제2 인코더 서브유닛에 비해 상기 컨볼루션 블록의 출력단보다 입력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제2 인코더 서브유닛에 비해 상기 특징 세트를 요약하여 대표 값을 추출하는 동작에 보다 집중하고 - 상기 제1 인코더 서브유닛의 대표 값에는 상기 해부학적 구조와 관련된 특징이 상기 제2 인코더 서브유닛의 대표 값에 비해 보다 많이 반영됨, 상기 제2 인코더 서브유닛은 상기 제1 인코더 서브유닛에 비해 상기 컨볼루션 블록의 입력단 보다 출력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제1 인코더 서브유닛에 비해 채널별 기여도에 따른 재조정 동작에 보다 집중하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더의 마지막 컨볼루션 블록은 논 로컬 네트워크(non-local network)를 더 포함하며, 상기 논 로컬 네트워크는 상기 전기적 바이오 시그널 데이터의 공간적 지점(spatial point)간의 유사도를 비교하여 공간적 주의(spatial attention)를 구현하는 것일 수 있다.
예시적인 일 구현예에서, 상기 전기적 바이오 시그널 데이터는 단일 채널 또는 다채널의 신호이고, 상기 인코더에 입력되는 전기적 바이오 시그널 신호는 C X M(각 입력 리드(채널)의 수 X 각 채널별 측정 값의 수)의 2차원 어레이(array) 형태일 수 있다.
예시적인 일 구현예 방법에서, 상기 전기적 바이오 시그널 데이터는 전기적 바이오 시그널 이미지이고, 상기 전기적 바이오 시그널 이미지는 2차원 평면 위에 모든 채널의 전기적 바이오 시그널 신호가 도시되고, 상기 전기적 바이오 시그널 이미지는 모든 리드(lead) 채널이 포함된 이미지 혹은 리드 채널 별로 크로핑(cropping)된 리드 채널 별 이미지로 변환되고, 상기 인코더에 입력되는 전기적 바이오 시그널 이미지는 1 이상의 리드 채널의 흑백 이미지, 또는 R(Red), G(Green), B(Blue) 3채널을 갖는 C X W X H(채널수 X 가로 픽셀 수 X 세로 픽셀 수)의 3차원 어레이(array) 형태로 바꾸어 입력되는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 분석 결과는 질병 예측을 포함하고, 상기 분석부가 질병을 예측하는 경우, 상기 전기적 바이오 시그널 데이터는 단일 채널의 전기적 바이오 시그널 데이터이고, 상기 전기적 바이오 시그널 데이터가 심전도(ECG) 데이터인 경우, 상기 질병은 쇽(shock), 호흡부전, 심정지, 급성관상동맥증후군, 심근경색, 고칼륨 혈증을 포함하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 분석 결과는 상기 제1 수치 벡터를 사용하여 질병이 호전 또는 악화되었는지 여부를 결정하는 질병 진단 보조 정보를 포함할 수 있다. 상기 질병 진단 보조 정보를 제공하는 경우, 상기 전기적 바이오 시그널 데이터는 일정한 간격을 두고 측정한 복수의 전기적 바이오 시그널 데이터이고, 상기 복수의 전기적 바이오 시그널 데이터 각각은 상기 인코더의 풀링 레이어(pooling layer)를 통과하여, 획득된 제1 수치 벡터로부터 질병이 호전 또는 악화되었는지 여부의 진단 보조 정보를 제공하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 분석 결과는 질병 진단 보조 정보 제공을 포함하고, 상기 전기적 바이오 시그널 데이터는 일정하거나 불규칙한 시간 간격을 두고 측정한 복수의 전기적 바이오 시그널 데이터이고, 상기 분석부는 상기 복수의 전기적 바이오 시그널 데이터의 제1 수치 벡터 각각을 순차적인 벡터(sequential vector)로 배열하고, 상기 순차적인 벡터들을 벡터의 길이 방향으로 결합(concatenate)하여 멀티 레이어 퍼셉트론 네트워크(multilayer perceptron(MLP) network)에 통과시키거나, 상기 순차적인 벡터들을 벡터 길이의 수직 방향으로 결합(concatenate)하여 트랜스포머 네트워크(transformer network)에 통과시키거나, 결합하지 않고 RNN에 순차적으로 통과시키고, 시간에 대한 정보를 함수를 이용해 인코딩(encoding)하여 제2 수치 벡터를 추출하여 환자가 시간 경과에 따라 특정 질병이 호전 또는 악화 되었는지 진단하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 전기적 바이오 시그널 데이터의 특성들 중 임상적으로 정의된 형태적 특성들을 기초로 하여 지도학습(self-supervised learning)을 통해 훈련을 수행할 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 전기적 바이오 시그널 데이터를 특정 방식으로 변형한 데이터를 훈련 데이터로 하여 자가 지도학습(self-supervised learning)을 통해 훈련을 수행할 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 전기적 바이오 시그널 데이터를 증강한 데이터를 훈련 데이터로 하여, 비지도학습(unsupervised learning)을 통해 훈련할 수 있으며, 원본 전기적 바이오 시그널 데이터를 공통으로 하는 증강된 전기적 바이오 시그널 데이터들의 각각을 인코더에 입력하고, 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 조정하는 과정을 포함하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 조정하는 과정은, 상기 산출된 각각의 제1 수치 벡터의 거리를 최소화 하는 것일 수 있다.
예시적인 일 구현예에서, 이상의 방법들에서 상기 전기적 바이오 시그널은 바람직하게는 특히 심전도(ECG)이다.
한편, 다른 일 측면에서, 예시적인 일 구현예에서는, 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능한 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 전술한 방법을 수행하게 하는 컴퓨터 판독가능 기록매체를 제공한다.
본 발명의 예시적인 구현예들에 의하면, 비정형적인 전기적 바이오 시그널 특히 심전도 데이터로부터 정형적인 수치 벡터를 추출하고 이를 여러 임상 상황에서 다양하게 활용할 수 있다.
특히 기존의 임상 프레임워크를 그대로 활용하되, 전기적 바이오 시그널 정보 특히 심전도 정보의 활용 범위를 극대화할 수 있는 범용적인 수치 정보를 추출할 수 있다. 이러한 범용적인 수치 정보(임베딩 벡터)는 그 자체로써 사용될 뿐만 아니라, 환자의 다른 정보들과도 융합되어 활용될 수 있다. 또한, 전기적 바이오 시그널 데이터 특히 심전도 데이터의 수치화를 통해 환자 상태 변화를 쉽게 계량화할 수 있다. 이에 따라 응급실 또는 재해구급현장에서의 환자 분류(Triage)에 적용될 수 있고, 각종 헬스케어 장비에 적용될 수 있다. 또한 정형화된 수치 벡터를 기존의 인공 지능 알고리즘에 추가하여 환자의 상태의 변화를 용이하게 평가, 예측하고, 급성 심근 경색이나 부정맥 분류뿐만 아니라 심장, 폐, 혈류 등와 관련된, 전기적 바이오 시그널 특히 심전도가 연관될 수 있는 각종 진단에 관한 보조 정보를 제공할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 예시적인 실시예들을 보다 명확하게 설명하기 위해, 실시예에 대한 설명에서 필요한 도면이 아래에서 간단히 소개된다. 아래의 도면들은 본 명세서의 실시예를 설명하기 목적일 뿐 한정의 목적이 아니라는 것으로 이해되어야 한다. 또한, 설명의 명료성을 위해 아래의 도면들에서 과장, 생략 등 다양한 변형이 적용된 일부 요소들이 도시될 수 있다.
도 1은 본 발명의 일 실시예에 따른 심전도 데이터를 수치 벡터로 변환하여 질병을 분석하는 장치를 도시하는 개략도이다.
도 2는 본 발명의 일 실시예에 따른 심전도 데이터를 수치 벡터로 변환하여 질병을 분석하는 방법의 흐름도이다.
도 3은 본 발명의 일 실시예에 따른ECG 인코더 서브유닛을 도시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 ECG 인코더를 도시하는 도면이다.
도 5는 본 발명의 또 다른 일 실시예에 따른, 반복적인 계측을 통해 얻어진 복수의 심전도 데이터로부터 얻은 수치 벡터의 활용을 도시하는 도면이다.
도 6은 본 발명의 또 다른 일 실시예에 따른, N개의 순차적으로 얻어진 수치 벡터의 활용을 도시하는 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명 이 본 기술 사상의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
용어
본 명세서 상에서 언급된 "포함한다", "갖는다", "이루어진다" 등이 사용되는 경우 "~만"이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성 요소를 단수로 표현한 경우에 특별한 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함할 수 있다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B,(a),(b) 등의 용어를 사용할 수 있다. 달리 명시하지 않는 한, 이 러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다.
본 명세서에서 '학습' 혹은 '러닝'은 절차에 따른 컴퓨팅(computing)을 통하여 기계 학습(machine learning)을 수행함을 지칭하는 용어이다.
본 명세서에서 네크워트는 기계 학습 알고리즘 또는 모델의 신경망을 지칭한다.
본 명세서에서 "부(unit)", “모듈(module)”“장치”, 또는 "시스템" 등의 용어는 하드웨어뿐만 아니라 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭할 수 있는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
본 명세서에서 수치 벡터 또는 수치적 벡터 정보는 하나 혹은 이상의 기계 학습 업무 또는 태스크에 적용되기 위해 딥러닝 알고리즘을 통하여 만들어진 일관적인 구조적 및/또는 의미적 형태를 띤 정형화된 수치적 좌표로서, 전기적 바이오 시그널 데이터로부터 추출된 특징들에 연관된 것(해당 특징들을 반영하는 것)을 말한다.
특정 데이터를 수치 벡터로 변환한다는 것은, 심전도를 예를 들자면, 다양한 형식(전기적 신호 자체 혹은 그것의 출력물) 및 크기(채널 종류, 수 및 측정 시간)를 갖고 있는 부정형 데이터를 원본 보다 짧고 일정한 길이(어레이일 경우 일정한 차원과 크기)를 갖고 있으며, 그 각각의 원소가 위치별로 일관적 의미를 내포하고 있는 수치 벡터(혹은 어레이)로 바꾼다는 것이다. 이것은 각각의 원소로 정의되는 벡터 공간에 특정 심전도가 어느 곳에 위치하는지 일관적으로 표현해주며, 이러한 추상적인 좌표 정보는 다양한 다운 스트림 태스크에서 다양한 방식(알고리즘)을 통해 활용 될 수 있다.
본 명세서에서 제시될 네트워크 구조(특히 스퀴즈 엑사이테이션, 논로컬 네트워크를 포함하는 네크워크 구조)의 특성들은 이러한 수치 벡터가 전기적 바이오 시그널 데이터의 채널별 해부학적(위치적) 특징 및/또는 시간적 특징을 포함하는 전기적 바이오 시그널 데이터로부터 추출된 특징들에 연관되도록 할 수 있다.
심전도를 예로 설명하면, 심전도 신호의 해부학적 특성 또는 해부학적 공간 특성 (심전도가 측정되는 전극들의 해부학적 위치 구성으로 정의될 수 있는 공간) 및/또는 시간적 특성 또는 시간적 공간 특성 (심전도 신호가 측정되는 전체 시간 구간으로 정의되는 공간) 을 폭넓고 효율적으로 반영하게 해주며, 훈련 방식의 특성 (멀티태스크 러닝에 기반한 보조학습)은 상기와 같은 폭넓은 특징 추출 과정에서 여러 태스크에서 범용성이 높은 특성들을 효율적으로 추출하게 도와준다.
이것은 새로운 다운스트림 태스크 훈련을 매우 용이하게 해주어 few-shot 혹은 one-shot 학습을 용이하게 하게 하는 고품질의 수치 벡터를 추출할 수 있게 해준다.
본 명세서에서 전기적 바이오 시그널의 해부학적(위치적) 특징 또는 해부학적 공간 특징이란 각 채널 또는 각 리드의 전기적 바이오 시그널이 나타내는 (전기적 바이오 시그널이 측정된 측정 대상의) 해부학적 위치 또는 구조에 관련된 특징을 의미한다.
심전도를 예로 설명하면, 심전도의 각 전극(리드)는 각각 담당하는 심장의 해부학적 위치가 상이하며, 각 리드에서 보이는 형태적 특징들에 대한 해석도 상이할 수 있다. 예를 들어 Q파는 심근 경색을 시사하지만 리드 I, aVL, V5 및 V6에서는 정상적인에서도 흔히 관찰된다. 이러한 해부학적 위치 고려에 있어서, 특히 중요한 것은 특정 위치(리드)의 특성을 해석할 때, 다른 위치의 특성을 맥락으로 고려해야 한다는 것이다. 예를 들어 전흉부 리드 V1, V2, V3 등에서 ST 분절이 baseline에서 상승된 특성을 보일 때, 이러한 특성이 갖는 임상적의 의미 (심근경색)를 수치화하기 위해서는, 하벽부 리드 (II, III, aVF)에서 관찰되는 reciprocal change (ST 분절의 변화)를 고려하여, 해당 특성의 수치적 반영을 강조 혹은 감쇠시켜야 한다.
이러한 맥락적 고려 즉, 전기적 바이오 시그널의 특정 위치(리드)의 특성 해석 시 다른 위치(리드)의 특성을 맥락적으로 고려하는 것은 본 발명의 예시적인 구현예들에서 후술될 스퀴즈 엑사이테이션(squeeze-excitation) 네트워크 구조를 통해 구현될 수 있다. 이러한 측면에서 본 발명의 예시적인 구현예들에서는 전기적 바이오 시그널 데이터로부터 추출될 수 있는 해부학적(위치적) 특징이 특히 맥락적으로 포함된다고 지칭된다.
본 명세서에서 전기적 바이오 시그널의 시간적 특징 또는 시간적 공간 특징이란 전기적 바이오 시그널을 측정하는 1차원적 시간 구간 내에서 전기적 바이오 시그널의 형태적 특성들이 어떻게 분포되어 있는지와 관련된 특성을 의미한다.
심전도를 예를 들면, 심전도는 짧게는 수일, 길게는 수시간 또는 수일까지 다양한 시간 범위에 따라 측정이 된다. 이렇게 가변적인 1차원적 공간위에 P, QRS, T파로 구성된 심전도 파형들은 환자의 상태에 따라 다양한 빈도로, 규칙적 혹은 불규칙적으로, 배치된다. 이러한 배치의 특성을 고려할 때 특히 중요한 것은 해당 1차원적 공간 내에서 어떠한 특성을 임상적으로 해석할 때 멀리 떨어져 있는 다른 특성을 고려 (맥락으로 고려)해야 한다는 것이다. 예를 들어 완전 방실 차단이라는 치명적인 부정맥의 진단을 고려해볼 수 있다. 일반적으로 부정맥은 각 특성들이 위에서 언급한 1차원적 공간위에 어떻게 배치되는지와 관련된 시간적 특성을 이용한다. 완전 방실 차단에서는 P파와 QRS파가 동조되지 않고 각자의 속도로 따로 나타나는데 특정 QRS파의 작은 변화(deflection)가 QRS 파에 중첩된 P파인지를 알아내는 것이 진단 과정에서 중요하다. 이것을 알기 위해서는 그 QRS deflection 및 다른 위치의 P파일 가능성이 있는 여러 형태적 특징들 중 어떠한 것들이 실제로 P파인지를 알아내는 것이 중요하며, 이 과정은 해당 특성 서로 간의 맥락을 고려하지 않고서는 불가능하다.
본 발명의 예시적인 구현예들에서는 이렇게 시간적으로 서로 떨어져 있는 특성들 간의 맥락이 고려된 시간적 특성을 추출하는 문제를 해결하기 위해 논로컬 (non-local) 네트워크 구조를 적용한다. 이러한 측면에서 본 발명의 예시적인 구현예들에서는 전기적 바이오 시그널 데이터로부터 추출될 수 있는 시간적 특징이 특히 맥락적으로 포함된다고 지칭된다.
본 명세서에서 수치 벡터는 제1 수치 벡터, 제2 수치 벡터 등와 같이 구분하여 표시될 수 있다. 예컨대는, 제1수치 벡터는 딥러닝 알고리즘을 이용하는 인코더로부터 산출된 것을 지칭할 수 있고, 제2 수치 벡터는 제1 수치 벡터를 이용하여 다운스트림 태스크와 같이 추가적인 기계 학습 알고리즘을 거친 산출물을 지칭할 수 있다. 일부 도면들에서 예컨대 제1 수치 벡터에 포함되는 순차적인 벡터(sequential vetor)들을 vector 1, vector 2, vector 3 등과 같이 표현할 수 있다.
본 명세서에서 임베딩은 심전도와 같은 비정형 데이터를 위에서 언급한 수치 벡터로 변환하는 작업 혹은 그 산출물(수치 벡터 그 자체)을 언급할 수 있다.
본 명세서에서 수치 벡터가 범용성을 가진다는 것은 특정 목적 외에 다른 목적의 기계 학습 바람직하게는 복수 개의 기계 학습에도 사용될 수 있는 것을 말한다. 즉, 수치 벡터가 특정 전기적 바이오 시그널(예컨대 심전도)의 형태적 특성을 내포 바람직하게는 포괄적이고 및/또는 효율적인 방식으로 내포하고 있어, 이미 적용되고 있거나, 앞으로 적용될 수 있는 미지의 다운 스트림 태스크들 바람직하게는 두개 이상의 다운스트림 태스크 더 바람직하게는 대부분의 다운스트림 태스크들에서 효과적으로 활용될 수 있다는 것을 말한다.
예컨대, 이해를 돕기 위해, 범용성이 없는 수치 벡터를 예를 들어 본다. 100개의 원소로 이루어진 수치벡터가 특정 질병 예컨대 심근 경색의 진단에 효과적인 특성들을 3개의 원소로써 갖고 있고 나머지 97개의 원소는 중복되거나 노이즈에 해당하는 정보를 갖고 있다고 가정하면, 이 경우 이 수치 벡터는 심근 경색의 진단 이외의 다운스트림 태스크에서는 활용될 수 없고 범용성이 없다고 할 수 있다. 이러한 벡터의 원소들을 유의미한 정보로 채우기 위해 한가지 진단이 아닌 여러 임상 진단 태스크를 동시에 수행하게 할 수 있다. 그러나 이것만으로는 수치 벡터가 이미 훈련된 진단들과 관련된 특성들만을 인코딩 하게 되어 미지의 다운스트림 태스크에는 적용이 어려워진다.
반면 본 발명의 예시적인 구현예들에서 스퀴즈 익사이테이션 및 논로컬 네트워크 등은 전술한 바와 같이 수치벡터에 포함될 특성 정보의 범위와 질을 향상시켜 범용성을 향상시킬 수 있다. 나아가, 본 발명의 예시적인 구현예들에서는, 추가적으로 1) 기존에 임상적으로 정의된 형태적 특징에 기반한 지도학습, 2) 임상정보와 무관한 심전도의 형태적 특징을 학습하는 자가지도학습을 추가로 적용하여 수치 벡터의 범용성을 더욱 증가시킬 수 있다. 또한 수치벡터가 정의하는 벡터 공간내에서의 정보의 효율적 배치를 위해서 후술될 3) 비지도 학습을 추가로 시행하여 수치 벡터의 범용성을 더욱 증가시킬 수 있다.
본 명세서에서 비정형 데이터는 계측된 수치 데이터의 집합으로써 1) 차원 수 및/또는 크기가 일정하지 않거나, 2) 위치에 따른 수치의 해석이 일관되지 않거나 혹은 3) 그 크기나 복잡성이 커서 단순하게 변형시켜야 하는 데이터를 지칭할 수 있다.
본 명세서에서 말하는 정형 데이터는 이와 반대로 차원 수 및 크기가 일정한 것을 의미하는 것으로서, 이러한 정형 테이터는 각 수치의 해석이 위치에 따라 일관적이며, 비정형 데이터에 비하여 크기가 크지 않고(원소의 수가 과도하게 많지 않고) 단순하여, 비정형 데이터와 대비하여 적은 수의 데이터만으로도 다운 스트림 태스크를 위한 기계 학습 알고리즘의 훈련이 가능할 수 있다. 예를 들어 임베딩을 거쳐 수치적 벡터로 바뀐 심전도가 여기에 해당하며, 환자의 나이, 성별, 혈압, 맥박수, 호흡수 및 체온과 같은 표 형식의 데이터(tabular data)도 여기에 포함될 수 있다.
본 명세서에서 다운 스트림 태스크는 임베딩을 통해 얻어진 수치 벡터를 이용하는 하나 이상 특히 복수의 기계 학습 업무를 지칭할 수 있다. 후술하는 바와 같이, 여기에는1) 지도학습(supervised learning), 2) 비지도학습(unsupervised learning), 3) 자가 지도학습(self-supervised learning), 4) 군집화(clustering) 및 5) 이상 탐지(anomaly detection) 등이 포함될 수 있다.
본 명세서에서 질병의 분석 방법 또는 질병의 분석 장치란 질병 또는 건강을 분석하고, 예측하고, 질병에 관한 진단 정보를 제공하는 것을 포함하는 의미이다.
본 명세서에서 ECG는 심전도 또는 심전도 신호라 하며, 심장의 전기적 활동을 수치화한 파형 형태(waveform)로 기록한 것을 의미한다. 좀 더 상세히 말하면, 심장의 특수흥분전도시스템(special excitatory & conductive system)에 의해 발생되는 활동 전위(action potential)의 벡터 합으로 구성된 파형이다. 즉, 심장의 각 구성요소인 동방결절(SA node, sinoatrial node), 방실결절(AV node, atrioventricular node), 히스색(His bundle), 퍼킨스 섬유(furkinje fibers) 등에서 발생되는 활동 전위의 벡터 합 신호를 체외에 접촉된 전극으로부터 측정한 신호이다. 통상 심전도를 측정할 때, 두 개 이상의 전극이 사용되며, 전극들은 쌍을 이루게 된다. 상기 ECG 신호, 심전도 또는 심전도 신호는 혼용되어 사용되더라도 각각이 다른 것을 의미하는 것이 아니며 혼용되어 사용될 수 있다.
예시적인 구현예들의 설명
본 발명의 예시적인 구현예들에서는 단일 채널 혹은 다채널의 전기적 바이오 시그널 데이터 특히 단일 채널 혹은 다채널의 심전도 신호, 또는 상기 심전도 신호를 기초로 얻어진 흑백 혹은 컬러 심전도 이미지에 딥러닝 기반의 인공지능 알고리즘을 이용하여, 여러 임상 상황에서 다양하게 사용될 수 있는 수치적 벡터 정보 특히 범용적인 수치적 벡터정보를 추출하도록 한다.
얻어진 수치 벡터 정보 특히 심전도로부터 얻어진 수치 벡터 정보는 1) 심장의 리듬 이상(빈맥, 서맥, 각종 부정맥), 2) 심장의 구조 및 기능 이상(심부전, 심낭압전, 판막의 협착/부전, 폐동맥 고혈압, 폐색전증, 심근병증) 과 3) 각종 임상 사건(쇽, 호흡부전, 심정지, 심인성 실신 및 급사, 급성관상동맥 증후군, 심근 경색, 고칼륨 혈증) 및 4) 각종 임상 처치(승압제 투여, 인공호흡기 적용, 관상동맥 조영술 및 수혈 등)가 지정한 기간 내에 발생하거나 필요하게 될 것인지를 개별적으로 혹은 한꺼번에 진단 혹은 예측하는데 사용될 수 있다.
또한 심전도 데이터와 같은 전기적 바이오 시그널 데이터 외에 다른 정형적 정보들(나이, 성별 혈압, 맥박수, 호흡수, 체온, 수치 검사 결과 등) 및 적절한 변형을 통해 정형화된 비정형 정보(주증상, 기저질환, 텍스트, 방사선 및 초음파 영상 정보, 청진음과 같은 음향정보 및 각종 바이오 시그널)도 해당 수치 벡터에 더 결합(concatenate)하여 진단의 정확도를 높이는데 사용할 수 있다.
본 발명의 예시적인 구현예들의 알고리즘은 변형된 CNN(convolutional neural network)과 같은 딥러닝 알고리즘 부분 및/또는 심전도 데이터와 같은 전기적 바이오 시그널 데이터 이외의 추가적인 정보들을 처리하는 알고리즘 부분을 포함할 수 있다.
아울러, 본 발명의 예시적인 구현예들에서는 심전도 데이터와 같은 전기적 바이오 시그널 데이터를 획득하여, 질병을 분석, 예측 및 진단에 관한 보조 정보를 제공할 수 있다.
예시적인 구현예들에서, 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 장치는 전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 획득부; 및 상기 전기적 바이오 시그널 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 수치 벡터 (이는 제1 수치 벡터로 지칭될 수 있다)를 산출하는 인코더;를 포함할 수 있다.
예시적인 구현예들에서, 전기적 바이오 시그널 데이터를 수치 벡터로 변환하여 질병을 분석하는 장치는, 전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 획득부; 상기 전기적 바이오 시그널 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 수치 벡터(이는 제1 수치 벡터로 지칭될 수 있다)를 산출하는 인코더; 및 상기 수치 벡터를 이용하여 질병 관련 분석 정보, 예측 정보 또는 진단 보조 정보 제공을 수행하는 분석부;를 포함할 수 있다.
예시적인 구현예들에서, 프로세서에 의하여 수행되고 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법은, 전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 단계; 상기 전기적 바이오 시그널 데이터를 인코더에 입력하는 단계; 및 상기 인코더를 통해 딥러닝 알고리즘을 이용하여 수치 벡터(이는 제1 수치 벡터로 지칭될 수 있다)를 산출하는 단계;를 포함할 수 있다.
예시적인 구현예들에서, 프로세서에 의하여 수행되고 딥러닝을 이용하여 전기적 바이오 시그널 데이터로부터 질병을 분석하는 방법에 있어서, 전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 단계; 상기 전기적 바이오 시그널 데이터를 인코더에 입력하는 단계; 상기 인코더를 통해 딥러닝 알고리즘을 이용하여 수치 벡터(이는 제1 수치 벡터로 지칭될 수 있다)를 산출하는 단계; 및 상기 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단 보조 정보 제공을 수행하는 단계;를 포함하는 질병 분석 방법을 제공한다.
예시적인 구현예들에서, 전기적 바이오 시그널은 뇌전도(Electroencephalogram, EEG), 근전도(Electromyogram, EMG), 안전도(Electrocoulography, EOG), 심전도(Electrocardiography, ECG) 등일 수 있고, 후술하는 바와 같이 특히 심전도(ECG)가 바람직하다.
예시적인 구현예들에서, 상기 수치 벡터는 다운 스트림 태스크(downstream task)에 동시에 이용될 수 있다.
이와 같이 다수의 태스크를 동시에 수행하도록 구성되어 있기 때문에, 각 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 될 때 하나의 인코더 말단으로 모여 하나의 인코더를 훈련시키게 된다. 이에 따라 수치 벡터는 범용성이 향상된 수치 벡터가 될 수 있다.
예시적인 일 구현예에서, 상기 제1 수치 벡터는 그 자체로 또는 추가적인 정형 데이터 정보와 결합(concatenate)되어 다운스트림 태스크 네트워크의 입력 벡터로 사용되는 것일 수 있다.
여기서. 상기 추가적인 정형 데이터 정보는 나이, 성별이나 혈압, 맥박수, 체온, 호흡수, 산소포화도와 같은 생체 신호(vital signs), 각종 수치 검사 결과(laboratory test results)와 같은 기존의 정형화된 데이터 정보, 기계학습 방법을 통해 정형화된 데이터 정보로 변환된 비정형 데이터[영상, 소리, 바이오 시그널 등 (해당 바이오 시그널은 제1 수치 벡터를 얻기 위하여 인코더에 입력한 전기적 바이오 시그널과 다른 바이오 시그널임)], 자연어 처리를 통해 정형 데이터로 변형된 증상, 진단명, 의무기록 등과 같은 자연어 정보 중 적어도 하나를 포함할 수 있다.
예시적인 일 구현예에서, 상기 인코더는 2개 이상일 수 있고, 각 인코더로부터 출력된 복수개의 제 1 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터를 만들수 있다. 해당 입력 수치 벡터를 다운스트림 태스크 네트워크의 입력 값으로 하고, 예측하고자 하는 진단을 해당 다운스트림 태스크 네트워크의 출력값으로 설정하여 해당 네트워크를 학습시킬 수 있다.
예시적인 일 구현예에서, N개의 순차적인 전기적 바이오 시그널 데이터를 하나의 인코더에 통과시켜 N개의 순차적인 제1 수치 벡터들을 얻는 것일 수 있다. 이러한 N개의 순차적인 제1 수치 벡터들은 시간 경과에 따른 특정 질환의 호전 또는 악화 여부 예측, 또는 특정 질환의 위험도 예측, 또는 임상적 이벤트 발생 등을 예측하는 다운스트림 태스크 네트워크의 학습을 위한 입력 값으로서 이용될 수 있다.
예시적인 일 구현예에서, 상기 장치는 전기적 바이오 시그널 데이터를 일정 시간 간격으로 분할한 후 각각의 분할된 데이터 구간의 정보를 상기 인코더; 또는 상기 인코더 및 다운스트림 태스크 처리 과정를 통과시켜서 얻어진 시점별 결과치 또는 해당 시점별 결과치의 시점별 가중 평균에 기반하여 특정 질환에 관한 분석, 진단 또는 예측을 제공하는 것일 수 있다.
예시적인 일 구현예에서, 상기 수치 벡터 변환 장치 또는 질병 분석 장치는, 수치 벡터를 활용하여 다운스트림 태스크(downstream task)를 처리하는 다운스트림 태스크 처리부 또는 처리 단계를 포함하고, 다운스트림 태스크는 복수의 태스크를 처리하는 것일 수 있으며, 각각의 태스크는 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행할 수 있다.
예시적인 일 구현예에서, 상기 MLP가 특정 질병의 발생 유무를 예측하는 경우, 상기 MLP의 출력 시 전기적 바이오 시그널 데이터를 고려한 상기 질병이 발생할 확률 및 전기적 바이오 시그널 데이터를 고려하지 않은 질병 발생 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 상기 전기적 바이오 시그널 데이터를 고려한 상기 질병이 발생할 확률이 상기 전기적 바이오 시그널 데이터를 고려하지 않은 경우의 확률보다 비율 상 몇 배가 증가 했는지를 디스플레이할 수 있다.
예시적인 일 구현예에서, 각 태스크 별 상기 MLP는 상기 인코더의 인코딩 네트워크 훈련과 함께(jointly) 훈련 되거나, 인코더가 먼저 훈련을 마친 이후 별도로 훈련될 수 있다.
예시적인 일 구현예에서, 상기 인코더는 CNN을 기반으로 하고, 인코더 서브유닛(subunit)을 포함하고, 상기 인코더 서브유닛은 상기 전기적 바이오 시그널 데이터를 채널 별로 독립하여 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-seperable convolution layer)를 포함할 수 있다.
예시적인 일 구현예에서, 상기 인코더 서브유닛은 스퀴즈 엑사이테이션 메커니즘(squeeze-excitation mechanism)을 적용하여 각 채널 별로 하나의 수치(평균이나 최고값)를 추출한다. 이를 통해 만들어진 수치형 벡터를 RELU와 같은 비선형 활성화 함수(non-linear activation)가 포함된 2개 이상의 완전 연결 레이어(fully connected layer)로 구성된 네트워크에 통과시킨 후 시그모이드(sigmoid) 함수를 적용하여 각 채널 별로 0-1 사이의 수치를 얻어내고, 이것들을 해당하는 채널에 각각 곱하여 각 채널 별 특징들을 재조정(recalibrate) 한다.
예시적인 일 구현예에서, 상기 인코더는 제1 컨볼루션 레이어와 각각 복수의 인코더 서브유닛을 포함하는 복수의 컨볼루션 블록을 포함할 수 있다.
예시적인 일 구현예에서, 상기 인코더의 마지막 컨볼루션 블럭은 논 로컬 네트워크(non-local network)를 더 포함할 수 있다. 상기 논 로컬 네트워크(또는 논 로컬 뉴럴 네트워크)는 특정 위치(이미지의 경우 공간적 지점(spatial point), 심전도 시그널의 경우 시간적 신호(temporal point))의 정보를 인코딩 할 때 입력 데이터의 모든 위치(spatial/temporal point)의 특성을 사용한다. 이 과정에서 각각의 위치는 서로 다른 정도의 기여를 하게 되며, 이러한 기여의 정도는 주의(attention) 메커니즘을 통해 결정된다.
예시적인 일 구현예에서, 상기 각 태스크 별 MLP는 ECG 인코더가 출력하는 수치 벡터 외 다른(different) 추가적인 정형 테이터 입력 정보를 받을 수 있다. 여기서, 상기 추가적인 입력 정보는 나이, 성별이나 혈압, 맥박수, 체온, 호흡수, 동반 증상, 산소포화도와 같은 생체 신호(vital signs), 각종 수치 검사 결과(laboratory test results) 및 정형화된 수치 정보로 변환된 비정형 데이터(영상, 소리, 바이오 시그널 등) 중 적어도 하나를 포함할 수 있다.
예시적인 구현예들에서, 전술한 장치는 전기적 바이오 시그널 계측 장비 또는 해석 장비일 수 있다. 예시로서, 스마트 워치, 전기적 바이오 시그널 측정기가 장착된 예컨대 의료 기구 내지 런닝 머신 등의 운동기구 등의 장치, 또는 앱이 설치된 기기, 카메라나 스캔 장비를 사용하고 해석 알고리즘이 장착된EHR(electronic health records, 전자 건강 기록) 시스템 등일 수 있지만, 이에 제한되지 않는다.
또한, 예시적인 구현예들에서는, 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능한 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 해당 프로세서가 전술한 수치 벡터 변환 방법 또는 질병 분석 방법을 수행하게 하는 컴퓨터 판독가능 기록매체를 제공한다.
바람직한 실시예 설명
전술한 바와 같이, 본 발명의 예시적인 구현예들의 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치는 전기적 바이오 시그널 중 심전도(ECG)의 경우에 특히 적합하게 사용될 수 있으므로, 이하에서는 심전도를 중심으로 바람직한 실시예들을 더욱 상세히 설명한다.
도 1은, 본 발명의 일 실시예에 따른 심전도 데이터를 수치 벡터로 변환하여 질병을 분석하는 장치(1)(“이하 질병 분석 장치”)를 도시하는 개략도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 질병 분석 장치(1)는 심전도 측정 장치로부터 심전도 데이터를 획득하는 획득부; 상기 심전도 데이터를 입력 받아 딥러닝을 이용하여 수치 벡터를 산출하는 ECG 인코더; 상기 수치 벡터를 이용하여 질병 관련 예측 또는 진단을 수행하는 분석 결과를 생성하는 분석부; 다운 스트림 처리부(16)를 포함한다. 도 1은 비록 다운 스트림 처리부(16)를 분석부(14)와 별개로서 도시하지만 상기 다운 스트림 처리부(16)는 분석부(14) 일부로서 포함되거나 또는 분석부(14)를 대체하는 것일 수도 있다.
획득부(10)는 대상체의 신체 일부에 부착되어 대상체(사용자)의 심전도 신호를 측정하는 심전도 측정 장치로부터 심전도 신호를 획득할 수 있다. 센서는 대상체의 신체의 일부에 부착되어 대상체(사용자)의 심전도 신호를 측정하는 것일 수 있다. 센서 및 심전도 신호 측정 장치로부터 획득된 심전도 신호는 아날로그-디지털 변환기(ADC, Analog-Digital Converter)를 통해 디지털신호로 변환될 수 있다. 또한, 심전도 측정 장치(미도시)는 터치 패널을 통해 사용자의 신체가 기 결정된 시간 이 상 접촉하고 있다고 판단한 경우, 생체 신호를 측정할 수 있다. 또 다른 실시예에 따르면, 획득부(10)는 심전도 신호(raw signal) 뿐만 아니라, 이미 얻어진 심전도 신호를 기초로 용지나 화상에 출력되어 시각화한 심전도 이미지를 획득할 수 있다.
ECG 인코더(12)는 프로세서를 포함한 컴퓨팅 장치로서, 획득부(10)로부터 심전도 데이터를 입력으로 수신하고, 심전도 신호를 분석하여 채널 별로 특징 맵을 추출하고, 다양한 연산 과정을 통해 수치 벡터를 산출한다. 이후 수치 벡터를 활용하여 분석부(14) 또는 다운스트림 처리부(16)를 통해 다양한 질병의 분석, 예측, 진단 보조 정보 제공을 수행할 수 있다.
일 실시예에서, 상기 ECG 인코더(12)는 예를 들어 개인용 컴퓨터(PC) 또는 노트북과 같은 컴퓨터, 스마트 폰, 서버 등을 포함한 다양한 컴퓨팅 장치(computing device)일 수 있다.
일 실시예에서, 상기 ECG 인코더(12)는 서버로 구현될 수 있으며, ECG 인코더로의 심전도 데이터 입력은 상기 서버에 연결된 장치(예컨대, 사용자 단말 또는 신호 입력 장비) 등을 통해 수행될 수 있다.
이 경우, 서버는 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어로서, 다양한 정보를 웹 사이트로 구성하여 제공할 수 있다. 여기서, 네트워크 서버란, 사설 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어(네트워크 서버 프로그램)를 의미한다. 그러나 이러한 네트워크 서버 프로그램 이외에도, 네트워크 서버 상에서 동작하는 일련의 응용 프로그램과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 예를 들어, 각종 데이터 베이스를 포함하는 경우, ECG 인코더(12)는 클라우드와 같은 외부 데이터베이스 정보를 이용하도록 구성되며, 이 경우, ECG 인코더(12)는 동작에 따라서 외부 데이터베이스 서버(예컨대, 클라우드 서버)에 접속하여 데이터 통신할 수 있다.
일 실시예에서, 수치 벡터 산출을 위한 ECG 인코더(12)는 딥 러닝 모델(deep learning model)을 포함할 수 있는데, 딥 러닝 모델(deep learning model)은 다층의 네트워크로 이루어진 심층 신경망(deep neural network)에서 다량의 비정형적 ECG 데이터를 학습시킴으로써 각각의 심전도 데이터의 특징(feature)을 자동으로 학습하고, 이를 통해 목적 함수, 즉 예측 정확도의 에러(error)를 최소화시키는 방법으로 수치 벡터 산출을 위한 네트워크를 학습시켜 나아가는 형태이다.
일 실시예에서, ECG인코더(12)가 포함하는 딥 러닝 모델(deep learning model)은 예를 들어 CNN(Convolutional Neural Network), DHN(Deep Hierachical Network), CDBN(Convolutional Deep Belief Network), DDN(Deconvolutional Deep Network) 등을 이용할 수 있고, 바람직하게는 CNN 기반 딥 러닝 모델을 이용하지만 본 발명은 반드시 이에 제한되지 않는다.
일 실시예에서, 본 발명에서 ECG 인코더(12)에 적용된 변형된 CNN 구조는 심전도 분석에서 특히 더 적합한데 그 이유는 다음과 같다.
1) 스퀴즈 엑사이테이션 네트워크(Squeeze excitation network)의 사용: 스퀴즈 엑사이테이션 네트워크는 인코더를 통해 추출되는 수치벡터에 각 채널 별 해부학적(위치적) 정보가 효과적으로 반영되게 해주어 인코더 및 인코더로 얻어지는 수치벡터의 질(quality)를 높여준다. 다채널 심전도의 입력에서 각 채널별 입력은 심장의 특정 해부학적 위치를 반영한다. 심장의 병태생리를 진단함에 있어 해부학적 위치 정보는 매우 중요하기 때문에, 심전도로부터 임상적으로 의미있는 다수의 수치적 정보(features)를 추출함에 있어서, 각각의 수치는 자신이 반영해야 하는 특정 해부학적 구조에 적합한 정보를 취사 선택해서 비선형적으로 종합해내야 한다. 스퀴즈 엑사이테이션은 그 다음 레이어(layer)로 제공되는 레프리젠테이션(representation)을 만들 때 각 채널의 기여도를 전술한 재조정(recalibration)과정을 통해 최적화함으로써 이것을 가능하게 해준다. 구체적으로 입력단에 가까운 쪽에 적용할 경우 해부학적 구조에 따라 특정 채널에 집중하는 특징 추출(feature extraction)을 진행하게되고, 출력단에 가까운 쪽에 적용할 경우에는 비선형적으로 종합된 추상적 임상정보들을 선택하게 된다.
2) 논 로컬 네트워크(Non-local nerual network 또는 non-local network) 사용: 논 로컬 네트워크는 인코더를 통해 추출되는 수치벡터가 시간적으로 서로 떨어져있는 심전도 feature간의 interaction을 효과적으로 반영하게 해주어 인코더 및 인코더로 얻어지는 수치벡터의 질(quality)를 높여준다. 단채널/다채널 심전도의 입력에서 특정 시점에서의 심전도 파형이 갖는 임상적 의미를 해석할 때는 상기 특정 시점 전후의 심전도 파형도 고려해야 한다. 그리고 이러한 정보의 참조 및 통합 과정을 원거리의 파형 정보까지 적용하기 위해서는, 원거리에 있는 정보(feature)를 해석의 대상이 되는 현위치의 정보에 통합하는 것이 얼마나 적합한지를 학습할 수 있는 네트워크가 필요하며, 전술한 논 로컬 네트워크는 이 역할을 수행한다.
3) 스킵 커넥션(Skip connection)의 사용: 본 발명의 실시예의 ECG 인코더(12)는 입력된 데이터를 여러 층의 비선형적 변환(transformation)을 거치는 딥러닝 구조를 활용한다. 이 경우 출력단의 손실 신호(loss signal)가 입력단으로 충분히 전달되지 못하는 그래디언트 손실(gradient vanishing) 현상이 일어날 수있다. 스킵 커넥션은은 이러한 문제점을 효과적으로 줄여준다. 또한 Skip connection은 입력단의 정보를 변형을 최소화한 상태로 출력단에 반영할 수 있게 해주어 추출되는 수치 벡터가 인코더의 변환 과정에 있는 다양한 feature들을 폭넓게 반영하게 해주어 수치 벡터의 질을 높여주는 효과를 갖는다.
4) 멀티 태스크 러닝(Multi-task learning): 멀티 태스크 러닝은 먼저 언급된 네트워크 특성을 갖는 인코더 네트워크를 훈련시키는 하나의 방식으로, 인코더를 통해 얻어지는 하나의 수치벡터를 훈련 과정에서 여러 다운스트림 태스크에서 공통적으로 사용되도록 함으로써, 이러한 수치벡터가 범용성을 띄게 하는데 도움을 준다. 전술한 바와 같이 본 발명의 ECG 인코더(12)는 임베딩 과정을 통해 고정된 크기와 형식의 축약된 수치 벡터를 출력하고 이것은 여러 다운 스트림 태스크를 수행하는데 활용된다. 여기서 사용되는 수치 벡터는 다양한 목적을 위해 다양한 기계학습 알고리즘의 입력 정보로 사용되므로 환자의 포괄적인 임상적 상태를 최대한 효율적으로 추출해 내어야 한다. 본 발명의 실시예에서는 ECG 인코더(12)의 출력 벡터가 후술될 다수의 태스크를 동시에 수행하도록 구성되어 있기 때문에, 각 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 될 때 하나의 인코더 말단으로 모여 하나의 인코더를 훈련시켜, 이러한 방식으로 훈련된 인코더는 위에서 언급된 목표를 달성하는 범용성을 띈 임베딩 벡터를 생성할 수 있게 된다.
일 실시예에서, ECG 인코더(12)가 수신한 상기 심전도 데이터는 심전도 신호 또는 2차원 평면 위에 모든 채널의 심전도 신호가 도시된 심전도 이미지를 포함할 수 있다.
일 실시예에서, 심전도 데이터가 심전도 신호일 때, ECG 인코더(12)에 입력되는 심전도 신호는 다채널 또는 단채널을 포함하고, 이때 C X M(각 입력 리드(채널)의 수 X 각 채널별 측정 값의 수)의 2차원 어레이(array) 형태이다.
일 실시예에서, 심전도 데이터가 심전도 이미지일 경우, 심전도 이미지는 모든 리드(lead) 채널이 포함된 이미지 혹은 리드 채널 별로 크로핑(cropping)된 리드 채널 별 이미지로 변환되어, ECG 인코더(12)에 입력되는 심전도 이미지는 1개 혹은 그 이상의 리드 채널의 흑백 이미지 또는 3 color 채널의 R(Red), G(Green), B(Blue)로 구성된 컬러 이미지를 포함하고, 이때 C X W X H(채널수 X 가로 픽셀 수 X 세로 픽셀 수)의 3차원 어레이(array) 형태로 바꾸어 입력된다.
일 실시예에서, ECG 인코더(12)는 하나의 컨볼루션 레이어와 이에 연속되는 복수의 컨볼루션 블럭들을 포함하고, 각 컨볼루션 블럭은 복수의 연속되는 ECG 서브유닛을 포함할 수 있다. ECG 인코더(12)는 첫번째 컨볼루션 레이어와 복수의 컨볼루션 블럭들을 거치면서 심전도 데이터를 수치 벡터로 변환할 수 있다. ECG 인코더가 심전도 데이터를 수치 벡터로 변환하는 과정에 대해서는 아래의 도3 및 4를 참조하여 보다 상세하게 서술한다.
일 실시예에서, 분석부(14)는 ECG 인코더(12)에서 산출된 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단에 관한 정보 제공을 수행한다.
상기 분석부(14)의 분석 결과는 질병 예측을 포함하고, 질병을 예측하는 경우, 상기 심전도 데이터는 단일 채널 혹은 다채널 모두 가능하며, 상기 질병은 쇽, 호흡부전, 페부종, 심정지, 심인성 실신 및 급사, 급성관상동맥 증후군, 심근 경색, 고칼륨 혈증을 포함할 수 있다.
상기 분석부(14)의 분석 결과는 질병 진단을 포함하고, 질병을 진단하는 경우 심장의 리듬 이상(빈맥, 서맥, 각종 부정맥)과 심장의 구조 및 기능 이상(심부전, 심낭압전, 판막의 협착/부전, 폐동맥 고혈압, 폐색전증, 심근병증)을 포함할 수 있다.
일 실시예에서, 심전도 데이터는 일정하거나 불규칙한 시간 간격을 두고 측정한 복수의 심전도 데이터일 수 있다. 상기 각각의 심전도 데이터는, 상기 ECG 인코더를 통과하고, 그 각각의 수치 벡터를 획득하여 진단부(14)로부터 각각 진단을 얻거나, 복수의 수치벡터를 하나의 기계학습 알고리즘에 동시에 입력하여 상기 질병의 진단 혹은 질병의 호전 또는 악화 여부를 여부를 진단할 수 있다.
상기 분석부(14)는 상기 복수의 심전도 데이터로부터 얻은 수치 벡터 각각을 순차적인 벡터(sequential vector)로 배열할 수 있다. 복수의 수치 벡터를 입력으로 처리할 때는 복수의 수치 벡터를 벡터의 길이 방향으로 결합(concatenate)하여 하나의 입력으로 변환하여 하나의 멀티 레이어 퍼셉트론 네트워크(multilayer perceptron(MLP) network)에 통과시키거나, 벡터 길이의 수직 방향으로 결합하여 하나의 트랜스포머 네트워크(transformer network)에 통과시키거나, 결합하지 않고 하나의 RNN(recurrent neural network)에 검사 시행 순서에 따라 순차적으로 통과시킬 수 있다. 이때, 시간에 대한 정보를 함수를 이용해 인코딩(encoding)하여 상기 각각의 입력 수치 벡터와 결합(concatenate)하여 정확도를 높일 수 있다.
한편, 실시예들에서, 다운스트림 태스크 처리부(16)는 ECG 인코더에서 산출한 수치 벡터를 활용하여 다운스트림 태스크(downstream task)를 처리한다. 일 실시예에서, 다운 스트림 태스크의 각각의 태스크는 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행할 수 있다.
일 실시예에서, 각 태스크 별 MLP네트워크는 ECG 인코더 네트워크와 함께 훈련 되거나, ECG 인코더(12)가 먼저 훈련을 마친 후 별도로 훈련될 수 있다. 다운스트림 태스크 네트워크가 복수로 존재할 때 각각의 태스크 네트워크들은 멀티 태스크 러닝(multi-task learning)을 통해 동시에 훈련된다. 상기 다운스트림 태스크 네트워크는 ECG인코더(12)에서 출력된 수치 벡터 외에 다른 추가적인 정형 테이터 입력 정보를 받아서 예측 정확도를 높일 수 있고, 이때 추가적인 정형 테이터 입력 정보는 수치 벡터에 결합(concatenate)되거나, 별도의 다른 입력 네트워크를 통해 처리될 수 있다. 상기 추가적인 정형 데이터 입력 정보는 나이, 성별 및 심전도와 다른 생체 신호 중 하나 이상을 포함할 수 있고, 상기 심전도와 다른 생체 신호는 혈압, 맥박수, 체온, 호흡수, 동반 증상, 산소포화도 중 적어도 하나를 포함할 수 있다. 또한 정형화된 수치 검사 결과, 적절한 임베딩 과정을 거친 비정형 검사 결과(영상 검사 등) 및 자연어에 기반한 비정형 텍스트 데이터도 추가적인 입력으로 포함될 수 있다.
일 실시예에서, 질병 분석 장치(1)는 환자로부터 후향적/전향적으로 얻어지는 심전도 신호를 예컨대 실시간으로 직접 분석하여, 임상정보를 제공할 수 있는 심전도 계측 장비(예컨대, 12리드 심전도, 심전도 모니터 및 기타 단채널 혹은 다채널 심전도를 이용하는 의료 장비 등)과 결합될 수 있다.
비제한적인 일 예로서, 스마트와치, 심전도 측정 장치가 장착된 러닝 머신 등의 운동기기 등일 수 있지만 이에 제한되지 않는다.
또한, 일 실시예에서, 상기 질병 분석 장치(1)는 이미 심전도가 얻어져 종이나 화상에 출력된 시각화한 심전도의 이미지를 로컬 장비나 서버에서 직접 분석하여 임상정보를 제공하는 심전도 해석 장비와 결합될 수도 있다.
비제한적인 일 예로서, 예컨대, 앱이 설치된 기기, 카메라나 스캔장비를 이용하고 해석 알고리즘이 장착된 EHR(전자 건강 기록) 시스템 등일 수 있지만, 이에 제한되지 않는다.
한편, 심전도 데이터를 수치 벡터로 변환하여 질병 관련 분석, 예측, 진단에 관한 보조 정보를 제공하는 방법(이하 “질병 분석 방법”)은 프로세서를 포함한 컴퓨팅 장치에 의해 수행된다. 상기 프로세서를 포함한 컴퓨팅 장치는, 예를 들어 상기 질병 분석 장치(1) 또는 이의 적어도 일부 구성요소(예컨대, 획득부(10), ECG 인코더(12), 분석부(14) 및/또는 다운스트림태스크 처리부(16))[다운스트림 태스크 처리부(16)는 분석부(14) 별도로 또는 분석포(14)에 포함되어 존재할 수 있다]에 의해 수행되거나, 또는 다른 컴퓨팅 장치에 의해 수행될 수도 있다. 이하, 설명의 명료성을 위해서, 상기 질병 분석 방법이 상기 질병 분석 장치(1)에 의해 수행되는 실시예들로 본 발명을 보다 상세하게 서술한다.
도 2는 본 발명의 일 실시예에 따른 질병 분석 방법의 흐름도이다. 도 2를 참조하면, 질병 분석 방법은: 프로세서에 의해 수행되고, 딥러닝을 이용하여 심전도 신호(ECG)로부터 질병을 분석하는 방법에 있어서,(예를 들어 획득부(10)에 의해) 심전도 측정 장치로부터 심전도 데이터를 획득하는 단계(S10);(예를 들어 ECG 인코더(12)에 의해)상기 심전도 데이터를 ECG 인코더에 입력하는 단계(S121); 상기 ECG 인코더를 통해 딥러닝을 이용하여 수치 벡터를 산출하는 단계(S122); 및(예를 들어 분석부(14)에 의해)상기 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단을 수행하는 분석 단계(S14); 예를 들어 다운스트림 처리부(16)에 의해 추가적으로 또는 상기 분석부(14)에 의한 분석 단계(S14)의 일부로서 상기 수치 벡터를 활용하여 다운스트림 태스크(downstream task)를 처리하는 단계(S16)를 더 포함하고, 각각의 태스크는 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른ECG 인코더 서브유닛을 도시하는 도면이다.
도 3을 참조하면, 일 실시예에서, 상기 ECG 인코더(12)는 CNN을 기반으로 하고, 복수의 컨볼루션 블록을 포함한다.
상기 ECG 인코더(12)는 ECG 인코더 서브유닛(subunit)을 포함한다.
상기 ECG 서브유닛은 제1 컨볼루션 레이어를 제외한 나머지 컨볼루션 블록에 포함된다.
상기 ECG 인코더 서브유닛은 상기 심전도 데이터를 채널 별로 독립하여 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-seperable convolution layer)를 포함할 수 있다.
상기 ECG 인코더(12)를 구성하는 ECG 인코더 서브유닛에서 심전도 데이터(단일 채널 또는 다채널의 심전도 신호 또는 심전도 이미지)는 2차례 뎁스와이즈 세퍼러블 컨볼루션 레이어를 거치고, 스킵 커넥션(skip connection)을 통해 다음 컨볼루션 레이어의 입력 데이터로 입력된다. 뎁스 와이즈 세퍼러블 컨볼루션은 뎁스와이즈(depth-wise) 컨볼루션 후, 포인트와이즈(point-wise) 컨볼루션이 뒤따르는 형태이다.
기존 컨볼루션이 모든 채널과 로컬 정보를 고려하여 하나의 특징 맵을 만들었다면, 뎁스와이즈 세퍼러블 컨볼루션은 뎁스와이즈 컨볼루션 및 포인트와이즈 컨볼루션을 통해 출력되는 특징 맵 수를 조정한다.
일 실시예에서, 뎁스와이즈 컨볼루션은 심전도 데이터의 각 채널 별로 독립적인 필터를 갖는 컨볼루션 연산을 수행한다. 뎁스 와이즈 컨볼루션 연산기와 직접적으로 연결된 포인트 와이즈 컨볼루션(point-wise convolution) 연산기를 포함할 수도 있다. 뎁스 와이즈 컨볼루션은 C X W X H의 입력을 채널 단위로 분리하여 각각 컨볼루션 필터를 적용하여 아웃풋을 만들고 그 결과를 다시 합치면 컨볼루션 필터가 훨씬 적은 파라미터를 가지고 동일한 크기의 아웃풋을 낼 수 있다. 각 필터에 대한 연산 결과가 다른 필터로부터 독립적일 필요가 있는 경우 장점이 된다. 포인트 와이즈 컨볼루션은 1x1 Conv라고 불리는 필터로서(1차원 입력일 경우 1x), 각 채널별 정보를 다시 셔플(shuffle)해서 뽑아내는 것을 목적으로 한다. 위 방법을 통해 총 채널 수를 줄이거나 늘리는 목적으로 쓴다. 즉, 뎁스 와이즈 컨볼루션은 특징 맵의 채널 방향으로 컨볼루션을 수행하여 출력 포인트(point)를 병렬로 생성할 수 있다. 포인트 와이즈 컨볼루션은 뎁스와이즈 세퍼러블 컨볼루션을 통해 독립된 채널 별 출력 값들을 결합(concatnate)하여 공간적 지점(spatial point) 별 컨볼루션을 수행한다. 각 채널 성능 향상을 위해 입력 채널 별 출력 차원을 2개 이상으로 적용할 수 있다.
일 실시예에서, 뎁스 와이즈 세버러블 컨볼루션 후, 배치 정규화(batch normalization)를 수행할 수 있다. 각각의 레이어의 입력 분포를 일정하게 만들어 학습의 효율을 개선시킨다. 배치 정규화 외에도, 각종 비선형 활성함수(예: ReLU), 드롭아웃(Dropout) 등을 사용할 수 있다.
상기 ECG 인코더 서브유닛은 각 채널 별로 평균을 추출하여 하나의 스칼라(scalar) 값을 산출하고, 상기 채널 별 스칼라 값은 0 내지 1 사이이며, 이것들이 각각의 채널에 곱해짐으로써 각 채널의 수치들이 재조정(recalibration) 되는 스퀴즈 엑사이테이션 레이어(sqeeze-excitation layer)를 포함할 수 있다. 이것은 어떠한 채널이 중요한지 딥러닝 알고리즘이 학습할 수 있게 해준다.
스킵 커넥션은 위에서 언급한 연산 과정들을 거쳐 나온 결과 값에 기존의 입력 값을 엘리먼트-와이즈(element-wise)하게 더해준다. 만약 위 연산 과정을 통해 출력값의 채널 수가 입력값의 채널 수와 다르게 변경되었다면, 기존의 입력값을 선형 레이어(linear layer)에 통과시켜 채널 수를 맞춘 후 위 출력값에 더해준다.
도 4는 본 발명의 일 실시예에 따른 ECG 인코더를 도시하는 도면이다. 도 4를 참조하면, 일 실시예에서, 입력단의 하나의 컨볼루션 레이어와 여기에 이어지는 4개의 컨볼루션 블럭을 포함할 수 있다. 입력 데이터가 심전도 신호일 때, 제1 컨볼루션 레이어는 일반적인 7x1 컨볼루션으로 64개의 채널 출력을 갖는다. 이후 배치 정규화 레이어 및 맥스 풀링 레이어를 거친 후 4개의 컨볼루션 블록을 순차적으로 거치게 된다. 각각의 컨볼루션 블록은 2개의 순차적인 인코더 서브유닛을 포함하며, 맨 마지막 블록은 논 로컬 네트워크를 포함할 수 있다. 모든 블록을 통과하면 마지막으로 글로벌 풀링(global pooling) 과정을 거친다. 모든 컨볼루션 및 풀링 레이어의 커널 사이즈(kernel size; 예: 7x1, 5X1, 3X1), 스트라이드 사이즈(stride size), 패딩(padding) 방식 및 출력 채널 수, 그리고 블록 수, 블록 별 서브유닛 수 및 논로컬 네트워크의 배치는 모두 심전도 신호의 성상에 따라 적절하게 정할 수 있다.
일 실시예에서, 각 인코더 서브유닛은 도3을 참조하여, 일련의 뎁스와이즈 세퍼러블 컨볼루션 레이어(예: stride 2), 배치 정규화 레이어, 뎁스와이즈 세퍼러블 컨볼루션 레이어(예: stride 1), 배치 정규화 레이어, 스퀴즈 엑사이테이션 레이어 구조를 갖고 있고, 이러한 일련의 처리 과정들을 바이패스(bypass)하여 결과 백터에 더해지는 하나의 스킵 커넥션을 포함할 수 있다.
스퀴즈 엑사이테이션(squeeze-excitation)이란, 특징 맵의 압축(squeeze)과 재조정(recalibration)을 통한 스케일(scale)이 핵심인 방법론이다. 채널 관계에 초점을 맞추고 채널 간의 상호 의존성을 명시적으로 모델링하여 채널 별 특징적 응답을 적응적으로 재조정한다.
일 실시예에서, [H', W', C'] 차원을 가지는 입력 X를 [H, W, C] 차원을 가지는 출력 U로 바꿔주는 변환 Ftr: X → U가 있을 때 적용할 수 있다. 출력 U에 대해 각 채널 별 정보를 뽑아내고(Fsq), 그 정보를 바탕으로 채널 별 스칼라 가중치를 계산해(Fex) 해당 채널에 곱해주는(Fscale) 것이다. 편의를 위해, Ftr이 컨볼루션 레이어라고 가정하면, 스탠다드한 컨볼루션은 입력 채널의 개수가 C', 출력 채널의 개수가 C인 경우 총 C' X C 개의 2D 필터를 학습한다. 학습된 필터의 집합은 V= {v1, v2 … vc}, Ftr의 결과는 U = {u1,u2…uc}로 나타낸다.
Figure 112020142975217-pat00001
스퀴즈 연산은 채널의존성을 고려하기 위해, 각각의 출력 채널에 대해 정보를 뽑아낸다. 즉, 채널 정보 전체를 사용해서 채널을 대표하는 스칼라 값 z를 만든다. 일 실시예에서, Fsq가 각 채널들의 중요한 정보만 추출하기 위하여, 가장 일반적인 방법론 중 하나인 글로벌 에버리지 풀링(Global Average Pooling)을 사용할 수 있다. 글로벌 에버리지 풀링을 사용하면 학습 대상의 파라미터가 늘어나지 않는 장점이 있다.
중요한 정보들을 스퀴즈(Squeeze)했다면 재조정(Recalibration) 과정을 거치는데, 이를 엑사이테이션(Excitation) 연산이라고 하며, 채널 간 의존성(channel-wise dependencies)을 계산하게 된다. 엑사이테이션 연산 시 중요한 두 가지는 첫째, 채널간의 복잡한(non-linear) 관계를 찾을 수 있어야 하고, 원-핫 엑티베이션(one-hot activation)처럼 C개의 채널 중 하나만 골라서 가중치를 높게 하는 것이 아닌, 여러 채널을 골라서 강조할 수 있어야 한다. 이를 위해, 일 실시예에서, 완전 연결 레이어(Fully connected laye)와 비선형 함수를 조절하는 것으로 계산될 수 있다.
일 실시예에서,
Figure 112020142975217-pat00002
σ는 시그모이드(sigmoid) 함수, δ는 RELU,
Figure 112020142975217-pat00003
,
Figure 112020142975217-pat00004
이다. R은 reduction ratio로서, 차원 축소를 통해 완전 연결 레이어의 파라미터 개수를 줄이기 위한 하이퍼파라미터이다.
Figure 112020142975217-pat00005
최종적으로 계산된 S는 벡터로써, 각각의 원소 Sc는 0에서 1 사이의 값을 갖으며, 각자의 대응되는 채널에 스칼라 곱으로 적용되어 채널 별 가중치를 부여하는데 사용된다. 이것은 어떠한 채널이 중요한지 딥러닝 알고리즘이 학습할 수 있게 해준다.
일 실시예에서, 상기 인코더의 마지막 컨볼루션 블럭은 논 로컬 네트워크(non-local network)를 더 포함할 수 있다. 논 로컬 네트워크는 공간적(spatial)인 방식의 집중 메커니즘(attention mechanism)을 추가하는 것이다. 특징 맵의 특정 공간적 지점(spatial point)의 퀘리(query) 벡터와 전체 공간적 지점들의 키(key) 벡터 사이의 inner product 값을 구하고, 이를 소프트맥스(softmax) 연산을 통해 정규화(normalize)하면 특징맵의 각 위치마다 0에서 1 사이의 가중치에 해당하는 스칼라 값을 구할 수 있으며, 이를 각자에 대응되는 공간적 지점의 값(value) 벡터에 곱해서 모두 더함으로써, 특정 공간적 지점의 값(value) 벡터를 전체 공간적 지점들의 값(value)벡터들의 가중 합(weighted sum)으로 변환하게 된다. 이렇게 변환된 값에 원래의 특징 맵이 스킵 커넥션을 통해 합쳐서 출력 값을 형성한다. 위의 key, query, value에 해당하는 벡터들은 입력 특징 맵으로부터 각각의 독립적인 파라미터 함수를 이용해 계산된 것을 사용한다. 이러한 과정은 심전도 신호의 특정 시점(1차원 입력 데이터의 특정 위치에 해당함)에 있는 특징(feature)을 분석할 때, 멀리 떨어져 있는 다른 시점의 신호도 함께 고려할 수 있게 해주어, 심전도 데이터의 전체적인 맥락을 좀 더 효율적으로 판단하게 해준다. 또한 입력 데이터가 다채널 파형 신호를 2차원으로 출력한 이미지일 경우, 서로 다른 채널의 파형도 추가로 참조할 수 있게 해주는 부가적인 효과가 있다.
이와 대조적으로 일반적인 CNN은 local neighborhood만 연산하는 한계가 있다. Atrous 컨볼루션이나 큰 커널 사이즈를 사용하더라도 필터가 한번에 볼 수 있는 영역은 제한적이다. 마찬가지로 일반적인 RNN의 경우도 바로 이전의 제한된 시간 범위만 고려할 수 있는 한계가 존재한다. 이러한 시간축 또는 공간축으로 로컬한 정보만 알 수 있는 연산들은 보통 글로벌하게 보기 위해서 반복적인 연산을 수행한다. 그러나, 이러한 반복적인 연산은 비효율적이고 최적화하기 어려우며, 모델링할 때 멀티홉 의존성(multi-hop dependency)이 발생한다. 본 발명에서 사용된 논 로컬 네트워크(non-local network)는 특징 맵에서의 다른 모든 시간적 포지션(position)의 특징과,(입력이 출력된 이미지 데이터일 경우) 다른 모든 채널의 특징까지 가중 합(weighted sum)의 형태로 참조할 수 있게 해주어 이러한 제약을 극복하게 해준다. 본 발명의 실시예에서 논 로컬 네트워크는, ECG 인코더의 마지막 컨볼루션 블록에 추가되어 사용되었으나, 그것의 배치는 입력 데이터와 사용 목적에 따라 가변적이다.
일 실시예에서, 심전도 신호가 제1컨볼루션 블록 내지 제4컨볼루션 블록들을 통과하는 하나의 입력 데이터는 N(input size 및 네트워크 구조에 종속되는 output의 공간적 차원)X D(채널 사이즈) 형식의 2차원 행렬로 변환될 수 있다. 이러한 N X D의 행렬을 펼쳐서 하나의 N X D 차원 벡터로 변환하거나, 각 채널 별로 풀링(예: global average pooling)하여 D 차원적 벡터로 변환하여 ECG 신호의 전체적인 인코딩 과정을 완료한다.
추가적인 실시예에서, 각 심전도 신호의 페이스(phase)가 맞지 않을 때의 추가적인 처리 방법은 의무 기록에 저장되는 심전도들은 흔히 I, II, III / AVR, AVL, AVF / V1, V2, V3 / V4, V5, V6 방식으로 그룹 지어진 상태에서 각 그룹 별로 측정 시간이 구분되어 있어, 그룹내에서의 페이스(phase)는 일치하나 그룹 사이의 phase가 일치하지 않는다. 따라서 12 채널(channel) 전체를 하나의 네트워크로 한번에 분석하기 어려운 경우들이 있다. 본 발명의 실시예들에서는 이 경우에 각 리드(lead) 그룹 별로 위에서 기술한 ECG 인코더 네트워크(encoder network)가 따로 존재한다. 그리고 각각의 출력 벡터들을 결합(Concatenation), 추가(Addition), 집중 메커니즘(Attention mechanism) 중 한가지를 택일하여 적용하여 하나의 임베딩 벡터(embedding vector)로 종합한다.
추가적인 실시예에서, 다양한 설정을 통해 훈련된 서로 다른 복수의 인코딩 네트워크(encoding network)들을 모아서 함께 이용할 수 있는데, 위에서 기술한 ECG 인코더는 입력 신호와 처리하는 문제 및 분석하는 장비에 따라 각 컨볼루션 레이어 내 다양한 개수와 형식의 뎁스와이즈 세퍼러블 컨볼루션 레이어들이 사용될 수 있다. 또한 커널 사이즈(kernel size), 스트라이드 사이즈(stride size), padding(패딩) 방식 및 출력 사이즈 등도 컨볼루션 레이어 별로 다양하게 설정할 수 있다. 이 경우 하나의 심전도 신호에서 여러 개의 임베딩 벡터(embedding vector)들을 추출할 수 있게 되며 이 결과들을 모두 종합하여(예컨대, 결합(Concatenation), 추가(Addition), 집중 메커니즘(Attention mechanism)) 질병의 예측(prediction) 및 진단을 위해 사용할 수 있다.
일 실시예에서, 입력 데이터가 심전도 이미지인 경우, 아래의 예외들을 제외하고 기본적인 구성은 입력 데이터가 심전도 신호일 때와 동일하다. 입력 이미지를 채널별로 특정 사이즈로 리사이즈(resize) 및 크로핑(cropping)하고 정규화(normalize)하여 입력한다. 모든 컨볼루셔널 레이어 및 뎁스와이즈 세퍼러블 컨볼루션 레이어의 커널(kernel)이 2차원이다. 모든 풀링 레이어(max pooling 및 global average pooling)의 커널(kernel)이 2차원이다. 마지막 풀링(예: global average pooling) 후 출력은 기존과 동일한 N x D 혹은 D dimensional 벡터이다. 각 리드(lead) 채널 별 입력이 없이 모든 채널이 한 이미지 위에 있기 때문에 리드(혹은 리드 그룹) 별 모델을 따로 만들지 않는다.
일 실시예에서, ECG 인코더에서 산출된 수치 벡터 값을 활용하여 다운스트림 태스크를 위해 사용될 수 있다. 각각의 태스크는 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행한다. 각 태스크 별 MLP는1) ECG 인코더와 함께 동시에(jointly) 훈련되거나, 2) 먼저 훈련을 마친 ECG 인코더(12)가 출력한 임베딩 벡터를 입력으로 받아 독립적으로 훈련될 수 있다. 만약 후자의 방식을 통해 훈련이 될 경우, ECG 인코더의 가중치(weight) 값들을 고정시킨채 다운스트림 태스크 MLP만을 훈련시키되, 이러한 훈련을 마친 후 ECG 인코더의 가중치 값들의 가중치 고정을 해제하고 역전파를 통해 네트워크 전체를 추가적으로 훈련시키는 미세 조정(fine tuning) 과정을 추가할 수 있다.
일 실시예에서 각 태스크 별 MLP는 ECG인코더(12)의 산출된 수치 벡터와 다른 추가적인 정형 데이터 입력 정보를 받아서 예측 정확도를 높이게 되며, 이때 추가적인 입력 정보는 표준화(standardization)와 같은 전처리 후 수치 벡터에 결합(concatenate)되거나, 별도의 다른 입력 네트워크를 통해 처리된 후 결합되어 입력으로 처리될 수 있다.
상기 MLP의 출력 값은(여러 수치를 예측 하는) 다변량 회귀 분석의 문제 일 경우 출력된 수치 벡터들이 그대로 사용된다.
분류의 문제(여러 항목 중 한가지를 선택)일 경우 소프트맥스(Softmax) 함수를 통과하여 각 항목에 포함될 확률을 구하여 가장 높은 확률을 가진 항목을 선택한다.
특정 사건들의 발생 유무를 예측하는 문제일 경우 각각의 출력 값들을 시그모이드(Sigmoid) 함수를 통과시켜, 이것을 사건이 발생할 확률로 해석하도록 한다. 이러한 확률은 심전도 데이터를 해석하여 얻어진 조건부 확률(conditional probability)이라고 볼 수 있으며, 이것을 출력할 때에는 입력된 심전도 데이터를 고려하지 않은 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 심전도 데이터에 의해 이러한 확률이 비율 상 몇 배가 증가 했는지(conditional probability/marginal probability)를 가시적으로 보여주는 도표(예: 막대 그래프)를 디스플레이할 수 있다.
일 실시예에서, 본 발명에 포함되는 예시적인 다운스트림 태스크는 임상 진단 혹은 예측 태스크로써, 1) 심장의 리듬 이상 진단(빈맥, 서맥, 각종 부정맥 - sinus tachycardiac, sinus bradycardia, atrial fibrillation/ flutter, junctional rhythms, supraventricular tachycardia, blocks, ventricular tachycardia, ventricular fibrillation), 2) 심장의 구조 및 기능 이상 진단(심부전 - heart failure, 심낭압전 - cardiac tamponade, 판막의 협착/부전 - valvular stenosis, regurgitation, 폐동맥 고혈압 - pulmonary hypertension, 폐색전증 - pulmonary embolism, 심근병증 - cardiomyopathy) 과 3) 각종 임상 사건 예측(쇽 - shock, 호흡부전 - respiratory failure, 심정지 - cardiac arrest, 심인성 실신 - cardiac syncope 및 급사 - sudden cardiac arrest, 급성관상동맥 증후군 - acute coronary syndrome, 심근 경색 - myocardial infarction, ST상승 심근경색 - ST elevation myocardial infarction, 고칼륨 혈증 - hyperkalemia) 및 4) 각종 임상 처치 예측(승압제 투여 - vasopressor infusion, 인공호흡기 적용 - mechanical ventilation, 관상동맥 조영술 - coronary angiography and interventions및 수혈 - transfusion 등)이 포함된다.
이를 위해서 심전도 이외에 추가적인 정형 데이터 정보를 입력으로 받을 수 있으며, 상기 추가적인 정형 데이터 입력 정보는 나이, 성별 및 정형적 생체 정보(혈압, 맥박수, 호흡수, 체온, 수치 검사 결과 등) 및 적절한 변형을 통해 정형화된 비정형 정보(주증상, 기저질환, 텍스트, 방사선 및 초음파 영상 정보, 청진음과 같은 음향정보 및 각종 바이오 시그널)에 해당한다.
본 발명의 실시예들에서 ECG 인코더의 수치 벡터 (임베딩) 퀄리티를 높이고자 ECG 인코더의 훈련 과정에서 크게 3가지의 보조 학습 태스크 (지도학습/ 자가지도학습/ 비지도학습)를 적용할 수 있다.
첫번째로 지도학습(supervised learning)을 다운스트림 태스크로 병행할 수 있다. 이것은 heart rate (맥박수), pr interval (PR 간격), qrs duration (QRS 간격), qt interval (QT 간격), corrected qt interval (보정된 QT 간격), p / qrs / t wave axes (P, QRS, T 파 전기축)를 계산해 내거나, atrial fibrillation (심방세동), atrial flutter (심방조동), ectopic atrial rhythm (기외 심방 리듬), av block (1st, 2nd and third degree; 방실차단 1,2,3도), left and right bundle branch block (좌각/우각 차단), intra-ventricular conduction delay (심실내 전도장애), anterior 및 posterior fascicular block (전방/후방 각차단), ecg baseline wandering (기저선 변동 잡음), ecg signal artifact (신호 잡음), atrial premature beat complex (심방 조기 수축), ventricular premature beat complex (심실 조기 수축), pacing rhythm (페이스메이커 리듬), junctional rhythm (방실접합부 리듬), bigeminy (이단맥), trigeminy (삼단맥), supra-ventricular rhythm (심실상성리듬), ventricular rhythm (심실리듬), left ventricular hypertrophy (좌심실 비후), right ventricular hypertrophy (우심실 비후), st elevation (ST 분절 상승), ventricular repolarization (심실 재분극), myocardial infarction (심근 경색), q wave (Q 파) 각각에 해당하는 형태적 특성들의 유무를 판별하는 태스크를 시행하는 것이다. 이러한 자가지도 학습에 기반한 태스크는 이미 임상적으로 잘 정의 되어있는 상기와 같은 심전도의 형태적 특성들이 수치 벡터에 반영되도록 하여 수치벡터의 퀄리티를 높여준다.
참고로 상기 형태적 특성들은 심전도 파형에서 반복적으로 관찰되는 형태적 패턴을 의학자들 또는 임상가들이 추출하여 정의한 것을 의미한다. 이러한 형태적 특성들은 대부분 측정된 리드의 위치와 무관하고, 그 자체로만으로는 최종 진단이라고 할 수 없다.
두번째로 자가 지도학습(self-supervised learning)을 다운스트림 태스크로 병행할 수 있다. 이것은 원본 심전도 데이터를 특정 방식으로 변형한 후 1) 변형의 종류(및 내용)을 추론해 내는 방식과, 2) 변형된 입력을 이용해 원본을 복원해 내는 방식을 포함한다. 상기 1)의 방식에서 사용되는 변형들은 원본 시그널에 i) 정규분포를 따르는 노이즈 추가, ii) 원본 입력값에 특정 범위의 양의 수를 곱하는 스케일 변경, iii) 원본 입력값에 -1을 곱하는 파형 반전, iv) 원본 입력값의 시간적 배치를 역으로 바꾸는 시간 뒤집기, v) 원본 데이터를 일정한 시간간격 범위로 나눈 후 각 구간을 무작위로 배치하는 구간 뒤섞기가 있다. 이러한 변형들은 한가지 혹은 그 이상 중복으로 적용될 수 있으며, 어느 변형이(혹은 어떤 조합이) 적용되었는지 맞추는 것이 주 업무이며, 상황에 따라 변형의 구체적 내용(예: 스케일 변경 양, 구간 뒤섞기의 차례 등)도 추론하도록 훈련시킬 수 있다. 상기 2)의 방식에서 사용되는 사용되는 변형은 i) 정규본포를 따르는 노이즈 추가, ii) 특정 시간 구간을 0으로 치환(해당 구간만 복원함), iii) 무작위 비선형 커브(연속이고 미분가능한)를 원본에 더하기를 포함한다. 이 경우 원본 전체 혹은 원본의 일부분(예: 위에서 0으로 치환된 구간의 원본 값)을 추론해 내는 태스크이다. 이러한 자가지도 학습 태스크는 심전도의 형태적 특성을 수치 벡터가 더 잘 반영하도록 하여 고품질의 수치 벡터를 추출할 수 있게 해준다.
세번째로 비지도학습(unsupervised learning)을 다운스트림 태스크로 병행할 수 있다. 본 발명에서 적용되는 비지도 학습 내용은 다음과 같다. 본 발명의 네트워크 훈련과정은 다른 여타 딥러닝 네트워크들의 훈련과 마찬가지로 입력 데이터를 특정 방식으로 변형시키는 data augmentation 과정을 적용한다. 이 과정에서 하나의 심전도로 부터 N 개의 변형된 심전도 입력 데이터가 만들어지며, 이 경우 원본 심전도가 M개라면 M X N개의 심전도 입력값이 만들어 지게 된다. 이 M X N개의 심전도에서 2개의 심전도가 추출되었을 때 2개의 심전도가 원본이 같다면 이로부터 만들어지는 수치 벡터는 동일하거나 매우 유사해야 하며, 이러한 제약을 만족시키기위 위해, 본 비지도 학습 태스크에서는 기존의 loss function에, 동일한 원본으로부터 나온 두개의 augmented data point 상의 거리를 최소화하는 다음과 같은 loss term을 추가하게 된다.
Figure 112020142975217-pat00006
여기서
Figure 112020142975217-pat00007
는 임의로 조정할 수 있는 hyper-parameter이고 I는 indicator function,
Figure 112020142975217-pat00008
는 두 벡터의 거리를 말한다. 일 예로 거리를 측정하는 방식은 유클리드 거리를 사용할 수 있으나, 여기에 국한되지 않고 각 문제 상황에 따라
Figure 112020142975217-pat00009
값과 마찬가지로 변경될 수 있다. 이와 같은 loss term의 추가는 수치 벡터로부터 얻어지는 벡터 공간에서 각각의 수치벡터가 유사한 형태를 띌수록 가까이 배치되도록 인코더를 훈련시켜, 수치벡터로 정의되는 벡터공간 내에서 각 수치 벡터들이 효율적으로 배치되도록 해주어, 수치 벡터가 갖는 임베딩 퀄리티의 향상을 가져온다.
상기와 같이 지도/자가지도/비지도 학습에 기반한 보조 학습 태스크를 병행할 때, 학습을 위한 다운스트림 태스크 네트워크는 ECG 인코더 네트워크와 함께(jointly) 훈련되며, 이것은 임상적 진단/예측을 목적으로 하는 다운스트림 네트워크의 훈련에 선행하여 독립적으로 진행되거나, 상기 임상 진단/예측 네트워크의 훈련과 동시에 진행될 수 있다. 만약 선행하는 방식일 경우(pretrain), 선행 훈련을 마친 후 ECG 인코더의 가중치(weight)를 고정하고, 임상 진단/예측 네트워크만 훈련시키게 되며, 이후 필요시 ECG 인코더의 가중치 고정을 풀고, 둘 (인코더와 임상진단/예측을 위한 다운스트림 태스크 네트워크) 을 동시에 훈련하는 미세 조정(fine tuning) 과정을 적용하게 된다. 만약 자가지도 학습 네트워크와 임상 진단/예측 네트워크를 동시에 훈련시키는 경우, 가중치 업데이트는 ECG 인코더를 포함한 모든 네트워크의 가중치 전체에서 이루어지게 된다.
위에서 언급한 지도/자가지도/비지도 학습의 선행/병행 학습은 ECG 인코더가 출력해내는 수치 벡터(임베딩 벡터)가 심전도에서 보여지는 임상가들이 정의한 패턴에 해당하는 형태적 정보와, 이와 무관한 그 자체의 형태적 정보들을 추가하여 동시에 포함하도록 함으로써 그것의 범용성을 높여주고 (지도/자가지도 학습), 수치벡터가 배치되는 벡터공간을 효율적으로 재배치 해줌으로써 (비지도 학습), ECG 인코더를 미리 계획하지 않은 다른 종류의 다운스트림 태스크에 효율적으로 활용할 수 있도록 해준다. 즉 이것은 few-shot, one-shot learning을 구현하는데 더욱 도움이 되는 효과가 있다.
한편, 아래 실시예들에서, 전술한 ECG 인코더 또는 이로부터 추출된 수치 벡터의 활용 예들은 다음과 같다.
수치 벡터의 활용 예
본 발명의 예시적인 수치 벡터의 활용 예로서, 임상 진료, 구급, 재해 현장에서의 환자 진단 및 분류(Diagnosis and Triage): ECG 인코더로부터 얻어진 수치 벡터 외 추가적인 정보를 모두 결합(concatenate)하여 하나의 입력 벡터로 만들고, 그것을 새로운 다운스트림 태스크 네트워크(downstream task network)를 통과시켜 원하는 임상 진단, 임상 사건/처치 예측을 시행하는데 사용할 수 있다.
상기 추가적인 정형 데이터 정보는 나이, 성별이나 혈압, 맥박수, 체온, 호흡수, 산소포화도와 같은 생체 신호(vital signs), 각종 수치 검사 결과(laboratory test results)와 같은 기존의 정형화된 정보, 기계학습 방법을 통해 정형화된 수치 정보로 변환된 비정형 데이터(영상, 소리, 바이오 시그널 등), 자연어 처리를 통해 수치 벡터로 변형된 증상, 진단명, 의무기록 등과 같은 자연어 정보 중 적어도 하나를 포함할 수 있다.
사용되는 다운스트림 태스크 네트워크는 바람직한 일 예로 위에서 이미 언급된 배치 정규화(batch normalization), 드랍아웃 레이어(dropout layer) 및 비선형 활성화 함수(non-linear activation, 예컨대 Relu가 포함된 2개 이상의 완전 연결 층(fully-connected layer)로 구성되어 있는 멀티레이어 퍼셉트론 네트워크(Multilayer perceptron neural network)가 될 수 있으나 구체적인 구성은 사용 목적에 따라 다양할 수 있다.
새로운 다운스트림 태스크 네트워크를 훈련할 때에는 앞서 언급된 바와 같이 먼저 ECG 인코더의 가중치(weight)들을 고정시킨 후 새로운 다운스트림 네트워크의 가중치를 훈련을 통해 업데이트한 후 이어서 ECG 인코더와 다운스트림 태스크 네트워크의 가중치 전체를 추가적인 훈련을 통해 업데이트하는 미세 조정(fine tuning)을 적용할 수 있다.
본 발명의 예시적인 수치 벡터의 또 다른 활용 예로서, 심전도, 중환자 모니터 및 각종 헬스케어 장비 등에서의 활용이 있다. ECG 인코더 또는 이로부터 추출된 수치 벡터는 각종 헬스케어 장비(스마트와치, 운동기구 등)에 이용될 수 있다. 이러한 헬스케어 장비에는 수치 벡터 외에 위 활용과 동일한 방식으로 추가적인 정보를 입력으로 받아드릴 수 있다.
예를 들어, 헬스 케어 장비에 사용되는 인코더의 경우 그 특성상 심전도 신호가 단채널~4채널의 입력 데이터를 입력받게 된다. 각종 헬스케어 장비는 환자와 연결된 상태로 환자로부터 지속적으로 스트림되는 데이터를 처리해야 하기 때문에 환자로부터의 신호를 일정한 시간 간격으로 분할 후(예를 들어 5초), 각각의 분할된 데이터 구간을 ECG 인코더 및 다운스트림 태스크 네트워크를 이용해 분석하여, 각 시점별 분석 결과치나 이러한 시점별 분석 결과치의 시점별 가중 평균에 기반하여 진단 또는 예측 서비스를 제공할 수 있다. 이러한 헬스 케어 장비의 진단 또는 예측 대상은, 헬스케어 장비를 통하여 얻고자 하는 진단 또는 예측 정보로서, 예컨대 평상 시 및/또는 운동/약물 부하 시 사용자의 악화나 각종 응급상황을 포함할 수 있으며, 여기에는 부정맥, 협심증, 폐부종, 폐색전증, 급성관상동맥 증후군, 전해질 이상 등을 포함할 수 있다.
도 5는 본 발명의 또 다른 일 실시예에 따른, 반복적인 계측을 통해 얻어진 복수의 심전도 데이터로부터 얻은 수치 벡터의 활용을 도시하는 도면이다.
도 5를 참조하면, 심전도는 흔히 한 환자에서 여러 차례 시행된다. 급성 관상동맥 증후군을 의심할 때에는 수분에서 수시간 간격으로 시행되고, 안정적인 환자에서는 수주에서 수년 간격으로 시행된다. 이러한 반복적인 계측을 통해 알고자 하는 것은 시간에 따른 심전도의 형태적 변화를 의사가 임상적으로 평가하여 특정 질환/상태의 위험도를 진단하고자 함이다. 동일한 기능을 인공지능을 통해 구현하려면, 반복적으로 시행된 각각의 심전도 데이터의 비정형적인 형태적 특징을 일관적인 방식으로 수치화해야 하는데, 이러한 역할을 본 발명의 실시예의 ECG 인코더가 수행하게 된다.
즉, 먼저 특정 임상적 기준(예를 들어 시간 간격)을 충족하는 2개의 심전도를 분석하는 방식으로 각각의 심전도 데이터를 각각의 ECG 인코더를 통과시켜(두 ECG인코더는 파라미터 가중치들이 동일할 수 있다: parameter sharing) 얻은 2개의 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터로 만든다. 그리고 앞서 언급한 다운스트림 태스크 네트워크와 동일한 구조의 네트워크를 만들고 예측하고자 하는 진단을 출력값으로 설정하여 모델을 학습시킨다. 이 경우의 활용예로서는 예컨대, 급성 관상동맥 증후군, 항암제 장기 투여 후 약물부작용(심부전 발생), 수액치료 전 후 환자 상태의 개선(쇽의 호전) 혹은 악화(심부전/폐부종의 발생) 등을 들 수 있지만, 이에 제한되지 않는다.
도 6은 본 발명의 또 다른 일 실시예에 따른, N개의 순차적으로 얻어진 수치 벡터의 활용을 도시하는 도면이다.
도 6을 참조하면, 특정 임상적 기준을 만족하는 N개의 순차적으로 시행된 심전도를 하나의 ECG 인코더(12)를 통과 시킨다. 이것은 비정형 데이터인 심전도 데이터들의 임베딩에 해당하며, 이를 통해 N 개의 순차적으로 얻어진 수치 벡터를 얻게된다. 이렇게 얻어진 순차적인 임베딩 벡터들을 입력으로 정하고, 일반적인 RNN(LSTM이나 GRU) 혹은 트랜스포머(Transformer) 네트워크에 통과 시켜서 환자가 시간 경과에 따라 특정 질환이 호전/악화 되는지, 혹은 특정 임상적 이벤트가 발생할 것이지를 예측하는 학습 모델을 훈련 시켜 활용할 수 있다. 입력값으로 사용되는 순차적인 수치 벡터 각각에는 부가적인 정보를 결합(concatenate)하여 보강하여 사용할 수 있는데, 여기에는 수치 벡터로 변환된 임상 정보(나이, 성별, 혈압, 맥박수, 호흡수, 체온, 증상, 정형화된 검사 결과)들이 포함될 수 있다. 그리고 여기서 활용되는 RNN이나 Transformer 네트워크는 반복적으로 측정하여 순차적으로 구성된 수치벡터들을 처리할 수 있는 신경망 구조에 대한 하나의 예시일 뿐이고, 이 외에 유사한 기능을 할 수있는 어떠한 기계학습 알고리즘이라면 활용이 가능하다.
활용 예로서는 예컨대, 반복적으로 측정되어 온 복수의 12리드 심전도를 활용하여, 급성 관상동맥 증후군, 폐부종, 폐색전증, 호흡부전, 심정지, 고/저칼륨혈증의 위험도를 계산해내는 인공지능 알고리즘을 12 리드 심전도 기계나 전자의무기록 프로그램에 탑재할 수 있다.
또 다른 활용 예로서, 실시간으로 1개 이상의 채널을 통해 측정되는 환자의 심전도 정보를 일정한 길이(시간적 기간: 예를 들어 5초)로 잘라서 순차적인 입력으로 받아들이고, 이를 통해 급성 관상동맥 증후군, 폐부종, 폐색전증, 호흡부전, 심정지, 고/저칼륨혈증의 위험도를 실시간으로 계산해내고, 위험도가 일정 수준 이상으로 오를 경우 사용자에게 알려주는 알고리즘을 탑재한 중환자 모니터 기기 및 서버장비가 있지만, 이에 제한되지 않는다.
이상에서 상술한 질병 분석 장치는 프로세서, 메모리, 사용자 입력장치, 프레젠테이션 장치 중 적어도 일부를 포함하는 컴퓨팅 장치에 의해 구현될 수 있다.
메모리는, 프로세서에 의해 실행되면 특정 태스크를 수행할 수 있도록 코딩되어 있는 컴퓨터-판독가능 소프트웨어, 애플리케이션, 프로그램 모듈, 루틴, 명령어(instructions), 및/또는 데이터 등을 저장하는 매체이다. 프로세서는 메모리에 저장되어 있는 컴퓨터-판독가능 소프트웨어, 애플리케이션, 프로그램 모듈, 루틴, 명령어(instruction), 및/또는 데이터 등을 판독하여 실행할 수 있다. 사용자 입력장치는 사용자로 하여금 프로세서에게 특정 태스크를 실행하도록 하는 명령을 입력하거나 특정 태스크의 실행에 필요한 데이터를 입력하도록 하는 수단일 수 있다. 사용자 입력 장치는 물리적인 또는 가상적인 키보드나 키패드, 키버튼, 마우스, 조이스틱, 트랙볼, 터치-민감형 입력 수단, 또는 마이크로폰 등을 포함할 수 있다. 프레젠테이션 장치는 디스플레이, 프린터, 스피커, 또는 진동장치 등을 포함할 수 있다.
컴퓨팅 장치는 스마트폰, 태블릿, 랩탑, 데스크탑, 서버, 클라이언트 등의 다양한 장치를 포함할 수 있다. 컴퓨 팅 장치는 하나의 단일한 스탠드-얼론 장치일 수도 있고, 통신망을 통해 서로 협력하는 다수의 컴퓨팅 장치들로 이루어진 분산형 환경에서 동작하는 다수의 컴퓨팅 장치를 포함할 수 있다.
또한 상술한 질병 분석 방법은, 프로세서를 구비하고, 또한 프로세서에 의해 실행되면서 심전도 데이터를 수치 벡터로 변환하여 질병 분석 방법을 수행할 수 있도록 코딩된 컴퓨터 판독가능 소프트웨어, 애플리케이션, 프로그램 모듈, 루틴, 명령어, 및/또는 데이터 구조 등을 저장한 메모리를 구비하는 컴퓨팅 장치에 의해 실행될 수 있다.
상술한 본 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 본 실시예들에 따른 질병 분석 방법은 하나 또는 그 이상 의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러 또는 마이크로 프로세서 등에 의해 구현될 수 있다.
예를 들어 실시예들에 따른 심전도 데이터를 수치 벡터로 변환하여 질병을 분석 방법은 심층 신경망의 뉴런(neuron)과 시냅스(synapse)가 반도체 소자들로 구현된 인공지능 반도체 장치를 이용하여 구현될 수 있다. 이때 반도체 소자는 현재 사용하는 반도체 소자들, 예를 들어 SRAM이나 DRAM, NAND 등일 수도 있고, 차세대 반도체 소자들, RRA이나 STT MRAM, PRAM 등일 수도 있고, 이들의 조합일 수도 있다.
실시예들에 따른 심전도 데이터를 수치 벡터로 변환하여 질병을 분석 방법을 인공지능 반도체 장치를 이용하여 구현할 때, 신경망 모델을 소프트웨어로 학습한 결과(가중치)를 어레이로 배치된 시냅스 모방소자에 전사하거나 인공지능 반도체 장치에서 학습을 진행할 수도 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 실시예들에 따른 심전도 데이터를 수치 벡터로 변환하여 질병을 분석 방법은 이상에 서 설명된 기능 또는 동작들을 수행하는 장치, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
또한, 위에서 설명한 바와 같이, “부”, “장치”, “모듈” "시스템", "프로세서", "컨트롤러", "컴포넌트", "인터페이스", 또는 "유닛" 등의 용어는 일반적으로 컴퓨터 관련 엔티티 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실 행 중인 소프트웨어를 의미할 수 있다. 예를 들어, 전술한 구성요소는 프로세서에 의해서 구동되는 프로세스, 프로세서, 컨트롤러, 제어 프로세서, 개체, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만 이에 국한되지 않는다. 예를 들어, 컨트롤러 또는 프로세서에서 실행 중인 애플리케이션과 컨트롤러 또는 프로세서가 모두 구성 요소가 될 수 있다. 하나 이상의 구성 요소가 프로세스 및/또는 실행 스레드 내에 있을 수 있으며, 구성요소들은 하나의 장치(예: 시스템, 컴퓨팅 디바이스 등)에 위치하거나 둘 이상의 장치에 분산되어 위치할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 기술 사상의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이므로 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함 되는 것으로 해석되어야 할 것이다.

Claims (31)

  1. 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 장치로서,
    전기적 바이오 시그널 측정 장치로부터 전기적 바이오 시그널 데이터를 획득하는 획득부;
    상기 전기적 바이오 시그널 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 제1 수치 벡터를 산출하는 인코더; 및
    제1 수치 벡터를 입력 수치 벡터로 활용하여 복수의 다운스트림 태스크를 동시에 처리하는 복수의 다운스트림 태스크 처리부; 를 포함하고,
    상기 제1 수치 벡터는 전기적 바이오 시그널 데이터로부터 추출할 수 있는 해부학적 특징 및 시간적 특징 중 하나 이상을 포함하는 전기적 바이오 시그널 데이터로부터 추출된 특징들에 연관된 정형 데이터이고,
    각 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 되어 상기 인코더 말단으로 모여 상기 인코더를 훈련시켜서 제1 수치 벡터에 범용성이 향상되는 것을 특징으로 하는 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 장치.
  2. 제1항에 있어서,
    상기 제1 수치 벡터를 이용하여 질병 또는 건강 관련 분석, 예측 또는 진단 보조 정보 제공을 수행하는 분석부;를 더 포함하는 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 제1 수치 벡터는 그 자체 또는 다른 정형 데이터 정보와 결합(concatenate)되어 다운스트림 태스크 처리부의 입력 수치 벡터로 사용되는 장치.
  5. 제1항에 있어서,
    상기 인코더는 2개 이상일 수 있고, 각 인코더로부터 출력된 복수개의 제 1 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터를 제공하는 장치.
  6. 제1항에 있어서,
    N개의 순차적인 전기적 바이오 시그널 데이터를 하나의 인코더에 통과시켜 N개의 순차적인 제1 수치 벡터들을 제공하는 장치.
  7. 제1항에 있어서,
    상기 장치는, 전기적 바이오 시그널 데이터를 일정 시간 간격으로 분할한 후 각각의 분할된 데이터 구간의 정보를 상기 인코더; 또는 상기 인코더 및 다운스트림 태스크 처리부;를 통과시켜서 얻어진 시점별 결과치 또는 해당 시점별 결과치의 시점별 가중 평균에 기반하여 특정 질병에 관한 분석, 진단 또는 예측을 제공하는 장치.
  8. 제1항에 있어서,
    상기 장치는, 다운스트림 태스크의 네트워크 훈련 시 상기 인코더의 네트워크 가중치(weight)를 고정시킨 후 다운스트림 태스크의 네트워크 가중치를 훈련을 통해 수정하고, 상기 인코더의 네트워크 및 상기 다운스트림 태스크의 네트워크 가중치 전체를 추가적인 훈련을 통해 수정하는 장치.
  9. 제1항에 있어서,
    상기 복수의 다운스트림 태스크 처리부의 각각은 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(multi-layer perceptron; 이하 MLP)이 수행하는 장치.
  10. 제9항에 있어서,
    상기 MLP는 상기 인코더의 인코딩 네트워크 훈련과 함께 멀티 태스크 러닝((jointly) multi-task learning)을 통해 훈련되거나, 인코더가 먼저 훈련을 마친 이후 별도로 훈련되는 장치.
  11. 제9항에 있어서,
    상기 MLP는 상기 제1 수치 벡터와 다른(different) 추가적인 정형 데이터 입력 정보를 받을 수 있으며,
    상기 추가적인 정형 데이터 입력 정보는 나이, 성별, 생체 신호, 수치 검사 결과, 자연어 처리를 통해 정형 데이터로 변형된 자연어 기반 정형 데이터 정보 및 획득부에서 획득된 전기적 바이오 시그널 데이터와 다른 종류의 바이오 시그널 데이터로부터 변환된 정형 데이터 정보중 적어도 하나 이상을 포함하고, 상기 생체 신호는 혈압, 맥박수, 체온, 호흡수 및 산소포화도로 이루어진 그룹에서 선택되는 하나 이상을 포함하는 것이며, 상기 추가적인 정형 데이터 입력 정보는 상기 제1 수치 벡터와 결합(concatenate)되거나 상기 제1 수치 벡터와 별도로 입력되는 장치.
  12. 제9항에 있어서,
    상기 MLP가 특정 질병의 발생 유무를 예측하는 경우,
    상기 MLP의 출력 시 획득된 전기적 바이오 시그널 데이터를 고려한 특정 질병 발생 확률 및 획득된 전기적 바이오 시그널 데이터를 고려하지 않은 특정 질병 발생 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 상기 획득된 전기적 바이오 시그널 데이터를 고려한 특정 질병 발생 확률이 상기 획득된 전기적 바이오 시그널 데이터를 고려하지 않은 특정 질병 발생 확률보다 비율 상 몇 배가 증가 했는지를 디스플레이하는 디스플레이부를 더 포함하는 것을 특징으로 하는 장치.
  13. 제1항에 있어서,
    상기 인코더의 딥러닝 알고리즘은 CNN을 기반으로 하고, 인코더 서브유닛(subunit)을 포함하고,
    상기 인코더 서브유닛은 하나 이상의 컨볼루션 레이어;
    하나 이상의 완전 연결 레이어 - 상기 완전 연결 레이어는 비선형 활성화 함수를 포함함; 및
    채널별 전기적 바이오 시그널 데이터에서 추출된 특징 세트를 요약하여 대표 값을 각각 추출하고, 상기 대표 값에 기반한 채널별 특징 세트의 기여도가 반영되도록 상기 채널별 특징 세트를 재조정하는 집중 레이어를 포함하고,
    상기 특징 세트는 각 채널에 대한 해부학적 구조와 관련된 특징을 포함하고, 상기 특징 세트에 비하여 재조정된 채널별 특징 세트는 각 채널에 대한 해부학적 구조와 관련된 특징이 보다 집중된 것을 특징으로 하는 장치.
  14. 제13항에 있어서, 상기 하나 이상의 컨벌루션 레이어는,
    상기 하나 이상의 채널 각각에 대한 전기적 바이오 시그널 데이터를 개별적으로 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-seperable convolution layer)를 포함하는 것을 특징으로 하는 장치.
  15. 제13항에 있어서,
    상기 집중 레이어는 상기 특징 세트의 요약을 위해, 상기 특징 세트를 풀링(pooling) 처리하는 것을 특징으로 하는 장치.
  16. 제13항에 있어서, 상기 집중 레이어는,
    채널별 대표 값을 상기 완전 연결 레이어에 통과시켜 각 채널별 기여도를 산출하고, 상기 채널별 기여도를 상기 특징 세트에 각각 곱하여 각 채널별 특징 세트를 재조정하는 것을 특징으로 하는 장치.
  17. 제16항에 있어서,
    상기 집중 레이어는 상기 채널별 대표 값을 완전 연결 레이어에 통과시킨 결과를 특정 범위 사이의 수치로 스케일링하여 상기 채널별 기여도를 산출하는 것을 특징으로 하는 장치.
  18. 제13항에 있어서,
    상기 인코더는 복수의 컨볼루션 블록을 포함하고,
    상기 서브유닛은 제1 컨볼루션 레이어를 제외한 나머지 컨볼루션 블록에 포함된 장치.
  19. 제18항에 있어서,
    상기 컨볼루션 블록은 제1 인코더 서브유닛 및 제2 인코더 서브유닛을 포함하고,
    상기 제1 인코더 서브유닛은 상기 제2 인코더 서브유닛에 비해 상기 컨볼루션 블록의 출력단보다 입력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제2 인코더 서브유닛에 비해 상기 특징 세트를 요약하여 대표 값을 추출하는 동작에 보다 집중하고 - 상기 제1 인코더 서브유닛의 대표 값에는 상기 해부학적 구조와 관련된 특징이 상기 제2 인코더 서브유닛의 대표 값에 비해 보다 많이 반영됨,
    상기 제2 인코더 서브유닛은 상기 제1 인코더 서브유닛에 비해 상기 컨볼루션 블록의 입력단 보다 출력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제1 인코더 서브유닛에 비해 채널별 기여도에 따른 재조정 동작에 보다 집중하는 것을 특징으로 하는 장치.
  20. 제18항에 있어서,
    상기 인코더의 마지막 컨볼루션 블록은 논 로컬 네트워크(non-local network)를 더 포함하며,
    상기 논 로컬 네트워크는 상기 전기적 바이오 시그널 데이터의 공간적 지점(spatial point)간의 유사도를 비교하여 공간적 주의(spatial attention)를 구현하는 장치.
  21. 제1항에 있어서,
    상기 전기적 바이오 시그널 데이터는 단일 채널 또는 다채널의 신호이고,
    상기 인코더에 입력되는 전기적 바이오 시그널 신호는 C X M(각 입력 리드(채널)의 수 X 각 채널별 측정 값의 수)의 2차원 어레이(array) 형태인 장치.
  22. 제1항에 있어서,
    상기 전기적 바이오 시그널 데이터는 전기적 바이오 시그널 이미지이고, 상기 전기적 바이오 시그널 이미지는 2차원 평면 위에 모든 채널의 전기적 바이오 시그널 신호가 도시되고,
    상기 전기적 바이오 시그널 이미지는 모든 리드(lead) 채널이 포함된 이미지 혹은 리드 채널 별로 크로핑(cropping)된 리드 채널 별 이미지로 변환되고,
    상기 인코더에 입력되는 전기적 바이오 시그널 이미지는 1 이상의 리드 채널의 흑백 이미지, 또는 R(Red), G(Green), B(Blue) 3채널을 갖는 C X W X H(채널수 X 가로 픽셀 수 X 세로 픽셀 수)의 3차원 어레이(array) 형태로 바꾸어 입력되는 장치.
  23. 제2항에 있어서,
    상기 분석 결과는 질병 예측을 포함하고,
    상기 분석부가 질병을 예측하는 경우, 상기 전기적 바이오 시그널 데이터는 단일 채널의 전기적 바이오 시그널 데이터이고,
    상기 전기적 바이오 시그널 데이터가 심전도(ECG) 데이터인 경우, 상기 질병은 쇽(shock), 호흡부전, 심정지, 급성관상동맥증후군, 심근경색, 고칼륨 혈증을 포함하는 장치.
  24. 제2항에 있어서,
    상기 분석 결과는 상기 제1 수치 벡터를 사용하여 질병이 호전 또는 악화되었는지 여부를 결정하는 질병 진단 보조 정보를 포함하고,
    상기 분석부가 질병 진단 보조 정보를 제공하는 경우, 상기 전기적 바이오 시그널 데이터는 일정한 간격을 두고 측정한 복수의 전기적 바이오 시그널 데이터이고,
    상기 복수의 전기적 바이오 시그널 데이터 각각은, 상기 인코더의 풀링 레이어(pooling layer)를 통과하여, 진단 보조 정보를 제공하는 장치.
  25. 제2항에 있어서,
    상기 분석 결과는 질병 진단 보조 정보 제공을 포함하고,
    상기 전기적 바이오 시그널 데이터는 일정하거나 불규칙한 시간 간격을 두고 측정한 복수의 전기적 바이오 시그널 데이터이고,
    상기 분석부는 상기 복수의 전기적 바이오 시그널 데이터의 제1 수치 벡터 각각을 순차적인 벡터(sequential vector)로 배열하고,
    상기 순차적인 벡터들을 벡터의 길이 방향으로 결합(concatenate)하여 멀티 레이어 퍼셉트론 네트워크(multilayer perceptron(MLP) network)에 통과시키거나, 벡터 길이의 수직 방향으로 결합(concatenate)하여 트랜스포머 네트워크(transformer network)에 통과시키거나, 결합하지 않고 RNN에 순차적으로 통과시키고, 시간에 대한 정보를 함수를 이용해 인코딩(encoding)하여 제2 수치 벡터를 추출하여 환자가 시간 경과에 따라 특정 질병이 호전 또는 악화 되었는지 진단하는 장치.
  26. 제1항에 있어서,
    상기 인코더는 전기적 바이오 시그널 데이터의 특성들 중 임상적으로 정의된 형태적 특성들을 기초로 하여 지도학습(self-supervised learning)을 통해 훈련되는 것을 특징으로 하는 장치.
  27. 제1항에 있어서,
    상기 인코더는 전기적 바이오 시그널 데이터를 특정 방식으로 변형한 데이터를 훈련 데이터로 하여 자가 지도학습(self-supervised learning)을 통해 훈련되는 것을 특징으로 하는 장치.
  28. 제1항에 있어서,
    상기 인코더는 전기적 바이오 시그널 데이터를 증강한 데이터를 훈련 데이터로 하여, 비지도학습(unsupervised learning)을 통해 훈련되며,
    원본 전기적 바이오 시그널 데이터를 공통으로 하는 증강된 전기적 바이오 시그널 데이터들의 각각을 인코더에 입력하고, 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 조정하는 과정을 포함하는 것을 특징으로 하는 장치.
  29. 제28항에 있어서,
    상기 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 조정하는 과정은, 상기 산출된 각각의 제1 수치 벡터의 거리를 최소화 하는 것을 특징으로 하는 장치.
  30. 제1항에 있어서,
    상기 장치는 스마트 워치, 전기적 바이오 시그널 측정 장치가 장착된 의료기구 또는 운동기구, 스마트폰 앱이 설치된 기기 또는 전자건강기록 시스템과 결합된 장치.
  31. 제1항, 제2항 및 제4항 내지 제30항 중 어느 한 항에 있어서,
    상기 전기적 바이오 시그널은 심전도(ECG)인 장치.
KR1020200186808A 2020-12-29 2020-12-29 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치 KR102437594B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200186808A KR102437594B1 (ko) 2020-12-29 2020-12-29 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
EP21915854.0A EP4272645A1 (en) 2020-12-29 2021-12-29 Method and apparatus for converting electrical biosignal data into numerical vectors, and method and apparatus for analyzing disease by using same
PCT/KR2021/020227 WO2022146057A1 (ko) 2020-12-29 2021-12-29 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
CN202180088409.1A CN116782829A (zh) 2020-12-29 2021-12-29 用于将生物电信号数据转换为数值向量的方法和装置及利用其分析疾病的方法和装置
KR1020220105475A KR20220122588A (ko) 2020-12-29 2022-08-23 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200186808A KR102437594B1 (ko) 2020-12-29 2020-12-29 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220105475A Division KR20220122588A (ko) 2020-12-29 2022-08-23 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220095009A KR20220095009A (ko) 2022-07-06
KR102437594B1 true KR102437594B1 (ko) 2022-08-29

Family

ID=82259562

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200186808A KR102437594B1 (ko) 2020-12-29 2020-12-29 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
KR1020220105475A KR20220122588A (ko) 2020-12-29 2022-08-23 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220105475A KR20220122588A (ko) 2020-12-29 2022-08-23 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치

Country Status (4)

Country Link
EP (1) EP4272645A1 (ko)
KR (2) KR102437594B1 (ko)
CN (1) CN116782829A (ko)
WO (1) WO2022146057A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102600493B1 (ko) * 2023-03-21 2023-11-08 경북대학교 산학협력단 중환자실 환자의 재원 기간과 사망률 예측 장치 및 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024019567A1 (ko) * 2022-07-20 2024-01-25 주식회사 에이슬립 음향 정보에 기반하여 수면 상태를 예측하는 수면 분석 모델을 생성하기 위한 방법, 장치 및 컴퓨터 프로그램
CN116141178B (zh) * 2023-04-17 2023-07-18 杭州鄂达精密机电科技有限公司 一种半导体阀门的加工系统及其方法
CN117257324B (zh) * 2023-11-22 2024-01-30 齐鲁工业大学(山东省科学院) 基于卷积神经网络和ecg信号的房颤检测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190011026A (ko) * 2017-07-24 2019-02-01 주식회사 인바디 혈압 측정 장치 및 방법
KR102163217B1 (ko) 2018-06-14 2020-10-08 한국과학기술원 심층 컨볼루션 신경망을 이용한 심전도 부정맥 분류 방법 및 장치
KR102174232B1 (ko) * 2018-08-09 2020-11-04 연세대학교 산학협력단 생체신호 클래스 분류 장치 및 그 방법
KR102226875B1 (ko) * 2018-12-04 2021-03-11 건양대학교산학협력단 기계학습 모델을 이용한 심장질환예측 시스템, 및 방법
KR20200072154A (ko) * 2018-12-12 2020-06-22 연세대학교 산학협력단 청진음(심장음), 흉부x선 영상 및 심전도 기반 다면 빅데이터 통합 머신러닝 기술 기반 심장 질환 진단 솔루션 개발
KR102057047B1 (ko) * 2019-02-27 2019-12-18 한국과학기술정보연구원 질병 예측 장치 및 이를 이용한 질병 예측 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102600493B1 (ko) * 2023-03-21 2023-11-08 경북대학교 산학협력단 중환자실 환자의 재원 기간과 사망률 예측 장치 및 방법

Also Published As

Publication number Publication date
WO2022146057A1 (ko) 2022-07-07
KR20220095009A (ko) 2022-07-06
CN116782829A (zh) 2023-09-19
EP4272645A1 (en) 2023-11-08
KR20220122588A (ko) 2022-09-02

Similar Documents

Publication Publication Date Title
KR102437594B1 (ko) 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
Hong et al. Opportunities and challenges of deep learning methods for electrocardiogram data: A systematic review
Çınar et al. Classification of normal sinus rhythm, abnormal arrhythmia and congestive heart failure ECG signals using LSTM and hybrid CNN-SVM deep neural networks
US20220093216A1 (en) Discovering novel features to use in machine learning techniques, such as machine learning techniques for diagnosing medical conditions
Ripoll et al. ECG assessment based on neural networks with pretraining
US20230157618A1 (en) Method and System to Assess Pulmonary Hypertension Using Phase Space Tomography and Machine Learning
US11948688B2 (en) Method and system to assess disease using phase space volumetric objects
CA3069833A1 (en) Discovering genomes to use in machine learning techniques
Jang et al. Unsupervised feature learning for electrocardiogram data using the convolutional variational autoencoder
Neri et al. Electrocardiogram monitoring wearable devices and artificial-intelligence-enabled diagnostic capabilities: a review
Liu et al. Self-supervised contrastive learning for medical time series: A systematic review
Liu et al. CRT-Net: A generalized and scalable framework for the computer-aided diagnosis of Electrocardiogram signals
Ansari et al. Estimating age and gender from electrocardiogram signals: A comprehensive review of the past decade
US20230027982A1 (en) Regularized multiple-input pain assessment and trend
Hong et al. Gated temporal convolutional neural network and expert features for diagnosing and explaining physiological time series: a case study on heart rates
Ramachandran et al. Classification of Electrocardiography Hybrid Convolutional Neural Network-Long Short Term Memory with Fully Connected Layer
Li et al. Inferring ECG from PPG for Continuous Cardiac Monitoring Using Lightweight Neural Network
Shin et al. Enhancing the performance of premature ventricular contraction detection in unseen datasets through deep learning with denoise and contrast attention module
Nanthini et al. Cardiac Arrhythmia Detection and Prediction Using Deep Learning Technique
Franklin et al. Arrhythmia and Disease Classification Based on Deep Learning Techniques
Petukhov et al. Isolation of ECG Sections Associated with Signs of Cardiovascular Diseases Using the Transformer Architecture
Ye et al. Automatic Multichannel Electrocardiogram Record Classification Using XGBoost Fusion Model
ROMAISSA Automated Heartbeat Classification and Cardiovascular Disease Detection Using Deep Learning
KR20230168587A (ko) 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
Tang Improving Deep Learning for Medical Time Series Data by Modeling Multidimensional Dependencies

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant