WO2024014821A1 - 심전도 기반 신경망 모델의 학습 방법, 프로그램 및 장치 - Google Patents

심전도 기반 신경망 모델의 학습 방법, 프로그램 및 장치 Download PDF

Info

Publication number
WO2024014821A1
WO2024014821A1 PCT/KR2023/009814 KR2023009814W WO2024014821A1 WO 2024014821 A1 WO2024014821 A1 WO 2024014821A1 KR 2023009814 W KR2023009814 W KR 2023009814W WO 2024014821 A1 WO2024014821 A1 WO 2024014821A1
Authority
WO
WIPO (PCT)
Prior art keywords
ecg
learning
data
electrocardiogram
neural network
Prior art date
Application number
PCT/KR2023/009814
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020230088974A external-priority patent/KR20240009883A/ko
Application filed by 주식회사 메디컬에이아이 filed Critical 주식회사 메디컬에이아이
Publication of WO2024014821A1 publication Critical patent/WO2024014821A1/ko

Links

Images

Classifications

    • 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/319Circuits for simulating ECG signals
    • 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
    • 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

Definitions

  • the content of this disclosure relates to deep learning technology in the medical field, and specifically relates to a method of learning a model even in a situation where there is little ECG data and optimizing it into a model with high performance for the purpose of use.
  • Deep learning has a positive correlation between the amount of data (input and its labels) and model performance. Therefore, securing large-scale data is very important in creating a high-performance model.
  • the purpose of the present disclosure is to provide a method of generating a high-performance model with a small amount of data by first training a model by generating a simulated electrocardiogram and then training the first-trained model secondarily according to the purpose of use.
  • a method of learning an electrocardiogram-based neural network model performed by a computing device includes generating first electrocardiogram data using an electrocardiogram simulator or a pre-trained electrocardiogram generation model; And it may include performing first learning based on self-supervised learning on a neural network model used to determine a person's health status, based on the first electrocardiogram data.
  • the step of generating first ECG data using the ECG simulator or a pre-learned ECG generation model includes any simulated ECG signal by adjusting parameters representing characteristics of the ECG signal in the ECG simulator. It may include generating first electrocardiogram data.
  • the electrocardiogram simulator may be a simulator modeled based on ordinary differential equations.
  • the step of generating first ECG data using the ECG simulator or a pre-trained ECG generation model may include inputting ECG data including an actually measured ECG signal into the pre-learned ECG generation model, It may include generating first ECG data including a simulated ECG signal modified from an actually measured ECG signal.
  • the first learning based on self-supervised learning may include contrastive learning in which similarity between signal features is learned by comparing the first ECG data and modified data of the first ECG data. .
  • the method performs second learning corresponding to fine-tuning on the neural network model for which the first learning has been completed, based on second ECG data including actually measured ECG signals. Additional steps may be included.
  • the step of performing second learning corresponding to fine-tuning on the neural network model for which the first learning has been completed, based on second ECG data including the actually measured ECG signal includes: Inputting the second ECG data into the neural network model on which the first learning has been completed, performing second learning based on supervised learning so that the neural network model on which the first learning has been completed performs a classification task or a segmentation task. may include.
  • a computer program stored in a computer-readable storage medium When the computer program is executed on one or more processors, it performs operations for learning an electrocardiogram-based neural network model. At this time, the operations include generating first ECG data using an ECG simulator or a pre-learned ECG generation model; and performing first learning based on self-supervised learning on a neural network model used to determine a person's health status, based on the first electrocardiogram data.
  • a computing device for learning an electrocardiogram-based neural network model includes a processor including at least one core; a memory containing program codes executable on the processor; And it may include a network unit for acquiring electrocardiogram data.
  • the processor generates first ECG data using an ECG simulator or a pre-learned ECG generation model, and based on the first ECG data, for a neural network model used to determine the person's health status, You can perform the first learning based on self-supervised learning.
  • a model can be learned by generating a simulated ECG, and the learned model can be additionally trained to suit the purpose of use, thereby creating a high-performance model even with a small amount of data.
  • FIG. 1 is a block diagram of a computing device according to an embodiment of the present disclosure.
  • Figure 2 is a block diagram showing a process for learning a neural network model according to an embodiment of the present disclosure.
  • Figure 3 is a flowchart showing a method of learning an electrocardiogram-based neural network model according to an embodiment of the present disclosure.
  • the term “or” is intended to mean an inclusive “or” and not an exclusive “or.” That is, unless otherwise specified in the present disclosure or the meaning is not clear from the context, “X uses A or B” should be understood to mean one of natural implicit substitutions. For example, unless otherwise specified in the present disclosure or the meaning is not clear from the context, “X uses A or B” means that It can be interpreted as one of the cases where all B is used.
  • N is a natural number
  • N is a natural number
  • components performing different functional roles may be distinguished as first components or second components.
  • components that are substantially the same within the technical spirit of the present disclosure but must be distinguished for convenience of explanation may also be distinguished as first components or second components.
  • acquisition used in this disclosure is understood to mean not only receiving data through a wired or wireless communication network with an external device or system, but also generating data in an on-device form. It can be.
  • module refers to a computer-related entity, firmware, software or part thereof, hardware or part thereof.
  • the “module” or “unit” can be understood as a term referring to an independent functional unit that processes computing resources, such as a combination of software and hardware.
  • the “module” or “unit” may be a unit composed of a single element, or may be a unit expressed as a combination or set of multiple elements.
  • a “module” or “part” in the narrow sense is a hardware element or set of components of a computing device, an application program that performs a specific function of software, a process implemented through the execution of software, or a program. It can refer to a set of instructions for execution, etc.
  • module or “unit” may refer to the computing device itself constituting the system, or an application running on the computing device.
  • module or “unit” may be defined in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.
  • model refers to a system implemented using mathematical concepts and language to solve a specific problem, a set of software units to solve a specific problem, or a process to solve a specific problem. It can be understood as an abstract model of a process.
  • a neural network “model” may refer to an overall system implemented as a neural network that has problem-solving capabilities through learning. At this time, the neural network can have problem-solving capabilities by optimizing parameters connecting nodes or neurons through learning.
  • a neural network “model” may include a single neural network or a neural network set in which multiple neural networks are combined.
  • FIG. 1 is a block diagram of a computing device according to an embodiment of the present disclosure.
  • the computing device 100 may be a hardware device or part of a hardware device that performs comprehensive processing and calculation of data, or may be a software-based computing environment connected to a communication network.
  • the computing device 100 may be a server that performs intensive data processing functions and shares resources, or it may be a client that shares resources through interaction with the server.
  • the computing device 100 may be a cloud system in which a plurality of servers and clients interact to comprehensively process data. Since the above description is only an example related to the type of computing device 100, the type of computing device 100 may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.
  • a computing device 100 may include a processor 110, a memory 120, and a network unit 130. there is. However, since FIG. 1 is only an example, the computing device 100 may include other components for implementing a computing environment. Additionally, only some of the configurations disclosed above may be included in computing device 100.
  • the processor 110 may be understood as a structural unit including hardware and/or software for performing computing operations.
  • the processor 110 may read a computer program and perform data processing for machine learning.
  • the processor 110 may process computational processes such as processing input data for machine learning, extracting features for machine learning, and calculating errors based on backpropagation.
  • the processor 110 for performing such data processing includes a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), a tensor processing unit (TPU), and a custom processing unit (TPU). It may include a semiconductor (ASIC: application specific integrated circuit), or a field programmable gate array (FPGA: field programmable gate array). Since the type of processor 110 described above is only an example, the type of processor 110 may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.
  • the processor 110 can generate arbitrary ECG data using an ECG simulator.
  • the processor 110 may input the previously secured ECG signal to the ECG simulator.
  • the processor 110 adjusts the parameters of the ECG simulator according to user requests and generates data including ECG signals in various forms according to the characteristics of the ECG signal (e.g., P wave, QRS complex, T wave, etc.). can do. That is, when the processor 110 adjusts the parameters of the ECG simulator according to the user's request, the parameters representing the characteristics of the input ECG signal are adjusted, so that variously modified ECG signals are generated from the input ECG signal by reflecting the characteristics of the ECG signal. A signal can be generated.
  • the characteristics of the ECG signal e.g., P wave, QRS complex, T wave, etc.
  • the processor 110 may generate arbitrary ECG data using a pre-trained ECG generation model.
  • the processor 110 may input a previously secured ECG signal into an ECG generation model and generate a signal whose shape is modified from the input signal.
  • the ECG generation model may be a single model that receives additional characteristics of the ECG signal and transforms its shape to match the input characteristics, or it may be a model that includes a plurality of sub-models matched for each characteristic of the ECG signal. That is, the processor 110 can use the ECG generation model to generate variously modified ECG signals by reflecting the characteristics of the ECG signal from the input ECG signal.
  • the processor 110 generates an ECG signal through an ECG simulator or an ECG generation model, so that sufficient data necessary for learning can be prepared even in a situation where ECG data including the actually measured ECG signal is insufficient.
  • This does not simply modify the ECG shape arbitrarily, but rather modifies the shape by reflecting the characteristics of the ECG signal, so it has a significant effect in that it provides data suitable for diagnosis, prediction, and judgment using ECG data.
  • data created by a simulator or generation model is used for learning rather than data containing sensitive information such as patient personal information, there is a notable effect of increasing the freedom and utilization of data compared to actual measurement data.
  • the processor 110 performs first learning based on self-supervised learning for a neural network model used to determine a person's health status based on ECG data generated using the above-described ECG simulator or ECG generation model. You can.
  • self-supervised learning labels are not necessarily required, so even if a separate labeling task is not performed, the processor 110 uses electrocardiogram data generated through a simulator or generation model as input to determine a person's health status.
  • a neural network model can be trained.
  • the neural network model used to determine a person's health status is not only a model that directly diagnoses or predicts a person's health status, but also specific tasks (detection, classification, segmentation, etc.) required to diagnose or predict a person's health status. ) can be understood as including all models that perform.
  • the processor 110 may perform second learning corresponding to fine-tuning on the neural network model for which the first learning has been completed, based on the second ECG data including the actually measured ECG signal.
  • fine tuning can be understood as the task of transforming the model to fit the purpose of use based on the learned model.
  • model transformation can be understood as an act of finely adjusting the parameters that make up the model's neural network. For example, assuming that a model that directly predicts heart disease among human health conditions is used, the processor 110 uses the input data and label data including the electrocardiogram signal necessary for predicting heart disease, Second learning based on supervised learning can be performed on the neural network model for which the first learning has been completed.
  • the processor 110 performs the second learning corresponding to the first learning and fine tuning based on self-supervised learning, thereby creating a model with high performance according to the purpose of use even when sufficient ground truth data required for learning is not secured. can be created.
  • the memory 120 may be understood as a structural unit including hardware and/or software for storing and managing data processed in the computing device 100. That is, the memory 120 can store any type of data generated or determined by the processor 110 and any type of data received by the network unit 130.
  • the memory 120 may be a flash memory type, hard disk type, multimedia card micro type, card type memory, or random access memory (RAM). ), SRAM (static random access memory), ROM (read-only memory), EEPROM (electrically erasable programmable read-only memory), PROM (programmable read-only memory), magnetic memory , may include at least one type of storage medium among a magnetic disk and an optical disk.
  • the memory 120 may include a database system that controls and manages data in a predetermined system. Since the type of memory 120 described above is only an example, the type of memory 120 may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.
  • the memory 120 can manage data necessary for the processor 110 to perform operations, a combination of data, and program code executable on the processor 110 by structuring and organizing them.
  • the memory 120 may store ECG data received through the network unit 130, which will be described later.
  • the memory 120 includes program code that operates the neural network model to receive electrocardiogram data and perform learning, program code that operates the neural network model to receive electrocardiogram data and perform inference according to the purpose of use of the computing device 100, and Processed data generated as the program code is executed can be saved.
  • the network unit 130 may be understood as a structural unit that transmits and receives data through any type of known wired or wireless communication system.
  • the network unit 130 is a local area network (LAN), wideband code division multiple access (WCDMA), long term evolution (LTE), and WiBro (wireless).
  • broadband internet 5th generation mobile communication (5G), ultra wide-band wireless communication, ZigBee, radio frequency (RF) communication, wireless LAN, wireless fidelity ), data transmission and reception can be performed using a wired or wireless communication system such as near field communication (NFC), or Bluetooth. Since the above-described communication systems are only examples, the wired and wireless communication systems for data transmission and reception of the network unit 130 may be applied in various ways other than the above-described examples.
  • the network unit 130 may receive data necessary for the processor 110 to perform calculations through wired or wireless communication with any system or client. Additionally, the network unit 130 may transmit data generated through the calculation of the processor 110 through wired or wireless communication with any system or any client. For example, the network unit 130 may receive ECG data through communication with a database in a hospital environment, a cloud server that performs tasks such as standardization of medical data, a client such as a smart watch, or a medical computing device. The network unit 130 may transmit output data of the neural network model, intermediate data derived from the calculation process of the processor 110, processed data, etc. through communication with the above-mentioned database, server, client, or computing device. .
  • Figure 2 is a block diagram showing a process for learning a neural network model according to an embodiment of the present disclosure.
  • the process of learning the neural network model 300 includes a process A that performs first learning based on self-supervised learning and a second learning that fine-tunes the neural network model 300 on which the first learning has been completed. It can be divided into B process.
  • the ECG simulator 200 may receive data including a previously secured ECG signal and generate first ECG data 10.
  • the ECG simulator 200 may generate first ECG data 10 by modifying input data including a previously secured ECG signal.
  • the ECG simulator 200 is a simulator modeled based on ordinary differential equations, and can modify the input signal by variously adjusting parameters representing the characteristics of the ECG signal.
  • the ECG simulator 200 may be a simulator that simulates the size of the PQRST feature point of the ECG signal as a parameter.
  • the simulator can generate a simulated ECG signal with the size of the PQRST feature point modified by changing the size of the PQRST feature point of the input data through parameter adjustment. Since the above-described types of simulators are only examples, simulators that simulate parameters representing various characteristics of ECG signals can be applied to the ECG simulator 200 of the present disclosure.
  • an ECG generation model other than the ECG simulator 200 may be used.
  • various generative models including GAN (generative adversarial network), can be used as the ECG generation model.
  • GAN generative adversarial network
  • a GAN-based ECG generation model can receive an ECG signal and generate a simulated ECG signal that approximates the shape of the input signal.
  • the output of the ECG generation model may not be a simulated signal that simply approximates the form of the input signal, but may be a simulated signal that approximates the input signal although its form has been partially modified based on the PQRST feature point, which is a characteristic of the ECG signal. Since the type of ECG generation model described above is only an example, any model that generates a simulated signal by reflecting various characteristics of the ECG signal can be applied to the ECG generation model of the present disclosure.
  • the neural network model 300 may receive the first ECG data 10 and perform first learning based on self-supervised learning.
  • the first learning based on self-supervised learning may include contrastive learning in which similarity between signal features is learned by comparing the first ECG data 10 and transformed data of the first ECG data.
  • the neural network model 300 considers the first ECG data 10 and the modified data to be similar, clusters them, and other additional input data. Learning can be performed to separate the and transformed data by viewing them as dissimilar. Through this process, the neural network model 300 can learn the characteristics of the ECG signal without a label for the first ECG data 10.
  • the neural network model 300 learns the features of the ECG signal on its own, it can learn additional features in addition to the features of the general ECG signal that can be learned through general supervised learning. This can help to further improve the learning effect of the neural network model 300 when fine tuning is performed in the B process.
  • the neural network model 300 for which the first learning has been completed may receive the second ECG data 20 including the actually measured ECG signal and perform the second learning corresponding to fine tuning.
  • the second ECG data 20 may be data including actual measurement signals collected according to the user's purpose of use.
  • the neural network model 300 may receive the second ECG data 20 and perform a classification or segmentation task necessary to determine the person's health status.
  • the neural network model 300 can learn the characteristics of the ECG signal by adjusting the neural network parameters through a process of comparing the output generated by performing a classification task or a segmentation task and the label data 30. Through this process, the neural network model 300 can be constructed as a model optimized for the classification task or segmentation task required to determine a person's health status.
  • Figure 3 is a flowchart showing a method of learning an electrocardiogram-based neural network model according to an embodiment of the present disclosure.
  • the computing device 100 may generate first ECG data using an ECG simulator or a pre-trained ECG generation model (S110).
  • the computing device 100 may generate first ECG data including an ECG signal with modified ECG signal characteristics by adjusting parameters representing the characteristics of the ECG signal in the ECG simulator.
  • the computing device 100 inputs ECG data including an actually measured ECG signal into a pre-learned ECG generation model, and generates a first ECG signal including an ECG signal transformed by reflecting the characteristics of the ECG signal from the actually measured ECG signal. You can also generate data.
  • the computing device 100 may perform first learning based on self-supervised learning on a neural network model used to determine a person's health status, based on the first electrocardiogram data (S120).
  • the first learning based on self-supervised learning may include contrast learning in which similarity between signal features is learned by comparing the first ECG data and modified data of the first ECG data.
  • the computing device 100 may perform second learning corresponding to fine tuning on the neural network model for which the first learning has been completed, based on the second ECG data including the actually measured ECG signal (S130).
  • the computing device 100 may perform second learning based on supervised learning by inputting the second electrocardiogram data into the neural network model on which the first learning has been completed and allowing the neural network model on which the first learning has been completed to perform a classification task or a segmentation task. there is.

