WO2023048437A1 - 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치 - Google Patents

의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치 Download PDF

Info

Publication number
WO2023048437A1
WO2023048437A1 PCT/KR2022/013833 KR2022013833W WO2023048437A1 WO 2023048437 A1 WO2023048437 A1 WO 2023048437A1 KR 2022013833 W KR2022013833 W KR 2022013833W WO 2023048437 A1 WO2023048437 A1 WO 2023048437A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
network model
function
operation function
medical data
Prior art date
Application number
PCT/KR2022/013833
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 KR1020220113975A external-priority patent/KR20230044123A/ko
Application filed by 주식회사 메디컬에이아이 filed Critical 주식회사 메디컬에이아이
Priority to EP22873142.8A priority Critical patent/EP4407633A1/en
Priority to CN202280063391.4A priority patent/CN118020112A/zh
Publication of WO2023048437A1 publication Critical patent/WO2023048437A1/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/25Bioelectric electrodes therefor
    • A61B5/279Bioelectric electrodes therefor specially adapted for particular uses
    • A61B5/28Bioelectric electrodes therefor specially adapted for particular uses for electrocardiography [ECG]
    • 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
    • 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
    • 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/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • 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

Definitions

  • the present disclosure relates to deep learning technology in the medical field, and specifically, to a method for training a deep learning model using inductive bias transfer and using the learned deep learning model in the medical field. .
  • DeiT data efficient image transformer
  • a convolutional neural network as a transformer's teacher, and adopts a method of distilling the knowledge of the convolutional neural network, which plays an important role in generalization performance, into the transformer through an additional token.
  • DeiT assumes that performance can be improved by encoding the inductive bias of the convolutional neural network into a transformer through this distillation method.
  • DeiT in order to carry out knowledge distillation, DeiT also requires that the number of data be secured above a certain level. Therefore, DeiT has a problem in that it is difficult to utilize in the medical field where the number of classes of data for knowledge distillation is not sufficiently accumulated.
  • ImageNet previously used to evaluate the performance of DieT consists of a thousand classes
  • medical data such as electrocardiogram data and electronic health records (EHR) data have tens to tens of classes. contains only Considering that successful knowledge transfer depends on the quality of the teacher's signal, where various signals are important, it should be clear that when using DieT, the inductive bias of the teacher's model successfully transfers on ImageNet, but not on medical data. can
  • An object of the present invention is to provide a method for estimating various health conditions using a model.
  • the learning method may include learning a first neural network model based on medical data; and by matching a first operation function representing a neural network block included in the learned first neural network model with a second operation function representing a neural network block included in the second neural network model, The method may include training the second neural network model based on the first neural network model.
  • the learned first neural network model is obtained by matching a first operation function representing a neural network block included in the learned first neural network model with a second operation function representing a neural network block included in the second neural network model.
  • the loss function may include: a first sub-loss function having as an input variable an output of a first operation function corresponding to an n-1th (n is a natural number) neural network block included in the first neural network model; and a second sub-loss function having an output of a second operation function corresponding to the n ⁇ 1 th neural network block included in the second neural network model as an input variable.
  • each of the first sub-loss function and the second sub-loss function is an output of a first operation function corresponding to an n-th neural network block included in the first neural network model and an n-th included in the second neural network model. It may be a function for calculating a difference between outputs of the second calculation function corresponding to the neural network block.
  • each of the first sub-loss function and the second sub-loss function may be configured to match dimensions of a first operation function corresponding to the n-th neural network block and a second operation function corresponding to the n-th neural network block.
  • a conversion function may be included for
  • the transform function may include: a first sub-transform function for linearly transforming an input variable of the transform function in a temporal direction; and a second sub-transform function for linearly transforming an input variable of the transform function in a feature dimension.
  • the transformation function included in the first sub-loss function may convert the dimension of the output of the first operation function corresponding to the n ⁇ 1 th neural network block into an input of the second operation function corresponding to the n th neural network block. It may be a function for matching the dimension of and matching the dimension of the output of the second operation function corresponding to the n-th neural network block to the dimension of the output of the first operation function corresponding to the n-th neural network block.
  • the transformation function included in the second sub-loss function may convert the dimension of the output of the second operation function corresponding to the n ⁇ 1 th neural network block to the input of the first operation function corresponding to the n th neural network block. It may be a function for matching the dimension of and matching the dimension of the output of the first operation function corresponding to the n-th neural network block to the dimension of the output of the second operation function corresponding to the n-th neural network block.
  • the loss function further includes a third sub-loss function for calculating a difference between an output of the first neural network model receiving the medical data and an output of the second neural network model receiving the medical data. can do.
  • the third sub-loss function may include a conversion function for matching a dimension of an output of the first neural network model receiving the medical data to a dimension of an output of the second neural network model receiving the medical data.
  • the learning method may further include performing fine tuning on the second neural network model based on medical data.
  • the fine adjustment may be to train the second neural network model while maintaining a weight of the second neural network model close to a weight in a state in which learning based on the learned first neural network model is completed.
  • the first neural network model includes at least one of a convolutional neural network and a recurrent neural network
  • the second neural network model includes a self-attention based neural network. can do.
  • the medical data may include at least one of electrocardiogram data or electronic health records (EHR) data.
  • EHR electronic health records
  • the reasoning method may include obtaining medical data including at least one of electrocardiogram data and electronic health record data; and estimating a health state of a person based on the medical data by using a second neural network model.
  • the second neural network model includes a first operation function corresponding to a neural network block included in the learned first neural network model and a neural network block included in the second neural network model, based on the pre-learned first neural network model. It may be learned through an operation matching the second operation function corresponding to .
  • a computer program stored in a computer readable storage medium is disclosed according to an embodiment of the present disclosure for realizing the above object.
  • the operations may include learning a first neural network model based on medical data; and by matching a first operation function representing a neural network block included in the learned first neural network model with a second operation function representing a neural network block included in the second neural network model, based on the learned first neural network model.
  • An operation of learning the second neural network model may be included.
  • a computing device for learning a deep learning model based on medical data includes a processor including at least one core; a memory containing program codes executable by the processor; and a network unit for obtaining medical data.
  • the processor learns a first neural network model based on the medical data, and a first operation function representing a neural network block included in the learned first neural network model and a second operation function representing a neural network block included in the second neural network model
  • the second neural network model may be trained based on the learned first neural network model.
  • the present disclosure provides a learning method for a deep learning model capable of generalizing a student model based on a small amount of data by appropriately utilizing the strong inductive bias of the teacher model, and a deep learning model learned through this learning method. It can provide a method to effectively utilize the learning model in the medical field.
  • FIG. 1 is a block diagram of a computing device according to one embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating a process of learning a deep learning model according to an embodiment of the present disclosure.
  • FIG. 3 is a conceptual diagram illustrating a process of calculating a loss function according to an embodiment of the present disclosure.
  • FIG. 4 is a graph showing results of comparing and evaluating the performance of a deep learning model trained according to an embodiment of the present disclosure and a conventional solution.
  • FIG. 5 is a flowchart illustrating a method for learning a deep learning model according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart illustrating an inference method of a deep learning model according to an embodiment of the present disclosure.
  • N N is a natural number
  • N a natural number
  • components performing different functional roles in the present disclosure may be classified as first components or second components.
  • components that are substantially the same within the technical spirit of the present disclosure but should be distinguished for convenience of description may also be classified as first components or second components.
  • acquisition used in the present disclosure is understood to mean not only receiving data through a wired/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 , It can be understood as a term referring to an independent functional unit that processes computing resources, such as a combination of software and hardware.
  • a “module” or “unit” may be a unit composed of a single element or a unit expressed as a combination or set of a plurality of elements.
  • a “module” or “unit” is a hardware element or set thereof of a computing device, an application program that performs a specific function of software, a process implemented through software execution, or a program. It may refer to a set of instructions for execution.
  • a “module” or “unit” may refer to a computing device constituting a system or an application executed in the computing device.
  • the concept of “module” or “unit” may be defined in various ways within a range understandable by those skilled in the art based on the contents of the present disclosure.
  • model used in this disclosure 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 for a process.
  • a neural network “model” may refer to an overall system implemented as a neural network having problem-solving capabilities through learning. At this time, the neural network may have problem solving ability by optimizing parameters connecting nodes or neurons through learning.
  • a neural network "model” may include a single neural network or may include a neural network set in which a plurality of neural networks are combined.
  • Data used in the present disclosure may include “image”, signals, and the like.
  • image used in this disclosure may refer to multidimensional data composed of discrete image elements.
  • image can be understood as a term referring to a digital representation of an object that is visible to the human eye.
  • image may refer to multidimensional data composed of elements corresponding to pixels in a 2D image.
  • Image may refer to multidimensional data composed of elements corresponding to voxels in a 3D image.
  • inductive bias used in the present disclosure may be understood as a set of assumptions that enable inductive inference of a deep learning model. In order to solve the error of generalization in which the deep learning model shows appropriate performance only for the given training data, it is necessary for the deep learning model to infer data other than the given training data to get close to an accurate output. Therefore, “inductive bias” can be understood as a set of preconditions that a deep learning model has in the process of learning to predict the output of an input that is not given.
  • block used in the present disclosure may be understood as a set of components classified based on various criteria such as type and function. Accordingly, a configuration classified as one “block” may be variously changed according to a criterion.
  • a neural network “block” may be understood as a neural network set comprising at least one neural network. In this case, it may be assumed that the neural networks included in the neural network "block” perform the same specific operation.
  • operation function used in the present disclosure may be understood as a mathematical expression for a unit that performs a specific function or processes an operation.
  • an "operation function" of a neural network block may be understood as a mathematical expression representing a neural network block that processes a specific operation. Therefore, the relationship between the input and output of the neural network block can be expressed as a formula through the "operation function" of the neural network block.
  • 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 through a communication network.
  • the computing device 100 may be a server that performs intensive data processing functions and shares resources, or 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 one example related to the type of the computing device 100, the type of the computing device 100 may be configured in various ways within a range understandable by 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.
  • the computing device 100 may include other configurations for implementing a computing environment. Also, only some of the components disclosed above may be included in the 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 input data processing for machine learning, feature extraction for machine learning, calculation of an error based on backpropagation, and the like.
  • 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 on-demand It may include a semiconductor (application specific integrated circuit (ASIC)) or a field programmable gate array (FPGA). Since the above-described type of processor 110 is just one example, the type of processor 110 may be variously configured within a range understandable by those skilled in the art based on the content of the present disclosure.
  • the processor 110 may train a neural network model for estimating a health state of a person based on knowledge distillation in which knowledge of a teacher model is transferred to a student model. For example, the processor 110 may train a teacher model to estimate a health condition of a person based on medical data. The processor 110 may train the student model based on the inductive bias generated in the process of learning the teacher model. In order to transfer the inductive bias of the teacher model to the student model during the learning process of the student model, the processor 110 includes each operation function representing a plurality of neural network blocks included in the teacher model and a plurality of neural network blocks included in the student model. Each operation function expressing can be matched.
  • the matching of the operation function can be understood as an operation that allows the student model to learn the inductive bias of the teacher model by minimizing the difference between the characteristics interpreted by each neural network block of the teacher model and the characteristics interpreted by each neural network block of the student model.
  • the processor 110 can effectively transfer the inductive bias of the teacher model to the student model even with a small amount of medical data. That is, through learning that matches calculation functions, the processor 110 can efficiently learn the student model based on the knowledge of the teacher model even in a state where a sufficient number of data is not secured.
  • the processor 110 may ensure generalization performance of the student model.
  • the processor 110 may estimate a person's health condition based on medical data using the neural network model generated through the above-described learning process.
  • the processor 110 may generate inference data indicating a result of estimating a health condition of a person by inputting medical data to the neural network model learned through the above process.
  • the processor 110 may input electrocardiogram data to a student model for which learning has been completed, and predict whether a chronic disease such as arrhythmia will occur or not, and the degree of progression of the chronic disease.
  • the processor 110 may input electronic health records (EHR) data to the student model for which learning has been completed, and generate data related to information necessary for managing the patient, such as changes in the patient's heart rate.
  • EHR electronic health records
  • the type of medical data and the output of the neural network model may be configured in various ways within a range understandable by those skilled in the art based on the contents of the present disclosure.
  • the memory 120 may be understood as a unit including hardware and/or software for storing and managing data processed by the computing device 100 . That is, the memory 120 may 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 include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory, and 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 , a magnetic disk, and an optical disk may include at least one type of storage medium.
  • the memory 120 may include a database system that controls and manages data in a predetermined system. Since the above-described type of memory 120 is just one example, the type of memory 120 may be configured in various ways within a range understandable by those skilled in the art based on the contents of the present disclosure.
  • the memory 120 may organize and manage data necessary for the processor 110 to perform calculations, data combinations, program codes executable by the processor 110, and the like.
  • the memory 120 may store medical data received through the network unit 130 to be described later.
  • the memory 120 includes program codes for operating the neural network model to perform learning by receiving medical data, program codes for operating the neural network model to perform inference according to the purpose of use of the computing device 100 by receiving medical data, and Processing data generated as the program code is executed may be stored.
  • the network unit 130 may be understood as a unit that transmits and receives data through any type of known wired/wireless communication system.
  • the network unit 130 may include 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 ), near field communication (NFC), or data transmission/reception may be performed using a wired/wireless communication system such as Bluetooth. Since the above-described communication systems are only examples, a wired/wireless communication system 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 an operation through wired/wireless communication with an arbitrary system or an arbitrary client.
  • the network unit 130 may transmit data generated through the operation of the processor 110 through wired/wireless communication with an arbitrary system or an arbitrary client.
  • the network unit 130 may receive medical data through communication with a database in a hospital environment, a cloud server that performs tasks such as standardization of medical data, or a 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, and processed data through communication with the aforementioned database, server, or computing device.
  • FIG. 2 is a block diagram illustrating a process of learning a deep learning model according to an embodiment of the present disclosure.
  • the processor 110 may perform a three-step learning process in order to learn a neural network model for estimating a health condition of a person based on medical data.
  • the processor 110 may perform step A of training the first neural network model 200 to have an inductive bias for estimating a health condition of a person based on medical data.
  • the processor 110 may perform step B to transfer the inductive bias of the first neural network model 200 reinforced through step A to the second neural network model 300 .
  • the processor 110 may perform step C for fine-tuning the second neural network model 300 learned through step B according to the purpose of use.
  • step C is not necessarily performed, and may or may not be performed depending on the purpose of using the second neural network model 300 .
  • the processor 110 may train the first neural network model 200 to generate an inductive bias to pass to the second neural network model 300 .
  • the processor 110 may input the medical data 11 to the first neural network model 200 and generate an output for estimating a health condition of a person.
  • the processor 110 may compare the output of the first neural network model 200 with the ground truth (GT) through a loss function to reconstruct parameters such as weights of the neural network.
  • the processor 110 may train the first neural network model 200 based on the medical data 11 by repeatedly performing this operation until the loss function converges.
  • the first neural network model 200 includes a convolutional neural network
  • the first neural network model 200 determines the locality and translation invariance of the medical data 11 through step A.
  • the first neural network model 200 may reinforce the inductive bias of the temporal invariance of the medical data 11 through step A. there is.
  • the processor 110 configures the plurality of neural network blocks included in the first neural network model 200 so that the second neural network model 300 can learn the inductive bias of the first neural network model 200 reinforced through step A. 210 and the plurality of neural network blocks 220 included in the second neural network model 300 may be matched.
  • the processor 110 may respectively input the medical data 15 to the first neural network model 200 and the second neural network model 300 .
  • the medical data 15 of step B may be the same as or different from the medical data 11 of step A.
  • the processor 100 uses a loss function to output each of the plurality of neural network blocks 210 included in the first neural network model 200.
  • the processor 110 sets the plurality of neural network blocks 210 included in the first neural network model 200 and the plurality of neural network blocks 220 included in the second neural network model 300 in pairs. It can be configured to calculate the loss.
  • the input and/or dimension between the neural network blocks 210 and 220 to be matched difference may occur.
  • the first neural network model 200 includes at least one of a convolutional neural network and a recurrent neural network
  • the second neural network model 300 includes a self-attention based neural network
  • the first neural network model Due to differences in input and dimensions between the neural network blocks 210 of 200 and the neural network blocks 220 of the second neural network model 300, it is inevitably difficult to calculate the loss.
  • the processor 110 may perform an operation for matching inputs and/or dimensions between the neural network blocks 210 and 220 in a process of calculating a difference using a loss function.
  • the processor 110 alternately inputs the intermediate output of the first neural network model 200 and the intermediate output of the second neural network model 300 to blocks 210 and 220, respectively, and blocks 210 and 220 respectively.
  • the processor 110 can effectively match the neural network blocks 210 and 220 even if the types of neural networks included in each of the first neural network model 200 and the second neural network model 300 are different. there is.
  • the processor 110 may calculate a difference between a final output of the first neural network model 200 and a final output of the second neural network model 300 using the loss function.
  • the processor 110 repeatedly performs the above-described matching between neural network blocks and matching between final outputs until the loss function converges, thereby transferring the inductive bias of the first neural network model 200 to the second neural network model 300.
  • the processor 110 may train the second neural network model 300 based on the first neural network model 200 learned through step A through neural network block matching in step B.
  • the processor 110 may perform fine-tuning on the second neural network model 300 having learned the inductive bias of the first neural network model 200 .
  • fine tuning can be understood as a learning process of optimizing the second neural network model 300 for a specific task according to the purpose of using the second neural network model 300 .
  • the processor 110 may input the medical data 19 to the second neural network model 300 learned through step B to generate an output for estimating a person's health condition.
  • the medical data 19 may be electrocardiogram data or electronic health record data depending on the purpose of using the second neural network model 300 .
  • the second neural network model 300 may receive electrocardiogram data to estimate chronic diseases such as arrhythmias, or receive electronic health record data to estimate changes in a critically ill patient's condition.
  • the processor 110 may compare the output of the second neural network model 300 with the ground truth (GT) through a loss function to reconstruct parameters such as weights of the neural network.
  • the processor 110 may retrain the second neural network model 300 based on the medical data 19 by repeatedly performing this operation until the loss function converges.
  • FIG. 3 is a conceptual diagram illustrating a process of calculating a loss function according to an embodiment of the present disclosure.
  • the first neural network model 200 is a convolutional neural network model or a recurrent neural network model
  • the second neural network model 300 is a self-attention based transformer model. do.
  • the first neural network model 200 and the second neural network model 300 may be interpreted as a combination of operation functions representing neural network blocks as shown in [Equation 1] below.
  • f is the first neural network model 200
  • f n is the nth (n is a natural number) neural network block of the first neural network model 200
  • g is the second neural network model 300
  • g n is the second neural network model Indicates the n-th neural network block of (300).
  • l f denotes a classifier of the first neural network model 200
  • l g denotes a classifier of the second neural network model 300.
  • the processor 110 uses f You can perform an operation that matches n and g n . Matching operations can be largely divided into input matching and dimension matching.
  • a problem of input difference may naturally occur in function matching between neural network blocks.
  • the input of the second function g 2 of the second neural network model 300 becomes g 1 (x)
  • the input of the second function f 2 of the first neural network model 200 becomes f 1 (x). do.
  • matching between the two functions is performed by an operation that minimizes ?g 2 (g 1 (x))-f 2 (f 1 (x)) ?.
  • this matching operation cannot guarantee that g 2 approximates f 2 .
  • the processor 110 alleviates the above-described problem by passing signals to both the computational flows of the first neural network model 200 and the second neural network model 300 . That is, in the present disclosure, the matching between the two functions is ?g 2 (f 1 (x)) - f 2 (f 1 (x)) - + ?g 2 (g 1 (x)) - f 2 (g 1 (x)) can be performed as an operation that minimizes.
  • a dimension difference problem may occur due to a function through which an input passes.
  • f n ( ⁇ ) representing the n-th neural network block of the first neural network model 200
  • the pooling operation and the convolution with stride change the dimension according to the temporal direction, and the convolution operation change It also expands the dimension of features.
  • processor 110 may use a transform function h( ⁇ ) that transforms each dimension equally.
  • I( ⁇ ) represents a linear transformation in a temporal direction
  • W represents a linear transformation in a feature dimension. That is, the transformation function h( ⁇ ) can be expressed as a product of a function for linear transformation of the time direction of an input variable and a function for linear transformation of the feature dimension of the input variable.
  • L 1 n may correspond to FIG. 3 (a), and L 2 n may correspond to FIG. 3 (b).
  • the total loss function L for learning the inductive bias of the first neural network model 200 which is a convolutional neural network model or a recurrent neural network model
  • the second neural network model 300 which is a transformer model
  • the weight ⁇ in a state in which learning is completed is an initial weight of learning using a randomly initialized classifier.
  • the processor 110 may fine-tune the learned second neural network model 300 by minimizing loss through the same operation as that of the first neural network model 200 having an inductive bias. While fine-tuning the second neural network model 300, the processor 110 maintains the weight ⁇ g close to the initial weight ⁇ f ⁇ g so that the a posteriori bias transferred from the first neural network model 200 is transferred to the second neural network model ( The second neural network model 300 may be normalized so that 300) does not forget. This normalization can be expressed as the following [Equation 6].
  • the inductive bias of the first neural network model 200 is efficiently transferred to the second neural network model 300 through the above-described three-step learning in FIG. 2 and the calculation of the loss function in FIG. 300) can be effectively optimized according to the purpose of use in the medical field.
  • the second neural network model 300 can be trained to ensure generalization performance even with a small amount of data, and can be easily used for various tasks in the medical field.
  • FIG. 4 is a graph showing results of comparing and evaluating the performance of a deep learning model trained according to an embodiment of the present disclosure and a conventional solution.
  • FIG. 4(a) shows the performance of the neural network 49 of the present disclosure learned by receiving the inductive bias from the convolutional neural network 41, the DieT 45, and the convolutional neural network 41 based on electrocardiogram data. Shows the comparison result. And, F1 represents the f-1 score, and P-21 represents the physionet 21 score.
  • electrocardiogram data it can be seen that the performance of the neural network 49 of the present disclosure is superior to the convolutional neural network 41 that delivered the inductive bias.
  • the performance of the neural network 49 of the present disclosure is far superior to that of the DieT 45 based on knowledge distillation.
  • electrocardiogram it can be seen that the performance of the DieT 45 is lower than that of the convolutional neural network 41.
  • FIG. 4(b) shows the neural network 59 of the present disclosure learned by receiving the inductive bias from the convolutional neural network 51, the DieT 55, and the convolutional neural network 51 based on electronic medical record data. Shows the result of comparing performance. And, P-19 represents the physionet 19 score.
  • the performance of the neural network 59 of the present disclosure is superior to the convolutional neural network 51 that delivered the inductive bias.
  • the performance of the neural network 49 of the present disclosure is far superior to that of the DieT 45 based on knowledge distillation based on P-19.
  • the neural network trained through the learning method of the present disclosure is more suitable for the medical field where sufficient data for learning is not accumulated compared to DieT.
  • the neural network trained through the learning method of the present disclosure successfully encodes the inductive bias of the preceding model and shows better performance than the preceding model.
  • FIG. 5 is a flowchart illustrating a method for learning a deep learning model according to an embodiment of the present disclosure.
  • the computing device 100 may learn a first neural network model based on medical data (S110).
  • the computing device 100 may train the first neural network model so that the first neural network model estimates a health condition of a person based on medical data.
  • the computing device 100 may receive at least one of electrocardiogram data or electronic health record data as learning data through communication with a database in a hospital environment. there is.
  • the computing device 100 may generate at least one of electrocardiogram data or electronic health record data as learning data through communication with an electrocardiogram measuring device in the hospital environment.
  • the computing device 100 learns the first neural network model to estimate the occurrence, change trend, risk level, etc. of a person's disease based on at least one of the electrocardiogram data and the electronic health record data obtained by the first neural network model. can make it
  • the computing device 100 may train the second neural network model by matching an operation function representing a neural network block between the first neural network model and the second neural network model (S120).
  • the computing device 100 may match a first operation function representing a neural network block included in the first neural network model learned through step S110 with a second operation function representing a neural network block included in the second neural network model.
  • the computing device 100 uses a loss function for matching at least one of inputs or dimensions between the first operation function and the second operation function, and based on the first neural network model learned through step S110, the second A neural network model can be trained.
  • the loss function for matching the first operation function and the second operation function in step S120 is the first operation function corresponding to the n-1th neural network block included in the first neural network model. It may include a first sub loss function having an output as an input variable and a second sub loss function having an output of a second operation function corresponding to the n ⁇ 1 th neural network block included in the second neural network model as an input variable.
  • Each of the first sub-loss function and the second sub-loss function is an output of the first operation function corresponding to the n-th neural network block included in the first neural network model and a second sub-loss function corresponding to the n-th neural network block included in the second neural network model.
  • the first sub-loss function may be understood as a function for calculating a difference between outputs generated by inputting an output of a previous first calculation function to a current first calculation function and a current second calculation function, respectively.
  • the second sub-loss function may be understood as a function for calculating a difference between outputs generated by inputting an output of a previous second operation function to the current first operation function and the current second operation function, respectively.
  • each of the first sub-loss function and the second sub-loss function may include a conversion function for matching the dimensions of the first operation function corresponding to the n-th neural network block and the second operation function corresponding to the n-th neural network block.
  • the transform function may include a first sub-transform function for linearly transforming an input variable of the transform function in a temporal direction and a second sub-transform function for linearly transforming an input variable of the transform function in a feature dimension.
  • the transform function corresponds to h( ⁇ ) in [Equation 2]
  • the first sub-transform function corresponds to I( ⁇ ) in [Equation 2]
  • the second sub-transform function corresponds to W in [Equation 2]
  • the conversion function included in the first sub-loss function matches the dimension of the output of the first operation function corresponding to the n ⁇ 1 th neural network block to the dimension of the input of the second operation function corresponding to the n th neural network block, n It may be a function for matching the dimension of the output of the second operation function corresponding to the n-th neural network block to the dimension of the output of the first operation function corresponding to the n-th neural network block.
  • the conversion function included in the first sub-loss function is the first operation function corresponding to the n-1 th neural network block, such as h n-1 f->g.
  • the conversion function included in the first sub-loss function converts the dimension of the output of the second operation function corresponding to the n-th neural network block to that of the first operation function corresponding to the n-th neural network block, such as h n g->f . It can be used for operations that transform according to the dimension of the output.
  • the transformation function included in the second sub-loss function matches the dimension of the output of the second operation function corresponding to the n ⁇ 1 th neural network block to the dimension of the input of the first operation function corresponding to the n th neural network block, and It may be a function for matching the dimension of the output of the first operation function corresponding to the n-th neural network block to the dimension of the output of the second operation function corresponding to the n-th neural network block.
  • the transformation function included in the second sub-loss function is the second operation function corresponding to the n-1th neural network block, such as h n-1 g->f.
  • the transformation function included in the second sub-loss function converts the dimension of the output of the first operation function corresponding to the n-th neural network block to that of the second operation function corresponding to the n-th neural network block, such as h n f->g. It can be used for operations that transform according to the dimension of the output.
  • the first sub-loss function corresponds to L 1 n in [Equation 3]
  • the second sub-loss function corresponds to L 2 n in [Equation 3]. That is, it can be understood that the calculation process of the first sub-loss function corresponds to FIG. 3(a) and the calculation process of the second sub-loss function corresponds to FIG. 3(b).
  • the loss function for matching the first operation function and the second operation function in step S120 calculates the difference between the output of the first neural network model receiving the medical data and the output of the second neural network model receiving the medical data.
  • the third sub-loss function may include a conversion function for matching a dimension of an output of the first neural network model receiving the medical data to a dimension of an output of the second neural network model receiving the medical data. Similar to the first sub-loss function and the second sub-loss function, if there is a difference in the type of neural network between the first and second neural network models, there will inevitably be a dimensional difference between the data derived from each operation process. To solve the difference problem, the third sub-loss function may include a conversion function. For example, referring to (c) of FIG. 3, the transformation function included in the third sub-loss function converts the dimension of the output of the first operation function corresponding to the final neural network block to the final, such as h n f -> g. It can be used for an operation of converting according to the dimension of the output of the second operation function corresponding to the neural network block.
  • the third sub-loss function corresponds to L 3 n in [Equation 4], and the calculation process of the third sub-loss function corresponds to FIG. 3(c).
  • the loss function for matching the first operation function and the second operation function may be expressed as a combination of the first sub loss function, the second sub loss function, and the third loss function.
  • Equation 5 it is expressed as a simple sum of three sub-loss functions, but the sub-loss functions can be combined based on various operations such as weighted sum and multiplication as well as simple sum.
  • the computing device 100 may perform fine-tuning on the second neural network model, which has learned the inductive bias of the first neural network model, through step S120 based on the medical data (S130).
  • the fine adjustment may be understood as a process of learning the second neural network model while keeping the weight of the second neural network model close to the weight of the state in which learning based on the first neural network model (step S120) is completed.
  • the computing device 100 inputs electrocardiogram data related to predicting arrhythmia to the second neural network model in which step S120 has been completed, thereby generating a second neural network model. 2 You can fine-tune the neural network model.
  • the computing device 100 adds the electronic health record of the critically ill patient to the second neural network model in which step S120 has been completed. You can fine-tune the second neural network model by inputting data.
  • the fine adjustment of the present disclosure is not limited to the above-described examples, and may be variously performed within a range understandable by those skilled in the art based on the contents of the present disclosure.
  • FIG. 6 is a flowchart illustrating an inference method of a deep learning model according to an embodiment of the present disclosure.
  • the computing device 100 may obtain medical data including at least one of electrocardiogram data and electronic health record data (S210).
  • the computing device 100 may receive at least one of electrocardiogram data or electronic health record data of an inference target through communication with a database in a hospital environment. there is.
  • the computing device 100 is a database in a hospital environment
  • the computing device 100 may generate at least one of electrocardiogram data or electronic health record data of an inference target through communication with an electrocardiogram measuring device in the hospital environment.
  • the computing device 100 may estimate a health condition of a person based on the medical data by using the pretrained second neural network model (S220).
  • the computing device 100 inputs at least one of electrocardiogram data or electronic health record data acquired through step S210 into the pre-learned second neural network model to predict whether a person's disease will occur, change trend, risk level, etc.
  • the second neural network model includes a first operation function corresponding to a neural network block included in the first neural network model and a second operation function corresponding to a neural network block included in the second neural network model, based on the pretrained first neural network model. It may be learned through an operation matching an operation function. Since the pre-learning of the second neural network model corresponds to the description of FIG. 6 described above, a detailed description thereof will be omitted below.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Pathology (AREA)
  • Epidemiology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Primary Health Care (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Cardiology (AREA)
  • Surgery (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치가 개시된다. 상기 학습 방법은, 의료 데이터를 기초로 제 1 신경망 모델을 학습시키는 단계; 및 상기 학습된 제 1 신경망 모델에 포함된 신경망 블록(block)을 나타내는 제 1 연산 함수(operation function)와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 단계를 포함할 수 있다.

Description

의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치
본 개시의 내용은 의료 분야의 딥러닝 기술에 관한 것으로, 구체적으로 귀납적 편향 전달(inductive bias transfer)을 이용하여 딥러닝 모델을 학습시키고, 학습된 딥러닝 모델을 의료 분야에서 활용하는 방법에 관한 것이다.
딥러닝 모델의 일반화(generalization)을 위해서는 많은 양의 데이터를 활용하는 것이 요구된다. 예를 들어, 종래 트랜스포머(transformer) 모델 중 하나는 3억 데이터 포인트의 추가 데이터를 사용하여 이미지넷(ImageNet) 벤치마크(benchmark)에서 다른 컨볼루션(convolution) 기반 접근 방식보다 높은 성능을 달성한다. 그러나, 모든 도메인(domain)에서 빅데이터를 확보하는 것은 용이하지 않다. 따라서, 의료 분야와 같은 많은 양의 데이터를 얻는 데 비용이 매우 많이 드는 도메인에서 딥러닝 모델의 사용은 여전히 제한적이다.
많은 연구자들이 방대한 양의 데이터에 의존하지 않고, 딥러닝 모델을 일반화하는 문제를 완화하는 솔루션을 제안하고 있다. 솔루션 중 하나는 지식 증류(knowledge distillation)를 기반으로 하는 DeiT(Data efficient image transformer)이다. DeiT는 컨볼루셔널 신경망을 트랜스포머의 교사(teacher)로 사용하여, 일반화 성능에 중요한 역할을 하는 컨볼루셔널 신경망의 지식을 추가 토큰(token)을 통해 트랜스포머에 증류하는 방식을 채택한다. DeiT는 이러한 증류 방식을 통해 컨볼루셔널 신경망의 귀납적 편향(inductive bias)을 트랜스포머에 인코딩(encoding)하여 성능을 높일 수 있다고 가정한다.
그럼에도 불구하고, 지식 증류를 수행하기 위해서 DeiT도 데이터 수가 일정 수준 이상 확보되는 것이 요구된다. 따라서, DeiT는 지식 증류를 위한 데이터의 클래스 수가 충분히 축적되지 못한 의료 분야에서는 활용하기 어려운 문제가 있다. 예를 들어, DieT의 성능을 평가하는데 기존에 사용된 이미지넷은 천 개의 클래스로 구성되어 있는 반면, 심전도 데이터, 전자 건강 기록(EHR: electronic health records) 데이터 등과 같은 의료 데이터에는 수십에서 수십 개의 클래스만 포함되어 있다. 성공적인 지식 전달은 다양한 신호가 중요한 교사의 신호 품질에 달려 있다는 점을 고려하면, DieT를 사용하는 경우, 교사 모델의 귀납적 편향이 이미지넷에서는 성공적으로 전달되지만, 의료 데이터에서는 전달되지 않는다는 것이 분명하다고 볼 수 있다.
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 의료 분야의 작은 데이터 세트로도 귀납적 편향(inductive bias)을 효율적으로 전달하여 딥러닝 모델을 학습시키는 방법 및 이러한 학습 방법을 토대로 학습된 딥러닝 모델을 이용하여 다양한 건강 상태를 추정하는 방법을 제공하는 것을 목적으로 한다.
다만, 본 개시에서 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재를 근거로 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 방법이 개시된다. 상기 학습 방법은, 의료 데이터를 기초로 제 1 신경망 모델을 학습시키는 단계; 및 상기 학습된 제 1 신경망 모델에 포함된 신경망 블록(block)을 나타내는 제 1 연산 함수(operation function)와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 단계를 포함할 수 있다.
대안적으로, 상기 학습된 제 1 신경망 모델에 포함된 신경망 블록을 나타내는 제 1 연산 함수와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 단계는, 상기 제 1 연산 함수와 상기 제 2 연산 함수 간의 입력 혹은 차원 중 적어도 하나를 매칭시키기 위한 손실 함수를 이용하여, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 단계를 포함할 수 있다.
대안적으로, 상기 손실 함수는, 상기 제 1 신경망 모델에 포함된 n-1번째(n은 자연수) 신경망 블록에 대응되는 제 1 연산 함수의 출력을 입력 변수로 하는 제 1 서브 손실 함수; 및 상기 제 2 신경망 모델에 포함된 n-1번째 신경망 블록에 대응되는 제 2 연산 함수의 출력을 입력 변수로 하는 제 2 서브 손실 함수를 포함할 수 있다. 이때, 상기 제 1 서브 손실 함수 및 상기 제 2 서브 손실 함수 각각은, 상기 제 1 신경망 모델에 포함된 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력과 상기 제 2 신경망 모델에 포함된 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력 간 차이를 연산하기 위한 함수일 수 있다.
대안적으로, 상기 제 1 서브 손실 함수 및 상기 제 2 서브 손실 함수 각각은, 상기 n번째 신경망 블록에 대응되는 제 1 연산 함수와 상기 n번째 신경망 블록에 대응되는 제 2 연산 함수의 차원을 매칭시키기 위한 변환 함수를 포함할 수 있다.
대안적으로, 상기 변환 함수는, 상기 변환 함수의 입력 변수를 시간적 방향(temporal direction)에서 선형 변환하기 위한 제 1 서브 변환 함수; 및 상기 변환 함수의 입력 변수를 특징 차원(feature dimension)에서 선형 변환하기 위한 제 2 서브 변환 함수를 포함할 수 있다.
대안적으로, 상기 제 1 서브 손실 함수에 포함된 변환 함수는, 상기 n-1번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 상기 n번째 신경망 블록에 대응되는 제 2 연산 함수의 입력의 차원에 매칭시키고, 상기 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원을 상기 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원에 매칭시키기 위한 함수일 수 있다.
대안적으로, 상기 제 2 서브 손실 함수에 포함된 변환 함수는, 상기 n-1번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원을 상기 n번째 신경망 블록에 대응되는 제 1 연산 함수의 입력의 차원에 매칭시키고, 상기 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 상기 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원에 매칭시키기 위한 함수일 수 있다.
대안적으로, 상기 손실 함수는, 상기 의료 데이터를 입력 받은 상기 제 1 신경망 모델의 출력과 상기 의료 데이터를 입력 받은 상기 제 2 신경망 모델의 출력 간의 차이를 연산하기 위한 제 3 서브 손실 함수를 더 포함할 수 있다.
대안적으로, 상기 제 3 서브 손실 함수는, 상기 의료 데이터를 입력 받은 상기 제 1 신경망 모델의 출력의 차원을 상기 의료 데이터를 입력 받은 상기 제 2 신경망 모델의 출력의 차원에 매칭시키기 위한 변환 함수를 포함할 수 있다.
대안적으로, 상기 학습 방법은, 의료 데이터를 기초로 상기 제 2 신경망 모델에 대한 미세 조정(fine tuning)을 수행하는 단계를 더 포함할 수 있다. 이때, 상기 미세 조정은, 상기 제 2 신경망 모델의 가중치가 상기 학습된 제 1 신경망 모델에 기반한 학습이 완료된 상태의 가중치와 가깝게 유지하면서 상기 제 2 신경망 모델을 학습시키는 것일 수 있다.
대안적으로, 상기 제 1 신경망 모델은, 컨볼루셔널(convolutional) 신경망 혹은 순환(recurrent) 신경망 중 적어도 하나를 포함하고, 상기 제 2 신경망 모델은, 셀프-어텐션(self-attention) 기반 신경망을 포함할 수 있다.
대안적으로, 상기 의료 데이터는, 심전도 데이터 혹은 전자 건강 기록(EHR: electronic health records) 데이터 중 적어도 하나를 포함할 수 있다.
한편, 전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 의료 데이터를 기반으로 하는 딥러닝 모델의 추론 방법이 개시된다. 상기 추론 방법은, 심전도 데이터 혹은 전자 건강 기록 데이터 중 적어도 하나를 포함하는 의료 데이터를 획득하는 단계; 및 제 2 신경망 모델을 사용하여, 상기 의료 데이터를 기초로 사람의 건강 상태를 추정하는 단계를 포함할 수 있다. 이때, 상기 제 2 신경망 모델은, 사전 학습된 제 1 신경망 모델을 기초로, 상기 학습된 제 1 신경망 모델에 포함된 신경망 블록에 대응되는 제 1 연산 함수와 상기 제 2 신경망 모델에 포함된 신경망 블록에 대응되는 제 2 연산 함수를 매칭시키는 연산을 통해 학습된 것일 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램(program)이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 의료 데이터를 기반으로 하는 딥러닝 모델의 학습을 위한 동작들을 수행하도록 한다. 이때, 상기 동작들은, 의료 데이터를 기초로 제 1 신경망 모델을 학습시키는 동작; 및 상기 학습된 제 1 신경망 모델에 포함된 신경망 블록을 나타내는 제 1 연산 함수와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 동작을 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라, 의료 데이터를 기반으로 하는 딥러닝 모델의 학습을 하기 위한 컴퓨팅 장치가 개시된다. 상기 장치는, 적어도 하나의 코어(core)를 포함하는 프로세서; 상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및 의료 데이터를 획득하기 위한 네트워크부(network unit)를 포함할 수 있다. 이때, 상기 프로세서는, 의료 데이터를 기초로 제 1 신경망 모델을 학습시키고, 상기 학습된 제 1 신경망 모델에 포함된 신경망 블록을 나타내는 제 1 연산 함수와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시킬 수 있다.
본 개시는 교사 모델의 강한 귀납적 편향(inductive bias)을 적절히 활용하여 적은 양의 데이터를 기반으로도 학생 모델을 일반화(generalization) 할 수 있는 딥러닝 모델의 학습 방법 및 이러한 학습 방법을 통해 학습된 딥러닝 모델을 의료 분야에서 효과적으로 활용하는 방법을 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따라 딥러닝 모델을 학습시키는 과정을 나타낸 블록도이다.
도 3은 본 개시의 일 실시예에 따른 손실 함수의 연산 과정을 나타낸 개념도이다.
도 4 는 본 개시의 일 실시예에 따라 학습된 딥러닝 모델과 종래 솔루션의 성능을 비교 평가한 결과를 나타내는 그래프이다.
도 5는 본 개시의 일 실시예에 따른 딥러닝 모델의 학습 방법을 나타낸 순서도이다.
도 6은 본 개시의 일 실시예에 따른 딥러닝 모델의 추론 방법을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 개시의 기술 분야에서 통상의 지식을 가진 자(이하, 당업자)가 용이하게 실시할 수 있도록 본 개시의 실시예가 상세히 설명된다. 본 개시에서 제시된 실시예들은 당업자가 본 개시의 내용을 이용하거나 또는 실시할 수 있도록 제공된다. 따라서, 본 개시의 실시예들에 대한 다양한 변형들은 당업자에게 명백할 것이다. 즉, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며, 이하의 실시예에 한정되지 않는다.
본 개시의 명세서 전체에 걸쳐 동일하거나 유사한 도면 부호는 동일하거나 유사한 구성요소를 지칭한다. 또한, 본 개시를 명확하게 설명하기 위해서, 도면에서 본 개시에 대한 설명과 관계없는 부분의 도면 부호는 생략될 수 있다.
본 개시에서 사용되는 "또는" 이라는 용어는 배타적 "또는" 이 아니라 내포적 "또는" 을 의미하는 것으로 의도된다. 즉, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "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)를 학습을 통해 최적화하여 문제 해결 능력을 가질 수 있다. 신경망 "모델" 은 단일 신경망을 포함할 수도 있고, 복수의 신경망들이 조합된 신경망 집합을 포함할 수도 있다.
본 개시에서 사용되는 "데이터"는 "영상", 신호 등을 포함할 수 있다. 본 개시에서 사용되는 "영상" 이라는 용어는 이산적 이미지 요소들로 구성된 다차원 데이터를 지칭할 수 있다. 다시 말해, "영상"은 사람의 눈으로 볼 수 있는 대상의 디지털 표현물을 지칭하는 용어로 이해될 수 있다. 예를 들어, "영상"은 2차원 이미지에서 픽셀에 해당하는 요소들로 구성된 다차원 데이터를 지칭할 수 있다. "영상"은 3차원 이미지에서 복셀에 해당하는 요소들로 구성된 다차원 데이터를 지칭할 수 있다.
본 개시에서 사용되는 "귀납적 편향(inductive bias)" 이라는 용어는 딥러닝 모델의 귀납적 추론이 가능하도록 하는 가정(assumption)의 집합으로 이해될 수 있다. 딥러닝 모델이 주어진 학습 데이터에 대해서만 적절한 성능을 보이는 일반화(generalization)의 오류를 해결하기 위해서는, 주어진 학습 데이터 이외의 데이터들까지도 정확한 출력에 가까워지도록 딥러닝 모델이 추론하는 것이 필요하다. 따라서, "귀납적 편향"은 주어지지 않는 입력의 출력을 예측하기 위해 딥러닝 모델이 학습하는 과정에서 갖는 전제 조건들의 집합으로 이해될 수 있다.
본 개시에서 사용되는 "블록(block)" 이라는 용어는 종류, 기능 등과 같은 다양한 기준을 기초로 구분된 구성의 집합으로 이해될 수 있다. 따라서, 하나의 "블록"으로 분류되는 구성은 기준에 따라 다양하게 변경될 수 있다. 예를 들어, 신경망 "블록"은 적어도 하나의 신경망을 포함하는 신경망 집합으로 이해될 수 있다. 이때, 신경망 "블록"에 포함된 신경망을 특정 연산을 동일하게 수행하는 것으로 가정할 수 있다.
본 개시에서 사용되는 "연산 함수(operation function)" 라는 용어는 특정 기능을 수행하거나 연산을 처리하는 구성 단위에 대한 수학적 표현으로 이해될 수 있다. 예를 들어, 신경망 블록의 "연산 함수"는 특정 연산을 처리하는 신경망 블록을 나타내는 수학적 표현으로 이해될 수 있다. 따라서, 신경망 블록의 입력과 출력 간의 관계는 신경망 블록의 "연산 함수"를 통해 수식으로 표현될 수 있다.
전술한 용어의 설명은 본 개시의 이해를 돕기 위한 것이다. 따라서, 전술한 용어를 본 개시의 내용을 한정하는 사항으로 명시적으로 기재하지 않은 경우, 본 개시의 내용을 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
도 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)는 교사(teacher) 모델의 지식을 학생(student) 모델로 전달하는 지식 증류(knowledge distillation)를 기반으로, 사람의 건강 상태를 추정하기 위한 신경망 모델을 학습시킬 수 있다. 예를 들어, 프로세서(110)는 의료 데이터를 기반으로 교사 모델이 사람의 건강 상태를 추정하도록, 교사 모델을 학습시킬 수 있다. 프로세서(110)는 교사 모델이 학습하는 과정에서 생성된 귀납적 편향을 기초로, 학생 모델을 학습시킬 수 있다. 프로세서(110)는 학생 모델의 학습 과정에서 교사 모델의 귀납적 편향을 학생 모델로 전달하기 위해, 교사 모델에 포함된 복수의 신경망 블록을 표현하는 각각의 연산 함수와 학생 모델에 포함된 복수의 신경망 블록을 표현하는 각각의 연산 함수를 매칭시킬 수 있다. 이때, 연산 함수의 매칭은 교사 모델의 신경망 블록 각각이 해석한 특징과 학생 모델의 신경망 블록 각각이 해석한 특징 간의 차이를 최소화 함으로써, 학생 모델이 교사 모델의 귀납적 편향을 학습하도록 하는 연산으로 이해될 수 있다. 이와 같은 연산 함수의 매칭을 통해, 프로세서(110)는 적은 양의 의료 데이터로도 교사 모델의 귀납적 편향을 학생 모델로 효과적으로 전달할 수 있다. 즉, 연산 함수의 매칭을 수행하는 학습을 통해, 프로세서(110)는 데이터 수가 충분히 확보되지 못한 상태에서도 교사 모델의 지식을 토대로 학생 모델을 효율적으로 학습시킬 수 있다. 또한, 연산 함수의 매칭을 수행하는 학습을 통해, 프로세서(110)는 학생 모델의 일반화 성능을 보장할 수 있다.
프로세서(110)는 상술한 학습 과정을 통해 생성된 신경망 모델을 이용하여 의료 데이터를 기반으로 사람의 건강 상태를 추정할 수 있다. 프로세서(110)는 상술한 과정을 통해 학습된 신경망 모델로 의료 데이터를 입력하여 사람의 건강 상태를 추정한 결과를 나타내는 추론 데이터를 생성할 수 있다. 예를 들어, 프로세서(110)는 학습이 완료된 학생 모델로 심전도 데이터를 입력하여, 부정맥 등과 같은 만성 질환의 발생 여부, 만성 질환의 진행 정도 등을 예측할 수 있다. 프로세서(110)는 학습이 완료된 학생 모델로 전자 건강 기록(EHR: electronic health records) 데이터를 입력하여, 환자의 심박수 변화 등과 같이 환자의 관리에 필요한 정보와 관련된 데이터를 생성할 수 있다. 상술한 예시 이외에도 의료 데이터의 종류 및 신경망 모델의 출력은 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
본 개시의 일 실시예에 따른 메모리(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를 참조하면, 본 개시의 일 실시예에 따른 프로세서(110)는 의료 데이터를 기반으로 사람의 건강 상태를 추정하기 위한 신경망 모델을 학습시키기 위해서 3단계의 학습 과정을 수행할 수 있다. 프로세서(110)는 의료 데이터를 기초로 사람의 건강 상태를 추정하기 위한 귀납적 편향을 갖도록 제 1 신경망 모델(200)을 학습시키는 A단계를 수행할 수 있다. 프로세서(110)는 A단계를 통해 강화된 제 1 신경망 모델(200)의 귀납적 편향을 제 2 신경망 모델(300)로 전달하기 위한 B단계를 수행할 수 있다. 그리고, 프로세서(110)는 B단계를 통해 학습된 제 2 신경망 모델(300)을 활용 목적에 맞춰 미세 조정(fine-tuning)하기 위한 C단계를 수행할 수 있다. 다만, C단계는 반드시 수행될 필요는 없으며, 제 2 신경망 모델(300)의 활용 목적에 따라 수행될 수도 있고, 수행되지 않을 수도 있다.
구체적으로 살펴보면, 프로세서(110)는 제 2 신경망 모델(300)로 전달하기 위한 귀납적 편향을 생성하기 위해서 제 1 신경망 모델(200)을 학습시킬 수 있다. 프로세서(110)는 제 1 신경망 모델(200)로 의료 데이터(11)를 입력하여 사람의 건강 상태를 추정하기 위한 출력을 생성할 수 있다. 프로세서(110)는 손실 함수를 통해 제 1 신경망 모델(200)의 출력을 GT(ground truth)와 비교하여, 신경망의 가중치(weight) 등과 같은 파라미터를 재구성할 수 있다. 프로세서(110)는 이러한 연산을 손실 함수가 수렴할 때까지 반복 수행하여 의료 데이터(11)를 기반으로 제 1 신경망 모델(200)을 학습시킬 수 있다. 제 1 신경망 모델(200)이 컨볼루셔널(convolutional) 신경망을 포함하는 경우, 제 1 신경망 모델(200)은 A단계를 통해 의료 데이터(11)에 대한 지역성(locality) 및 번역 등분산(translation invariance)의 귀납적 편향을 강화할 수 있다. 제 1 신경망 모델(200)이 순환(recurrent) 신경망을 포함하는 경우, 제 1 신경망 모델(200)은 A단계를 통해 의료 데이터(11)에 대한 시간적 등분산(temporal invariance)의 귀납적 편향을 강화할 수 있다.
프로세서(110)는 A 단계를 통해 강화된 제 1 신경망 모델(200)의 귀납적 편향을 제 2 신경망 모델(300)이 학습할 수 있도록, 제 1 신경망 모델(200)에 포함된 복수의 신경망 블록들(210)과 제 2 신경망 모델(300)에 포함된 복수의 신경망 블록들(220)을 매칭시킬 수 있다. 프로세서(110)는 제 1 신경망 모델(200)와 제 2 신경망 모델(300)에 각각 의료 데이터(15)를 입력할 수 있다. 이때, B단계의 의료 데이터(15)는 A단계의 의료 데이터(11)와 동일할 수도 있고 상이할 수도 있다. 각 모델(200, 300)이 의료 데이터(15)를 처리하는 과정에서, 프로세서(100)는 손실 함수를 이용하여 제 1 신경망 모델(200)에 포함된 복수의 신경망 블록들(210) 각각의 출력과 제 2 신경망 모델(300)에 포함된 복수의 신경망 블록들(220) 각각의 출력 간의 차이를 연산할 수 있다. 즉, 프로세서(110)는 제 1 신경망 모델(200)에 포함된 복수의 신경망 블록들(210)과 제 2 신경망 모델(300)에 포함된 복수의 신경망 블록들(220)을 페어(pair)로 구성하여 손실을 연산할 수 있다.
다만, 제 1 신경망 모델(200)과 제 2 신경망 모델(300) 각각이 포함하는 신경망의 종류 및 신경망들 간의 종속성으로 인해, 매칭시키고자 하는 신경망 블록들(210, 220) 간 입력 및/또는 차원의 차이가 발생할 수 있다. 제 1 신경망 모델(200)이 컨볼루셔널 신경망 혹은 순환 신경망 중 적어도 하나를 포함하고, 제 2 신경망 모델(300)이 셀프-어텐션(self-attention) 기반 신경망을 포함하는 경우, 제 1 신경망 모델(200)의 신경망 블록들(210)과 제 2 신경망 모델(300)의 신경망 블록들(220) 간 입력과 차원의 차이로 인해 손실을 계산하기 어려울 수 밖에 없다. 따라서, 프로세서(110)는 손실 함수를 이용하여 차이를 계산하는 과정에서 신경망 블록들(210, 220) 간 입력 및/또는 차원을 매칭시키기 위한 연산을 수행할 수 있다. 예를 들어, 프로세서(110)는 제 1 신경망 모델(200)의 중간 출력과 제 2 신경망 모델(300)의 중간 출력을 블록들(210, 220) 각각에 교차로 입력하고, 블록들(210, 220) 각각의 입출력 차원을 일치시키는 연산을 수행할 수 있다. 프로세서(110)는 이러한 입력 및 차원 매칭을 통해 제 1 신경망 모델(200)과 제 2 신경망 모델(300) 각각이 포함하는 신경망의 종류가 상이하더라도 효과적으로 신경망 블록들(210, 220)을 매칭시킬 수 있다.
그리고, 프로세서(110)는 손실 함수를 이용하여 제 1 신경망 모델(200)의 최종 출력과 제2 신경망 모델(300)의 최종 출력 간의 차이를 연산할 수 있다. 프로세서(110)는 상술한 신경망 블록들 간의 매칭과 최종 출력 간 매칭을 손실 함수가 수렴할 때까지 반복 수행함으로써, 제 1 신경망 모델(200)의 귀납적 편향을 제 2 신경망 모델(300)로 전달할 수 있다. 다시 말해서, 프로세서(110)는 B단계의 신경망 블록 매칭을 통해, A단계를 거쳐 학습된 제 1 신경망 모델(200)을 기초로 제 2 신경망 모델(300)을 학습시킬 수 있다.
상술한 B단계가 완료되면, 프로세서(110)는 제 1 신경망 모델(200)의 귀납적 편향을 학습한 제 2 신경망 모델(300)에 대한 미세 조정을 수행할 수 있다. 여기서, 미세 조정은 제 2 신경망 모델(300)의 활용 목적에 맞추어 제 2 신경망 모델(300)을 특정 태스크(task)에 최적화 시키는 학습 과정으로 이해될 수 있다. 프로세서(110)는 B단계를 통해 학습된 제 2 신경망 모델(300)로 의료 데이터(19)를 입력하여 사람의 건강 상태를 추정하기 위한 출력을 생성할 수 있다. 이때, 의료 데이터(19)는 제 2 신경망 모델(300)의 활용 목적에 따라 심전도 데이터일 수도 있고, 전자 건강 기록 데이터일 수도 있다. 그리고, 제 2 신경망 모델(300)은 심전도 데이터를 입력 받아 부정맥 등과 같은 만성 질환을 추정할 수도 있고, 전자 건강 기록 데이터를 입력 받아 중환자의 상태 변화를 추정할 수도 있다. 다만, 이러한 제 2 신경망 모델(300)의 입출력은 하나의 예시일 뿐이므로, 상술한 예시에 한정되지 않는다. 프로세서(110)는 손실 함수를 통해 제 2 신경망 모델(300)의 출력을 GT(ground truth)와 비교하여, 신경망의 가중치(weight) 등과 같은 파라미터를 재구성할 수 있다. 프로세서(110)는 이러한 연산을 손실 함수가 수렴할 때까지 반복 수행하여 의료 데이터(19)를 기반으로 제 2 신경망 모델(300)을 재학습시킬 수 있다.
도 3은 본 개시의 일 실시예에 따른 손실 함수의 연산 과정을 나타낸 개념도이다. 도 3을 위한 이하 설명에서, 제 1 신경망 모델(200)은 컨볼루셔널 신경망 모델 혹은 순환 신경망 모델, 제 2 신경망 모델(300)은 셀프-어텐션(self-attention) 기반 트랜스포머(transformer) 모델로 가정한다.
도 3을 참조하면, 제 1 신경망 모델(200) 및 제 2 신경망 모델(300)은 다음의 [수학식 1]과 같은 신경망 블록을 나타내는 연산 함수들의 조합으로 해석될 수 있다.
[수학식 1]
Figure PCTKR2022013833-appb-img-000001
Figure PCTKR2022013833-appb-img-000002
여기서, f는 제 1 신경망 모델(200), fn은 제 1 신경망 모델(200)의 n번째(n은 자연수) 신경망 블록, g는 제 2 신경망 모델(300), gn은 제 2 신경망 모델(300)의 n번째 신경망 블록을 나타낸다. 그리고, lf는 제 1 신경망 모델(200)의 분류기, lg는 제 2 신경망 모델(300)의 분류기를 나타낸다.
컨볼루셔널 신경망 모델 혹은 순환 신경망 모델인 제 1 신경망 모델(200)의 귀납적 편향을 트랜스포머 모델인 제 2 신경망 모델(300)로 전달하기 위해, 본 개시의 일 실시예에 따른 프로세서(110)는 fn과 gn을 매칭하는 연산을 수행할 수 있다. 매칭 연산은 크게 입력 매칭과 차원 매칭으로 구분될 수 있다.
제 1 신경망 모델(200)과 제 2 신경망 모델(300) 간 신경망 종류의 차이로 인해 신경망 블록들 간 함수 매칭에서 입력 차이의 문제가 자연스럽게 발생할 수 있다. 예를 들어, 제 2 신경망 모델(300)의 두 번째 함수 g2의 입력은 g1(x)이 되고, 제 1 신경망 모델(200)의 두 번째 함수 f2의 입력은 f1(x)이 된다. 이때, 입력 매칭을 수행하지 않으면, 두 함수 간의 매칭은 ∥g2(g1(x))-f2(f1(x))∥를 최소화 하는 연산으로 수행된다. 그러나, 이전 신경망 블록들의 종속성 때문에, 이러한 매칭 연산은 g2가 f2에 근접하는 것을 보장할 수 없다. 따라서, 프로세서(110)는 신호를 제 1 신경망 모델(200)과 제 2 신경망 모델(300)의 두 연산 흐름에 모두 전달하여 상술한 문제를 완화한다. 즉, 본 개시에 있어서, 두 함수 간의 매칭은 ∥g2(f1(x)) - f2(f1(x))∥ + ∥g2(g1(x)) - f2(g1(x))∥를 최소화 하는 연산으로 수행될 수 있다.
또한, 신경망 블록들 간 함수 매칭에서 입력이 통과하는 함수로 인한 차원 차이의 문제가 발생할 수 있다. 제 1 신경망 모델(200)의 n번째 신경망 블록을 나타내는 fn(·)의 경우, 풀링(pooling) 연산과 스트라이드 연산(convolution with stride)은 시간적 방향에 따라 차원을 변경하고, 컨볼루션 연산 변경은 특징의 차원도 확장한다. 이러한 문제를 처리하기 위해, 프로세서(110)는 각 차원을 동일하게 변환하는 변환 함수 h(·)를 사용할 수 있다.
[수학식 2]
Figure PCTKR2022013833-appb-img-000003
[수학식 2]에서 I(·)는 시간적 방향(temporal direction)의 선형 변환을 나타내고, W는 특징 차원(feature dimension)의 선형 변환을 나타낸다. 즉, 변환 함수 h(·)는 입력 변수의 시간 방향의 선형 변환을 위한 함수와 입력 변수의 특징 차원의 선형 변환을 위한 함수의 곱으로 표현될 수 있다.
상술한 입력 매칭과 차원 매칭을 요약하면, 다음의 [수학식 3]과 같은 2개의 손실 함수로 표현될 수 있다.
[수학식 3]
Figure PCTKR2022013833-appb-img-000004
Figure PCTKR2022013833-appb-img-000005
여기서, L1 n은 도 3의 (a)에 대응될 수 있고, L2 n은 도 3의 (b)에 대응될 수 있다.
그리고, 도 3의 (c)를 참조하면, 제 2 신경망 모델(300)의 신경망 블록에 대응되는 연산 함수 gn 뿐만 아니라 제 2 신경망 모델(300) 전체 g가 제 1 신경망 모델(200)의 귀납적 편향을 전달받아 유사하게 동작할 수 있도록 하기 위해, 다음의 [수학식 4]와 같은 손실 함수 L3 n이 추가적으로 연산될 수 있다.
[수학식 4]
Figure PCTKR2022013833-appb-img-000006
컨볼루셔널 신경망 모델 혹은 순환 신경망 모델인 제 1 신경망 모델(200)의 귀납적 편향을 트랜스포머 모델인 제 2 신경망 모델(300)로 학습시키기 위한 전체 손실 함수 L는 상술한 [수학식 3]과 [수학식 4]를 통합하여 다음과 같은 [수학식 5]로 표현될 수 있다.
[수학식 5]
Figure PCTKR2022013833-appb-img-000007
Figure PCTKR2022013833-appb-img-000008
한편, 본 개시의 일 실시예에 따라 상술한 손실 함수에 기반한 제 2 신경망 모델(300)의 학습이 완료되고 나면, 학습이 완료된 상태의 가중치 Φ는 무작위로 초기화된 분류기를 사용한 학습의 초기 가중치로 사용될 수 있다. 프로세서(110)는 귀납적 편향을 갖는 제 1 신경망 모델(200)과 동일한 작업으로 손실을 최소화 하여 학습된 제 2 신경망 모델(300)을 미세 조정할 수 있다. 제 2 신경망 모델(300)을 미세 조정하는 동안, 프로세서(110)는 가중치 Φg를 초기 가중치 Φf→g에 가깝게 유지하여 제 1 신경망 모델(200)에서 전달된 귀납적 편향을 제 2 신경망 모델(300)이 잊어버리지 않도록, 제 2 신경망 모델(300)을 정규화 할 수 있다. 이러한 정규화는 다음의 [수학식 6]과 같이 표현될 수 있다.
[수학식 6]
Figure PCTKR2022013833-appb-img-000009
Figure PCTKR2022013833-appb-img-000010
상술한 도 2의 3단계 학습 및 도 3의 손실 함수 연산을 통해 제 1 신경망 모델(200)의 귀납적 편향을 제 2 신경망 모델(300)로 효율적으로 전달하여 학습을 수행하고, 제 2 신경망 모델(300)을 의료 분야의 사용 목적에 맞추어 효과적으로 최적화 시킬 수 있다. 또한, 충분한 데이터가 축적되지 않은 의로 분야에서 적은 양의 데이터로도 일반화 성능이 보장되도록 제 2 신경망 모델(300)의 학습시켜 의료 분야의 다양한 태스크에 용이하게 활용할 수 있다.
도 4 는 본 개시의 일 실시예에 따라 학습된 딥러닝 모델과 종래 솔루션의 성능을 비교 평가한 결과를 나타내는 그래프이다.
도 4의 (a)는 심전도 데이터를 기반으로 컨볼루셔널 신경망(41), DieT(45), 컨볼루셔널 신경망(41)으로부터 귀납적 편향을 전달받아 학습된 본 개시의 신경망(49)의 성능을 비교한 결과를 나타낸다. 그리고, F1은 f-1 스코어(score), P-21은 physionet 21 점수를 나타낸다. 심전도 데이터의 경우, 본 개시의 신경망(49)의 성능이 귀납적 편향을 전달해준 컨볼루셔널 신경망(41)보다 뛰어남을 알 수 있다. 또한, 본 개시의 신경망(49)의 성능은 지식 증류를 기반으로 하는 DieT(45)에 비해서도 월등히 뛰어남을 알 수 있다. 특히나 심전도 케이스에서, 오히려 DieT(45)는 컨볼루셔널 신경망(41)보다도 성능이 떨어짐을 알 수 있다.
도 4의 (b)는 전자 의무 기록 데이터를 기반으로 컨볼루셔널 신경망(51), DieT(55), 컨볼루셔널 신경망(51)으로부터 귀납적 편향을 전달받아 학습된 본 개시의 신경망(59)의 성능을 비교한 결과를 나타낸다. 그리고, P-19는 physionet 19 점수를 나타낸다. 전자 의무 기록 데이터의 경우, 본 개시의 신경망(59)의 성능이 귀납적 편향을 전달해준 컨볼루셔널 신경망(51)보다 뛰어남을 알 수 있다. 또한, 본 개시의 신경망(49)의 성능은 P-19를 기준으로 지식 증류를 기반으로 하는 DieT(45)에 비해서도 월등히 뛰어남을 알 수 있다.
상술한 결과를 종합해보면, 본 개시의 학습 방법을 통해 학습된 신경망은 DieT와 비교하여 학습을 위한 데이터가 충분히 축적되지 않은 의료 분야에 보다 적합함을 알 수 있다. 또한, 본 개시의 학습 방법을 통해 학습된 신경망은 선행 모델의 귀납적 편향을 성공적으로 인코딩(encoding)하여 선행 모델보다 더 뛰어난 성능을 보여줌을 알 수 있다.
도 5는 본 개시의 일 실시예에 따른 딥러닝 모델의 학습 방법을 나타낸 순서도이다.
도 5를 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 의료 데이터를 기초로 제 1 신경망 모델을 학습시킬 수 있다(S110). 컴퓨팅 장치(100)는 제 1 신경망 모델이 의료 데이터를 기초로 제 1 신경망 모델이 사람의 건강 상태를 추정하도록, 제 1 신경망 모델을 학습시킬 수 있다. 예를 들어, 컴퓨팅 장치(100)가 클라우드 시스템의 서버 혹은 클라이언트인 경우, 컴퓨팅 장치(100)는 병원 환경 내 데이터베이스와 통신을 통해 심전도 데이터 혹은 전자 건강 기록 데이터 중 적어도 하나를 학습 데이터로 수신할 수 있다. 컴퓨팅 장치(100)가 병원 환경 내 데이터베이스인 경우, 컴퓨팅 장치(100)는 병원 환경 내 심전도 측정 장치 등과 통신을 통해 심전도 데이터 혹은 전자 건강 기록 데이터 중 적어도 하나를 학습 데이터로 생성할 수 있다. 컴퓨팅 장치(100)는 제 1 신경망 모델이 획득된 심전도 데이터 혹은 전자 건강 기록 데이터 중 적어도 하나를 기초로 사람의 질환 등의 발생 여부, 변화 추이, 위험 정도 등을 추정하도록, 제 1 신경망 모델을 학습시킬 수 있다.
컴퓨팅 장치(100)는 제 1 신경망 모델과 제 2 신경망 모델 간의 신경망 블록을 나타내는 연산 함수를 매칭시킴으로써, 제 2 신경망 모델을 학습시킬 수 있다(S120). 컴퓨팅 장치(100)는 S110 단계를 통해 학습된 제 1 신경망 모델에 포함된 신경망 블록을 나타내는 제 1 연산 함수와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킬 수 있다. 구체적으로, 컴퓨팅 장치(100)는 제 1 연산 함수와 제 2 연산 함수 간의 입력 혹은 차원 중 적어도 하나를 매칭시키기 위한 손실 함수를 이용하여, S110 단계를 통해 학습된 제 1 신경망 모델을 기초로 제 2 신경망 모델을 학습시킬 수 있다.
본 개시의 일 실시예에 따르면, S120 단계에서 제 1 연산 함수와 제 2 연산 함수를 매칭시키기 위한 손실 함수는, 제 1 신경망 모델에 포함된 n-1번째 신경망 블록에 대응되는 제 1 연산 함수의 출력을 입력 변수로 하는 제 1 서브 손실 함수 및 제 2 신경망 모델에 포함된 n-1번째 신경망 블록에 대응되는 제 2 연산 함수의 출력을 입력 변수로 하는 제 2 서브 손실 함수를 포함할 수 있다. 제 1 서브 손실 함수 및 제 2 서브 손실 함수 각각은, 제 1 신경망 모델에 포함된 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력과 제 2 신경망 모델에 포함된 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력 간 차이를 연산하기 위한 함수일 수 있다. 즉, 제 1 서브 손실 함수는 이전 제 1 연산 함수의 출력을 현재 제 1 연산 함수와 현재 제 2 연산 함수 각각에 입력하여 생성된 출력 간 차이를 연산하기 위한 함수로 이해될 수 있다. 그리고, 제 2 서브 손실 함수는 이전 제 2 연산 함수의 출력을 현재 제 1 연산 함수와 현재 제 2 연산 함수 각각에 입력하여 생성된 출력 간 차이를 연산하기 위한 함수로 이해될 수 있다.
제 1 신경망 모델과 제 2 신경망 모델이 동일한 컨볼루셔널 신경망 블록을 포함한다면, 각 연산 함수가 처리하는 과정에서 데이터의 차원 문제가 발생하지 않는다. 그러나, 제 1 신경망 모델은 컨볼루셔널 신경망 블록을 포함하고, 제 2 신경망 모델은 셀프-어텐션 기반 신경망 블록을 포함하는 경우와 같이 상이한 종류의 신경망 블록을 포함한다면, 각 연산 함수가 처리하는 과정에서 데이터의 차원 문제가 발생할 수 있다. 따라서, 제 1 서브 손실 함수 및 제 2 서브 손실 함수 각각은, n번째 신경망 블록에 대응되는 제 1 연산 함수와 n번째 신경망 블록에 대응되는 제 2 연산 함수의 차원을 매칭시키기 위한 변환 함수를 포함할 수 있다. 이때, 변환 함수는, 변환 함수의 입력 변수를 시간적 방향에서 선형 변환하기 위한 제 1 서브 변환 함수 및 변환 함수의 입력 변수를 특징 차원에서 선형 변환하기 위한 제 2 서브 변환 함수를 포함할 수 있다. 변환 함수는 [수학식 2]의 h(·)에 대응되고, 제 1 서브 변환 함수는 [수학식 2]의 I(·), 제 2 서브 변환 함수는 [수학식 2]의 W에 대응되는 것으로 이해될 수 있다.
제 1 서브 손실 함수에 포함된 변환 함수는, n-1번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 n번째 신경망 블록에 대응되는 제 2 연산 함수의 입력의 차원에 매칭시키고, n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원을 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원에 매칭시키기 위한 함수일 수 있다. 예를 들어, 도 3의 (a)을 참조하면, 제 1 서브 손실 함수에 포함된 변환 함수는, hn-1 f->g와 같이 n-1번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 n번째 신경망 블록에 대응되는 제 2 연산 함수의 입력의 차원에 맞춰 변환하는 연산을 위해 사용될 수 있다. 그리고, 제 1 서브 손실 함수에 포함된 변환 함수는, hn g->f과 같이 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원을 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원에 맞춰 변환하는 연산을 위해 사용될 수 있다.
제 2 서브 손실 함수에 포함된 변환 함수는, n-1번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원을 n번째 신경망 블록에 대응되는 제 1 연산 함수의 입력의 차원에 매칭시키고, n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원에 매칭시키기 위한 함수일 수 있다. 예를 들어, 도 3의 (b)를 참조하면, 제 2 서브 손실 함수에 포함된 변환 함수는, hn-1 g->f와 같이 n-1번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원을 n번째 신경망 블록에 대응되는 제 1 연산 함수의 입력의 차원 에 맞춰 변환하는 연산을 위해 사용될 수 있다. 그리고, 제 2 서브 손실 함수에 포함된 변환 함수는, hn f->g과 같이 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원에 맞춰 변환하는 연산을 위해 사용될 수 있다.
상술한 설명을 종합하면, 제 1 서브 손실 함수는 [수학식 3]의 L1 n에 대응되고, 제 2 서브 손실 함수는 [수학식 3]의 L2 n에 대응되는 것으로 이해될 수 있다. 즉, 제 1 서브 손실 함수의 연산 과정은 도 3의 (a)에 대응되고, 제 2 서브 손실 함수의 연산 과정은 도 3의 (b)에 대응되는 것으로 이해될 수 있다.
한편, S120 단계에서 제 1 연산 함수와 제 2 연산 함수를 매칭시키기 위한 손실 함수는, 의료 데이터를 입력 받은 제 1 신경망 모델의 출력과 의료 데이터를 입력 받은 제 2 신경망 모델의 출력 간의 차이를 연산하기 위한 제 3 서브 손실 함수를 더 포함할 수 있다. 제 1 서브 손실 함수 및 제 2 서브 손실 함수는 신경망 모델들 각각에 포함된 신경망 블록들을 세부적으로 매칭시키기 위한 함수라면, 제 3 서브 손실 함수는 신경망 모델들을 전체 모델 관점에서 매칭시키기 위한 함수로 이해될 수 있다.
제 3 서브 손실 함수는, 의료 데이터를 입력 받은 제 1 신경망 모델의 출력의 차원을 의료 데이터를 입력 받은 제 2 신경망 모델의 출력의 차원에 매칭시키기 위한 변환 함수를 포함할 수 있다. 제 1 서브 손실 함수 및 제 2 서브 손실 함수와 마찬가지로, 제 1 신경망 모델과 제 2 신경망 모델 간의 신경망 종류에 차이가 존재한다면, 각각의 연산 과정에서 도출되는 데이터 간의 차원 차이가 존재할 수 밖에 없으므로, 차원 차이의 문제를 해결하기 위해 제 3 서브 손실 함수는 변환 함수를 포함할 수 있다. 예를 들어, 도 3의 (c)를 참조하면, 제 3 서브 손실 함수에 포함된 변환 함수는, hn f->g과 같이 최종 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 최종 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원에 맞춰 변환하는 연산을 위해 사용될 수 있다.
상술한 설명을 종합하면, 제 3 서브 손실 함수는 [수학식 4]의 L3 n에 대응되고, 제 3 서브 손실 함수의 연산 과정은 도 3의 (c)에 대응되는 것으로 이해될 수 있다. 그리고, S120 단계에서 제 1 연산 함수와 제 2 연산 함수를 매칭시키기 위한 손실 함수는 제 1 서브 손실 함수, 제 2 서브 손실 함수, 제 3 손실 함수의 조합으로 표현될 수 있다. [수학식 5]에서는 3개의 서브 손실 함수들의 단순합으로 표현되었으나, 단순합 뿐만 아니라 가중합, 곱 등의 다양한 연산을 기반으로 서브 손실 함수들은 조합될 수 있다.
컴퓨팅 장치(100)는 의료 데이터를 기초로 S120 단계를 통해 제 1 신경망 모델의 귀납적 편향을 학습한 제 2 신경망 모델에 대한 미세 조정을 수행할 수 있다(S130). 이때, 미세 조정은, 제 2 신경망 모델의 가중치가 제 1 신경망 모델에 기반한 학습(S120 단계)이 완료된 상태의 가중치와 가깝게 유지하면서 제 2 신경망 모델을 학습시키는 과정으로 이해될 수 있다. 예를 들어, 제 2 신경망 모델이 만성 질환 중에서도 부정맥 예측이라는 태스크에 보다 최적화될 수 있도록 하기 위해, 컴퓨팅 장치(100)는 S120 단계가 완료된 제 2 신경망 모델에 부정맥 예측과 관련된 심전도 데이터를 입력하여 제 2 신경망 모델을 미세 조정할 수 있다. 또한, 제 2 신경망 모델이 중환자실에 입원한 환자의 심박수 변화를 모니터링하기 위한 태스크에 보다 최적화될 수 있도록 하기 위해, 컴퓨팅 장치(100)는 S120 단계가 완료된 제 2 신경망 모델에 중환자의 전자 건강 기록 데이터를 입력하여 제 2 신경망 모델을 미세 조정할 수 있다. 본 개시의 미세 조정은 상술한 예시에 한정되지 않고, 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 수행될 수 있다.
도 6은 본 개시의 일 실시예에 따른 딥러닝 모델의 추론 방법을 나타낸 순서도이다.
도 6을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 심전도 데이터 혹은 전자 건강 기록 데이터 중 적어도 하나를 포함하는 의료 데이터를 획득할 수 있다(S210). 예를 들어, 컴퓨팅 장치(100)가 클라우드 시스템의 서버 혹은 클라이언트인 경우, 컴퓨팅 장치(100)는 병원 환경 내 데이터베이스와 통신을 통해 추론 대상의 심전도 데이터 혹은 전자 건강 기록 데이터 중 적어도 하나를 수신할 수 있다. 컴퓨팅 장치(100)가 병원 환경 내 데이터베이스인 경우, 컴퓨팅 장치(100)는 병원 환경 내 심전도 측정 장치 등과 통신을 통해 추론 대상의 심전도 데이터 혹은 전자 건강 기록 데이터 중 적어도 하나를 생성할 수 있다.
컴퓨팅 장치(100)는 사전 학습된 제 2 신경망 모델을 사용하여, 의료 데이터를 기초로 사람의 건강 상태를 추정할 수 있다(S220). 컴퓨팅 장치(100)는 사전 학습된 제 2 신경망 모델로 S210 단계를 통해 획득된 심전도 데이터 혹은 전자 건강 기록 데이터 중 적어도 하나를 입력하여, 사람의 질환 등의 발생 여부, 변화 추이, 위험 정도 등을 예측할 수 있다. 이때, 제 2 신경망 모델은, 사전 학습된 제 1 신경망 모델을 기초로, 제 1 신경망 모델에 포함된 신경망 블록에 대응되는 제 1 연산 함수와 제 2 신경망 모델에 포함된 신경망 블록에 대응되는 제 2 연산 함수를 매칭시키는 연산을 통해 학습된 것일 수 있다. 제 2 신경망 모델의 사전 학습은 상술한 도 6의 설명에 대응되므로, 이하에서는 구체적인 설명을 생략하도록 한다.
앞서 설명된 본 개시의 다양한 실시예는 추가 실시예와 결합될 수 있고, 상술한 상세한 설명에 비추어 당업자가 이해 가능한 범주에서 변경될 수 있다. 본 개시의 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해되어야 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다. 따라서, 본 개시의 특허청구범위의 의미, 범위 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 적어도 하나의 프로세서(processor)를 포함하는 컴퓨팅 장치에 의해 수행되는, 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 방법으로서,
    의료 데이터를 기초로 제 1 신경망 모델을 학습시키는 단계; 및
    상기 학습된 제 1 신경망 모델에 포함된 신경망 블록(block)을 나타내는 제 1 연산 함수(operation function)와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 단계;
    를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 학습된 제 1 신경망 모델에 포함된 신경망 블록을 나타내는 제 1 연산 함수와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 단계는,
    상기 제 1 연산 함수와 상기 제 2 연산 함수 간의 입력 혹은 차원 중 적어도 하나를 매칭시키기 위한 손실 함수를 이용하여, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 단계;
    를 포함하는,
    방법.
  3. 제 2 항에 있어서,
    상기 손실 함수는,
    상기 제 1 신경망 모델에 포함된 n-1번째(n은 자연수) 신경망 블록에 대응되는 제 1 연산 함수의 출력을 입력 변수로 하는 제 1 서브 손실 함수; 및
    상기 제 2 신경망 모델에 포함된 n-1번째 신경망 블록에 대응되는 제 2 연산 함수의 출력을 입력 변수로 하는 제 2 서브 손실 함수;
    를 포함하되,
    상기 제 1 서브 손실 함수 및 상기 제 2 서브 손실 함수 각각은,
    상기 제 1 신경망 모델에 포함된 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력과 상기 제 2 신경망 모델에 포함된 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력 간 차이를 연산하기 위한 함수인,
    방법.
  4. 제 3 항에 있어서,
    상기 제 1 서브 손실 함수 및 상기 제 2 서브 손실 함수 각각은,
    상기 n번째 신경망 블록에 대응되는 제 1 연산 함수와 상기 n번째 신경망 블록에 대응되는 제 2 연산 함수의 차원을 매칭시키기 위한 변환 함수를 포함하는,
    방법.
  5. 제 4 항에 있어서,
    상기 변환 함수는,
    상기 변환 함수의 입력 변수를 시간적 방향(temporal direction)에서 선형 변환하기 위한 제 1 서브 변환 함수; 및
    상기 변환 함수의 입력 변수를 특징 차원(feature dimension)에서 선형 변환하기 위한 제 2 서브 변환 함수;
    를 포함하는,
    방법.
  6. 제 4 항에 있어서,
    상기 제 1 서브 손실 함수에 포함된 변환 함수는,
    상기 n-1번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 상기 n번째 신경망 블록에 대응되는 제 2 연산 함수의 입력의 차원에 매칭시키고,
    상기 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원을 상기 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원에 매칭시키기 위한 함수인,
    방법.
  7. 제 4 항에 있어서,
    상기 제 2 서브 손실 함수에 포함된 변환 함수는,
    상기 n-1번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원을 상기 n번째 신경망 블록에 대응되는 제 1 연산 함수의 입력의 차원에 매칭시키고,
    상기 n번째 신경망 블록에 대응되는 제 1 연산 함수의 출력의 차원을 상기 n번째 신경망 블록에 대응되는 제 2 연산 함수의 출력의 차원에 매칭시키기 위한 함수인,
    방법.
  8. 제 2 항에 있어서,
    상기 손실 함수는,
    상기 의료 데이터를 입력 받은 상기 제 1 신경망 모델의 출력과 상기 의료 데이터를 입력 받은 상기 제 2 신경망 모델의 출력 간의 차이를 연산하기 위한 제 3 서브 손실 함수;
    를 더 포함하는,
    방법.
  9. 제 8 항에 있어서,
    상기 제 3 서브 손실 함수는,
    상기 의료 데이터를 입력 받은 상기 제 1 신경망 모델의 출력의 차원을 상기 의료 데이터를 입력 받은 상기 제 2 신경망 모델의 출력의 차원에 매칭시키기 위한 변환 함수를 포함하는,
    방법.
  10. 제 1 항에 있어서,
    의료 데이터를 기초로 상기 제 2 신경망 모델에 대한 미세 조정(fine tuning)을 수행하는 단계;
    를 더 포함하고,
    상기 미세 조정은,
    상기 제 2 신경망 모델의 가중치가 상기 학습된 제 1 신경망 모델에 기반한 학습이 완료된 상태의 가중치와 가깝게 유지하면서 상기 제 2 신경망 모델을 학습시키는 것인,
    방법.
  11. 제 1 항에 있어서,
    상기 제 1 신경망 모델은,
    컨볼루셔널(convolutional) 신경망 혹은 순환(recurrent) 신경망 중 적어도 하나를 포함하고,
    상기 제 2 신경망 모델은,
    셀프-어텐션(self-attention) 기반 신경망을 포함하는,
    방법.
  12. 제 1 항에 있어서,
    상기 의료 데이터는,
    심전도 데이터 혹은 전자 건강 기록(EHR: electronic health records) 데이터 중 적어도 하나를 포함하는,
    방법.
  13. 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되는, 의료 데이터를 기반으로 하는 딥러닝 모델의 추론 방법으로서,
    심전도 데이터 혹은 전자 건강 기록 데이터(EHR: electronic health records) 중 적어도 하나를 포함하는 의료 데이터를 획득하는 단계; 및
    제 2 신경망 모델을 사용하여, 상기 의료 데이터를 기초로 사람의 건강 상태를 추정하는 단계;
    를 포함하되,
    상기 제 2 신경망 모델은,
    사전 학습된 제 1 신경망 모델을 기초로, 상기 학습된 제 1 신경망 모델에 포함된 신경망 블록에 대응되는 제 1 연산 함수와 상기 제 2 신경망 모델에 포함된 신경망 블록에 대응되는 제 2 연산 함수를 매칭시키는 연산을 통해 학습된 것인,
    방법.
  14. 컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램(program)으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서(processor)에서 실행되는 경우, 의료 데이터를 기반으로 하는 딥러닝 모델의 학습을 위한 동작들을 수행하도록 하며,
    상기 동작들은,
    의료 데이터를 기초로 제 1 신경망 모델을 학습시키는 동작; 및
    상기 학습된 제 1 신경망 모델에 포함된 신경망 블록(block)을 나타내는 제 1 연산 함수(operation function)와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는 동작;
    을 포함하는,
    컴퓨터 프로그램.
  15. 의료 데이터를 기반으로 하는 딥러닝 모델의 학습을 위한 컴퓨팅 장치로서,
    적어도 하나의 코어(core)를 포함하는 프로세서(processor);
    상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및
    의료 데이터를 획득하기 위한 네트워크부(network unit);
    를 포함하고,
    상기 프로세서는,
    의료 데이터를 기초로 제 1 신경망 모델을 학습시키고,
    상기 학습된 제 1 신경망 모델에 포함된 신경망 블록(block)을 나타내는 제 1 연산 함수(operation function)와 제 2 신경망 모델에 포함된 신경망 블록을 나타내는 제 2 연산 함수를 매칭시킴으로써, 상기 학습된 제 1 신경망 모델을 기초로 상기 제 2 신경망 모델을 학습시키는,
    장치.
PCT/KR2022/013833 2021-09-25 2022-09-15 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치 WO2023048437A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22873142.8A EP4407633A1 (en) 2021-09-25 2022-09-15 Method, program, and apparatus for training and inferring deep learning model on basis of medical data
CN202280063391.4A CN118020112A (zh) 2021-09-25 2022-09-15 以医疗数据为基础的深度学习模型的学习及推论方法、程序及装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210126784 2021-09-25
KR10-2021-0126784 2021-09-25
KR1020220113975A KR20230044123A (ko) 2021-09-25 2022-09-08 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치
KR10-2022-0113975 2022-09-08

Publications (1)

Publication Number Publication Date
WO2023048437A1 true WO2023048437A1 (ko) 2023-03-30

Family

ID=85720885

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/013833 WO2023048437A1 (ko) 2021-09-25 2022-09-15 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치

Country Status (2)

Country Link
EP (1) EP4407633A1 (ko)
WO (1) WO2023048437A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117253611A (zh) * 2023-09-25 2023-12-19 四川大学 基于多模态知识蒸馏的癌症智能早期筛查方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200045128A (ko) * 2018-10-22 2020-05-04 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법
KR20200052453A (ko) * 2018-10-31 2020-05-15 삼성에스디에스 주식회사 딥러닝 모델 학습 장치 및 방법
KR102232138B1 (ko) * 2020-11-17 2021-03-25 (주)에이아이매틱스 지식 증류 기반 신경망 아키텍처 탐색 방법
KR20210035381A (ko) * 2019-09-23 2021-04-01 삼성에스디에스 주식회사 의료 진단 방법 및 장치
KR20210068713A (ko) * 2019-12-02 2021-06-10 주식회사 피디젠 딥러닝 기반 다중의료데이터를 통한 질병의 진행 예측 분석 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200045128A (ko) * 2018-10-22 2020-05-04 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법
KR20200052453A (ko) * 2018-10-31 2020-05-15 삼성에스디에스 주식회사 딥러닝 모델 학습 장치 및 방법
KR20210035381A (ko) * 2019-09-23 2021-04-01 삼성에스디에스 주식회사 의료 진단 방법 및 장치
KR20210068713A (ko) * 2019-12-02 2021-06-10 주식회사 피디젠 딥러닝 기반 다중의료데이터를 통한 질병의 진행 예측 분석 시스템
KR102232138B1 (ko) * 2020-11-17 2021-03-25 (주)에이아이매틱스 지식 증류 기반 신경망 아키텍처 탐색 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117253611A (zh) * 2023-09-25 2023-12-19 四川大学 基于多模态知识蒸馏的癌症智能早期筛查方法及系统
CN117253611B (zh) * 2023-09-25 2024-04-30 四川大学 基于多模态知识蒸馏的癌症智能早期筛查方法及系统

Also Published As

Publication number Publication date
EP4407633A1 (en) 2024-07-31

Similar Documents

Publication Publication Date Title
Sivapalan et al. ANNet: A lightweight neural network for ECG anomaly detection in IoT edge sensors
US20200027556A1 (en) Systems and Methods for Medical Topic Discovery Based on Large-Scale Machine Learning
JP2023060820A (ja) 機械学習モデル・スケーリングのためのディープ・ニューラル・ネットワーク最適化システム
Cai et al. Hierarchical domain adaptation projective dictionary pair learning model for EEG classification in IoMT systems
WO2022164230A1 (ko) 심전도 신호 기반의 만성질환 예측 방법
WO2023048437A1 (ko) 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치
Jiang et al. Distributed deep learning optimized system over the cloud and smart phone devices
Xie et al. Fast and peer-to-peer vital signal learning system for cloud-based healthcare
CN111160443B (zh) 一种基于深度多任务学习的活动和用户识别方法
WO2023249402A1 (ko) 딥러닝 모델의 학습을 위한 의료 데이터의 처리 방법, 프로그램 및 장치
CN114358250A (zh) 数据处理方法、装置、计算机设备、介质及程序产品
Agarwal et al. Edge optimized and personalized lifelogging framework using ensembled metaheuristic algorithms
WO2023229384A1 (ko) 학습 데이터 생성 방법, 컴퓨터 프로그램 및 장치
Zeghlache et al. Longitudinal self-supervised learning using neural ordinary differential equation
WO2024039043A1 (ko) 학습 데이터 생성 방법, 컴퓨터 프로그램 및 장치
WO2023177151A1 (ko) 3차원 의료 데이터의 처리 방법, 프로그램 및 장치
WO2022092670A1 (ko) 뇌 피질 영역의 두께를 분석하는 방법
WO2024014821A1 (ko) 심전도 기반 신경망 모델의 학습 방법, 프로그램 및 장치
Khan et al. Data heterogeneity mitigation in healthcare robotic systems leveraging the Nelder–Mead method
KR20230044123A (ko) 의료 데이터를 기반으로 하는 딥러닝 모델의 학습 및 추론 방법, 프로그램 및 장치
WO2023249372A1 (ko) 딥러닝 모델의 학습을 위한 의료 데이터의 처리 방법, 프로그램 및 장치
WO2023249411A1 (ko) 데이터 처리 방법, 컴퓨터 프로그램 및 장치
WO2024039218A1 (ko) 생체신호 데이터의 증강 방법, 컴퓨터 프로그램 및 장치
WO2024053828A1 (ko) 인공 신경망 기반 해상도 향상 방법, 프로그램 및 장치
WO2024019523A1 (ko) 심전도를 이용한 건강 상태의 예측 방법, 프로그램 및 장치

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: 22873142

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202447022110

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2022873142

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022873142

Country of ref document: EP

Effective date: 20240425