Abstract

본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 심전도 기반 신경망 모델의 학습 방법, 프로그램 및 장치가 개시된다. 상기 방법은, 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 단계; 및 상기 제 1 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행하는 단계를 포함할 수 있다.

Description

심전도 기반 신경망 모델의 학습 방법, 프로그램 및 장치
본 개시의 내용은 의료 분야의 딥러닝 기술에 관한 것으로, 구체적으로 심전도 데이터가 적은 상황에서도 모델을 학습시켜 사용 목적에 맞게 높은 성능을 갖는 모델로 최적화 시키는 방법에 관한 것이다.
딥러닝은 데이터(입력과 그에 대한 라벨)의 양과 모델 성능 사이에 양의 상관 관계가 있다. 따라서, 큰 규모의 데이터를 확보하는 것이 높은 성능의 모델을 만드는 것에 있어 아주 중요하다.
심전도와 같은 의료 데이터는 특성상 큰 규모의 데이터를 모으기 어렵다. 데이터 수집을 위해서는 병원 내 저장된 데이터에 대한 접근이 필요하며, 접근하여 데이터를 확보하더라도 라벨링을 위해서는 고도로 훈련된 전문의들이 많이 필요하다. 따라서, 심전도 데이터는 이를 모으는데 많은 비용이 들며, 특히나 라벨링 된(정제된) 데이터를 얻기 위해서는 더욱 많은 비용과 시간이 들 수 밖에 없다. 또한, 특이 질병과 관련된 데이터의 경우, 해당 케이스를 충분히 확보하는 것이 현실적으로 어려울 수 밖에 없다.
본 개시는 모의 심전도를 생성하여 모델을 1차 학습 시키고, 사용 목적에 맞게 1차 학습된 모델을 2차 학습시켜 적은 데이터로도 높은 성능의 모델을 생성하는 방법을 제공하는 것을 목적으로 한다.
다만, 본 개시에서 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재를 근거로 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 심전도 기반 신경망 모델의 학습 방법이 개시된다. 상기 방법은, 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 단계; 및 상기 제 1 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행하는 단계를 포함할 수 있다.
대안적으로, 상기 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 단계는, 상기 심전도 시뮬레이터에서 심전도 신호의 특성을 나타내는 파라미터를 조정함으로써, 임의의 모의 심전도 신호를 포함하는 제 1 심전도 데이터를 생성하는 단계를 포함할 수 있다.
대안적으로, 상기 심전도 시뮬레이터는, 상미분방정식을 기반으로 모델링 된 시뮬레이터일 수 있다.
대안적으로, 상기 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 단계는, 상기 사전 학습된 심전도 생성 모델에 실제 측정된 심전도 신호를 포함하는 심전도 데이터를 입력하여, 상기 실제 측정된 심전도 신호로부터 변형된 임의의 모의 심전도 신호를 포함하는 제 1 심전도 데이터를 생성하는 단계를 포함할 수 있다.
대안적으로, 상기 자기 지도 학습 기반의 제 1 학습은, 상기 제 1 심전도 데이터와 상기 제 1 심전도 데이터의 변형 데이터를 비교하여 신호 특징 간 유사도를 학습시키는 대조 학습(contrastive learning)을 포함할 수 있다.
대안적으로, 상기 방법은, 실제 측정된 심전도 신호를 포함하는 제 2 심전도 데이터를 기초로, 상기 제 1 학습이 완료된 신경망 모델에 대해, 미세 조정(fine-tuning)에 대응되는 제 2 학습을 수행하는 단계를 더 포함할 수 있다.
대안적으로, 실제 측정된 심전도 신호를 포함하는 제 2 심전도 데이터를 기초로, 상기 제 1 학습이 완료된 신경망 모델에 대해, 미세 조정(fine-tuning)에 대응되는 제 2 학습을 수행하는 단계는, 상기 제 2 심전도 데이터를 상기 제 1 학습이 완료된 신경망 모델에 입력하여, 상기 제 1 학습이 완료된 신경망 모델이 분류 태스트(task) 혹은 분할 태스크를 수행하도록, 지도 학습 기반의 제 2 학습을 수행하는 단계를 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램(program)이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 심전도 기반 신경망 모델의 학습을 위한 동작들을 수행하도록 한다. 이때, 상기 동작들은, 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 동작; 및 상기 제 1 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행하는 동작을 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라, 심전도 기반 신경망 모델의 학습을 위한 컴퓨팅 장치가 개시된다. 상기 장치는, 적어도 하나의 코어(core)를 포함하는 프로세서; 상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및 심전도 데이터를 획득하기 위한 네트워크부(network unit)를 포함할 수 있다. 이때, 상기 프로세서는, 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하고, 상기 제 1 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행할 수 있다.
본 개시의 방법에 따르면, 모의 심전도를 생성하여 모델을 학습 시키고, 사용 목적에 맞게 학습된 모델을 추가적으로 학습시켜 적은 데이터로도 높은 성능의 모델을 생성할 수 있다.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따라 신경망 모델을 학습시키는 과정을 나타낸 블록도이다.
도 3은 본 개시의 일 실시예에 따른 심전도 기반 신경망 모델의 학습 방법 을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 개시의 기술 분야에서 통상의 지식을 가진 자(이하, 당업자)가 용이하게 실시할 수 있도록 본 개시의 실시예가 상세히 설명된다. 본 개시에서 제시된 실시예들은 당업자가 본 개시의 내용을 이용하거나 또는 실시할 수 있도록 제공된다. 따라서, 본 개시의 실시예들에 대한 다양한 변형들은 당업자에게 명백할 것이다. 즉, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며, 이하의 실시예에 한정되지 않는다.
본 개시의 명세서 전체에 걸쳐 동일하거나 유사한 도면 부호는 동일하거나 유사한 구성요소를 지칭한다. 또한, 본 개시를 명확하게 설명하기 위해서, 도면에서 본 개시에 대한 설명과 관계없는 부분의 도면 부호는 생략될 수 있다.
본 개시에서 사용되는 "또는" 이라는 용어는 배타적 "또는" 이 아니라 내포적 "또는" 을 의미하는 것으로 의도된다. 즉, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 이해되어야 한다. 예를 들어, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다" 는 X가 A를 이용하거나, X가 B를 이용하거나, 혹은 X가 A 및 B 모두를 이용하는 경우 중 어느 하나로 해석될 수 있다.
본 개시에서 사용되는 "및/또는" 이라는 용어는 열거된 관련 개념들 중 하나 이상의 개념의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
본 개시에서 사용되는 "포함한다" 및/또는 "포함하는" 이라는 용어는, 특정 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는" 이라는 용어는, 하나 이상의 다른 특징, 다른 구성요소 및/또는 이들에 대한 조합의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 단수는 일반적으로 "하나 또는 그 이상" 을 포함할 수 있는 것으로 해석되어야 한다.
본 개시에서 사용되는 "제 N(N은 자연수)" 이라는 용어는 본 개시의 구성요소들을 기능적 관점, 구조적 관점, 혹은 설명의 편의 등 소정의 기준에 따라 상호 구별하기 위해 사용되는 표현으로 이해될 수 있다. 예를 들어, 본 개시에서 서로 다른 기능적 역할을 수행하는 구성요소들은 제 1 구성요소 혹은 제 2 구성요소로 구별될 수 있다. 다만, 본 개시의 기술적 사상 내에서 실질적으로 동일하나 설명의 편의를 위해 구분되어야 하는 구성요소들도 제 1 구성요소 혹은 제 2 구성요소로 구별될 수도 있다.
본 개시에서 사용되는 "획득" 이라는 용어는, 외부 장치 혹은 시스템과의 유무선 통신 네트워크를 통해 데이터를 수신하는 것 뿐만 아니라, 온-디바이스(on-device) 형태로 데이터를 생성하는 것을 의미하는 것으로 이해될 수 있다.
한편, 본 개시에서 사용되는 용어 "모듈(module)", 또는 "부(unit)" 는 컴퓨터 관련 엔티티(entity), 펌웨어(firmware), 소프트웨어(software) 혹은 그 일부, 하드웨어(hardware) 혹은 그 일부, 소프트웨어와 하드웨어의 조합 등과 같이 컴퓨팅 자원을 처리하는 독립적인 기능 단위를 지칭하는 용어로 이해될 수 있다. 이때, "모듈", 또는 "부"는 단일 요소로 구성된 단위일 수도 있고, 복수의 요소들의 조합 혹은 집합으로 표현되는 단위일 수도 있다. 예를 들어, 협의의 개념으로서 "모듈", 또는 "부"는 컴퓨팅 장치의 하드웨어 요소 또는 그 집합, 소프트웨어의 특정 기능을 수행하는 응용 프로그램, 소프트웨어 실행을 통해 구현되는 처리 과정(procedure), 또는 프로그램 실행을 위한 명령어 집합 등을 지칭할 수 있다. 또한, 광의의 개념으로서 "모듈", 또는 "부"는 시스템을 구성하는 컴퓨팅 장치 그 자체, 또는 컴퓨팅 장치에서 실행되는 애플리케이션 등을 지칭할 수 있다. 다만, 상술한 개념은 하나의 예시일 뿐이므로, "모듈", 또는 "부"의 개념은 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 정의될 수 있다.
본 개시에서 사용되는 "모델(model)" 이라는 용어는 특정 문제를 해결하기 위해 수학적 개념과 언어를 사용하여 구현되는 시스템, 특정 문제를 해결하기 위한 소프트웨어 단위의 집합, 혹은 특정 문제를 해결하기 위한 처리 과정에 관한 추상화 모형으로 이해될 수 있다. 예를 들어, 신경망(neural network) "모델" 은 학습을 통해 문제 해결 능력을 갖는 신경망으로 구현되는 시스템 전반을 지칭할 수 있다. 이때, 신경망은 노드(node) 혹은 뉴런(neuron)을 연결하는 파라미터(parameter)를 학습을 통해 최적화하여 문제 해결 능력을 가질 수 있다. 신경망 "모델" 은 단일 신경망을 포함할 수도 있고, 복수의 신경망들이 조합된 신경망 집합을 포함할 수도 있다.
전술한 용어의 설명은 본 개시의 이해를 돕기 위한 것이다. 따라서, 전술한 용어를 본 개시의 내용을 한정하는 사항으로 명시적으로 기재하지 않은 경우, 본 개시의 내용을 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록 구성도이다.
본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 데이터의 종합적인 처리 및 연산을 수행하는 하드웨어 장치 혹은 하드웨어 장치의 일부일 수도 있고, 통신 네트워크로 연결되는 소프트웨어 기반의 컴퓨팅 환경일 수도 있다. 예를 들어, 컴퓨팅 장치(100)는 집약적 데이터 처리 기능을 수행하고 자원을 공유하는 주체인 서버일 수도 있고, 서버와의 상호 작용을 통해 자원을 공유하는 클라이언트(client)일 수도 있다. 또한, 컴퓨팅 장치(100)는 복수의 서버들 및 클라이언트들이 상호 작용하여 데이터를 종합적으로 처리하는 클라우드 시스템(cloud system)일 수도 있다. 상술한 기재는 컴퓨팅 장치(100)의 종류와 관련된 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
도 1을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 프로세서(processor)(110), 메모리(memory)(120), 및 네트워크부(network unit)(130)를 포함할 수 있다. 다만, 도 1은 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)는 컴퓨팅 환경을 구현하기 위한 다른 구성들을 포함할 수 있다. 또한, 상기 개시된 구성들 중 일부만이 컴퓨팅 장치(100)에 포함될 수도 있다.
본 개시의 일 실시예에 따른 프로세서(110)는 컴퓨팅 연산을 수행하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 예를 들어, 프로세서(110)는 컴퓨터 프로그램을 판독하여 기계 학습을 위한 데이터 처리를 수행할 수 있다. 프로세서(110)는 기계 학습을 위한 입력 데이터의 처리, 기계 학습을 위한 특징 추출, 역전파(backpropagation)에 기반한 오차 계산 등과 같은 연산 과정을 처리할 수 있다. 이와 같은 데이터 처리를 수행하기 위한 프로세서(110)는 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit), 주문형 반도체(ASIC: application specific integrated circuit), 혹은 필드 프로그래머블 게이트 어레이(FPGA: field programmable gate array) 등을 포함할 수 있다. 상술한 프로세서(110)의 종류는 하나의 예시일 뿐이므로, 프로세서(110)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
프로세서(110)는 심전도 시뮬레이터를 이용하여 임의의 심전도 데이터를 생성할 수 있다. 프로세서(110)는 기 확보된 심전도 신호를 심전도 시뮬레이터에 입력할 수 있다. 프로세서(110)는 사용자 요청에 맞추어 심전도 시뮬레이터의 파라미터를 조정하여, 심전도 신호의 특성(예를 들어, P파, QRS 복합체, T파 등)에 맞추어 다양한 형태를 갖는 심전도 신호를 포함하는 데이터를 생성할 수 있다. 즉, 프로세서(110)가 사용자 요청에 맞추어 심전도 시뮬레이터의 파라미터를 조정하게 되면, 입력된 심전도 신호의 특성을 나타내는 파라미터가 조정되므로, 입력된 심전도 신호로부터 심전도 신호의 특성을 반영하여 다양하게 변형된 심전도 신호가 생성될 수 있다.
프로세서(110)는 사전 학습된 심전도 생성 모델을 이용하여 임의의 심전도 데이터를 생성할 수도 있다. 프로세서(110)는 기 확보된 심전도 신호를 심전도 생성 모델에 입력하여, 입력 신호로부터 형태가 변형된 신호를 생성할 수 있다. 이때, 심전도 생성 모델은 심전도 신호의 특성을 추가 입력받아 입력된 특성에 맞추어 형태를 변형하는 단일 모델일 수도 있고, 심전도 신호의 특성 별로 매칭되는 복수의 서브 모델들을 포함하는 모델일 수도 있다. 즉, 프로세서(110)는 심전도 생성 모델을 이용하여, 입력된 심전도 신호로부터 심전도 신호의 특성을 반영하여 다양하게 변형된 심전도 신호를 생성할 수 있다.
이와 같이 프로세서(110)는 심전도 시뮬레이터 혹은 심전도 생성 모델을 통해 심전도 신호를 생성함으로써, 실제 측정된 심전도 신호를 포함하는 심전도 데이터가 부족한 상황에서도 학습에 필요한 데이터를 충분히 마련할 수 있다. 이는 단순히 심전도 형태를 임의로 변형시키는 것이 아닌, 심전도 신호의 특성을 반영하여 형태를 변형시키는 것이므로, 심전도 데이터를 이용한 진단, 예측, 판단 등에 적합한 데이터를 마련한다는 점에서 현저한 효과가 있다. 또한, 환자 개인 정보 등 민감 정보가 포함된 데이터가 아닌 시뮬레이터 혹은 생성 모델로 만들어진 데이터가 학습에 사용되므로, 실제 측정 데이터 대비 데이터 사용의 자유도 및 활용도가 높다는 현저한 효과가 있다.
프로세서(110)는 상술한 심전도 시뮬레이터 혹은 심전도 생성 모델을 사용하여 생성된 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행할 수 있다. 자기 지도 학습의 경우, 라벨이 반드시 요구되지 않으므로, 별도의 라벨링 작업이 수행되지 않더라도 프로세서(110)는 시뮬레이터 혹은 생성 모델을 통해 생성된 심전도 데이터를 입력으로 사용하여 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델을 학습시킬 수 있다. 여기서 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델은, 사람의 건강 상태를 진단 혹은 예측을 직접 수행하는 모델 뿐만 아니라 사람의 건강 상태를 진단 혹은 예측하기 위해 필요한 특정한 태스크(탐지, 분류, 분할 등)를 수행하는 모델을 모두 포함하는 것으로 이해될 수 있다.
프로세서(110)는 실제 측정된 심전도 신호를 포함하는 제 2 심전도 데이터를 기초로, 제 1 학습이 완료된 신경망 모델에 대해, 미세 조정(fine-tuning)에 대응되는 제 2 학습을 수행할 수 있다. 여기서 미세 조정은 학습된 모델을 기반으로 사용 목적에 맞추어 모델을 변형하는 작업으로 이해될 수 있다. 이때, 모델의 변형은 모델의 신경망을 구성하는 파라미터를 미세하게 조정하는 행위로 이해될 수 있다. 예를 들어, 사람의 건강 상태 중에서 심장 질환에 대한 예측을 직접 수행하는 모델을 사용한다고 가정하면, 프로세서(110)는 심장 질환의 예측에 필요한 심전도 신호가 포함된 입력 데이터와 라벨 데이터를 기초로, 제 1 학습이 완료된 신경망 모델에 대해, 지도 학습 기반의 제 2 학습을 수행할 수 있다.
이와 같이 프로세서(110)는 자기 지도 학습 기반의 제 1 학습 및 미세 조정에 대응되는 제 2 학습을 수행함으로써, 학습에 필요한 실측 데이터가 충분히 확보되지 않은 상태에서도 사용 목적에 맞추어 높은 성능을 갖춘 모델을 생성할 수 있다.
본 개시의 일 실시예에 따른 메모리(120)는 컴퓨팅 장치(100)에서 처리되는 데이터를 저장하고 관리하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 즉, 메모리(120)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 데이터 및 네트워크부(130)가 수신한 임의의 형태의 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리, 램(RAM: random access memory), 에스램(SRAM: static random access memory), 롬(ROM: read-only memory), 이이피롬(EEPROM: electrically erasable programmable read-only memory), 피롬(PROM: programmable read-only memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(120)는 데이터를 소정의 체제로 통제하여 관리하는 데이터베이스(database) 시스템을 포함할 수도 있다. 상술한 메모리(120)의 종류는 하나의 예시일 뿐이므로, 메모리(120)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
메모리(120)는 프로세서(110)가 연산을 수행하는데 필요한 데이터, 데이터의 조합, 및 프로세서(110)에서 실행 가능한 프로그램 코드(code) 등을 구조화 및 조직화 하여 관리할 수 있다. 예를 들어, 메모리(120)는 후술할 네트워크부(130)를 통해 수신된 심전도 데이터를 저장할 수 있다. 메모리(120)는 신경망 모델이 심전도 데이터를 입력받아 학습을 수행하도록 동작시키는 프로그램 코드, 신경망 모델이 심전도 데이터를 입력받아 컴퓨팅 장치(100)의 사용 목적에 맞춰 추론을 수행하도록 동작시키는 프로그램 코드, 및 프로그램 코드가 실행됨에 따라 생성된 가공 데이터 등을 저장할 수 있다.
본 개시의 일 실시예에 따른 네트워크부(130)는 임의의 형태의 공지된 유무선 통신 시스템을 통해 데이터를 송수신하는 구성 단위로 이해될 수 있다. 예를 들어, 네트워크부(130)는 근거리 통신망(LAN: local area network), 광대역 부호 분할 다중 접속(WCDMA: wideband code division multiple access), 엘티이(LTE: long term evolution), 와이브로(WiBro: wireless broadband internet), 5세대 이동통신(5G), 초광역대 무선통신(ultra wide-band), 지그비(ZigBee), 무선주파수(RF: radio frequency) 통신, 무선랜(wireless LAN), 와이파이(wireless fidelity), 근거리 무선통신(NFC: near field communication), 또는 블루투스(Bluetooth) 등과 같은 유무선 통신 시스템을 사용하여 데이터 송수신을 수행할 수 있다. 상술한 통신 시스템들은 하나의 예시일 뿐이므로, 네트워크부(130)의 데이터 송수신을 위한 유무선 통신 시스템은 상술한 예시 이외에 다양하게 적용될 수 있다.
네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)가 연산을 수행하는데 필요한 데이터를 수신할 수 있다. 또한, 네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)의 연산을 통해 생성된 데이터를 송신할 수 있다. 예를 들어, 네트워크부(130)는 병원 환경 내 데이터베이스, 의료 데이터의 표준화 등의 작업을 수행하는 클라우드 서버, 스마트 워치와 같은 클라이언트 혹은 의료용 컴퓨팅 장치 등과의 통신을 통해 심전도 데이터를 수신할 수 있다. 네트워크부(130)는 전술한 데이터베이스, 서버, 클라이언트 혹은 컴퓨팅 장치 등과의 통신을 통해, 신경망 모델의 출력 데이터, 및 프로세서(110)의 연산 과정에서 도출되는 중간 데이터, 가공 데이터 등을 송신할 수 있다.
도 2는 본 개시의 일 실시예에 따라 신경망 모델을 학습시키는 과정을 나타낸 블록도이다.
도 2를 참조하면, 신경망 모델(300)을 학습시키는 과정은 자기 지도 학습 기반의 제 1 학습을 수행하는 A 과정과 제 1 학습이 완료된 신경망 모델(300)을 미세 조정하는 제 2 학습을 수행하는 B 과정으로 구분될 수 있다.
A과정에서, 심전도 시뮬레이터(200)는 기 확보된 심전도 신호를 포함한 데이터를 입력받아 제 1 심전도 데이터(10)를 생성할 수 있다. 심전도 시뮬레이터(200)는 기 확보된 심전도 신호를 포함한 입력 데이터를 변형하여 제 1 심전도 데이터(10)를 생성할 수 있다. 이때, 심전도 시뮬레이터(200)는 상미분방정식을 기반으로 모델링 된 시뮬레이터로서, 심전도 신호의 특성을 나타내는 파라미터를 다양하게 조정하여 입력 신호를 변형할 수 있다. 예를 들어, 심전도 시뮬레이터(200)는 심전도 신호의 PQRST 특징점의 크기를 파라미터로 모사한 시뮬레이터일 수 있다. 해당 시뮬레이터는 파라미터 조정을 통해 입력 데이터의 PQRST 특징점의 크기를 변형함으로써, PQRST 특징점의 크기가 변형된 모의 심전도 신호를 생성할 수 있다. 상술한 시뮬레이터의 종류는 하나의 예시일 뿐이므로, 심전도 신호의 다양한 특성을 나타내는 파라미터를 모사하는 시뮬레이터는 본 개시의 심전도 시뮬레이터(200)에 모두 적용될 수 있다.
도 2에 도시되지 않았으나, 제 1 심전도 데이터(10)를 생성하기 위해, 심전도 시뮬레이터(200)가 아닌 심전도 생성 모델이 사용될 수도 있다. 이때, 심전도 생성 모델로는 GAN(generative adversarial network)을 비롯한 다양한 생성형 모델이 사용될 수 있다. 예를 들어, GAN 기반의 심전도 생성 모델은 심전도 신호를 입력받아 입력 신호의 형태에 근사한 모의 심전도 신호를 생성할 수 있다. 이때, 심전도 생성 모델의 출력은 입력 신호의 형태에 단순히 근사한 모의 신호가 아닌 심전도 신호의 특성인 PQRST 특징점을 기준으로 일부 형태가 변형되었지만 입력 신호에 근사한 모의 신호일 수 있다. 상술한 심전도 생성 모델의 종류는 하나의 예시일 뿐이므로, 심전도 신호의 다양한 특성을 반영하여 모의 신호를 생성하는 모델은 본 개시의 심전도 생성 모델에 모두 적용될 수 있다.
신경망 모델(300)은 제 1 심전도 데이터(10)를 입력받아 자기 지도 학습 기반의 제 1 학습을 수행할 수 있다. 이때, 자기 지도 학습 기반의 제 1 학습은, 제 1 심전도 데이터(10)와 제 1 심전도 데이터의 변형 데이터를 비교하여 신호 특징 간 유사도를 학습시키는 대조 학습(contrastive learning)을 포함할 수 있다. 예를 들어, 제 1 심전도 데이터(10)에 대한 데이터 증강을 통해 변형 데이터가 생성되면, 신경망 모델(300)은 제 1 심전도 데이터(10)와 변형 데이터는 유사한 것으로 보고 군집화 하고, 다른 추가 입력 데이터와 변형 데이터는 유사하지 않은 것으로 보고 분리하도록 학습을 수행할 수 있다. 이러한 과정을 통해 신경망 모델(300)은 제 1 심전도 데이터(10)에 대한 라벨이 없이도 심전도 신호의 특징을 학습할 수 있다. 그리고, 신경망 모델(300)은 심전도 신호의 특징을 자체적으로 학습하므로, 일반적인 지도 학습을 통해 학습할 수 있는 일반적인 심전도 신호의 특징 이외에 추가적인 특징들을 학습할 수 있다. 이는 B 과정에서 미세 조정이 수행될 때 신경망 모델(300)의 학습 효과를 더욱 향상시킬 수 있도록 도와줄 수 있다.
B 과정에서, 제 1 학습이 완료된 신경망 모델(300)은 실제 측정된 심전도 신호를 포함하는 제 2 심전도 데이터(20)를 입력받아 미세 조정에 대응되는 제 2 학습을 수행할 수 있다. 이때, B 과정은 신경망 모델(300)을 사용자의 사용 목적에 맞추어 최적화 시키기 위해서 수행되는 것이므로, 제 2 심전도 데이터(20)는 사용자의 사용 목적에 따라 수집된 실측 신호를 포함하는 데이터일 수 있다. 예를 들어, 신경망 모델(300)은 제 2 심전도 데이터(20)를 입력받아 사람의 건강 상태를 판단하기 위해 필요한 분류 태스크 혹은 분할 태스크를 수행할 수 있다. 신경망 모델(300)은 분류 태스크 혹은 분할 태스크를 수행하여 생성한 출력과 라벨 데이터(30)를 비교하는 과정을 통해 신경망 파라미터를 조정하여 심전도 신호의 특징을 학습할 수 있다. 이러한 과정을 통해 신경망 모델(300)은 사람의 건강 상태를 판단하기 위해 필요한 분류 태스크 혹은 분할 태스크에 최적화된 모델로 구축될 수 있다.
도 3은 본 개시의 일 실시예에 따른 심전도 기반 신경망 모델의 학습 방법 을 나타낸 순서도이다.
도 3을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성할 수 있다(S110). 컴퓨팅 장치(100)는 심전도 시뮬레이터에서 심전도 신호의 특성을 나타내는 파라미터를 조정함으로써, 심전도 신호의 특성이 변형된 심전도 신호를 포함하는 제 1 심전도 데이터를 생성할 수 있다. 컴퓨팅 장치(100)는 사전 학습된 심전도 생성 모델에 실제 측정된 심전도 신호를 포함하는 심전도 데이터를 입력하여, 실제 측정된 심전도 신호로부터 심전도 신호의 특성을 반영하여 변형된 심전도 신호를 포함하는 제 1 심전도 데이터를 생성할 수도 있다.
컴퓨팅 장치(100)는 제 1 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행할 수 있다(S120). 이때, 자기 지도 학습 기반의 제 1 학습은 제 1 심전도 데이터와 제 1 심전도 데이터의 변형 데이터를 비교하여 신호 특징 간 유사도를 학습시키는 대조 학습을 포함할 수 있다.
컴퓨팅 장치(100)는 실제 측정된 심전도 신호를 포함하는 제 2 심전도 데이터를 기초로, 제 1 학습이 완료된 신경망 모델에 대해, 미세 조정 에 대응되는 제 2 학습을 수행할 수 있다(S130). 컴퓨팅 장치(100)는 제 2 심전도 데이터를 제 1 학습이 완료된 신경망 모델에 입력하여, 제 1 학습이 완료된 신경망 모델이 분류 태스트 혹은 분할 태스크를 수행하도록, 지도 학습 기반의 제 2 학습을 수행할 수 있다.
앞서 설명된 본 개시의 다양한 실시예는 추가 실시예와 결합될 수 있고, 상술한 상세한 설명에 비추어 당업자가 이해 가능한 범주에서 변경될 수 있다. 본 개시의 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해되어야 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다. 따라서, 본 개시의 특허청구범위의 의미, 범위 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (9)

  1. 적어도 하나의 프로세서(processor)를 포함하는 컴퓨팅 장치에 의해 수행되는, 심전도 기반 신경망 모델의 학습 방법으로서,
    심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 단계; 및
    상기 제 1 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행하는 단계;
    를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 단계는,
    상기 심전도 시뮬레이터에서 심전도 신호의 특성을 나타내는 파라미터를 조정함으로써, 심전도 신호의 특성이 변형된 심전도 신호를 포함하는 제 1 심전도 데이터를 생성하는 단계;
    를 포함하는,
    방법.
  3. 상기 제 2 항에 있어서,
    상기 심전도 시뮬레이터는,
    상미분방정식을 기반으로 모델링 된 시뮬레이터인,
    방법.
  4. 제 1 항에 있어서,
    상기 심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 단계는,
    상기 사전 학습된 심전도 생성 모델에 실제 측정된 심전도 신호를 포함하는 심전도 데이터를 입력하여, 상기 실제 측정된 심전도 신호로부터 심전도 신호의 특성을 반영하여 변형된 심전도 신호를 포함하는 제 1 심전도 데이터를 생성하는 단계;
    를 포함하는,
    방법.
  5. 제 1 항에 있어서,
    상기 자기 지도 학습 기반의 제 1 학습은,
    상기 제 1 심전도 데이터와 상기 제 1 심전도 데이터의 변형 데이터를 비교하여 신호 특징 간 유사도를 학습시키는 대조 학습(contrastive learning)을 포함하는,
    방법.
  6. 제 1 항에 있어서,
    실제 측정된 심전도 신호를 포함하는 제 2 심전도 데이터를 기초로, 상기 제 1 학습이 완료된 신경망 모델에 대해, 미세 조정(fine-tuning)에 대응되는 제 2 학습을 수행하는 단계;
    를 더 포함하는,
    방법.
  7. 제 6 항에 있어서,
    실제 측정된 심전도 신호를 포함하는 제 2 심전도 데이터를 기초로, 상기 제 1 학습이 완료된 신경망 모델에 대해, 미세 조정(fine-tuning)에 대응되는 제 2 학습을 수행하는 단계는,
    상기 제 2 심전도 데이터를 상기 제 1 학습이 완료된 신경망 모델에 입력하여, 상기 제 1 학습이 완료된 신경망 모델이 분류 태스트(task) 혹은 분할 태스크를 수행하도록, 지도 학습 기반의 제 2 학습을 수행하는 단계;
    를 포함하는,
    방법.
  8. 컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램(program)으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서(processor)에서 실행되는 경우, 심전도 기반 신경망 모델의 학습을 위한 동작들을 수행하도록 하며,
    상기 동작들은,
    심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하는 동작; 및
    상기 제 1 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행하는 동작;
    을 포함하는,
    컴퓨터 프로그램.
  9. 심전도 기반 신경망 모델의 학습을 위한 컴퓨팅 장치로서,
    적어도 하나의 코어(core)를 포함하는 프로세서(processor);
    상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및
    심전도 데이터를 획득하기 위한 네트워크부(network unit);
    를 포함하고,
    상기 프로세서는,
    심전도 시뮬레이터 혹은 사전 학습된 심전도 생성 모델을 이용하여 제 1 심전도 데이터를 생성하고,
    상기 제 1 심전도 데이터를 기초로, 사람의 건강 상태를 판단하기 위해 사용되는 신경망 모델에 대해, 자기 지도 학습 기반의 제 1 학습을 수행하는,
    장치.
PCT/KR2023/009814 2022-07-14 2023-07-11 심전도 기반 신경망 모델의 학습 방법, 프로그램 및 장치 WO2024014821A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0086811 2022-07-14
KR20220086811 2022-07-14
KR1020230088974A KR20240009883A (ko) 2022-07-14 2023-07-10 심전도 기반 신경망 모델의 학습 방법, 프로그램 및장치
KR10-2023-0088974 2023-07-10

Publications (1)

Publication Number Publication Date
WO2024014821A1 true WO2024014821A1 (ko) 2024-01-18

Family

ID=89537082

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/009814 WO2024014821A1 (ko) 2022-07-14 2023-07-11 심전도 기반 신경망 모델의 학습 방법, 프로그램 및 장치

Country Status (1)

Country Link
WO (1) WO2024014821A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108714026A (zh) * 2018-03-27 2018-10-30 杭州电子科技大学 基于深度卷积神经网络和在线决策融合的细粒度心电信号分类方法
KR20200041697A (ko) * 2018-10-12 2020-04-22 계명대학교 산학협력단 심혈관 질환 종류에 따른 심전도 패턴 시뮬레이션 생체신호 구현 시스템 및 방법
KR20210058676A (ko) * 2019-11-13 2021-05-24 영남대학교 산학협력단 심장신호 처리장치 및 방법, 이를 포함하는 모니터링 시스템
KR20220036292A (ko) * 2020-09-15 2022-03-22 주식회사 뷰노 심전도 데이터 분류를 위한 심층 신경망 사전 학습 방법
KR20220059711A (ko) * 2020-11-03 2022-05-10 주식회사 포스코아이씨티 심전도 추정을 사용한 수면분석 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108714026A (zh) * 2018-03-27 2018-10-30 杭州电子科技大学 基于深度卷积神经网络和在线决策融合的细粒度心电信号分类方法
KR20200041697A (ko) * 2018-10-12 2020-04-22 계명대학교 산학협력단 심혈관 질환 종류에 따른 심전도 패턴 시뮬레이션 생체신호 구현 시스템 및 방법
KR20210058676A (ko) * 2019-11-13 2021-05-24 영남대학교 산학협력단 심장신호 처리장치 및 방법, 이를 포함하는 모니터링 시스템
KR20220036292A (ko) * 2020-09-15 2022-03-22 주식회사 뷰노 심전도 데이터 분류를 위한 심층 신경망 사전 학습 방법
KR20220059711A (ko) * 2020-11-03 2022-05-10 주식회사 포스코아이씨티 심전도 추정을 사용한 수면분석 장치

Similar Documents

Publication Publication Date Title
US20220036135A1 (en) Method and apparatus for determining image to be labeled and model training method and apparatus
EP4250189A1 (en) Model training method, data processing method and apparatus
US20180300621A1 (en) Learning dependencies of performance metrics using recurrent neural networks
EP4212100A1 (en) Electroencephalogram signal classification method and apparatus, and device, storage medium and program product
US20190095793A1 (en) Sensor quality upgrade framework
US20210406687A1 (en) Method for predicting attribute of target object based on machine learning and related device
CN109326353A (zh) 预测疾病终点事件的方法、装置及电子设备
WO2022012668A1 (zh) 一种训练集处理方法和装置
Jiang et al. Distributed deep learning optimized system over the cloud and smart phone devices
CN113569891A (zh) 一种神经网络模型的训练数据处理、装置、电子设备及存储介质
Nelson et al. An efficient AlexNet deep learning architecture for automatic diagnosis of cardio-vascular diseases in healthcare system
Goyal et al. IoT based cloud network for smart health care using optimization algorithm
WO2024014821A1 (ko) 심전도 기반 신경망 모델의 학습 방법, 프로그램 및 장치
CN116739154A (zh) 一种故障预测方法及其相关设备
Bhatt et al. Artificial neural network‐driven federated learning for heart stroke prediction in healthcare 4.0 underlying 5G
Goyal et al. Internet of things information analysis using fusion based learning with deep Neural Network
Bharathi et al. Energy Aware Clustering with Medical Data Classification Model in IoT Environment.
CN112397194B (zh) 用于生成患者病情归因解释模型的方法、装置和电子设备
KR20240009883A (ko) 심전도 기반 신경망 모델의 학습 방법, 프로그램 및장치
WO2024019523A1 (ko) 심전도를 이용한 건강 상태의 예측 방법, 프로그램 및 장치
Christal et al. Heart diseases diagnosis using chaotic Harris Hawk optimization with E-CNN for IoMT framework
Singh et al. Retracted: A software‐based framework for the development of smart healthcare systems using fog computing
WO2024019500A1 (ko) 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치
Pal et al. Machine Learning-Based Sustainable Dew Computing: Classical to Quantum
Rajinikanth et al. Energy Efficient Cluster Based Clinical Decision Support System in IoT Environment.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23839913

Country of ref document: EP

Kind code of ref document: A1