WO2022005090A1 - 진단 결과를 제공하기 위한 방법 및 장치 - Google Patents

진단 결과를 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
WO2022005090A1
WO2022005090A1 PCT/KR2021/007853 KR2021007853W WO2022005090A1 WO 2022005090 A1 WO2022005090 A1 WO 2022005090A1 KR 2021007853 W KR2021007853 W KR 2021007853W WO 2022005090 A1 WO2022005090 A1 WO 2022005090A1
Authority
WO
WIPO (PCT)
Prior art keywords
diagnostic
information
network
medical data
data
Prior art date
Application number
PCT/KR2021/007853
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
Application filed by 주식회사 뷰노 filed Critical 주식회사 뷰노
Priority to EP21833328.4A priority Critical patent/EP4177901A4/en
Priority to JP2022569520A priority patent/JP7539174B2/ja
Publication of WO2022005090A1 publication Critical patent/WO2022005090A1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • A61B5/7267Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H15/00ICT specially adapted for medical reports, e.g. generation or transmission thereof
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7246Details of waveform analysis using correlation, e.g. template matching or determination of similarity
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient ; user input means
    • A61B5/742Details of notification to user or communication with user or patient ; user input means using visual displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • 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
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring

Definitions

  • the present invention relates to a method for providing a diagnosis result, and more particularly, to a method for providing diagnosis-related information for medical data and a correlation between the diagnosis information.
  • the artificial neural network After learning a method of extracting output data from input data using a fast processing speed and a large storage space, the artificial neural network derives output data by applying the learned method from new input data.
  • the artificial neural network is like a black box, there has been a problem in the art that the user cannot know in detail how the artificial neural network arrives at an output from a given input.
  • the artificial neural network outputs an answer to a problem that is difficult for humans to judge because the intermediate process cannot be known in detail, the error of the artificial neural network cannot be ignored, so it is a dilemma whether to believe the answer. This problem becomes more prominent when values derived from artificial neural networks have a large impact on users, such as in the medical and legal fields.
  • Korean patent "KR 10-2018-0123198” discloses a remote cervical cancer screening system based on automatic cervical reading and clinical decision support system, and deep learning-based automatic reading algorithm reads cervical cancer and reviews the reading results It discloses the contents to judge whether or not.
  • the present disclosure has been made in response to the above-described background art, and an object of the present disclosure is to provide a correlation between diagnosis-related information for medical data and diagnostic information.
  • the calculating, by the processor, first diagnostic information on the input medical data by using the first diagnostic network includes: computing a feature vector on the input medical data in the first diagnostic network ; and calculating the first diagnostic information based on a feature vector related to the input medical data.
  • the feature vector may be calculated based on a result of performing a global pooling method on a feature map derived in the operation process of the first diagnostic network.
  • the first diagnostic network may include two or more different sub-first diagnostic networks that compute first diagnostic information comprising different kinds of findings.
  • the correlation information may include a contribution degree of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information.
  • the contribution of one or more findings included in the first diagnostic information for the at least one disease included in the second diagnostic information is a feature vector of the input medical data calculated in the first diagnostic network; The calculation may be performed based on at least one of a parameter of a final classification function included in the first diagnostic network and a parameter of a final classification function included in the second diagnostic network.
  • the contribution of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information is calculated based on at least one of the first partial contribution and the second partial contribution can be
  • the first partial contribution may be based on odds of overall findings included in the first diagnostic information for at least one disease included in the second diagnostic information.
  • the second partial contribution is based on a counterfactual-odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information
  • the virtual odds may include: odds according to a probability of a situation in which one or more observations included in the first diagnostic information for at least one disease included in the second diagnostic information must exist; odds according to a probability of a situation in which one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information absolutely do not exist; and odds according to a predetermined existence probability of one or more findings included in the first diagnostic information for one disease included in the second diagnostic information; may include at least one of
  • generating the correlation information may include displaying the first diagnostic information in the input medical data based at least in part on a Class Activation Map.
  • the generating of the correlation information includes: a feature vector related to the input medical data, a parameter of a final classification function included in the first diagnostic network, or a final classification function included in the second diagnostic network generating a class activation map based on at least one of parameters of ; and displaying the first diagnostic information on the input medical data based on the class activation map.
  • the computer program When the computer program is executed in one or more processors, the computer program performs the following operations for providing diagnosis-related information for medical data, the operations comprising: a first learned to output diagnosis information based on the medical data calculating first diagnostic information on the input medical data using the diagnostic network; Calculating second diagnostic information on the input medical data using a second diagnostic network trained to output diagnostic information based on a feature vector of the medical data computed in the first diagnostic network, and the feature vector is an operation of calculating based on a feature map derived from a calculation process of the first diagnostic network; and correlation information including the first diagnosis information and the second diagnosis information calculated on the input medical data based on a part of the operation process of the first diagnostic network or the operation process of the second diagnostic network. It may include an action to create.
  • an apparatus for providing diagnosis-related information for medical data includes a processor; and a memory in which at least one network function is stored, wherein the memory receives the first diagnostic information for the input medical data using a first diagnostic network that the processor is trained to output diagnostic information based on the medical data.
  • the feature vector is calculated based on a feature map derived in the operation process of the first diagnostic network, and based on a part of the operation process of the first diagnostic network or the operation process of the second diagnostic network , at least one computer-executable instruction for generating correlation information including the first diagnostic information and the second diagnostic information calculated on the input medical data.
  • a computer program stored in a computer-readable storage medium according to an embodiment of the present disclosure for realizing the above-described problems.
  • the computer program When executed on one or more processors included in the user terminal, it provides a user interface (UI) for displaying diagnosis-related information on medical data, wherein the user interface includes: first diagnosis information on input medical data and correlation information including second diagnosis information for the input medical data, wherein the correlation information includes a calculation process of first diagnosis information using a first diagnosis network and a second diagnosis using a second diagnosis network
  • the information may be generated in the user terminal or the server based on a part of the calculation process.
  • the correlation information includes an odds ratio matrix including a contribution of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information.
  • the present disclosure may provide correlation between diagnostic information and diagnostic information for medical data.
  • FIG. 1 is a block diagram of a computing device for providing diagnosis-related information on medical data according to an embodiment of the present disclosure.
  • FIG. 2 is a schematic diagram illustrating a network function used to provide diagnosis-related information for medical data according to an embodiment of the present disclosure
  • FIG. 3 is a flowchart of a learning process of an entire model for outputting first and second diagnostic information from input medical data according to an embodiment of the present disclosure that provides diagnosis-related information for medical data.
  • FIG. 4 is a flowchart for learning a second diagnosis network according to an embodiment of the present disclosure for providing diagnosis-related information for medical data.
  • FIG. 5 is an exemplary diagram illustrating correlation information including first diagnosis information and second diagnosis information for input medical data according to an embodiment of the present disclosure for providing diagnosis-related information for medical data.
  • FIG. 6 is an example of a user interface for displaying correlation information including first diagnostic information and second diagnostic information for input medical data according to an embodiment of the present disclosure for providing diagnosis-related information for medical data; FIG. It is also
  • FIG. 7 is a simplified, general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.
  • a component can be, but is not limited to being, a process running on a processor, a processor, an object, a thread of execution, a program, and/or a computer.
  • an application running on a computing device and the computing device may be a component.
  • One or more components may reside within a processor and/or thread of execution.
  • a component may be localized within one computer.
  • a component may be distributed between two or more computers.
  • these components can execute from various computer readable media having various data structures stored therein.
  • Components may communicate via a network such as the Internet with another system, for example via a signal having one or more data packets (eg, data and/or signals from one component interacting with another component in a local system, distributed system, etc.) may communicate via local and/or remote processes depending on the data being transmitted).
  • a network such as the Internet with another system
  • one or more data packets eg, data and/or signals from one component interacting with another component in a local system, distributed system, etc.
  • image or "image data” as used throughout the present description and claims refers to multidimensional data composed of discrete image elements (eg, pixels in a two-dimensional image), in other words, (for example, a term that refers to a visible object (eg, displayed on a video screen) or a digital representation of the object (eg, a file corresponding to a pixel output of a CT, MRI detector, etc.).
  • image or “image” can be defined as computed tomography (CT), magnetic resonance imaging (MRI), fundus imaging, ultrasound or any other medical imaging known in the art. It may be a medical image of a subject collected by the system. The image does not necessarily have to be provided in a medical context, but may be provided in a non-medical context, for example, there may be X-ray imaging for security screening.
  • CT computed tomography
  • MRI magnetic resonance imaging
  • fundus imaging ultrasound or any other medical imaging known in the art. It may be a medical image of a subject collected by the system.
  • the image does not necessarily have to be provided in a medical context, but may be provided in a non-medical context, for example, there may be X-ray imaging for security screening.
  • DICOM Digital Imaging and Communications in Medicine
  • ACR American Society of Radiological Medicine
  • NEMA National Electrical Engineers Association
  • 'Picture Archiving and Communication System is a term that refers to a system that stores, processes, and transmits in accordance with the DICOM standard, X-ray, CT , medical imaging images acquired using digital medical imaging equipment such as MRI are stored in DICOM format and transmitted to terminals inside and outside the hospital through a network, to which reading results and medical records can be added.
  • first diagnostic information and “second diagnostic information” refer to types of diagnostic information called according to the order in which they are calculated or output from among intermediate data that the network function calculates from input medical data for final diagnosis. can mean
  • the processor 110 may output first diagnostic information from input medical data through a first diagnostic network included in the entire model.
  • the processor 110 may output second diagnostic information through a second diagnostic network included in the entire model based at least in part on the first diagnostic information. More specifically, the processor 110 may output the second diagnostic information through the second diagnostic network based on the feature vector for calculating the first diagnostic information.
  • the first diagnosis information may include intermediate diagnosis information for generating a final diagnosis result with respect to the input medical data.
  • the second diagnosis information may include a final diagnosis result for the input medical data.
  • the first diagnostic information may include information about at least one or more findings. Throughout this specification, information about an opinion and information about an opinion may be used interchangeably and have the same meaning.
  • the observation information may include the existence probability, type, location, etc. of a specific observation present in the input data.
  • the second diagnostic information may include information on at least one or more diseases. Throughout this specification, information on disease and disease information may be used interchangeably with the same meaning.
  • the disease information may include an existence probability, a type, and the like of a specific disease existing in the input data.
  • the first diagnostic information may include data related to clinical findings with respect to the input medical data.
  • finding information may be used as a meaning including information on data, lesions, or areas of the lesion that are the basis for determining the final disease.
  • the second diagnostic information may include a determination of whether a disease is present.
  • One or more observation information may be involved in determining the presence or absence of one disease included in the second diagnostic information.
  • One observation information may be involved in determining the presence or absence of two or more different diseases included in the second diagnostic information.
  • a diagnosis for a specific disease is made based on the presence of at least one specific finding.
  • the final diagnosis can be made by synthesizing the first finding that a cracking sound is auscultated during inspiration in both lower lungs and the second finding that a reticulum shadow is seen in the lower part of the lungs on chest CT.
  • the first finding according to the degree of damage to the retinal nerve fiber layer and the second finding according to the changes in blood vessels around the optic nerve papilla and the macula may be involved.
  • information on findings on one or more findings can be understood as an independent variable causing a disease
  • Information can be understood as a dependent variable according to such an independent variable.
  • the types and findings of the above-mentioned diseases are merely examples and do not limit the present disclosure, and in the present invention for quantifying how changes in the independent variables affect the results of the dependent variables, it is not necessary to limit the examples of diseases and findings. It will be apparent to those skilled in the art that there is no.
  • FIG. 1 is a block diagram of a computing device for providing diagnosis-related information on medical data according to an embodiment of the present disclosure.
  • the configuration of the computing device 100 shown in FIG. 1 is only a simplified example.
  • the computing device 100 may include other components for performing the computing environment of the computing device 100 , and only some of the disclosed components may configure the computing device 100 .
  • the computing device 100 may include a processor 110 , a memory 130 , and a network unit 150 .
  • the processor 110 may include one or more cores, and a central processing unit (CPU) of a computing device, a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU). unit) and the like, and may include a processor for data analysis and deep learning.
  • the processor 110 may read a computer program stored in the memory 130 to perform data processing for machine learning according to an embodiment of the present disclosure.
  • the processor 110 may perform an operation for learning the neural network.
  • the processor 110 is for learning of a neural network, such as processing input data for learning in deep learning (DL), extracting features from input data, calculating an error, and updating the weight of the neural network using backpropagation. calculations can be performed.
  • DL deep learning
  • At least one of a CPU, a GPGPU, and a TPU of the processor 110 may process learning of a network function.
  • the CPU and the GPGPU can process learning of a network function and data classification using the network function together.
  • learning of a network function and data classification using the network function may be processed by using the processors of a plurality of computing devices together.
  • the computer program executed in the computing device according to an embodiment of the present disclosure may be a CPU, GPGPU, or TPU executable program.
  • the memory 130 may store any type of information generated or determined by the processor 110 and any type of information received by the network unit 150 .
  • the memory 130 is a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (eg, SD or XD memory, etc.), Random Access Memory (RAM), Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read (PROM) -Only Memory), a magnetic memory, a magnetic disk, and an optical disk may include at least one type of storage medium.
  • the computing device 100 may operate in relation to a web storage that performs a storage function of the memory 130 on the Internet.
  • the description of the above-described memory is only an example, and the present disclosure is not limited thereto.
  • the network unit 150 includes a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), VDSL (A variety of wired communication systems such as Very High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and Local Area Network (LAN) can be used.
  • PSTN Public Switched Telephone Network
  • xDSL Digital Subscriber Line
  • RADSL Rate Adaptive DSL
  • MDSL Multi Rate DSL
  • VDSL A variety of wired communication systems such as Very High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and Local Area Network (LAN) can be used.
  • LAN Local Area Network
  • the network unit 150 presented herein is CDMA (Code Division Multi Access), TDMA (Time Division Multi Access), FDMA (Frequency Division Multi Access), OFDMA (Orthogonal Frequency Division Multi Access), SC-FDMA (A variety of wireless communication systems may be used, such as Single Carrier-FDMA) and other systems.
  • CDMA Code Division Multi Access
  • TDMA Time Division Multi Access
  • FDMA Frequency Division Multi Access
  • OFDMA Orthogonal Frequency Division Multi Access
  • SC-FDMA A variety of wireless communication systems may be used, such as Single Carrier-FDMA
  • the network unit 150 may be configured regardless of its communication mode, such as wired and wireless, and may be composed of various communication networks such as a personal area network (PAN) and a wide area network (WAN).
  • PAN personal area network
  • WAN wide area network
  • the network may be a well-known World Wide Web (WWW), and may use a wireless transmission technology used for short-range communication, such as infrared (IrDA) or Bluetooth (Bluetooth).
  • IrDA infrared
  • Bluetooth Bluetooth
  • the processor 110 performs a first diagnosis on the input medical data using the learned first diagnosis network to output the first diagnosis information based on the medical data in order to provide diagnosis-related information. information can be computed.
  • medical data may include at least one of image data, audio data, and time series data. That is, any type of data capable of determining the presence or absence of a disease in data by a person engaged in the medical industry or a device for diagnosis may be included in the medical data according to the present disclosure.
  • the image data includes all image data output after photographing or measuring the affected part of the patient through an examination device and making an electrical signal.
  • the image data may include image data constituting each frame of a moving image in moving images continuously captured over time from a medical imaging device. For example, ultrasound examination image data, image data by an MRI apparatus, CT tomography. It includes photographed image data, X-ray photographed image data, and the like.
  • audio data is converted into an electrical signal and output as an image in the form of a graph or time series data is expressed as visualized data such as a graph
  • the image or data may be included in the image data.
  • a neural network may be composed of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons.
  • a neural network is configured by including at least one or more nodes. Nodes (or neurons) constituting the neural networks may be interconnected by one or more links.
  • one or more nodes connected through a link may relatively form a relationship between an input node and an output node.
  • the concepts of an input node and an output node are relative, and any node in an output node relationship with respect to one node may be in an input node relationship in a relationship with another node, and vice versa.
  • an input node-to-output node relationship may be created around a link.
  • One or more output nodes may be connected to one input node through a link, and vice versa.
  • the value of the output node may be determined based on data input to the input node.
  • a node interconnecting the input node and the output node may have a weight.
  • the weight may be variable, and may be changed by a user or an algorithm in order for the neural network to perform a desired function. For example, when one or more input nodes are interconnected to one output node by respective links, the output node sets values input to input nodes connected to the output node and links corresponding to the respective input nodes. An output node value may be determined based on the weight.
  • one or more nodes are interconnected through one or more links to form an input node and an output node relationship in the neural network.
  • the characteristics of the neural network may be determined according to the number of nodes and links in the neural network, the correlation between the nodes and the links, and the value of a weight assigned to each of the links. For example, when the same number of nodes and links exist and there are two neural networks having different weight values between the links, the two neural networks may be recognized as different from each other.
  • a neural network may include one or more nodes. Some of the nodes constituting the neural network may configure one layer based on distances from the initial input node. For example, a set of nodes having a distance of n from the initial input node may constitute n layers. The distance from the initial input node may be defined by the minimum number of links that must be traversed to reach the corresponding node from the initial input node. However, the definition of such a layer is arbitrary for explanation, and the order of the layer in the neural network may be defined in a different way from the above. For example, a layer of nodes may be defined by a distance from the final output node.
  • the initial input node may mean one or more nodes to which data is directly input without going through a link in a relationship with other nodes among nodes in the neural network.
  • it may mean nodes that other input nodes connected by a link do not have.
  • the final output node may refer to one or more nodes that do not have an output node in relation to other nodes among nodes in the neural network.
  • the hidden node may refer to nodes constituting the neural network other than the first input node and the last output node.
  • the neural network according to an embodiment of the present disclosure may be a neural network in which the number of nodes in the input layer may be the same as the number of nodes in the output layer, and the number of nodes decreases and then increases again as progresses from the input layer to the hidden layer.
  • the number of nodes in the input layer may be less than the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases as the number of nodes progresses from the input layer to the hidden layer. have.
  • the neural network according to another embodiment of the present disclosure may be a neural network in which the number of nodes in the input layer may be greater than the number of nodes in the output layer, and the number of nodes increases as the number of nodes progresses from the input layer to the hidden layer.
  • a neural network according to another embodiment of the present disclosure may be a neural network in a combined form of the aforementioned neural networks.
  • a deep neural network may refer to a neural network including a plurality of hidden layers in addition to an input layer and an output layer. Deep neural networks can be used to identify the latent structures of data. In other words, it can understand the potential structure of photos, texts, videos, voices, and music (e.g., what objects are in the photos, what the text and emotions are, what the texts and emotions are, etc.) . Deep neural networks include convolutional neural networks (CNNs), recurrent neural networks (RNNs), auto encoders, generative adversarial networks (GANs), and restricted Boltzmann machines (RBMs). boltzmann machine), a deep trust network (DBN), a Q network, a U network, a Siamese network, and the like.
  • CNNs convolutional neural networks
  • RNNs recurrent neural networks
  • GANs generative adversarial networks
  • RBMs restricted Boltzmann machines
  • boltzmann machine boltzmann machine
  • DBN deep trust network
  • Q network Q network
  • U network
  • the network function may include an auto-encoder.
  • the auto-encoder may be a kind of artificial neural network for outputting output data similar to input data.
  • the auto encoder may include at least one hidden layer, and an odd number of hidden layers may be disposed between the input/output layers.
  • the number of nodes in each layer may be reduced from the number of nodes in the input layer to an intermediate layer called the bottleneck layer (encoding), and then expanded symmetrically with reduction from the bottleneck layer to the output layer (symmetrical to the input layer).
  • the bottleneck layer encoding
  • the dimensionality reduction layer and the dimension reconstruction layer are illustrated as being symmetrical in the example of FIG.
  • the present disclosure is not limited thereto, and the nodes of the dimension reduction layer and the dimension reconstruction layer may or may not be symmetrical.
  • the auto-encoder can perform non-linear dimensionality reduction.
  • the number of input layers and output layers may correspond to the number of sensors remaining after pre-processing of input data.
  • the number of nodes of the hidden layer included in the encoder may have a structure that decreases as the distance from the input layer increases. If the number of nodes in the bottleneck layer (the layer with the fewest nodes located between the encoder and decoder) is too small, a sufficient amount of information may not be conveyed, so a certain number or more (e.g. more than half of the input layer, etc.) ) may be maintained.
  • the neural network may be trained by at least one of supervised learning, unsupervised learning, and semi-supervised learning.
  • the training of the neural network is to minimize the error in the output.
  • iteratively input the training data into the neural network, calculate the output of the neural network and the target error for the training data, and calculate the error of the neural network from the output layer of the neural network to the input layer in the direction to reduce the error. It is a process of updating the weights of each node of the neural network by backpropagation in the direction.
  • teacher learning learning data in which the correct answer is labeled in each learning data is used (ie, labeled learning data), and in the case of comparative learning, the correct answer may not be labeled in each learning data.
  • learning data in the case of teacher learning related to data classification may be data in which categories are labeled in each of the learning data.
  • Labeled training data is input to the neural network, and an error can be calculated by comparing the output (category) of the neural network with the label of the training data.
  • an error may be calculated by comparing the input training data with the neural network output. The calculated error is backpropagated in the reverse direction (ie, from the output layer to the input layer) in the neural network, and the connection weight of each node of each layer of the neural network may be updated according to the backpropagation. A change amount of the connection weight of each node to be updated may be determined according to a learning rate.
  • the computation of the neural network on the input data and the backpropagation of errors can constitute a learning cycle (epoch).
  • the learning rate may be applied differently according to the number of repetitions of the learning cycle of the neural network. For example, in the early stage of learning of a neural network, a high learning rate can be used to enable the neural network to quickly obtain a certain level of performance to increase efficiency, and in the late learning period, a low learning rate can be used to increase accuracy.
  • the training data may be a subset of real data (that is, data to be processed using the trained neural network), and thus, errors on the training data are reduced, but errors on the real data are reduced.
  • Overfitting is a phenomenon in which errors on actual data increase by over-learning on training data as described above. For example, a phenomenon in which a neural network that has learned a cat by seeing a yellow cat does not recognize that it is a cat when it sees a cat other than yellow may be a type of overfitting. Overfitting can act as a cause of increasing errors in machine learning algorithms. In order to prevent such overfitting, various optimization methods can be used. In order to prevent overfitting, methods such as increasing training data, regularization, or dropout in which a part of nodes in the network are omitted in the process of learning, may be applied.
  • the first diagnostic network may be formed, for example, in a single model structure to generate first diagnostic information including information on at least one or more findings with respect to the input medical data.
  • the first diagnostic network may output a plurality of different first diagnostic information each including information about the first observation or the second opinion from the input medical data.
  • the first diagnosis network extracts at least one or more feature maps from the input medical data, calculates a feature vector based on the feature map, and then includes at least one or more observation information based on the feature vector for a first diagnosis. information can be computed.
  • a learning method and an inference method of the first diagnostic network will be described later in detail.
  • At least one or more pieces of each observation information included in the first diagnosis information may include types of findings existing in the input medical data.
  • the observation information may include at least one information of the existence probability (confidence score) of the finding, the location of the finding, and the area of the finding.
  • the type of observation included in the observation information may be a classification result through a deep learning learning method.
  • the classification includes both a one-to-one classification or a one-to-many classification for input medical data and observations.
  • the classification may be a one-to-many classification for matching input medical data to a specific finding. That is, when there are N findings that can be classified, the processor 110 may classify the input data to be classified into any one of the N classification classes.
  • the classification class may include a class having no findings.
  • the classification result may include the type of findings and the existence probability (Confidence Score) of the findings.
  • the classification may be a one-to-one classification in which the existence of all types of observations learned with respect to the input medical data is determined.
  • the processor 110 may calculate the individual existence probability for all observations or the presence or absence of all observations with respect to the input medical data.
  • the first diagnostic information for the input medical data may include information about up to N observations.
  • the processor 110 may calculate the existence probability of the first observation, the existence probability of the second observation, ..., the existence probability of the Nth observation with respect to the input medical data, respectively.
  • the classification may be performed as a multi-dimensional classification by setting a classification section according to the existence probability.
  • the classification may be a binary classification through comparison of a predetermined threshold value and an existence probability.
  • the first diagnostic network may include several sub-first diagnostic networks.
  • the position of the observation included in the observation information may be a result of detection by the deep learning-based first diagnostic network. That is, when the processor 110 determines that a specific observation exists among the types of observations learned from the input medical data, the corresponding part may be displayed. The existence determination may be performed based on a probability value derived by a network function and a predetermined threshold value. The display of the corresponding part may be performed by a bounding box of a predetermined shape.
  • the information on the area of the observation included in the observation information may be a learning result of the deep learning-based first diagnostic network, or a result of segmentation through the network. That is, when the processor 110 outputs observation information from the input medical data, it is possible to output the observation information by displaying a pixel including a lesion area related to the corresponding observation differently from other pixels.
  • the processor 110 may calculate a feature vector related to the input medical data in the first diagnosis network, and may calculate the first diagnosis information based on the feature vector related to the input medical data. That is, the processor 110 may calculate a feature vector based on a feature map derived in the operation process of the first diagnosis network, and output the first diagnosis information based thereon.
  • the operation result of the first diagnostic network may include a feature map and a feature vector for input medical data derived from each layer in an internal operation process through the first diagnostic network.
  • the processor 110 may calculate a feature vector for the input medical data based at least in part on a feature map generated in an internal operation process as a result of the first diagnostic network operation.
  • the feature map which is a basis for generating the feature vector, may be one of at least one or more internal output data output from each layer included in the first diagnostic network.
  • Each layer included in the first diagnostic network includes a convolutional layer, a pooling layer, a fully connected layer, and the like existing in the first diagnostic network. Examples of the above-described layers are merely examples and include, without limitation, all layers within the structure of the first diagnostic network for generating findings information from medical data.
  • the feature vector related to the input medical data may be generated based on a feature map derived most recently among at least one or more internal output data existing in the first diagnostic network.
  • the feature map which is a basis for generating a feature vector with respect to the input medical data, may be a feature map input to a fully connected layer for final classification of findings from the input medical data in the first diagnostic network.
  • the feature vector regarding the input medical data is a predetermined value among at least one or more internal output data existing in the first diagnosis network. It may be generated based on the feature map of the location.
  • At least one or more feature maps included in the operation result of the first diagnostic network may be expressed as an array having sizes of a predetermined number of channels (C), a predetermined height (H), and a predetermined width (W).
  • the feature map is expressed in an array, main information including location information and the like with respect to the initial input data may not be lost in the inference process.
  • the feature vector generated based on the feature map may also be an array having a predetermined number of channels (C'), a predetermined height (H'), and a predetermined width (W').
  • the predetermined height (H') and the predetermined width (W') of the feature vector are each 1, and the dimension of the feature vector may be the same as the size of the predetermined number of channels (C').
  • the processor 110 may perform a data flattening operation using a flatten layer to generate a feature vector based on the feature map.
  • the processor 110 in order to input the feature map, which is a three-dimensional array data type, to a fully connected neural network existing at the end of the artificial neural network, the processor 110 puts the elements inside the feature map in a line according to a predetermined order. You can convert them to a one-dimensional array by listing them. That is, three-dimensional data data is converted into one-dimensional data.
  • the processor 110 may use the converted one-dimensional data as a feature vector.
  • the processor 110 performs a separate pooling method on the feature map to generate a feature vector based on the feature map, and then relates to the input medical data based on the reduced-dimensional feature map. You can also create feature vectors. Specifically, the processor 110 may reduce a dimension from the feature map using a global pooling method and then extract a feature vector related to the input medical data.
  • the processor 110 is configured to store at least one or more input medical data based on a result of performing a global pooling method on a feature map included in the operation of the first diagnostic network.
  • a feature vector can be calculated.
  • the global pooling method includes a global average pooling method and a global average pooling method.
  • the global pooling method refers to a method of generating one representative value representing a channel from several parameter values existing in each channel.
  • Global average pooling may convert an average value of parameter values existing in one channel into a representative value.
  • Global maximum pooling may convert the maximum value of parameter values existing in one channel into a representative value. For example, if the size of the last derived feature map among the feature maps existing as intermediate data in the first diagnostic network is 512(C)x5(H)x5(W), global pooling is performed for this feature map.
  • the derived feature vector may have a size of 512(C')x1(H')x1(W').
  • the processor 110 may extract a feature vector related to the input medical data using a global pooling method, and output first diagnostic information based thereon.
  • the processor 110 may calculate a meaningful value for each channel from each feature map by using the global pooling method.
  • the processor 110 may omit a data flattening operation for connecting the feature map in the form of an array having a three-dimensional size to the fully connected (FC) layer.
  • the processor 110 reduces the number of parameters including weights and biases for outputting the first diagnostic information by reducing the dimension of the feature map through the global pooling method, and reduces the memory space for parameter storage.
  • the size of the feature map is 5x5x5
  • the size of the feature vector becomes 125.
  • the size of the feature vector becomes 5. This has the effect of not only saving memory space but also preventing the problem of data overfitting of the network function with respect to input data.
  • the processor 110 may include two or more different sub-first diagnostic networks for calculating first diagnostic information including different types of findings.
  • the sub first diagnostic network for observation A may be trained through the training data set labeled with observation A
  • the sub first diagnostic network for observation B may be trained through the training data set labeled with observation B.
  • Each sub-first diagnostic network may perform binary classification regarding the presence or absence of a corresponding observation, classification of a location of an observation, a classification of a region, and the like.
  • the number of observations that can be calculated by each sub-first diagnostic network is one or more, and there is no upper limit on the number of findings.
  • the sub-first diagnosis network may exist as many as the number of observations that the processor 110 wants to check from the input medical data through the first diagnosis network.
  • the first diagnosis information calculated by each sub-first diagnosis network may include the probability of existence of one observation, respectively.
  • the number of sub-first diagnostic networks may be smaller than the number of findings.
  • the first diagnosis information calculated by each sub-first diagnosis network may include information about two or more findings.
  • at least one sub first diagnostic network may be ensembled to generate first diagnostic information including one observation information.
  • the above-described number of sub-first diagnosis networks is only an example, and includes all numbers that can be selected by a user by comparing the efficiency according to the number of sub-networks and the accuracy of the first diagnosis information.
  • the first diagnostic network may include a universal feature extraction network for extracting universal features or performing pre-processing operations.
  • the general-purpose feature extraction network may perform a preprocessing operation on the input data after extracting general features that exist regardless of specific findings from the input medical data.
  • the pre-processing operation in which the general-purpose feature extraction network extracts general features is performed, for example, when the sub-first diagnostic network relating to all one or more findings generates first diagnostic information only with respect to a region including blood vessels in the input data. It may include an operation of cropping a region including .
  • the sub-first diagnostic network relating to all the one or more findings may include an operation of removing, from input data, an area that is not commonly of interest.
  • a general-purpose feature extraction network may remove noise present in the input medical data.
  • the general-purpose feature extraction network may map the input medical data to the latent space prior to inputting the initial input medical data into the sub-first diagnostic network for individual findings. For example, if the size of the input image data having RGB values is 512x512x3, the universal feature extraction network converts the input image data to the size of 512x512x1024 to extract universal features including the thickness of the line, the type of the line, and the texture of the image. It can be mapped to a multidimensional array in the latent space with When the processor 110 extracts these universal features through the universal feature extraction network, it is not necessary for each sub-first diagnostic network to perform the same task for the initial input, and each sub-network extracts the features required for each observation. By concentrating computing resources on , the overall network performance increases.
  • the processor 110 connects the sub-first diagnostic networks corresponding to each observation to the general-purpose feature extraction network described above in parallel to extract a feature vector related to one or more different input medical data for each observation and includes information on each observation.
  • the first diagnostic information may be output.
  • the sub-first diagnostic network corresponding to each observation may exist as many as the number of observations labeled in the training data according to the data to be trained.
  • the above-described example regarding the structure of the first diagnostic network is merely an example and does not limit the present disclosure.
  • the first diagnostic network includes, without limitation, any structure capable of calculating the first diagnostic information including at least one or more observation information with respect to the finally input medical data.
  • the processor 110 uses the second diagnostic network trained to output the second diagnostic information based on the feature vector of the input medical data calculated in the first diagnostic network, and uses the input medical data
  • the second diagnostic information may be calculated for .
  • the second diagnosis information may include a final diagnosis result for the input medical data.
  • the second diagnosis information may include the type of disease, the presence or absence of the disease, the probability of the existence of the disease, etc. with respect to the input medical data.
  • the processor 110 provides a medical data set (ie, a first learning data set) labeled with at least one or more observation information and at least one or more disease information to provide diagnosis-related information on medical data.
  • a medical data set ie, a first learning data set
  • medical data includes all kinds of medical data that can be used as a basis or assistance in confirming the location of a lesion or making a diagnosis of a disease.
  • the processor 110 may obtain the two types of training data sets from the computing device internal memory 130 , an external memory, or an external entity.
  • the first learning data set and the second learning data set obtained by the processor 110 may include data in which at least one or more observation information and at least one or more disease information for at least one or more identical medical data are labeled.
  • the processor 110 acquires first medical data labeled with observation information as a first training data set.
  • the first medical data labeled with the disease information may be acquired as the second learning data set.
  • the processor 110 may obtain a first training data set and a second training data set in which observation information and disease information are labeled with respect to the first medical data and the second medical data including at least one or more different medical data, respectively. .
  • the processor 110 may train the first diagnostic network to output first diagnostic information including at least one or more observation information by inputting medical data included in the first learning data as an input. have. That is, the processor 110 may train the deep learning-based first diagnosis network to input the first learning data and output observation information on at least one or more observations.
  • Opinion information of an embodiment of the present disclosure may include information that can be a basis for medical judgment on the corresponding learning data, for example, information on the existence of an opinion on the corresponding learning data, the location of the opinion It may include at least one of information about or information about the area of opinion.
  • the processor 110 may input medical data included in the second learning data to the previously learned first diagnosis network to calculate a feature vector related to the input medical data. Furthermore, the processor 110 learns parameters included in the second diagnosis network to output the second diagnosis information including the diagnosis probability of at least one disease by inputting the feature vector related to the input medical data into the second diagnosis network. can do it
  • the processor 110 inputs the medical data included in the second learning data to the deep learning-based first diagnosis network, calculates a feature vector related to the input medical data related to at least one or more observations, and adds the calculated feature vector.
  • the second diagnostic network may be trained to output the second diagnostic information based on the second diagnostic information. That is, when the second diagnostic network is trained, the first diagnostic network may be provided for training of the second diagnostic network in a state in which the internal parameters and the model are fixed as the first diagnostic network has already been trained.
  • the first diagnosis network may calculate the probability of existence of at least one or more findings included in the final output of the first diagnosis information according to Equation (1).
  • a feature vector ( ) is a specific opinion ( ) may exist.
  • the feature vector for the input medical data may be a feature vector for calculating the probability of existence of at least two or more findings.
  • the feature vector ( ) is assumed to be created.
  • the feature vector for the input medical data is any natural number. It can be expressed as a real vector with dimensions.
  • the first diagnostic network generates an individual observation weight vector ( ) and individual observation bias values ( ) may be included.
  • the first diagnostic network includes an individual observation weight vector ( ) to transpose ( ) and multiplied by the individual opinion bias ( ) and add it to the activation function (activation function, ) to calculate the probability of existence of at least one or more findings included in the first diagnostic information.
  • the first diagnostic network may include a final classification function based on the activation function.
  • the individual observation weight vector ( ) and individual observation bias values ( ) is a specific finding ( ) may be a parameter used to derive the existence probability of .
  • the individual observation weight vector ( ) and individual observation bias values ( ) may be a unique parameter that exists for each observation.
  • the parameters may be updated or trained through learning.
  • the processor 110 outputs each individual observation weight vector ( ) and individual observation bias values included in the first diagnostic network ( ) can be learned.
  • the processor 110 receives the input data ( ) for the feature vector ( ), an internal parameter of the first diagnostic network may be learned and updated.
  • the type of the activation function is merely an example and does not limit the present disclosure.
  • the processor 110 learns the deep learning-based first diagnostic network as described above, then fixes the internal parameter values included in the learned first diagnostic network and determines a predetermined value.
  • a second diagnostic network may be trained for a dog's disease.
  • the processor 110 may input medical data labeled with one or more disease-related information, that is, a second learning data set, into the deep learning-based first diagnostic network to calculate a feature vector related to at least one or more input medical data. .
  • the processor 110 may obtain second diagnostic information including at least one or more disease information by inputting the calculated feature vector regarding the input medical data to a second diagnostic network.
  • the specific formula of the objective function that the second diagnostic network learns to output the second diagnostic information is as shown in Equation (2).
  • a feature vector for the input medical data ( ) may be a feature vector for calculating the probability of each existence of two or more findings. denotes the disease-appearance weight vector. represents the bias value according to disease. represents the activation function.
  • the second diagnostic network is configured for all diseases ( )-opinion( ) for each pair of diseases ( )-opinion( ) weight vector( ) and the disease-dependent bias value for every disease ( ) may be included.
  • a second diagnostic network may have a feature vector for the input medical data ( ) in the disease-appearance weight vector ( ) for each observation ( ) can be multiplied by A second diagnostic network may have a feature vector for the input medical data ( ) in the disease-appearance weight vector ( ) to transpose ( ) to each opinion ( ) and then sum ( ) and the bias value according to the disease ( ) and add it to the activation function (activation function, ) to output the second diagnostic information.
  • the second diagnostic network may include a final classification function based on the activation function.
  • the second diagnostic information includes at least one disease ( ) of the diagnostic probability.
  • the disease-appearance weight vector ( ) and the bias value according to disease ( ) is a feature vector ( ) may be a parameter used to derive a final diagnosis result by receiving the second diagnosis network again.
  • disease-appearance weight vector ( ) may be a unique parameter that exists for each disease-appearance pair.
  • Bias according to disease ( ) may be a unique parameter that exists for each disease.
  • the parameters may be updated or trained through learning.
  • the processor 110 acquires the learned first diagnostic network, fixes the internal parameters of the first diagnostic network model, inputs the first medical data to the first diagnostic network, and then relates to the input medical data calculated from the first diagnostic network.
  • feature vector ( ) based on the second diagnostic network can be learned.
  • the processor 110 learns the second diagnostic network
  • the first diagnostic network is first trained, and a feature vector related to the input medical data is extracted from the pre-learned first diagnostic network, and the second diagnosis is performed based on this.
  • the feature vector for the input medical data is expressed as an array having a dimension, so that positional information of the lesion required to express the findings is not lost.
  • the feature vector can not only confirm the presence or absence of an observation that is present in the initially input medical data, but also maintain the location of the existing observation, the area of the observation, and the data based on which the first diagnosis network judged the observation as internal parameter values.
  • the processor 110 calculates the contribution of at least one observation to the diagnosed disease through the output of the second diagnostic network. be able to This has an effect that the entire medical diagnosis model can provide a basis for diagnosing a disease rather than simply generating second diagnostic information about the disease.
  • the processor 110 is configured to: the first diagnostic information calculated on the input medical data and Correlation information including the second diagnostic information may be generated or output.
  • the correlation information is one included in first diagnostic information calculated on the input medical data, second diagnostic information calculated on the input medical data, and first diagnostic information for at least one disease included in the second diagnostic information.
  • a class activation map ( Class Activation Map) and the like.
  • the correlation information including the first diagnostic information and the second diagnostic information includes one or more observation information included in the first diagnostic information for at least one disease included in the second diagnostic information.
  • the processor 110 may quantify the effect of the first diagnostic information including the existence probability of individual findings on outputting a specific disease included in the second diagnostic information from the input medical data by calculating the contribution. That is, in order to not only simply provide the first diagnostic information or observation information that is the basis of the second diagnostic information, but also to compare the magnitude of the influence of the presence of one or more findings included in the first diagnostic information on the second diagnostic information, respectively.
  • the degree can be provided as a number.
  • the processor 110 applies at least one of a feature vector related to input medical data calculated in the first diagnostic network, a parameter of a final classification function included in the first diagnostic network, and a parameter of a final classification function included in the second diagnostic network.
  • a contribution degree of one or more observation information included in the first diagnostic information for at least one disease included in the second diagnostic information may be calculated based on the second diagnostic information.
  • the final classification function included in the first diagnostic network or the final classification function included in the second diagnostic network includes, without limitation, a linear classification function having an inverse function, such as a sigmoid function and a Leaky ReLU function.
  • the parameter of the final classification function included in the first diagnostic network is an individual observation weight vector included in the first diagnostic network ( ) and individual observation bias values ( ) may be included.
  • the parameter of the final classification function included in the second diagnostic network is disease ( )-opinion( ) weight vector( ) and the bias value according to disease ( ) may be included.
  • the processor 110 is included in the first diagnostic information for at least one disease included in the second diagnostic information based at least in part on parameter values of the learned first diagnostic network or a linear classification function existing in the second diagnostic network. Since the contribution of one or more observational information is calculated, a separate training data set or a separate network function for calculating the contribution is not additionally required. In addition, when the contribution is calculated as disclosed in the present invention, the first diagnostic information or the second diagnostic information is output from the input medical data, and correlation information between the two diagnostic information can be obtained at the same time.
  • the processor 110 may calculate the contribution of one or more observation information included in the first diagnostic information for at least one disease included in the second diagnostic information based on odds.
  • odds may be used interchangeably with the same meaning as in Equation (3).
  • the processor 110 determines the contribution of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information, one of the first partial contribution or the second partial contribution. It can be calculated based on at least one.
  • the first partial contribution may mean a value indicating an effect of the overall findings included in the first diagnostic information on at least one disease included in the second diagnostic information.
  • the second partial contribution may mean a value indicating an effect of one or more findings included in the first diagnostic information on at least one disease included in the second diagnostic information.
  • the processor 110 may calculate the first partial contribution based on odds of the overall findings included in the first diagnostic information for at least one disease included in the second diagnostic information.
  • the odds of the overall findings included in the first diagnostic information for at least one disease included in the second diagnostic information is a specific disease ( ) can be used in the same sense as odds.
  • the first partial contribution is a specific disease ( ) can be expressed as the ratio of the probability that it exists and the probability that it does not.
  • a method for the processor 110 to calculate the first partial contribution may be based on Equation 4 below as an example.
  • the first partial contribution calculated by the processor 110 is ) for input medical data ( ) of Oz( ) can be expressed as That is, the processor 110 outputs at least one disease ( ) with respect to the probability of existence ( ) may be calculated based on the second diagnostic information including the first partial contribution.
  • the expression to the right of the last equal sign in Equation 4 is the sigmoid function ( ) can be derived from Equations 5 and 6.
  • the processor 110 inputs medical data to a medical diagnosis model including the learned first diagnosis network and the learned second diagnosis network, and extracts the medical data from the first diagnosis network.
  • at least one observation ( ) a feature vector ( ), a disease-discovery weight vector ( ) and the bias value according to the disease as a parameter of the final classification function included in the second diagnostic network ( ), the first partial contribution may be calculated based on at least one of .
  • the processor 110 calculates the first partial contribution based on the odds that the disease exists in the input medical data, in addition to the operation of inferring the existence of the disease with respect to the input medical data without a separate external device or additional input.
  • the operation may be additionally performed based on an operation using internal parameter values.
  • the second partial contribution may mean a value indicating an effect of one or more findings included in the first diagnostic information on at least one disease included in the diagnostic information.
  • the processor 110 may calculate the second partial contribution to a virtual odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information. can be calculated based on
  • a virtual odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information is the first diagnosis information for the at least one disease included in the second diagnostic information. It may be used interchangeably with the same meaning as odds according to the virtual existence probability of one or more findings included in the diagnostic information.
  • the virtual odds mean an odds according to the virtual existence probability of each observation included in the first diagnostic information contributing to the calculation of the second diagnostic information when second diagnostic information including a specific type of disease is calculated from the input data. can do.
  • the second diagnostic information diagnosed by the processor 110 may include retinal hemorrhage (Hmr, Hemorrhage). ) and hard exudate (HE) may be based on the first diagnostic information including the presence probability for a plurality of findings.
  • the virtual odds of one or more observation information included in the first diagnostic information (retinal hemorrhage, hard exudate) for the second diagnostic information (diabetic retinopathy) assumes that 100% of the observation of retinal hemorrhage exists.
  • the virtual odds of one or more findings information included in the first diagnostic information (retinal hemorrhage, hard exudate) for the second diagnostic information (diabetic retinopathy, DR) shows that 100% of the findings of retinal hemorrhage exist and that hard exudates are present. It may include hypothetical odds of a situation where there is 0% of the findings.
  • the virtual odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information is calculated by the processor 110 from the input data when the second diagnostic information is calculated. It may mean an odds from which the second diagnostic information is derived by hypothetically setting the probability of existence of at least one or more findings included in the first diagnostic information, which is the basis thereof.
  • a method of calculating counterfactual-odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information will be described.
  • a method of adjusting the existence probability for one observation included in the first diagnosis information and calculating a virtual odds accordingly will be described, but this is only an example, and the present disclosure is for the second diagnosis information It includes, without limitation, a method of adjusting the probability of existence of a plurality of findings included in the first diagnostic information and calculating a virtual odds accordingly.
  • the processor 110 may adjust the influence of a specific finding in the feature vector regarding the input medical data calculated in the first diagnostic network to calculate the counterfactual-odds.
  • the processor 110 may adjust the influence of a specific observation on the feature vector related to the input medical data based on an operation of decomposing the feature vector into vectors different in two directions.
  • the processor 110 converts the feature vector into an individual observation weight vector ( ) can be decomposed into a first vector in a direction parallel to and a second vector in the remaining direction to control the influence of a specific finding in the feature vector on the input medical data.
  • the second vector in the remaining direction is an individual observation weight vector ( ) and a vector in a direction orthogonal to it.
  • a process in which the processor 110 decomposes the feature vector in two different directions may be performed based on Equation (7).
  • Equation 7 the expression to the right of the first equal sign is a feature vector ( ) is the individual observation weight vector ( ) and the first vector ( ) and the second vector in the remainder direction ( ) is decomposed into
  • the first term on the right of the last equal sign is the inverse function of the sigmoid function used as the activation function in Equation 1 above. ) can be derived by taking both sides and translating each term.
  • the first term of the expression to the right of the last equal sign is the feature vector ( ) in the individual observation weight vector ( ) may mean a first vector in a direction parallel to
  • individual observation weight vectors The first vector parallel to ) is a feature vector derived by the network function after the processor 110 inputs input medical data to the first diagnostic network, and the existence probability ( ) can be calculated based on
  • the second term from the right of the last equal sign ( ) may mean a second vector in the remaining direction in the feature vector.
  • the second vector is an individual observation weight vector ( ) may mean a component vector orthogonal to
  • the second vector is the feature vector ( ) and may be calculated based on the difference of the first vector.
  • the processor 110 when the processor 110 adjusts the probability of existence of a plurality of findings with respect to the second diagnostic information and calculates a virtual odds accordingly, the processor 110 sets the feature vector in a plurality of different directions. can be decomposed into Specifically , In order to adjust the probability of existence of two findings expressed as , and calculate a virtual odds accordingly, the processor 110 generates a feature vector ( ) can be decomposed in three directions. Specifically, the processor 110 may generate a feature vector ( )cast a third vector in a direction parallel to It can be decomposed into a fourth vector in a direction parallel to and a fifth vector in the remaining direction. The third vector is can be calculated as, and the fourth vector is can be calculated as The remaining fifth vector is the feature vector ( ) and the difference between the third and fourth vectors.
  • the processor 110 determines the findings ( ) of the existence probability ( ), virtual odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information may be calculated.
  • the processor 110 generates a feature vector ( ), the probability of existence of a specific finding included in the first diagnostic information that is the output of the first diagnostic network ( ) to another probability value ( ) to calculate the odds of the second diagnostic information according to the changed probability value.
  • the processor 110 may remove or adjust the influence of a specific finding within the feature vector. For example, certain observations ( ), the probability of existence of the feature vector ( ) can be expressed by Equation (8).
  • the processor 110 decomposes the feature vector in two different directions, and then the inverse function ( ), the probability of the presence of a specific finding ( ) to another probability value ( ), it is possible to remove the influence of a specific finding from the feature vector based on the substitution with 0.
  • the inverse function of the activation function ( ), the probability of the presence of a specific finding ( ) to the probability value ( ), if it is replaced with 1 a feature vector can be obtained according to the probability of existence of a situation in which a specific observation is necessarily present.
  • the influence of a specific finding from the feature vector is controlled by an operation using a network internal function and parameter of the processor 110 .
  • the counterfactual-odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information are input medical data ( ) for certain diseases ( ) individual findings included in the first diagnostic information for the second diagnostic information including the information of ( ) of the hypothetical existence probability ( ) according to the odds ( ) and can be called interchangeably with the same meaning.
  • the processor 110 may use the virtual odds for calculating the second partial contribution, which is a basis for calculating the contribution.
  • the hypothetical presence probability of individual findings ( ) may be 0 or 1, and may be any value between 0 and 1, such as 0.5 or 0.7.
  • the virtual odds of one or more findings included in the first diagnostic information for one disease included in the second diagnostic information on which the processor 110 is based for calculating the second partial contribution is at least one included in the second diagnostic information.
  • the probability of a situation in which one or more findings included in the first diagnostic information for a disease odds according to ), the probability of a situation in which one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information absolutely do not exist ( ) according to odds or a predetermined existence probability of one or more findings included in the first diagnostic information for one disease included in the second diagnostic information ( ) may include at least one of odds according to the
  • the first diagnostic information may include virtual existence probabilities for a plurality of findings.
  • the second partial contribution when the influence of a particular finding is removed that is, the input medical data ( ) for certain diseases ( ) individual findings included in the first diagnostic information for the second diagnostic information including the information of ( ) of the hypothetical existence probability ( ) according to the odds ( ) can be calculated as in Equation 9.
  • Equation 9 can be described with reference to Equation 4 above. Equation 9 is claim In the case of , the values according to each observation are added sequentially, is a specific opinion ( ), the effect of the observation was removed ( ) can be derived by adding As described above, the virtual odds calculated by the processor 110 according to an embodiment of the present disclosure ( ) is input medical data ( ) in specific findings ( ) is removed ( ) in case of a specific disease ( ) and may include the ratio of the probability of being diagnosed as having a specific disease as non-existent. The aforementioned probability value ( ) is merely an example, and the virtual odds may be calculated according to a predetermined existence probability of individual findings.
  • the processor 110 is included in the first diagnostic network or the second diagnostic network in the process of outputting the first diagnostic information and the second diagnostic information based on the first diagnostic network or the second diagnostic network including at least one network function
  • the learned parameters can be used.
  • a parameter included in the first or second diagnostic network is a vector ( ), the individual observation weight vector ( ), individual observation bias ( ) or disease-appearance weight vector ( ) may include at least one of.
  • the processor 110 calculates a virtual odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information by using the learned parameter, thereby providing a first response to the second diagnostic information. It is possible to quantify the effect of one or more findings included in the diagnostic information. This enables the user to interpret whether the artificial neural network has reached such a conclusion based on any findings other than the medical diagnosis model simply providing the presence or absence of a disease or the probability of the presence of the disease.
  • the processor 110 includes at least one disease ( ) one or more findings included in the first diagnostic information for ( ) can be expressed based on an odds ratio.
  • odds ratio may be used as the same meaning as odds ratio or odds ratio.
  • the odds ratio may mean a ratio of two odds derived under different assumptions.
  • the odds which is a basis for calculating the odds ratio, may be odds of all findings included in the first diagnostic information for at least one disease included in the second diagnostic information.
  • the odds which is a basis for calculating the odds ratio, may be virtual odds of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information.
  • a specific disease ( ) specific findings included in the first diagnostic information ( ) and “virtual odds-ratio (counterfactual-odds-ratio)” may be used interchangeably and have the same meaning.
  • the processor 110 may represent the contribution of one or more findings included in the first diagnostic information for at least one disease included in the second diagnostic information as a ratio of the first partial contribution and the second partial contribution.
  • virtual odds ( ) can be expressed by Equation 10.
  • Equation 10 representing the virtual odds ratio may have a value greater than 1 when there is a positive correlation between a specific finding and a disease.
  • the disease ( ) when it is determined that there is a specific observation ( ), the probability of developing a disease becomes smaller and consequently the virtual odds ( ) becomes smaller and the virtual odds ratio ( ) becomes smaller. Therefore, certain opinions ( ) of the disease ( ), the virtual odds ratio ( ) increases as the value increases, the input medical data ( ) present findings ( ) causes the second diagnostic network to ) may mean that the degree of contribution to generating the second diagnostic information about the
  • the contribution of one or more observations included in the first diagnostic information for at least one disease included in the second diagnostic information calculated by the processor 110 and included in the correlation information is one or more disease( ) one or more findings included in the first diagnostic information for ( ) of the discovery importance ( ) may be included.
  • the processor 110 determines the discovery importance ( ) may be based, at least in part, on the second partial contribution described above for calculating .
  • discovery importance is one or more diseases ( ) specific findings included in the first diagnostic information ( Odds according to the probability of a situation in which ) must exist ( ) can be calculated based on discovery importance ( ) is one or more diseases ( ) specific findings included in the first diagnostic information ( ) is the odds ( ) can be calculated based on As an example, discovery importance is determined by the two odds ( , ) can be calculated based on the ratio between The formula is as Equation 11 below.
  • the processor 110 determines one or more diseases ( ) one or more findings included in the first diagnostic information for ( ) of the discovery importance ( ), it is possible to quantify the importance of finding the corresponding findings in the input medical data in diagnosing the disease in relation to other findings.
  • a sigmoid function is used as an activation function to describe a contribution calculation method in the present disclosure.
  • the activation function includes, without limitation, any activation function capable of taking an inverse function, including a tanh function, a Leaky ReLU function, and the like.
  • the substituted probability value may also be changed and calculated to any predetermined value without limitation. That is, the above-described example does not limit the present disclosure, and it will be apparent to those skilled in the art that the object and effect to be achieved by the present disclosure can be achieved even through a simple value change or a function change.
  • an artificial neural network derives a final output through an operation process between innumerable nodes on initial input data. Therefore, even if the output can be obtained through the artificial neural network, the user cannot easily know which information of the input data the artificial neural network derives the result based on.
  • the processor 110 of the present disclosure may quantitatively derive the effect of the first diagnostic information on the second diagnostic information through correlation information between the finally output first diagnostic information and the second diagnostic information. Through this, it is possible to check the correlation between the independent variable and the dependent variable by controlling the independent variable in a causal relationship in which the dependent variable is determined by the involvement of several independent variables.
  • the present disclosure can provide high transparency and high reliability results of deep learning-based network functions. That is, when the submission of evidence for the final judgment of the artificial neural network and high reliability are required in industries including the medical field, the reliability of the artificial neural network can be quantitatively provided.
  • the processor 110 when the processor 110 generates or outputs correlation information including the first diagnostic information and the second diagnostic information, a first diagnosis for at least one disease included in the second diagnostic information The contribution of one or more observations included in the information can be visualized and provided.
  • the processor 110 may include second diagnostic information including the presence or absence of a disease or a probability of the presence of a disease with respect to the input medical data, first diagnostic information including one or more findings information contributing to the second diagnostic information, or first diagnostic information The contribution of , etc. can be output as a value.
  • the processor 110 may visualize and provide the above-described values for user readability.
  • the contribution distribution of each first diagnostic information is expressed in a graph
  • the contribution difference between observations is expressed as the difference in size between expression factors according to the graph
  • the lesion area of the observation having a large contribution to the input data is displayed.
  • an operation of expressing the contribution of the observation information included in the first diagnostic information to the second diagnostic information in a two-dimensional matrix with a difference in color depth according to the degree may be included.
  • the processor 110 When the processor 110 outputs the correlation information including the first diagnostic information and the second diagnostic information, the first diagnostic information is displayed on the input medical data based at least in part on the Class Activation Map to be output.
  • the processor 110 may express which pixel region of the input medical data output the second diagnosis information, which is the final diagnosis result of the medical diagnosis model, through the class activation map.
  • the processor 110 generates a feature vector ( ) based on the class activation map.
  • the feature vector ( ) is extracted by the global average pooling method, the processor 110 generates a feature vector ( ) is the feature map just before the global average pooling ( ) based on the class activation map.
  • the formula is the same as Equation 12.
  • the processor 110 configures the disease-appearance weight vector ( ) may generate a class activation map based at least in part on Specifically, the processor 110 generates a feature map ( ) is the weight value multiplied by each channel in the disease-appearance weight vector ( ) can be determined based on
  • the processor 110 when the processor 110 outputs correlation information including the first diagnostic information and the second diagnostic information, a feature vector related to the input medical data and a final classification function included in the first diagnostic network A class activation map is generated based on at least one of a parameter of , a parameter of a final classification function included in a second diagnostic network, and the first diagnostic information is inputted based on the class activation map. Data can be displayed and output.
  • the processor 110 generates a feature vector ( ) is the data just before the feature map ( ) may be obtained from the calculation result of the first diagnostic network.
  • the processor 110 calculates the weight of individual findings included in the final classification function of the first diagnostic network ( ) a component vector in a direction parallel to the vector, a disease-appearance weight vector included in the final classification function of the second diagnostic network ( ), the feature map ( ) is multiplied by each channel and then summed to generate a class activation map based on this.
  • the processor 110 may display a lesion region related to one or more findings information included in the first diagnostic information that affects the output of the second diagnostic information in the input medical data.
  • 3 is a flowchart of a learning process of an entire model for outputting first and second diagnostic information from input medical data according to an embodiment of the present disclosure that provides diagnosis-related information for medical data.
  • the processor 110 may acquire 210 a first training data set including medical data labeled with at least one or more observation information.
  • the first diagnosis information may include the presence or absence of an observation on medical data, a location of the observation, a probability of the observation, and the like.
  • the processor 110 may train the first diagnostic network 230 to output at least one or more observation information by receiving the medical data included in the first learning data as an input.
  • the processor 110 may acquire 250 a second learning data set including medical data labeled with at least one or more disease information.
  • the step of acquiring 250 of the second training data set may be reversed from the step of training 230 of the first diagnostic network.
  • the processor 110 may input the medical data included in the second training data to the first diagnostic network to calculate a feature vector related to the input medical data ( 270 ).
  • the feature vector related to the input medical data may include data calculated in an intermediate operation process for outputting the first diagnostic information by the first diagnostic network for the input medical data.
  • the processor 110 may learn the second diagnostic network to output second diagnostic information including at least one or more disease information by receiving a feature vector related to the input medical data as an input.
  • the second diagnosis information may include the name of the disease, the presence or absence of the disease, the evidence of the disease, the lesion area of the evidence, and the like.
  • the second diagnostic network may consist of a decision tree as well as a network function for calculating second diagnostic information from a feature vector about the input medical data.
  • the processor 110 may input medical data into a medical diagnosis model including the learned first diagnosis network and the learned second diagnosis network and calculate the contribution of the first diagnosis information to the output at least one second diagnosis information. .
  • the processor 110 may acquire ( 281 ) the deep learning-based first diagnostic network that has been trained. The completion of learning includes the meaning that parameter values included in the deep learning-based first diagnostic network are no longer learned or updated. After fixing the model of the deep learning-based first diagnostic network, the processor 110 inputs the medical data included in the second training data to the first diagnostic network to perform a feature vector operation 283 on at least one or more input medical data. can Thereafter, the processor 110 may train ( 285 ) the second diagnostic network to output second diagnostic information on the medical data based on the feature vector on the input medical data.
  • the fact that the second diagnostic network is learned based on the feature vector in the internal operation process of the first diagnostic network, rather than the final classification result of the first diagnostic network, means that a vector containing more information than a numerical value including only simple values is converted into a vector form of the second diagnostic network. This means that it is provided as training data. Accordingly, the second diagnostic network may more accurately learn and infer the correlation between the second diagnostic information and the first diagnostic information.
  • the processor 110 divides the first diagnostic network and the second diagnostic network included in the entire medical diagnostic model step-by-step and sequentially learns them, so that the second diagnostic network obtains a predetermined specific dimension calculated by the first diagnostic network. It can learn based on intermediate data in the form of vectors. If the first diagnostic network and the second diagnostic network are simultaneously learned, the combination of the first diagnostic network and the second diagnostic network is not different from a single network as a whole. In addition, when the first and second diagnostic networks are simultaneously learned, the feature vectors related to the input medical data are continuously modified and updated during the learning process, so that the second diagnostic network is based on the input medical data calculated from the first diagnostic network. It is not possible to receive a feature vector related to the training data.
  • the second diagnosis network is learned using the calculation result of the first diagnosis network, so that a medical diagnosis model considering the influence of individual findings on a specific disease can be learned. . In other words, it is possible to quantitatively confirm the findings contributing to a specific diagnosis.
  • the bar graph 510 of FIG. 5 is a graph in which the first diagnostic information contributing to the second diagnostic information is expressed according to the contribution level thereof.
  • the second diagnostic information may be second diagnostic information including information about only one disease.
  • a size of a bar for one or more observations included in the first diagnostic information may be proportional to a ratio of a degree to which each observation affects a disease.
  • the processor 110 determines the first observation 511 with the greatest contribution among all observations, the second observation 513 with the second largest contribution, and the third observation with the third largest contribution according to the size of the contribution to the disease of each observation ( 515) can be selected.
  • the processor 110 may display first diagnostic information including information on one or more findings on the input medical data based on the class activation map.
  • the processor 110 includes first medical data 550 indicating a lesion 551 related to a first observation, and second medical data indicating a lesion 571 related to a second observation with respect to the original medical data 530 ( 570), the third medical data 590 indicating the lesion 591 related to the third observation may be generated.
  • the above-mentioned three observations may be the top three observations according to the level of contribution calculated by the processor 110 among the first diagnostic information including all observations.
  • the number of findings selected by the processor 110 is merely an example and does not limit the present disclosure.
  • the processor 110 may output the contribution magnitude of the observation included in the first diagnostic information for a specific disease as the bar graph 510, so that the cause of the diagnosis result can be delivered to the user at a glance, and also for each observation. Since the lesion area can be displayed on the original medical data 530 as described above, it is possible to provide the user with data that can quickly determine the location of the findings.
  • a computer-readable recording medium storing a data structure for storing data related to an operation of a neural network that provides diagnosis related information for medical data.
  • Data related to the operation of a neural network that provides diagnosis-related information on medical data may be obtained by the following operation of the processor 110 .
  • the processor 110 learns a first diagnostic network based on a first training data set including medical data labeled with at least one or more observation information, and then a second diagnostic network including medical data labeled with at least one or more disease information.
  • the learning results of the first diagnostic network and Correlation information between the first diagnostic information set for the first training data set and the second diagnostic information set included in the second training data set may be calculated based at least in part on the learning result of the second diagnostic network. That is, the processor 110 can not only infer the first diagnosis information, the second diagnosis information, or correlation information between each diagnosis information for new medical data through learning of the first diagnosis network and the second diagnosis network; The correlation between all the second diagnostic information and all the first diagnostic information calculated from the training data set may be visualized and output through the parameter values obtained in the learning process.
  • the computing device 100 may further include a display unit (not shown).
  • the display unit is a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), a flexible display (flexible display), It may include at least one of a three-dimensional display (3D display).
  • Some of these display modules may be of a transparent type or a light transmission type so that the outside can be seen through them. This may be referred to as a transparent display module, and a representative example of the transparent display module is a TOLED (Transparent OLED).
  • the types of the above-described display units are merely examples, and the computing device of the present disclosure may include all types of display devices for display.
  • the processor 110 may display correlation information including the first diagnosis information and the second diagnosis information for the input medical data through the display unit.
  • the correlation information may include first diagnostic information calculated on the input medical data, second diagnostic information calculated on the input medical data, a degree of contribution of the first diagnostic information to the second diagnostic information, data visualizing the contribution, and odds It may include an odds ratio, an odds ratio matrix, and a class activation map in which the first diagnostic information or the second diagnostic information is displayed on the input medical data.
  • the processor 110 displays the correlation information including the first diagnostic information and the second diagnostic information
  • the correlation information is an odds ratio matrix (odds) including the contribution of the first diagnostic information to the second diagnostic information. ratio matrix).
  • the processor 110 of the computing device 100 includes a correlation including first diagnostic information for input medical data and second diagnostic information for the input medical data through the network unit 150 . Relationship information may be transmitted to the user terminal.
  • the user terminal may include at least one of components included in the computing device illustrated in FIG. 1 .
  • the user terminal receives correlation information including the first diagnostic information and the second diagnostic information from an external server using the network unit, or receives medical data according to the above-described methods using a processor included in the user terminal, and receives the first Correlation information including diagnostic information and second diagnostic information may be generated.
  • the user terminal may provide a user interface that displays diagnosis-related information on medical data.
  • the user terminal may provide a user interface including correlation information including the first diagnosis information and the second diagnosis information through the output unit.
  • the user terminal may display a user interface including at least a part of the screen configuration shown in FIG. 6 .
  • a method of displaying correlation information based on an odds ratio matrix will be described with reference to FIG. 6 .
  • FIG. 6 is an example of a user interface for displaying correlation information including first diagnostic information and second diagnostic information for input medical data according to an embodiment of the present disclosure for providing diagnosis-related information for medical data; FIG. It is also The network function learned by the processor 110 may display a correlation between the first diagnostic information and the second diagnostic information based on a parameter value included in the network function.
  • Individual grids included in the odds ratio matrix 310 of FIG. 6 may individually indicate the contribution magnitude of one or more findings included in the first diagnostic information for each of at least one or more diseases included in the second diagnostic information.
  • the individual grids included in the odds ratio matrix 310 may express the contribution magnitude of each observation based on the above-described virtual odds ratio.
  • the odds-ratio expression may be an expression relating to a color for discriminating an absolute size difference or a relative size difference.
  • the processor 110 may express the contribution of individual observations affecting a specific disease in the odds ratio matrix 310 in different colors according to the size of the contribution.
  • a grid of individual findings included in the first diagnostic information for a disease 311 called D1 included in the second diagnostic information output with respect to the input medical data may be expressed in different colors according to the size of the contribution. .
  • FIG. 6 it can be seen by the color inside the grid 315 for the D1-F1 pair that the contribution of the observation F1 313 to the disease D1 is greater than the other findings except for the observation F2.
  • the vertical axis of the odds ratio matrix 310 may include at least one disease included in the second diagnosis information.
  • the horizontal axis of the odds ratio matrix 310 may include one or more findings included in the first diagnostic information.
  • the color bar 330 of FIG. 6 may indicate a color corresponding to the distribution of the minimum and maximum contribution values calculated by the processor 110 .
  • the minimum and maximum values of the color bar 330 may be extracted from the entire contribution distribution or may be preselected as arbitrary values.
  • the data structure may refer to the organization, management, and storage of data that enables efficient access and modification of data.
  • a data structure may refer to an organization of data to solve a specific problem (eg, data retrieval, data storage, and data modification in the shortest time).
  • a data structure may be defined as a physical or logical relationship between data elements designed to support a particular data processing function.
  • the logical relationship between data elements may include a connection relationship between data elements that a user thinks.
  • Physical relationships between data elements may include actual relationships between data elements physically stored on a computer-readable storage medium (eg, a hard disk).
  • a data structure may specifically include a set of data, relationships between data, and functions or instructions applicable to data.
  • the computing device can perform an operation while using the minimum resource of the computing device. Specifically, the computing device may increase the efficiency of operations, reads, insertions, deletions, comparisons, exchanges, and retrievals through effectively designed data structures.
  • a data structure may be classified into a linear data structure and a non-linear data structure according to the type of the data structure.
  • the linear data structure may be a structure in which only one piece of data is connected after one piece of data.
  • the linear data structure may include a list, a stack, a queue, and a deck.
  • a list may mean a set of data in which an order exists internally.
  • the list may include a linked list.
  • the linked list may be a data structure in which data is linked in such a way that each data is linked in a line with a pointer. In a linked list, a pointer may contain information about a link with the next or previous data.
  • a linked list may be expressed as a single linked list, a doubly linked list, or a circularly linked list according to a shape.
  • a stack can be a data enumeration structure with limited access to data.
  • a stack can be a linear data structure in which data can be manipulated (eg, inserted or deleted) at only one end of the data structure.
  • the data stored in the stack may be a data structure (LIFO-Last in First Out).
  • a queue is a data listing structure that allows limited access to data. Unlike a stack, the queue may be a data structure that comes out later (FIFO-First in First Out) as data stored later.
  • a deck can be a data structure that can process data at either end of the data structure.
  • the non-linear data structure may be a structure in which a plurality of data is connected after one data.
  • the nonlinear data structure may include a graph data structure.
  • a graph data structure may be defined as a vertex and an edge, and the edge may include a line connecting two different vertices.
  • a graph data structure may include a tree data structure.
  • the tree data structure may be a data structure in which one path connects two different vertices among a plurality of vertices included in the tree. That is, it may be a data structure that does not form a loop in the graph data structure.
  • the data structure may include a neural network.
  • the data structure including the neural network may be stored in a computer-readable medium.
  • Data structures, including neural networks may also include data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation functions associated with each node or layer of the neural network, and loss functions for learning the neural network.
  • a data structure comprising a neural network may include any of the components disclosed above.
  • the data structure including the neural network includes all or all of the data input to the neural network, the weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, the activation function associated with each node or layer of the neural network, and the loss function for training the neural network.
  • a data structure including a neural network may include any other information that determines a characteristic of a neural network.
  • the data structure may include all types of data used or generated in the operation process of the neural network, and is not limited to the above.
  • Computer-readable media may include computer-readable recording media and/or computer-readable transmission media.
  • a neural network may be composed of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons.
  • a neural network is configured by including at least one or more nodes.
  • the data structure may include data input to the neural network.
  • a data structure including data input to the neural network may be stored in a computer-readable medium.
  • the data input to the neural network may include learning data input in a neural network learning process and/or input data input to the neural network in which learning is completed.
  • Data input to the neural network may include pre-processing data and/or pre-processing target data.
  • the preprocessing may include a data processing process for inputting data into the neural network.
  • the data structure may include data to be pre-processed and data generated by pre-processing.
  • the above-described data structure is merely an example, and the present disclosure is not limited thereto.
  • the data structure may include data input to or output from the neural network.
  • a data structure including data input to or output from the neural network may be stored in a computer-readable medium.
  • the data structure stored in the computer-readable medium may include data input in an inference process of the neural network or output data output as a result of inference of the neural network.
  • the data structure since the data structure may include data processed by a specific data processing method, it may include data before and after processing. Accordingly, the data structure may include data to be processed and data processed through a data processing method.
  • the data structure may include the weights of the neural network.
  • a weight and a parameter may be used interchangeably.
  • a data structure including a weight of a neural network may be stored in a computer-readable medium.
  • the neural network may include a plurality of weights.
  • the weight may be variable, and may be changed by a user or an algorithm in order for the neural network to perform a desired function. For example, when one or more input nodes are interconnected to one output node by respective links, the output node sets values input to input nodes connected to the output node and links corresponding to the respective input nodes. An output node value may be determined based on the parameter.
  • the above-described data structure is merely an example, and the present disclosure is not limited thereto.
  • the weight may include a weight variable in a neural network learning process and/or a weight in which neural network learning is completed.
  • the variable weight in the neural network learning process may include a weight at a time point at which a learning cycle starts and/or a weight variable during the learning cycle.
  • the weight for which neural network learning is completed may include a weight for which a learning cycle has been completed.
  • the data structure including the weights of the neural network may include a data structure including the weights that vary in the process of learning the neural network and/or the weights on which the learning of the neural network is completed. Therefore, it is assumed that the above-described weights and/or combinations of weights are included in the data structure including the weights of the neural network.
  • the above-described data structure is merely an example, and the present disclosure is not limited thereto.
  • the data structure including the weights of the neural network may be stored in a computer-readable storage medium (eg, memory, hard disk) after being serialized.
  • Serialization can be the process of converting a data structure into a form that can be reconstructed and used later by storing it on the same or a different computing device.
  • the computing device may serialize the data structure to send and receive data over the network.
  • a data structure including weights of the serialized neural network may be reconstructed in the same computing device or in another computing device through deserialization.
  • the data structure including the weight of the neural network is not limited to serialization.
  • the data structure including the weights of the neural network is a data structure to increase computational efficiency while using the resources of the computing device to a minimum (e.g., B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree).
  • a minimum e.g., B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree.
  • the data structure may include hyper-parameters of the neural network.
  • the data structure including the hyperparameters of the neural network may be stored in a computer-readable medium.
  • the hyper parameter may be a variable variable by a user.
  • Hyperparameters are, for example, learning rate, cost function, number of iterations of the learning cycle, weight initialization (e.g., setting the range of weight values to be initialized for weights), Hidden Unit It may include the number (eg, the number of hidden layers, the number of nodes of the hidden layer).
  • FIG. 7 is a simplified, general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.
  • the present disclosure has been described above as being generally capable of being implemented by a computing device, those skilled in the art will appreciate that the present disclosure may be implemented in hardware and software in combination with computer-executable instructions and/or other program modules and/or in combination with computer-executable instructions and/or other program modules that may be executed on one or more computers. It will be appreciated that it can be implemented as a combination.
  • program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • methods of the present disclosure can be applied to single-processor or multiprocessor computer systems, minicomputers, mainframe computers as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, etc. (each of which is It will be appreciated that other computer system configurations may be implemented, including those that may operate in connection with one or more associated devices.
  • the described embodiments of the present disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • Computers typically include a variety of computer-readable media. Any medium accessible by a computer can be a computer-readable medium, and such computer-readable media includes volatile and nonvolatile media, transitory and non-transitory media, removable and non-transitory media. including removable media.
  • computer-readable media may include computer-readable storage media and computer-readable transmission media.
  • Computer readable storage media includes volatile and nonvolatile media, temporary and non-transitory media, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. includes media.
  • a computer-readable storage medium may be RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage device, magnetic cassette, magnetic tape, magnetic disk storage device, or other magnetic storage device. device, or any other medium that can be accessed by a computer and used to store the desired information.
  • Computer-readable transmission media typically embodies computer-readable instructions, data structures, program modules or other data, etc. in a modulated data signal such as a carrier wave or other transport mechanism, and Includes all information delivery media.
  • modulated data signal means a signal in which one or more of the characteristics of the signal is set or changed so as to encode information in the signal.
  • computer-readable transmission media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also intended to be included within the scope of computer-readable transmission media.
  • An example environment 1100 implementing various aspects of the disclosure is shown including a computer 1102 , the computer 1102 including a processing unit 1104 , a system memory 1106 , and a system bus 1108 . do.
  • the system bus 1108 couples system components, including but not limited to system memory 1106 , to the processing device 1104 .
  • the processing device 1104 may be any of a variety of commercially available processors. Dual processor and other multiprocessor architectures may also be used as processing unit 1104 .
  • the system bus 1108 may be any of several types of bus structures that may further interconnect a memory bus, a peripheral bus, and a local bus using any of a variety of commercial bus architectures.
  • System memory 1106 includes read only memory (ROM) 1110 and random access memory (RAM) 1112 .
  • ROM read only memory
  • RAM random access memory
  • a basic input/output system (BIOS) is stored in non-volatile memory 1110, such as ROM, EPROM, EEPROM, etc., which BIOS provides basic input/output systems (BIOS) that help transfer information between components within computer 1102, such as during startup. contains routines.
  • BIOS basic input/output system
  • RAM 1112 may also include high-speed RAM, such as static RAM, for caching data.
  • the computer 1102 may also include an internal hard disk drive (HDD) 1114 (eg, EIDE, SATA) - this internal hard disk drive 1114 may also be configured for external use within a suitable chassis (not shown).
  • HDD hard disk drive
  • FDD magnetic floppy disk drive
  • optical disk drive 1120 eg, a CD-ROM
  • the hard disk drive 1114 , the magnetic disk drive 1116 , and the optical disk drive 1120 are connected to the system bus 1108 by the hard disk drive interface 1124 , the magnetic disk drive interface 1126 , and the optical drive interface 1128 , respectively.
  • the interface 1124 for implementing an external drive includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies.
  • drives and their associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, and the like.
  • drives and media correspond to storing any data in a suitable digital format.
  • computer readable media refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, those skilled in the art will use zip drives, magnetic cassettes, flash memory cards, cartridges, etc. It will be appreciated that other tangible computer-readable media such as etc. may also be used in the exemplary operating environment and any such media may include computer-executable instructions for performing the methods of the present disclosure.
  • a number of program modules may be stored in the drive and RAM 1112 , including an operating system 1130 , one or more application programs 1132 , other program modules 1134 , and program data 1136 . All or portions of the operating system, applications, modules, and/or data may also be cached in RAM 1112 . It will be appreciated that the present disclosure may be implemented in various commercially available operating systems or combinations of operating systems.
  • a user may enter commands and information into the computer 1102 via one or more wired/wireless input devices, for example, a pointing device such as a keyboard 1138 and a mouse 1140 .
  • Other input devices may include a microphone, IR remote control, joystick, game pad, stylus pen, touch screen, and the like.
  • input device interface 1142 is often connected to the system bus 1108, parallel ports, IEEE 1394 serial ports, game ports, USB ports, IR interfaces, and the like may be connected by other interfaces.
  • a monitor 1144 or other type of display device is also coupled to the system bus 1108 via an interface, such as a video adapter 1146 .
  • the computer typically includes other peripheral output devices (not shown), such as speakers, printers, and the like.
  • Computer 1102 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1148 via wired and/or wireless communications.
  • Remote computer(s) 1148 may be workstations, computing device computers, routers, personal computers, portable computers, microprocessor-based entertainment devices, peer devices, or other common network nodes, and are typically connected to computer 1102 . Although it includes many or all of the components described for it, only memory storage device 1150 is shown for simplicity.
  • the logical connections shown include wired/wireless connections to a local area network (LAN) 1152 and/or a larger network, eg, a wide area network (WAN) 1154 .
  • LAN and WAN networking environments are common in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to a worldwide computer network, for example, the Internet.
  • the computer 1102 When used in a LAN networking environment, the computer 1102 is coupled to the local network 1152 through a wired and/or wireless communication network interface or adapter 1156 .
  • Adapter 1156 may facilitate wired or wireless communication to LAN 1152 , which LAN 1152 also includes a wireless access point installed therein for communicating with wireless adapter 1156 .
  • the computer 1102 When used in a WAN networking environment, the computer 1102 may include a modem 1158, be connected to a communication computing device on the WAN 1154, or establish communications over the WAN 1154, such as over the Internet. have other means.
  • a modem 1158 which may be internal or external and a wired or wireless device, is coupled to the system bus 1108 via a serial port interface 1142 .
  • program modules described for computer 1102 may be stored in remote memory/storage device 1150 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between the computers may be used.
  • the computer 1102 may be associated with any wireless device or object that is deployed and operates in wireless communication, for example, a printer, scanner, desktop and/or portable computer, portable data assistant (PDA), communication satellite, wireless detectable tag. It operates to communicate with any device or place, and phone. This includes at least Wi-Fi and Bluetooth wireless technologies. Accordingly, the communication may be a predefined structure as in a conventional network or may simply be an ad hoc communication between at least two devices.
  • PDA portable data assistant
  • Wi-Fi Wireless Fidelity
  • Wi-Fi is a wireless technology such as cell phones that allows these devices, eg, computers, to transmit and receive data indoors and outdoors, ie anywhere within range of a base station.
  • Wi-Fi networks use a radio technology called IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, and high-speed wireless connections.
  • Wi-Fi can be used to connect computers to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet).
  • Wi-Fi networks may operate in unlicensed 2.4 and 5 GHz radio bands, for example at 11 Mbps (802.11a) or 54 Mbps (802.11b) data rates, or in products that include both bands (dual band). .
  • the various embodiments presented herein may be implemented as methods, apparatus, or articles of manufacture using standard programming and/or engineering techniques.
  • article of manufacture includes a computer program, carrier, or media accessible from any computer-readable storage device.
  • computer-readable storage media include magnetic storage devices (eg, hard disks, floppy disks, magnetic strips, etc.), optical disks (eg, CDs, DVDs, etc.), smart cards, and flash drives. memory devices (eg, EEPROMs, cards, sticks, key drives, etc.).
  • various storage media presented herein include one or more devices and/or other machine-readable media for storing information.
  • the present invention may be used in a computing device that provides diagnosis-related information on medical data, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Surgery (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Software Systems (AREA)
  • Physiology (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Psychiatry (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

본 개시의 일 실시예에 따라 컴퓨팅 장치의 하나 이상의 프로세서에 의해 수행되는 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 방법이 개시된다. 상기 방법은: 상기 의료 데이터에 기초하여 진단 정보를 출력하도록 학습된 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 1 진단 정보를 연산하는 단계; 상기 제 1 진단 네트워크에서 연산된 상기 의료 데이터에 관한 특징 벡터에 기초하여 진단 정보를 출력하도록 학습된 제 2 진단 네트워크를 이용하여, 상기 입력 의료 데이터에 대해 제 2 진단 정보를 연산하는 단계; 및 상기 제 1 진단 네트워크의 연산 과정 또는 제 2 진단 네트워크의 연산 과정 중 일 부분에 기초하여, 상기 입력 의료 데이터에 대해 연산된 상기 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성하는 단계를 포함할 수 있다.

Description

진단 결과를 제공하기 위한 방법 및 장치
본 발명은 진단 결과를 제공하기 위한 방법에 관련된 것으로서, 보다 구체적으로 의료 데이터에 대한 진단 관련 정보 및 진단 정보 사이의 상관 관계를 제공하는 방법에 관한 것이다.
인공 신경망은 빠른 처리 속도와 큰 저장 공간을 이용해 입력 데이터로부터 출력 데이터를 추출하는 방법을 학습한 후 새로운 입력 데이터로부터 상기 학습된 방법을 적용하여 출력 데이터를 도출한다. 다만 인공 신경망은 마치 블랙 박스와 같아서 사용자는 인공 신경망이 주어진 입력에서 어떻게 출력에 도달하는지 상세히 알 수 없는 문제점이 당업계에 존재해 왔다. 다시 말해 중간 과정을 상세히 알 수 없어 인간이 판단하기도 애매한 문제에 대해 인공 신경망이 답을 출력한 경우 인공 신경망의 오류도 무시할 수 없으므로 그 답을 믿어야 하는지 딜레마에 빠지게 된다. 이러한 문제는 의료 및 법률 분야와 같이 인공 신경망에서 도출된 값이 사용자에게 큰 영향을 미칠 경우 더욱 부각되게 된다. 따라서 당업계는 입력에 대한 출력이 해석 가능한, 다시 말해 투명성(transparency)이 높은 결과를 제공하는 방법 또는 장치에 관해 지속적인 요구가 존재해 왔다. 한국등록특허 "KR 10-2018-0123198"은 자궁경부 자동판독 및 임상의사결정지원시스템 기반의 원격 자궁경부암 검진 시스템을 개시하여 딥 러닝 기반 자동 판독 알고리즘이 자궁경부암을 판독하고 해당 판독 결과에 대해 리뷰여부를 판단하는 내용을 개시하고 있다.
본 개시는 전술한 배경기술에 대응하여 안출 된 것으로, 의료 데이터에 대한 진단 관련 정보 및 진단 정보 사이의 상관 관계를 제공하는 것을 목적으로 한다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치의 하나 이상의 프로세서에 의해 수행되는 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 방법이 개시된다. 상기 방법은: 상기 의료 데이터에 기초하여 진단 정보를 출력하도록 학습된 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 1 진단 정보를 연산하는 단계; 상기 제 1 진단 네트워크에서 연산된 상기 의료 데이터에 관한 특징 벡터에 기초하여 진단 정보를 출력하도록 학습된 제 2 진단 네트워크를 이용하여, 상기 입력 의료 데이터에 대해 제 2 진단 정보를 연산하고, 상기 특징 벡터는 상기 제 1 진단 네트워크의 연산 과정에서 도출된 특징맵(feature map)에 기초하여 연산되는 단계; 및 상기 제 1 진단 네트워크의 연산 과정 또는 제 2 진단 네트워크의 연산 과정 중 일 부분에 기초하여, 상기 입력 의료 데이터에 대해 연산된 상기 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성하는 단계를 포함할 수 있다.
대안적인 실시예에서, 프로세서가 상기 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 1 진단 정보를 연산하는 단계는, 상기 제 1 진단 네트워크에서 상기 입력 의료 데이터에 관한 특징 벡터를 연산하는 단계; 및 상기 입력 의료 데이터에 관한 특징 벡터에 기초하여 상기 제 1 진단 정보를 연산하는 단계를 더 포함할 수 있다.
대안적인 실시예에서, 상기 특징 벡터는, 상기 제 1 진단 네트워크의 연산 과정에서 도출된 특징맵(feature map)에 전역 풀링(Global Pooling) 방법을 수행한 결과에 기초하여 연산될 수 있다.
대안적인 실시예에서, 상기 제 1 진단 네트워크는 서로 다른 종류의 소견을 포함하는 제 1 진단 정보를 연산하는 상이한 둘 이상의 서브 제 1 진단 네트워크를 포함할 수 있다.
대안적인 실시예에서, 상기 상관 관계 정보는 상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도를 포함할 수 있다.
대안적인 실시예에서, 상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도는 상기 제 1 진단 네트워크에서 연산된 상기 입력 의료 데이터에 관한 특징 벡터, 상기 제 1 진단 네트워크에 포함된 최종 분류 함수의 파라미터 또는 상기 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터 중 적어도 어느 하나에 기초하여 산출될 수 있다.
대안적인 실시예에서, 상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도는, 제 1 부분 기여도 또는 제 2 부분 기여도 중 적어도 하나에 기초하여 산출될 수 있다.
대안적인 실시예에서, 상기 제 1 부분 기여도는, 상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 전체 소견의 오즈(odds)에 기초할 수 있다.
대안적인 실시예에서, 상기 제 2 부분 기여도는, 상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈(counterfactual-odds)에 기초하되, 상기 가상 오즈는: 상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견이 반드시 존재하는 상황의 확률에 따른 오즈; 상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견이 절대로 존재하지 않는 상황의 확률에 따른 오즈; 및 상기 제 2 진단 정보에 포함된 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견의 사전 결정된 존재 확률에 따른 오즈; 중 적어도 하나를 포함할 수 있다.
대안적인 실시예에서, 상기 상관 관계 정보를 생성하는 단계는, 클래스 활성화 맵(Class Activation Map)에 적어도 일부 기초하여 상기 제 1 진단 정보를 상기 입력 의료 데이터에 표시하는 단계를 포함할 수 있다.
대안적인 실시예에서, 상기 상관 관계 정보를 생성하는 단계는, 상기 입력 의료 데이터에 관한 특징 벡터, 상기 제 1 진단 네트워크에 포함된 최종 분류 함수의 파라미터 또는 상기 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터 중 적어도 어느 하나에 기초하여 클래스 활성화 맵(Class Activation Map)을 생성하는 단계; 및 상기 클래스 활성화 맵에 기초하여 상기 제 1 진단 정보를 상기 입력 의료 데이터에 표시하는 단계를 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은: 상기 의료 데이터에 기초하여 진단 정보를 출력하도록 학습된 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 1 진단 정보를 연산하는 동작; 상기 제 1 진단 네트워크에서 연산된 상기 의료 데이터에 관한 특징 벡터에 기초하여 진단 정보를 출력하도록 학습된 제 2 진단 네트워크를 이용하여, 상기 입력 의료 데이터에 대해 제 2 진단 정보를 연산하고, 상기 특징 벡터는 상기 제 1 진단 네트워크의 연산 과정에서 도출된 특징맵(feature map)에 기초하여 연산하는 동작; 및 상기 제 1 진단 네트워크의 연산 과정 또는 제 2 진단 네트워크의 연산 과정 중 일 부분에 기초하여, 상기 입력된 의료 데이터에 대해 연산된 상기 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성하는 동작을 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 장치가 개시된다. 상기 장치는 프로세서; 및 적어도 하나의 네트워크 함수가 저장되는 메모리를 포함하고, 상기 메모리는 상기 프로세서가 의료 데이터에 기초하여 진단 정보를 출력하도록 학습된 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 1 진단 정보를 연산하고, 상기 제 1 진단 네트워크에서 연산된 상기 의료 데이터에 관한 특징 벡터에 기초하여 진단 정보를 출력하도록 학습된 제 2 진단 네트워크를 이용하여, 상기 입력 의료 데이터에 대해 제 2 진단 정보를 연산하고, 상기 특징 벡터는 상기 제 1 진단 네트워크의 연산 과정에서 도출된 특징맵(feature map)에 기초하여 연산되고, 그리고 상기 제 1 진단 네트워크의 연산 과정 또는 제 2 진단 네트워크의 연산 과정 중 일 부분에 기초하여, 상기 입력 의료 데이터에 대해 연산된 상기 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성하기 위한 적어도 하나의 컴퓨터 실행 가능한 명령어를 저장할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 사용자 단말에 포함된 하나 이상의 프로세서에서 실행되는 경우, 의료 데이터에 대한 진단 관련 정보를 표시하는 사용자 인터페이스(UI)를 제공하며, 상기 사용자 인터페이스는: 입력 의료 데이터에 대한 제 1 진단 정보 및 상기 입력 의료 데이터에 대한 제 2 진단 정보를 포함하는 상관 관계 정보를 포함하고, 그리고 상기 상관 관계 정보는 제 1 진단 네트워크를 이용한 제 1 진단 정보의 연산 과정 및 제 2 진단 네트워크를 이용한 제 2 진단 정보의 연산 과정 중 일 부분에 기초하여 사용자 단말 또는 서버에서 생성될 수 있다.
대안적인 실시예에서, 상기 상관 관계 정보는 상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도를 포함하는 오즈비 매트릭스(odds ratio matrix)를 포함할 수 있다.
본 개시는 의료 데이터에 대한 진단 관련 정보 및 진단 정보 사이의 상관 관계를 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 컴퓨팅 장치의 블록 구성도이다.
도 2는 본 개시의 일 실시예에 따라 의료 데이터에 대한 진단 관련 정보를 제공하기 위해 사용되는 네트워크 함수를 나타낸 개략도이다.
도 3은 의료 데이터에 대한 진단 관련 정보를 제공하는 본 개시의 일 실시예에 따라 입력 의료 데이터로부터 제 1 진단 정보 및 제 2 진단 정보를 출력하기 위한 전체 모델의 학습 과정에 대한 흐름도이다.
도 4는 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 본 개시의 일 실시예에 따라 제 2 진단 네트워크를 학습하기 위한 흐름도이다.
도 5은 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 본 개시의 일 실시예에 따라 입력 의료 데이터에 대한 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 시각화한 일 예시도이다.
도 6는 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 본 개시의 일 실시예에 따라 입력 의료 데이터에 대한 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 표시하는 사용자 인터페이스에 관한 예시도이다.
도 7은 본 개시의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도이다.
다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 개시의 이해를 제공하기 위해서 제시된다. 그러나, 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.
그리고, "A 또는 B 중 적어도 하나"이라는 용어는, "A만을 포함하는 경우", "B 만을 포함하는 경우", "A와 B의 구성으로 조합된 경우"를 의미하는 것으로 해석되어야 한다.
당업자들은 추가적으로 여기서 개시된 실시예들과 관련되어 설명된 다양한 예시적 논리적 블록들, 구성들, 모듈들, 회로들, 수단들, 로직들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수 있음을 인식해야 한다. 하드웨어 및 소프트웨어의 상호교환성을 명백하게 예시하기 위해, 다양한 예시적 컴포넌트들, 블록들, 구성들, 수단들, 로직들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로서 구현되는지 여부는 전반적인 시스템에 부과된 특정 어플리케이션(application) 및 설계 제한들에 달려 있다. 숙련된 기술자들은 각각의 특정 어플리케이션들을 위해 다양한 방법들로 설명된 기능성을 구현할 수 있다. 다만, 그러한 구현의 결정들이 본 개시내용의 영역을 벗어나게 하는 것으로 해석되어서는 안된다.
제시된 실시예들에 대한 설명은 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다. 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예 들로 한정되는 것이 아니다. 본 발명은 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
본 발명의 상세한 설명 및 청구항들에 걸쳐 이용된 "영상" 또는 "영상 데이터"라는 용어는 이산적 영상 요소들(예컨대, 2차원 영상에 있어서는 픽셀)로 구성된 다차원 데이터를 지칭하며, 달리 말하자면, (예컨대, 비디오 화면에 표시된) 눈으로 볼 수 있는 대상 또는 (예컨대, CT, MRI 검출기 등의 픽셀 출력에 대응되는 파일과 같은) 그 대상의 디지털 표현물을 지칭하는 용어이다.
예를 들어 "이미지" 또는 "영상"은 전산화 단층 촬영(CT; computed tomography), 자기 공명 영상(MRI; magnetic resonance imaging), 안저 영상, 초음파 또는 본 발명의 기술분야에서 공지된 임의의 다른 의료 영상 시스템에 의하여 수집된 피검체(subject)의 의료 영상일 수 있다. 영상이 반드시 의료적 맥락에서 제공되어야 하는 것은 아니고 비의료적 맥락에서 제공될 수도 있는 바, 예를 들어 보안 검색용 X선 촬영 등이 있을 수 있다.
본 발명의 상세한 설명 및 청구항들에 걸쳐 'DICOM(Digital Imaging and Communications in Medicine; 의료용 디지털 영상 및 통신)' 표준은 의료용 기기에서 디지털 영상 표현과 통신에 이용되는 여러 가지 표준을 총칭하는 용어인 바, DICOM 표준은 미국 방사선 의학회(ACR)와 미국 전기 공업회(NEMA)에서 구성한 연합 위원회에서 발표한다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐 '의료영상 저장 전송 시스템(PACS; Picture Archiving and Communication System)'은 DICOM 표준에 맞게 저장, 가공, 전송하는 시스템을 지칭하는 용어이며, X선, CT, MRI와 같은 디지털 의료영상 장비를 이용하여 획득된 의료영상 이미지는 DICOM 형식으로 저장되고 네트워크를 통하여 병원 내외의 단말로 전송이 가능하며, 이에는 판독 결과 및 진료 기록이 추가될 수 있다.
본 발명의 명세서에서 "제 1 진단 정보" 및 "제 2 진단 정보"는, 네트워크 함수가 입력 의료 데이터로부터 최종 진단을 위해 연산하는 중간 데이터 중에서 그 연산 또는 출력되는 순서에 따라 호칭되는 진단 정보의 종류를 의미할 수 있다. 프로세서(110)는 전체 모델에 포함된 제 1 진단 네트워크를 통해 입력 의료 데이터로부터 제 1 진단 정보를 출력할 수 있다. 프로세서(110)는 상기 제 1 진단 정보에 적어도 일부 기초하여 전체 모델에 포함된 제 2 진단 네트워크를 통해 제 2 진단 정보를 출력할 수 있다. 보다 구체적으로, 프로세서(110)는 상기 제 1 진단 정보를 연산하기 위한 특징 벡터에 기초하여 제 2 진단 네트워크를 통해 제 2 진단 정보를 출력할 수 있다. 제 1 진단 정보는 입력 의료 데이터에 대해 최종 진단 결과를 생성하기 위한 중간 진단 정보를 포함할 수 있다. 제 2 진단 정보는 입력 의료 데이터에 대한 최종 진단 결과를 포함할 수 있다.
본 명세서에서 제 1 진단 정보는 적어도 하나 이상의 소견에 관한 정보를 포함할 수 있다. 본 명세서에 걸쳐 소견에 관한 정보와 소견 정보는 상호 교환되어 동일한 의미로 사용될 수 있다. 소견 정보는 입력 데이터에 존재하는 특정 소견의 존재 확률, 종류, 위치 등을 포함할 수 있다. 본 명세서에서 제 2 진단 정보는 적어도 하나 이상의 질병에 관한 정보를 포함할 수 있다. 본 명세서에 걸쳐 질병에 관한 정보와 질병 정보는 상호 교환되어 동일한 의미로 사용될 수 있다. 질병 정보는 입력 데이터에 존재하는 특정 질병의 존재 확률, 종류 등을 포함할 수 있다. 제 1 진단 정보는 입력 의료 데이터에 대한 임상적 소견에 관련된 데이터들을 포함할 수 있다. 본 명세서에 걸쳐 소견(finding) 정보는 최종 질병의 판단에 근거가 되는 자료, 병변 또는 해당 병변의 영역에 관한 정보를 포함하는 의미로 사용될 수 있다. 제 2 진단 정보는 질병의 존재 유무에 대한 판단을 포함할 수 있다. 제 2 진단 정보에 포함된 하나의 질병의 존재 유무를 판단하는 데 있어서 하나 이상의 소견 정보가 관여할 수 있다. 제 2 진단 정보에 포함된 서로 다른 둘 이상의 질병의 존재 유무를 판단하는데 있어서 하나의 소견 정보가 관여할 수 있다.
일반적으로 특정 질병에 대한 진단은 적어도 하나 이상의 특정 소견의 존재에 기초하여 이뤄진다. 예를 들어, 폐암이라는 질병을 진단하는데 있어서 양쪽 폐 밑 부위에서 흡기 시 수포음이 청진된다는 제 1 소견 및 흉부 CT에서 폐 아래 부위에 망상음영이 보인다는 제 2 소견을 종합하여 최종 진단을 내릴 수 있다. 또 다른 예를 들어, 녹내장이라는 질병의 진단에 있어서 망막신경섬유층의 손상 정도에 따른 제 1 소견 및 시신경 유두 주변 및 황반부의 혈관 변화에 따른 제 2 소견이 관여할 수 있다. 이와 같이 본 명세서에 걸쳐 하나 이상의 소견에 대한 소견 정보는 질병을 유발하는 독립변수로 이해될 수 있고, 상기 하나 이상의 소견에 관한 정보에 기초하여 진단된 하나 이상의 질병의 존재 확률을 포함하는 제 2 진단 정보는 그러한 독립변수에 따른 종속변수로 이해될 수 있다. 전술한 질병의 종류 및 소견은 일 예시에 불과하여 본 개시를 제한하지 않으며 독립변수의 변화가 종속변수의 결과에 어떠한 영향을 미치는지 정량화하기 위한 본 발명에 있어서 질병 및 소견의 실시예가 제한될 필요는 없다는 것은 통상의 기술자에게 자명할 것이다.
도 1은 본 개시의 일 실시예에 따른 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 컴퓨팅 장치의 블록 구성도이다.
도 1에 도시된 컴퓨팅 장치(100)의 구성은 간략화 하여 나타낸 예시일 뿐이다. 본 개시의 일 실시예에서 컴퓨팅 장치(100)는 컴퓨팅 장치(100)의 컴퓨팅 환경을 수행하기 위한 다른 구성들이 포함될 수 있고, 개시된 구성들 중 일부만이 컴퓨팅 장치(100)를 구성할 수도 있다.
컴퓨팅 장치(100)는 프로세서(110), 메모리(130), 네트워크부(150)를 포함할 수 있다.
프로세서(110)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 프로세서(110)는 메모리(130)에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 기계 학습을 위한 데이터 처리를 수행할 수 있다. 본 개시의 일실시예에 따라 프로세서(110)는 신경망의 학습을 위한 연산을 수행할 수 있다. 프로세서(110)는 딥러닝(DL: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서(110)의 CPU, GPGPU, 및 TPU 중 적어도 하나가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU 와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에서 복수의 컴퓨팅 장치의 프로세서를 함께 사용하여 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에 따른 컴퓨팅 장치에서 수행되는 컴퓨터 프로그램은 CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.
본 개시의 일 실시예에 따르면, 메모리(130)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 네트워크부(150)가 수신한 임의의 형태의 정보를 저장할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(130)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 컴퓨팅 장치(100)는 인터넷(internet) 상에서 상기 메모리(130)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다. 전술한 메모리에 대한 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.
본 개시의 일 실시예에 따른 네트워크부(150)는 공중전화 교환망(PSTN: Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.
또한, 본 명세서에서 제시되는 네트워크부(150)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.
본 개시에서 네트워크부(150)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW: World Wide Web)일 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다.
본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.
본 개시의 일 실시예에 있어서 프로세서(110)는 진단 관련 정보를 제공하기 위해 의료 데이터에 기초하여 제 1 진단 정보를 출력하도록 학습된 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대한 제 1 진단 정보를 연산할 수 있다.
본 발명의 명세서에서 의료 데이터는 영상 데이터, 음성 데이터 및 시계열 데이터 중 적어도 하나를 포함할 수 있다. 즉, 의료업에 종사하는 자 또는 진단을 위한 장치 등에 의해 데이터 내에 질병의 존재 유무를 판단할 수 있는 임의의 형태의 데이터가 본 개시에 의한 의료 데이터에 포함될 수 있다. 영상 데이터는 환자의 환부를 검사 장비를 통해 촬영 또는 측정하여 전기 신호화 한 후 출력되는 모든 영상 데이터를 포함한다. 상기 영상 데이터는 의료 영상 촬영기기로부터 시간에 따라 연속하여 촬영된 동영상에서 동영상의 각 프레임을 구성하는 영상 데이터를 포함할 수 있다 예를 들어, 초음파 검사 영상 데이터, MRI 장치에 의한 영상 데이터, CT 단층 촬영 영상 데이터, X-ray 촬영 영상 데이터 등을 포함한다. 나아가, 음성 데이터를 전기 신호로 변환하여 그래프 형태의 이미지로 출력하거나 시계열 데이터를 그래프 등의 시각화된 자료로 나타낸 경우 해당 이미지 또는 자료는 상기 영상 데이터에 포함될 수 있다. 의료 데이터에 관한 전술한 예시는 일 예시에 불과할 뿐, 본 개시를 제한하지 않는다.
도 2는 본 개시의 일 실시예에 따라 의료 데이터에 대한 진단 관련 정보를 제공하기 위해 사용되는 네트워크 함수를 나타낸 개략도이다. 본 명세서에 걸쳐, 연산 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. 신경망은 일반적으로 노드라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 노드들은 뉴런(neuron)들로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다. 신경망들을 구성하는 노드(또는 뉴런)들은 하나 이상의 링크에 의해 상호 연결될 수 있다.
신경망 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 상술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변 될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
상술한 바와 같이, 신경망은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호 연결되어 신경망 내에서 입력 노드 및 출력 노드 관계를 형성한다. 신경망 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 신경망이 존재하는 경우, 두 개의 신경망들은 서로 상이한 것으로 인식될 수 있다.
신경망은 하나 이상의 노드들을 포함하여 구성될 수 있다. 신경망을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 신경망 내에서 레이어의 차수는 상술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 신경망 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들이 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 신경망을 구성하는 노드들을 의미할 수 있다. 본 개시의 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수와 동일할 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하다가 다시 증가하는 형태의 신경망일 수 있다. 또한, 본 개시의 다른 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수 보다 적을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 신경망일 수 있다. 또한, 본 개시의 또 다른 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 증가하는 형태의 신경망일 수 있다. 본 개시의 또 다른 일 실시예에 따른 신경망은 상술한 신경망들의 조합된 형태의 신경망일 수 있다.
딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다. 딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있다. 전술한 딥 뉴럴 네트워크의 기재는 예시일 뿐이며 본 개시는 이에 제한되지 않는다.
본 개시의 일 실시예에서 네트워크 함수는 오토 인코더를 포함할 수도 있다. 오토 인코더는 입력 데이터와 유사한 출력 데이터를 출력하기 위한 인공 신경망의 일종일 수 있다. 오토 인코더는 적어도 하나의 히든 레이어를 포함할 수 있으며, 홀수 개의 히든 레이어가 입출력 레이어 사이에 배치될 수 있다. 각각의 레이어의 노드의 수는 입력 레이어의 노드의 수에서 병목 레이어(인코딩)라는 중간 레이어로 축소되었다가, 병목 레이어에서 출력 레이어(입력 레이어와 대칭)로 축소와 대칭되어 확장될 수도 있다. 이 경우, 도 2의 예시에서는 차원 감소 레이어와 차원 복원 레이어가 대칭되는 것으로 도시되어 있으나, 본 개시는 이에 제한되지 않으며, 차원 감소 레이어와 차원 복원 레이어의 노드는 대칭일 수도 있고 아닐 수도 있다. 오토 인코더는 비선형 차원 감소를 수행할 수 있다. 입력 레이어 및 출력 레이어의 수는 입력 데이터의 전처리 이후에 남은 센서들의 수와 대응될 수 있다. 오토 인코더 구조에서 인코더에 포함된 히든 레이어의 노드의 수는 입력 레이어에서 멀어질수록 감소하는 구조를 가질 수 있다. 병목 레이어(인코더와 디코더 사이에 위치하는 가장 적은 노드를 가진 레이어)의 노드의 수는 너무 작은 경우 충분한 양의 정보가 전달되지 않을 수 있으므로, 특정 수 이상(예를 들어, 입력 레이어의 절반 이상 등)으로 유지될 수도 있다.
뉴럴 네트워크는 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 및 반교사학습(semi supervised learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 출력의 오류를 최소화하기 위한 것이다. 뉴럴 네트워크의 학습에서 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다. 교사 학습의 경우 각각의 학습 데이터에 정답이 라벨링 되어있는 학습 데이터를 사용하며(즉, 라벨링된 학습 데이터), 비교사 학습의 경우는 각각의 학습 데이터에 정답이 라벨링 되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 교사 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 라벨링 된 데이터 일 수 있다. 라벨링된 학습 데이터가 뉴럴 네트워크에 입력되고, 뉴럴 네트워크의 출력(카테고리)과 학습 데이터의 라벨을 비교함으로써 오류(error)가 계산될 수 있다. 다른 예로, 데이터 분류에 관한 비교사 학습의 경우 입력인 학습 데이터가 뉴럴 네트워크 출력과 비교됨으로써 오류가 계산될 수 있다. 계산된 오류는 뉴럴 네트워크에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 뉴럴 네트워크의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 뉴럴 네트워크의 학습 초기에는 높은 학습률을 사용하여 뉴럴 네트워크가 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.
뉴럴 네트워크의 학습에서 일반적으로 학습 데이터는 실제 데이터(즉, 학습된 뉴럴 네트워크를 이용하여 처리하고자 하는 데이터)의 부분집합일 수 있으며, 따라서, 학습 데이터에 대한 오류는 감소하나 실제 데이터에 대해서는 오류가 증가하는 학습 사이클이 존재할 수 있다. 과적합(overfitting)은 이와 같이 학습 데이터에 과하게 학습하여 실제 데이터에 대한 오류가 증가하는 현상이다. 예를 들어, 노란색 고양이를 보여 고양이를 학습한 뉴럴 네트워크가 노란색 이외의 고양이를 보고는 고양이임을 인식하지 못하는 현상이 과적합의 일종일 수 있다. 과적합은 머신러닝 알고리즘의 오류를 증가시키는 원인으로 작용할 수 있다. 이러한 과적합을 막기 위하여 다양한 최적화 방법이 사용될 수 있다. 과적합을 막기 위해서는 학습 데이터를 증가시키거나, 레귤라이제이션(regularization), 학습의 과정에서 네트워크의 노드 일부를 생략하는 드롭아웃(dropout) 등의 방법이 적용될 수 있다.
제 1 진단 네트워크는 예를 들어, 단일 모델 구조로 형성되어 입력 의료 데이터에 대해 적어도 하나 이상의 소견에 관한 정보를 포함하는 제 1 진단 정보를 생성할 수 있다. 제 1 진단 네트워크는 입력 의료 데이터로부터 제 1 소견 또는 제 2 소견에 관한 정보를 각각 포함하는 복수의 서로 다른 제 1 진단 정보를 출력할 수도 있다. 제 1 진단 네트워크는 입력 의료 데이터로부터 적어도 하나 이상의 특징맵(featuremap)을 추출하고, 특징맵에 기초하여 특징 벡터를 연산한 후, 그러한 특징 벡터에 기초하여 적어도 하나 이상의 소견 정보를 포함하는 제 1 진단 정보를 연산할 수 있다. 제 1 진단 네트워크의 학습 방법 및 추론 방법에 대해서는 후술하여 자세히 설명한다.
제 1 진단 정보에 포함된 적어도 하나 이상의 각 소견 정보는 입력 의료 데이터에 존재하는 소견의 종류를 포함할 수 있다. 소견 정보는 소견의 존재 확률(confidence score), 소견의 위치, 소견의 영역 중 적어도 하나의 정보를 포함할 수 있다.
소견 정보에 포함된 소견의 종류는 딥 러닝 학습 방법을 통한 분류(Classification) 결과 일 수 있다. 상기 분류는 입력 의료 데이터와 소견에 대한 일대일(one to one) 분류 또는 일대다(one to many) 분류를 모두 포함한다. 일 실시예로서 상기 분류(Classification)는 입력 의료 데이터를 특정 소견으로 매칭하기 위한 일대다 분류일 수 있다. 즉, 분류될 수 있는 소견의 수가 N개 존재하는 경우, 프로세서(110)는 N개의 분류 클래스 중 어느 하나의 클래스로 분류되도록 입력 데이터를 분류할 수 있다. 상기 분류 클래스에는 소견이 없다는 의미를 갖는 클래스가 포함될 수 있다. 상기 분류의 결과에는 소견의 종류 및 소견의 존재 확률(Confidence Score)이 포함될 수 있다. 다른 실시예로서 상기 분류(Classification)는 입력 의료 데이터에 대하여 학습된 모든 종류의 소견에 관한 존재여부를 판단하는 일대일 분류일 수 있다. 즉, 프로세서(110)는 제 1 진단 네트워크를 이용하여 분류될 수 있는 소견의 수가 N개 존재하는 경우 입력 의료 데이터에 대해서 모든 소견에 대한 개별 존재 확률 또는 모든 소견에 대한 존재 여부를 연산할 수 있다. 이러한 경우 입력 의료 데이터에 대한 제 1 진단 정보는 최대 N개의 소견에 관한 정보를 포함할 수 있다. 프로세서(110)는 입력 의료 데이터에 대해 제 1 소견의 존재 확률, 제 2 소견의 존재 확률, ..., 제 N 소견의 존재 확률을 각각 연산할 수 있다. 상기 분류는 존재 확률에 따른 분류 구간을 설정하여 다차원 분류로 이루어질 수 있다. 상기 분류는 사전 결정된 임계값과 존재 확률의 비교를 통한 이진(binary) 분류일 수도 있다. 상기 분류를 위해 제 1 진단 네트워크는 여러 서브 제 1 진단 네트워크를 포함할 수 있다.
소견 정보에 포함된 소견의 위치는 딥 러닝 기반 제 1 진단 네트워크에 의한 디텍션(detection)의 결과 일 수 있다. 즉, 프로세서(110)가 입력 의료 데이터로부터 학습된 소견의 종류 중 특정 소견이 존재한다고 판단한 경우, 해당 부위를 표시할 수 있다. 상기 존재 판단은 네트워크 함수에 의해 도출되는 확률 값 및 사전 결정된 임계값에 기초하여 수행될 수 있다. 상기 해당 부위의 표시는 사전 결정된 모양의 bounding box에 의해 수행될 수 있다.
소견 정보에 포함되는 소견의 영역에 관한 정보는 딥 러닝 기반 제 1 진단 네트워크의 학습 결과, 네트워크를 통한 세그멘테이션(Segmentation)의 결과일 수 있다. 즉, 프로세서(110)가 입력 의료 데이터에서 소견 정보를 출력하는 경우, 해당 소견에 관한 병변 영역을 포함하는 픽셀을 다른 픽셀과 상이하게 표시하여 소견 정보를 출력할 수 있다.
본 개시의 일 실시예에 있어서 프로세서(110)는 제 1 진단 네트워크에서 입력 의료 데이터에 관한 특징 벡터를 연산하고, 상기 입력 의료 데이터에 관한 특징 벡터에 기초하여 제 1 진단 정보를 연산할 수 있다. 즉, 프로세서(110)는 제 1 진단 네트워크의 연산 과정에서 도출된 특징맵(feature map)을 기초로 특징 벡터(feature vector)를 연산하고 이에 기초하여 제 1 진단 정보를 출력할 수 있다. 상기 제 1 진단 네트워크의 연산 결과는 제 1 진단 네트워크를 통한 내부 연산 과정에서 각 레이어로부터 도출되는 입력 의료 데이터에 대한 특징맵(feature map) 및 특징 벡터(feature vector)를 포함할 수 있다.
프로세서(110)는 제 1 진단 네트워크 연산 결과로써 그 내부 연산과정에서 생성되는 특징맵(feature map)에 적어도 부분적으로 기초하여 입력 의료 데이터에 관한 특징 벡터를 연산할 수 있다. 상기 특징 벡터 생성의 기초가 되는 특징맵(feature map)은 제 1 진단 네트워크에 포함된 각 레이어로부터 출력된 적어도 하나 이상의 내부 출력 데이터 중 하나일 수 있다. 제 1 진단 네트워크에 포함된 각 레이어는 제 1 진단 네트워크 내부에 존재하는 합성곱(Convolutional) 레이어, 풀링(Pooling) 레이어, 완전연결(Fully Connected) 레이어 등을 포함한다. 전술한 레이어의 예시는 일 예시에 불과하며 의료 데이터로부터 소견 정보를 생성하기 위한 제 1 진단 네트워크 구조 내부의 모든 레이어를 제한없이 포함한다.
제 1 진단 네트워크 내부에서 마지막 레이어에 가까워질수록 입력 의료 데이터로부터 추상화가 더 많이 진행된 내부 출력 데이터가 연산 될 수 있다. 또한 마지막 레이어에 가까워질수록 내부 출력 데이터는 최종 소견 정보를 생성하는데 필요한 정보만 포함할 수 있다. 따라서 입력 의료 데이터에 관한 특징 벡터는 제 1 진단 네트워크 내부에 존재하는 적어도 하나 이상의 내부 출력 데이터 중 가장 마지막에 도출된 특징맵에 기초하여 생성될 수 있다. 입력 의료 데이터에 관한 특징 벡터 생성의 기초가 되는 특징맵은 제 1 진단 네트워크에서 입력 의료 데이터로부터 소견의 최종 분류를 위한 완전연결(Fully Connected) 레이어에 입력되는 특징맵일 수 있다. 다만, 제 1 진단 네트워크 내부에서 마지막 레이어에 가까워질수록 입력 의료 데이터로부터 데이터 손실이 일어날 수 있으므로, 입력 의료 데이터에 관한 특징 벡터는 제 1 진단 네트워크 내부에 존재하는 적어도 하나 이상의 내부 출력 데이터 중 사전 결정된 위치의 특징맵에 기초하여 생성될 수도 있다.
제 1 진단 네트워크의 연산 결과에 포함된 적어도 하나 이상의 특징맵은 사전 결정된 채널 수(C), 사전 결정된 높이(H) 및 사전 결정된 너비(W)의 크기를 갖는 배열로 표현될 수 있다. 특징맵이 배열로 표현될 경우, 추론 과정에서 최초 입력 데이터에 관해 위치 정보 등을 포함하는 주요 정보를 잃지 않을 수 있다. 이때 상기 특징맵에 기초하여 생성된 특징 벡터 또한 사전 결정된 채널 수(C'), 사전 결정된 높이(H') 및 사전 결정된 너비(W')를 갖는 배열일 수 있다. 이 때 특징 벡터의 사전 결정된 높이(H') 및 사전 결정된 너비(W')는 각각 1로써 특징 벡터의 차원은 사전 결정된 채널 수(C')의 크기와 동일할 수 있다.
프로세서(110)는 특징맵에 기초하여 특징 벡터를 생성하기 위해 플래튼(Flatten) 레이어를 사용하여 데이터 평탄화(Flatten) 작업을 수행할 수 있다. 이 때 프로세서(110)는 3차원의 배열 데이터 타입인 상기 특징맵을 인공 신경망 마지막에 존재하는 완전 연결 뉴럴 네트워크(Fully Connected Neural Network)에 입력하기 위해 특징맵 내부 원소들을 사전 결정된 순서에 따라 일렬로 나열하여 1차원 배열로 변환하는 작업을 수행할 수 있다. 즉 3차원의 데이터 자료가 1차원 데이터로 변환되게 된다. 프로세서(110)는 상기 변환된 1차원 데이터를 특징 벡터로 사용할 수 있다. 다른 실시예로서 프로세서(110)는 상기 특징맵에 기초하여 특징 벡터를 생성하기 위해 특징맵에 대하여 별도의 풀링(Pooling) 방법을 수행한 후 차원이 축소된 특징맵에 기초하여 입력 의료 데이터에 관한 특징 벡터를 생성할 수도 있다. 구체적으로 프로세서(110)는 전역 풀링(Global Pooling) 방법을 이용하여 특징맵으로부터 차원을 축소한 뒤 입력 의료 데이터에 관한 특징 벡터를 추출할 수 있다.
본 개시의 일 실시예에 따라 프로세서(110)는 제 1 진단 네트워크의 연산에 포함된 특징맵(feature map)에 전역 풀링(Global Pooling) 방법을 수행한 결과에 기초하여 적어도 하나 이상의 입력 의료 데이터에 관한 특징 벡터를 연산할 수 있다.
전역 풀링 방법은 전역 평균 풀링(Global Average Pooling) 방법, 전역 최대 풀링(Global Average Pooling) 방법을 포함한다. 전역 풀링 방법은 각 채널에 존재하는 여러 파라미터 값들로부터 채널을 대표하는 하나의 대표값을 생성하는 방법을 의미한다. 전역 평균 풀링은 하나의 채널 내에 존재하는 파라미터 값들의 평균값을 대표값으로 변환할 수 있다. 전역 최대 풀링은 하나의 채널 내에 존재하는 파라미터 값들의 최대값을 대표값으로 변환할 수 있다. 예를 들어 제 1 진단 네트워크 내부에 중간 데이터로서 존재하는 특징맵 중 가장 마지막에 도출된 특징맵의 크기가 512(C)x5(H)x5(W)인 경우, 이 특징맵에 대해 전역 풀링을 적용한 경우 도출되는 특징 벡터는 512(C')x1(H')x1(W')의 크기를 가질 수 있다. 프로세서(110)는 전역 풀링 방법을 사용하여 입력 의료 데이터에 관한 특징 벡터를 추출하고 이에 기초하여 제 1 진단 정보를 출력할 수 있다. 프로세서(110)는 전역 풀링 방법을 사용함으로써 각 특징맵으로부터 채널별로 의미 있는 값을 계산할 수 있다. 프로세서(110)는 전역 풀링 방법을 사용함으로써 3차원의 크기를 갖는 배열 형태의 특징맵을 완전연결(FC) 레이어에 연결하기 위한 데이터 평탄화(flatten) 작업을 생략할 수 있다. 프로세서(110)는 특징맵의 차원을 전역 풀링 방법을 통해 축소함으로써 제 1 진단 정보 출력을 위한 가중치(weight), 편향(bias) 등을 포함하는 파라미터 개수를 감소하고, 파라미터 저장을 위한 메모리 공간을 절약할 수 있다. 예를 들어, 특징맵의 크기가 5x5x5 인 경우, 데이터 평탄화 작업에 의해 특징 벡터를 추출하면 특징 벡터의 크기는 125가 된다. 반면, 전역 풀링 방법을 통해 특징 벡터를 생성할 경우 특징 벡터의 크기는 5가 된다. 이는 메모리 공간을 절약할 수 있을 뿐만 아니라 입력 데이터에 대한 네트워크 함수의 데이터 과적합(overfitting) 문제를 방지하는 효과를 갖는다.
본 개시의 일 실시예에 따라 프로세서(110)는 서로 다른 종류의 소견을 포함하는 제 1 진단 정보를 연산하는 상이한 둘 이상의 서브 제 1 진단 네트워크를 포함할 수 있다. 예를 들어, A 소견에 관한 서브 제 1 진단 네트워크는 A 소견이 라벨링된 학습 데이터 세트를 통해 학습되고 B 소견에 관한 서브 제 1 진단 네트워크는 B 소견이 라벨링된 학습 데이터 세트를 통해 학습될 수 있다. 각 서브 제 1 진단 네트워크는 해당하는 소견의 유무에 관한 이진 분류, 소견의 위치, 영역에 대한 분류 등을 수행할 수 있다. 각 서브 제 1 진단 네트워크가 연산할 수 있는 소견의 개수는 하나 이상이며 상한 개수에는 제한이 없다.
서브 제 1 진단 네트워크는 프로세서(110)가 제 1 진단 네트워크를 통해 입력 의료 데이터에서 확인하고자 하는 소견의 개수만큼 존재할 수 있다. 이 경우 각 서브 제 1 진단 네트워크가 연산하는 제 1 진단 정보는 각각 하나의 소견의 존재 확률을 포함할 수 있다. 다른 실시예에서 서브 제 1 진단 네트워크는 소견의 개수보다 더 적은 수로 존재할 수 있다. 이 경우 각 서브 제 1 진단 네트워크가 연산하는 제 1 진단 정보는 둘 이상의 소견에 관한 정보를 포함할 수 있다. 또한, 서브 제 1 진단 네트워크는 소견의 개수보다 더 많은 수로 존재하여 적어도 하나 이상의 서브 제 1 진단 네트워크가 앙상블(ensemble)되어 하나의 소견 정보를 포함하는 제 1 진단 정보를 생성할 수도 있다. 전술한 서브 제 1 진단 네트워크의 개수는 일 예시에 불과하며 서브 네트워크 개수에 따른 효율과 제 1 진단 정보의 정확성을 비교하여 사용자에 의해 선택될 수 있는 모든 개수를 포함한다.
제 1 진단 네트워크는 보편적 특징을 추출하거나 전처리 동작을 수행하기 위해 범용 특징 추출 네트워크를 포함할 수 있다. 범용 특징 추출 네트워크는 입력된 의료 데이터에서 특정 소견과 관계없이 존재하는 일반적 특징을 추출한 후 입력 데이터에 대해 전처리 동작을 수행할 수 있다. 범용 특징 추출 네트워크가 일반적 특징을 추출하는 전처리 동작은, 예를 들어 하나 이상의 모든 소견에 관한 서브 제 1 진단 네트워크가 입력 데이터 내에서 혈관을 포함하는 영역에 관해서만 제 1 진단 정보를 생성하는 경우 혈관을 포함하는 영역을 크롭(crop)하는 동작을 포함할 수 있다. 다른 예로써 하나 이상의 모든 소견에 관한 서브 제 1 진단 네트워크가 공통적으로 관심 없는 영역을 입력 데이터로부터 제거하는 동작 등을 포함할 수 있다. 범용 특징 추출 네트워크는 입력 의료 데이터에 존재하는 노이즈를 제거할 수도 있다. 또한, 범용 특징 추출 네트워크는 최초 입력 의료 데이터를 개별 소견에 대한 서브 제 1 진단 네트워크에 입력하기에 앞서 입력 의료 데이터를 잠재 공간에 매핑(mapping)할 수 있다. 예를 들어, RGB값을 갖는 입력 이미지 데이터의 크기가 512x512x3인 경우, 범용 특징 추출 네트워크는 선의 굵기, 선의 종류, 이미지의 질감 등을 포함하는 보편적 특징을 추출하기 위해 상기 입력 이미지 데이터를 512x512x1024의 크기를 갖는 잠재 공간 상의 다차원 배열로 매핑(mapping)할 수 있다. 프로세서(110)가 이러한 보편적 특징을 범용 특징 추출 네트워크를 통해 추출할 경우 최초 입력에 대한 동일한 작업을 각 서브 제 1 진단 네트워크가 모두 수행할 필요가 없게 되고, 개별 서브 네트워크는 각 소견에 필요한 특징 추출에 집중하여 컴퓨팅 자원을 집중하게 되므로 전체 네트워크의 성능이 증가하게 된다. 프로세서(110)는 소견 각각에 대응하는 서브 제 1 진단 네트워크들을 전술한 범용 특징 추출 네트워크에 병렬적으로 연결하여 서로 다른 하나 이상의 입력 의료 데이터에 관한 특징 벡터를 소견 별로 추출하고 각 소견 정보를 포함하는 제 1 진단 정보를 출력할 수 있다. 소견 각각에 대응하는 서브 제 1 진단 네트워크는 학습시키고자 하는 데이터에 따라 학습 데이터에 라벨링된 소견의 개수만큼 존재할 수 있다. 전술한 제 1 진단 네트워크의 구조에 관한 예시는 일 예시에 불과하며 본 개시를 제한하지 않는다. 본 개시에 있어서 제 1 진단 네트워크는 최종적으로 입력 의료 데이터에 대해 적어도 하나 이상의 소견 정보를 포함하는 제 1 진단 정보를 연산할 수 있는 모든 구조를 제한없이 포함한다.
본 개시의 일 실시예에 있어서 프로세서(110)는 제 1 진단 네트워크에서 연산된 입력 의료 데이터에 관한 특징 벡터에 기초하여 제 2 진단 정보를 출력하도록 학습된 제 2 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 2 진단 정보를 연산할 수 있다. 제 2 진단 정보는, 입력 의료 데이터에 대한 최종 진단 결과를 포함할 수 있다. 제 2 진단 정보는 입력 의료 데이터에 대한 질병의 종류, 질병의 존재 유무, 질병의 존재에 대한 확률 등을 포함할 수 있다.
본 개시의 일 실시예에 있어서 프로세서(110)는 의료 데이터에 대한 진단 관련 정보를 제공하기 위해 적어도 하나 이상의 소견 정보가 라벨링된 의료 데이터 세트(즉, 제 1 학습 데이터 세트) 및 적어도 하나 이상의 질병 정보가 라벨링된 의료 데이터 세트(즉, 제 2 학습 데이터 세트)를 획득할 수 있다. 본 개시에 있어서 의료 데이터는 병변의 위치를 확인하거나 질병의 진단을 내리는데 그 근거 또는 보조가 될 수 있는 모든 종류의 의료 데이터를 포함한다.
프로세서(110)는 컴퓨팅 장치 내부 메모리(130), 외부 메모리 또는 외부 엔티티로부터 상기 두 종류의 학습 데이터 세트를 획득할 수 있다. 프로세서(110)가 획득하는 제 1 학습 데이터 세트 및 제 2 학습 데이터 세트는 적어도 하나 이상의 동일한 의료 데이터에 대해 적어도 하나 이상의 소견 정보 및 적어도 하나 이상의 질병 정보가 라벨링된 데이터를 포함할 수 있다. 상기 적어도 하나 이상의 의료 데이터에 대해 소견 정보 및 질병 정보가 모두 라벨링된 데이터 세트로부터 학습 데이터 세트를 획득하는 경우, 프로세서(110)는 소견 정보가 라벨링된 제 1 의료 데이터를 제 1 학습 데이터 세트로 획득하고, 질병 정보가 라벨링된 제 1 의료 데이터를 제 2 학습 데이터 세트로 획득할 수 있다. 프로세서(110)는 적어도 하나 이상의 상이한 의료 데이터를 포함하는 제 1 의료 데이터 및 제 2 의료 데이터에 대해 각각 소견 정보 및 질병 정보가 라벨링된 제 1 학습 데이터 세트 및 제 2 학습 데이터 세트를 획득할 수도 있다.
본 개시에 따른 일 실시예에 있어서 프로세서(110)는 제 1 학습 데이터에 포함된 의료 데이터를 입력으로 하여 적어도 하나 이상의 소견 정보를 포함하는 제 1 진단 정보를 출력하도록 제 1 진단 네트워크를 학습시킬 수 있다. 즉, 프로세서(110)는 딥러닝 기반 제 1 진단 네트워크로 하여금 제 1 학습 데이터를 입력하여 적어도 하나 이상의 소견에 대한 소견 정보를 출력하도록 학습시킬 수 있다. 본 개시의 일 실시예의 소견 정보는 해당 학습 데이터에 대한 의학적 판단의 근거가 될 수 있는 정보를 포함할 수 있으며, 예를 들어, 해당 학습 데이터에 대한 소견의 존재 여부에 대한 정보, 소견의 존재 위치에 대한 정보 또는 소견의 영역에 대한 정보 중 적어도 하나를 포함할 수 있다.
본 개시에 따른 일 실시예에 있어서 프로세서(110)는 제 2 학습 데이터에 포함된 의료 데이터를 기 학습된 상기 제 1 진단 네트워크에 입력하여 입력 의료 데이터에 관한 특징 벡터를 연산할 수 있다. 나아가, 프로세서(110)는 상기 입력 의료 데이터에 관한 특징 벡터를 제 2 진단 네트워크에 입력하여 적어도 하나 이상의 질병의 진단 확률을 포함하는 제 2 진단 정보를 출력하도록 제 2 진단 네트워크에 포함된 파라미터들을 학습시킬 수 있다.
프로세서(110)는 제 2 학습 데이터에 포함된 의료 데이터를 상기 딥 러닝 기반 제 1 진단 네트워크에 입력하여 적어도 하나 이상의 소견과 관련되는 입력 의료 데이터에 관한 특징 벡터를 연산하고, 상기 연산된 특징 벡터에 기초하여 제 2 진단 정보를 출력하도록 제 2 진단 네트워크를 학습시킬 수 있다. 즉, 제 2 진단 네트워크의 학습 시 제 1 진단 네트워크는 이미 학습이 완료되어 내부 파라미터 및 모델이 고정된 상태로 제 2 진단 네트워크의 학습에 제공될 수 있다.
이하에서는 프로세서(110)가 제 1 진단 네트워크 및 제 2 진단 네트워크에 포함된 내부 파라미터들을 갱신 또는 학습시키는 방법을 수식을 통해 구체적으로 서술한다. 제 1 진단 네트워크는 수학식 1에 따라서 그 최종 출력인 제 1 진단 정보에 포함된 적어도 하나 이상의 소견의 존재 확률을 연산 할 수 있다.
Figure PCTKR2021007853-appb-img-000001
Figure PCTKR2021007853-appb-img-000002
는 입력 의료 데이터,
Figure PCTKR2021007853-appb-img-000003
는 입력 의료 데이터에 대한 제 1 진단 네트워크의 출력인 제 1 진단 정보에 포함된 특정 소견(
Figure PCTKR2021007853-appb-img-000004
)의 존재 확률을 나타낸다.
Figure PCTKR2021007853-appb-img-000005
Figure PCTKR2021007853-appb-img-000006
로 표현되는 소견 집합의 원소로서 개별 소견을 의미한다.
Figure PCTKR2021007853-appb-img-000007
는 제 1 진단 네트워크에 입력된 입력 데이터로부터 연산된 입력 의료 데이터에 관한 특징 벡터를 나타낸다.
Figure PCTKR2021007853-appb-img-000008
는 개별 소견 가중치 벡터를
Figure PCTKR2021007853-appb-img-000009
는 개별 소견 편향값을 나타낸다.
Figure PCTKR2021007853-appb-img-000010
는 활성화 함수를 나타낸다.
상기 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000011
)는 특정 소견(
Figure PCTKR2021007853-appb-img-000012
)마다 존재할 수 있다. 상기 입력 의료 데이터에 관한 특징 벡터는 적어도 둘 이상의 소견의 존재 확률을 계산하기 위한 특징 벡터일 수 있다. 본 실시예에서는 개별 소견마다 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000013
)를 생성하는 것으로 가정한다. 입력 의료 데이터에 관한 특징 벡터는 임의의 자연수
Figure PCTKR2021007853-appb-img-000014
차원을 갖는 실수벡터로 표현될 수 있다.
제 1 진단 네트워크는 입력 의료 데이터에 기초하여 하나 이상의 소견 정보를 포함하는 제 1 진단 정보를 생성하기 위해 각 소견마다 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000015
)및 개별 소견 편향값(
Figure PCTKR2021007853-appb-img-000016
)을 포함할 수 있다. 제 1 진단 네트워크는 입력 의료 데이터에 관한 특징 벡터에 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000017
)를 전치(
Figure PCTKR2021007853-appb-img-000018
)하여 곱한 뒤 개별 소견 편향값(
Figure PCTKR2021007853-appb-img-000019
)을 더하고 이를 활성화 함수(activation function,
Figure PCTKR2021007853-appb-img-000020
)에 입력하여 제 1 진단 정보에 포함된 적어도 하나 이상의 소견의 존재 확률을 계산할 수 있다. 제 1 진단 네트워크는 상기 활성화 함수에 기초한 최종 분류 함수를 포함할 수 있다. 상기 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000021
)및 개별 소견 편향값(
Figure PCTKR2021007853-appb-img-000022
)은 제 1 진단 네트워크가 특징 벡터로부터 특정 소견(
Figure PCTKR2021007853-appb-img-000023
)의 존재 확률을 도출하기 위해 사용되는 파라미터일 수 있다. 상기 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000024
) 및 개별 소견 편향값(
Figure PCTKR2021007853-appb-img-000025
)은 소견마다 존재하는 고유 파라미터일 수 있다. 상기 파라미터는 학습을 통해 갱신 또는 훈련될 수 있다.
상기한 예시와 같이 프로세서(110)는 입력 의료 데이터에 기초하여 적어도 하나 이상의 소견 정보를 포함하는 제 1 진단 정보를 출력하기 위해, 제 1 진단 네트워크에 포함된 각 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000026
) 및 제 1 진단 네트워크에 포함된 개별 소견 편향값(
Figure PCTKR2021007853-appb-img-000027
)을 학습시킬 수 있다. 또한 그에 따른 역전파 과정에서 프로세서(110)는 입력 데이터(
Figure PCTKR2021007853-appb-img-000028
)에 대해서 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000029
)를 연산하기 위해 제 1 진단 네트워크의 내부 파라미터를 학습, 갱신할 수 있다. 전술한 제 1 진단 네트워크의 학습 방법에 관한 예시에 있어서 활성 함수의 종류는 예시에 불과하며, 본 개시를 제한하지 않는다.
본 개시의 일 예시에 따라 프로세서(110)는 전술한 바와 같이 딥 러닝 기반 제 1 진단 네트워크를 학습한 후, 학습된 제 1 진단 네트워크에 포함된 내부 파라미터 값을 고정하고 사전 결정된
Figure PCTKR2021007853-appb-img-000030
개의 질병에 대해서 제 2 진단 네트워크를 학습할 수 있다. 프로세서(110)는 하나 이상의 질병에 관한 정보가 라벨링된 의료 데이터, 즉 제 2 학습 데이터 세트를 상기 딥 러닝 기반 제 1 진단 네트워크에 입력하여 적어도 하나 이상의 입력 의료 데이터에 관한 특징 벡터를 연산할 수 있다. 프로세서(110)는 상기 연산된 입력 의료 데이터에 관한 특징 벡터를 제 2 진단 네트워크에 입력하여 적어도 하나 이상의 질병 정보를 포함하는 제 2 진단 정보를 획득할 수 있다. 구체적인 예시로써 제 2 진단 네트워크가 제 2 진단 정보를 출력하기 위해 학습하는 목적 함수의 구체적 수식은 수학식 2와 같다.
Figure PCTKR2021007853-appb-img-000031
Figure PCTKR2021007853-appb-img-000032
는 입력 의료 데이터,
Figure PCTKR2021007853-appb-img-000033
는 제 2 진단 네트워크의 입력 의료 데이터에 대한 출력인 제 2 진단 정보에 포함된 특정 질병(
Figure PCTKR2021007853-appb-img-000034
)의 진단 확률을 의미한다.
Figure PCTKR2021007853-appb-img-000035
는 사전 결정된
Figure PCTKR2021007853-appb-img-000036
개의 질병으로 이루어진 집합의 원소로서 개별 질병을 나타낸다.
Figure PCTKR2021007853-appb-img-000037
는 적어도 하나 이상의 개별 소견을 나타낸다.
Figure PCTKR2021007853-appb-img-000038
는 프로세서(110)가 입력 의료 데이터(
Figure PCTKR2021007853-appb-img-000039
)를 제 1 진단 네트워크에 입력한 후, 제 1 진단 네트워크에서 연산 된 입력 의료 데이터에 관한 특징 벡터를 나타낸다. 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000040
)는 둘 이상의 소견의 각 존재 확률을 계산하기 위한 특징 벡터일 수 있다.
Figure PCTKR2021007853-appb-img-000041
는 질병-소견 가중치 벡터를 나타낸다.
Figure PCTKR2021007853-appb-img-000042
는 질병에 따른 편향값을 나타낸다.
Figure PCTKR2021007853-appb-img-000043
는 활성화 함수를 나타낸다.
제 2 진단 네트워크는 하나 이상의 소견과 관련되는 입력 의료 데이터에 관한 특징 벡터에 기초하여 제 2 진단 정보를 생성하기 위해 모든 질병(
Figure PCTKR2021007853-appb-img-000044
)-소견(
Figure PCTKR2021007853-appb-img-000045
) 쌍마다 질병(
Figure PCTKR2021007853-appb-img-000046
)-소견(
Figure PCTKR2021007853-appb-img-000047
) 가중치 벡터(
Figure PCTKR2021007853-appb-img-000048
) 및 모든 질병 마다 질병에 따른 편향값(
Figure PCTKR2021007853-appb-img-000049
)을 포함할 수 있다.
제 2 진단 네트워크는 상기 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000050
)에 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000051
)를 각 소견(
Figure PCTKR2021007853-appb-img-000052
)마다 곱할 수 있다. 제 2 진단 네트워크는 상기 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000053
)에 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000054
)를 전치(
Figure PCTKR2021007853-appb-img-000055
)하여 각 소견(
Figure PCTKR2021007853-appb-img-000056
)에 따라 곱한 뒤 합산(
Figure PCTKR2021007853-appb-img-000057
)하고, 해당 질병에 따른 편향값(
Figure PCTKR2021007853-appb-img-000058
)을 더하고 이를 활성화 함수(activation function,
Figure PCTKR2021007853-appb-img-000059
)에 입력하여 제 2 진단 정보를 출력할 수 있다. 제 2 진단 네트워크는 상기 활성화 함수에 기초한 최종 분류 함수를 포함할 수 있다. 제 2 진단 정보는 적어도 하나 이상의 질병(
Figure PCTKR2021007853-appb-img-000060
)의 진단 확률을 포함할 수 있다. 상기 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000061
) 및 질병에 따른 편향값(
Figure PCTKR2021007853-appb-img-000062
)은 제 1 진단 네트워크에 의해 최초 입력 의료 데이터로부터 추출된 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000063
)를 제 2 진단 네트워크가 다시 입력받아 최종 진단 결과를 도출하기 위해 사용되는 파라미터일 수 있다. 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000064
)는 질병-소견 쌍마다 존재하는 고유의 파라미터일 수 있다. 질병에 따른 편향값(
Figure PCTKR2021007853-appb-img-000065
)은 질병마다 존재하는 고유 파라미터일 수 있다. 상기 파라미터는 학습을 통해 갱신 또는 훈련될 수 있다. 프로세서(110)는 학습된 제 1 진단 네트워크를 획득하여 제 1 진단 네트워크 모델 내부 파라미터를 고정한 뒤, 최초 의료 데이터를 제 1 진단 네트워크에 입력한 후, 제 1 진단 네트워크로부터 연산되는 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000066
)에 기초하여 제 2 진단 네트워크를 학습할 수 있다.
전술한 바와 같이 프로세서(110)가 제 2 진단 네트워크를 학습할 때, 제 1 진단 네트워크를 먼저 학습시키고 기 학습된 제 1 진단 네트워크에서 입력 의료 데이터에 관한 특징 벡터를 추출하고 이에 기초하여 제 2 진단 네트워크를 학습하는 본 개시에 따르면 다음과 같은 장점이 있다. 첫째, 입력 의료 데이터에 관한 특징 벡터는 차원을 갖는 배열로 표현되어 소견을 표현하는데 요구되는 병변의 위치 정보를 잃지 않는다. 다시 말해, 상기 특징 벡터는 최초 입력된 의료 데이터에 존재하는 소견 유무만 확인할 수 있을 뿐만 아니라 존재하는 소견의 위치, 소견의 영역 및 제 1 진단 네트워크가 소견을 판단한 근거 데이터 등을 내부 파라미터 값으로 유지하므로 이를 모두 제 2 진단 네트워크에 제공하게 되면 단순히 소견 유무의 최종 확률을 전달하는 것보다 많은 양의 정보를 손실없이 전달할 수 있다. 따라서 제 2 진단 네트워크가 질병과 소견 간의 관계를 추론하는데 있어서 양질의 입력 데이터를 제공받게 되므로 추론 성능이 향상된다. 둘째, 입력 의료 데이터에 관한 특징 벡터를 제 1 진단 네트워크 및 제 2 진단 네트워크가 공유함으로써, 프로세서(110)가 제 2 진단 네트워크의 출력을 통해 진단된 질병에 대한 적어도 하나 이상의 소견의 기여도를 산출할 수 있게 된다. 이는 전체 의료 진단 모델이 단순히 질병에 관하여 제 2 진단 정보만 생성하는 것이 아닌 그 질병에 관한 진단의 판단 근거를 제시할 수 있는 효과가 있다.
본 개시의 일 실시예에 있어서, 프로세서(110)는 제 1 진단 네트워크의 연산 과정 또는 제 2 진단 네트워크의 연산 과정 중 일 부분에 기초하여, 상기 입력 의료 데이터에 대해 연산된 상기 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성 혹은 출력할 수 있다. 상기 상관 관계 정보는 입력 의료 데이터에 대해 연산된 제 1 진단 정보, 입력 의료 데이터에 대해 연산된 제 2 진단 정보, 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도, 상기 기여도를 시각화한 데이터, 오즈비(odds ratio), 오즈비에 관한 매트릭스(odds ratio matrix), 제 1 진단 정보 또는 제 2 진단 정보를 입력 의료 데이터에 표시한 클래스 활성화 맵(Class Activation Map) 등을 포함할 수 있다.
본 개시의 일 실시예에 있어서, 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보는, 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견 정보의 기여도를 포함할 수 있다. 프로세서(110)는 기여도를 산출함으로써, 입력 의료 데이터로부터 제 2 진단 정보에 포함된 특정 질병이 출력됨에 있어서, 개별 소견의 존재 확률을 포함하는 제 1 진단 정보가 미치는 영향을 정량화 할 수 있다. 즉, 단순히 제 2 진단 정보의 근거가 되는 제 1 진단 정보 또는 소견 정보를 제공할 뿐만 아니라 제 1 진단 정보에 포함된 하나 이상의 소견의 존재가 각각 제 2 진단 정보에 미치는 영향의 크기를 비교할 수 있도록 그 정도를 수치로써 제공할 수 있다.
프로세서(110)는 제 1 진단 네트워크에서 연산된 입력 의료 데이터에 관한 특징 벡터, 제 1 진단 네트워크에 포함된 최종 분류 함수의 파라미터 또는 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터 중 적어도 어느 하나에 기초하여 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견 정보의 기여도를 산출할 수 있다. 제 1 진단 네트워크에 포함된 최종 분류 함수 또는 제 2 진단 네트워크에 포함된 최종 분류 함수는 시그모이드(sigmoid) 함수, Leaky ReLU 함수 등 역함수가 존재하는 선형 분류 함수를 제한없이 포함한다. 상기 제 1 진단 네트워크에 포함된 최종 분류 함수의 파라미터는 제 1 진단 네트워크에 포함된 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000067
)및 개별 소견 편향값(
Figure PCTKR2021007853-appb-img-000068
)을 포함할 수 있다. 상기 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터는 질병(
Figure PCTKR2021007853-appb-img-000069
)-소견(
Figure PCTKR2021007853-appb-img-000070
) 가중치 벡터(
Figure PCTKR2021007853-appb-img-000071
) 및 질병에 따른 편향값(
Figure PCTKR2021007853-appb-img-000072
)을 포함할 수 있다. 프로세서(110)는 학습된 제 1 진단 네트워크 또는 제 2 진단 네트워크 내부에 존재하는 선형 분류 함수의 파라미터 값들에 적어도 일부 기초하여 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견 정보의 기여도를 산출하기 때문에, 기여도를 산출하기 위한 별도의 학습 데이터 세트 또는 별도의 네트워크 함수를 추가적으로 요구하지 않는다. 또한 본 발명이 개시하는 바와 같이 기여도를 산출하면 입력 의료 데이터로부터 제 1 진단 정보 또는 제 2 진단 정보를 출력함과 동시에 양 진단 정보의 상관 관계 정보를 알 수 있다.
이하에서는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견 정보의 기여도를 산출하는 방법에 대해 서술한다.
본 개시의 일 실시예에 따라 프로세서(110)는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견 정보의 기여도를 오즈(odds)에 기초하여 산출할 수 있다. 본 명세서에서 오즈(odds)는 수학식 3과 같은 의미로 상호 교환되어 사용될 수 있다.
Figure PCTKR2021007853-appb-img-000073
상기 수학식 3에서 P는 특정 사건이 일어날 확률을 의미할 수 있다. 즉, 본 명세서에 걸쳐 오즈는 "사건이 일어날 확률과 사건이 일어나지 않을 확률의 비"를 의미할 수 있다. 예를 들어, 안과 장비를 통해 안구를 촬영한 영상 이미지에 대해 인공 신경망이 녹내장으로 판단될 확률이 80%인 경우, 녹내장이 아닐 확률이 20%이므로, 녹내장이라는 진단 정보에 대한 입력 데이터의 오즈는 0.8/(1 - 0.8) = 0.8/0.2 = 4로 표현될 수 있다.
본 개시의 일 실시예에 있어서 프로세서(110)는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도를, 제 1 부분 기여도 또는 제 2 부분 기여도 중 적어도 하나에 기초하여 산출할 수 있다. 제 1 부분 기여도는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 전체 소견에 의한 영향을 나타내는 값을 의미할 수 있다. 제 2 부분 기여도는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견에 의한 영향을 나타내는 값을 의미할 수 있다.
프로세서(110)는 제 1 부분 기여도를 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 전체 소견의 오즈(odds)에 기초하여 산출할 수 있다. 본 명세서에서 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 전체 소견의 오즈(odds)는, 입력 의료 데이터에 있어서 특정 질병(
Figure PCTKR2021007853-appb-img-000074
)이 존재할 오즈(odds)와 같은 의미로 사용될 수 있다. 제 1 부분 기여도는 입력된 의료 데이터에 특정 질병(
Figure PCTKR2021007853-appb-img-000075
)이 존재할 확률과 존재하지 않을 확률의 비로 표현될 수 있다. 본 개시에 있어서 프로세서(110)가 제 1 부분 기여도를 산출하는 방법은 일 예시로써 아래와 같은 수학식 4에 기초할 수 있다.
Figure PCTKR2021007853-appb-img-000076
이와 같이, 프로세서(110)에 의해 산출되는 제 1 부분 기여도는, 질병(
Figure PCTKR2021007853-appb-img-000077
)에 관한 정보에 대한 입력 의료 데이터(
Figure PCTKR2021007853-appb-img-000078
)의 오즈(
Figure PCTKR2021007853-appb-img-000079
)로 표현될 수 있다. 즉, 프로세서(110)는 학습된 제 1 진단 네트워크 및 학습된 제 2 진단 네트워크를 포함하는 의료 진단 모델이 출력하는, 적어도 하나의 질병(
Figure PCTKR2021007853-appb-img-000080
)에 관한 존재 확률(
Figure PCTKR2021007853-appb-img-000081
)을 포함하는 제 2 진단 정보에 기초하여 제 1 부분 기여도를 계산할 수 있다. 그리고 수학식 4의 마지막 등호 오른쪽 수식은, 활성 함수로 시그모이드 함수(
Figure PCTKR2021007853-appb-img-000082
)를 사용할 경우에 수학식 5 및 수학식 6으로부터 유도될 수 있다.
Figure PCTKR2021007853-appb-img-000083
Figure PCTKR2021007853-appb-img-000084
따라서, 수학식 4 내지 수학식 6을 참조하여, 프로세서(110)는 학습된 제 1 진단 네트워크 및 학습된 제 2 진단 네트워크를 포함하는 의료 진단 모델에 의료 데이터를 입력하여, 제 1 진단 네트워크에서 추출되는 적어도 하나 이상의 소견(
Figure PCTKR2021007853-appb-img-000085
)과 관련되는 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000086
), 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터로써 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000087
) 및 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터로써 질병에 따른 편향값(
Figure PCTKR2021007853-appb-img-000088
) 중 적어도 하나에 기초하여 제 1 부분 기여도를 산출할 수 있다.
상기한 바와 같이 프로세서(110)는 별도의 외부 장치 또는 추가 입력 없이 입력된 의료 데이터에 대해 질병의 존재를 추론하는 동작 외에, 입력된 의료 데이터에 질병이 존재할 오즈에 기초한 제 1 부분 기여도를 산출하는 동작을 내부 파라미터 값들을 이용한 연산에 기초하여 추가적으로 수행할 수 있다.
다음으로, 프로세서(110)가 제 2 부분 기여도를 산출하는 방법을 설명한다. 제 2 부분 기여도는 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견에 의한 영향을 나타내는 값을 의미할 수 있다. 본 개시의 일 실시예에 있어서 프로세서(110)는 제 2 부분 기여도를 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈(counterfactual-odds)에 기초하여 산출할 수 있다.
본 명세서에서 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈(counterfactual-odds)는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 존재 확률에 따른 오즈(odds)와 같은 의미로 상호 교환되어 사용될 수 있다. 상기 가상 오즈는 입력 데이터로부터 특정 종류의 질병을 포함하는 제 2 진단 정보가 연산된 경우, 그러한 제 2 진단 정보의 연산에 기여한 제 1 진단 정보에 포함된 각 소견의 가상 존재 확률에 따른 오즈를 의미할 수 있다.
예를 들어, 입력 의료 데이터에 대한 제 2 진단 정보로서 당뇨성 망막병증(DR, Diabetic Retinopathy)이 진단된 경우 프로세서(110)가 진단한 그와 같은 제 2 진단 정보는, 망막 출혈(Hmr, Hemorrhage) 및 경성 삼출물(HE, Hard Exudate)을 포함하는 복수의 소견에 대한 존재 확률을 포함하는 제 1 진단 정보에 기초하였을 수 있다. 이 경우 제 2 진단 정보(당뇨성 망막병증)에 대한 제 1 진단 정보(망막 출혈, 경성 삼출물)에 포함된 하나 이상의 소견 정보의 가상 오즈는, 망막 출혈이라는 소견이 100% 존재하는 상황을 가정한 가상 오즈, 망막 출혈이라는 소견이 0% 존재하는 상황을 가정한 가상 오즈, 망막 출혈이라는 소견이 사전 결정된 p% 존재하는 상황의 가상 오즈를 포함할 수 있다. 또한 제 2 진단 정보(당뇨성 망막병증, DR)에 대한 제 1 진단 정보(망막 출혈, 경성 삼출물)에 포함된 하나 이상의 소견 정보의 가상 오즈는, 망막 출혈이라는 소견이 100% 존재하고 경성 삼출물이라는 소견이 0% 존재하는 상황의 가상 오즈를 포함할 수 있다. 즉, 본 명세서에 있어서 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈는 프로세서(110)에 의해 입력 데이터로부터 제 2 진단 정보가 연산될 때 그 기초가 되는 제 1 진단 정보에 포함된 적어도 하나 이상의 소견의 존재 확률을 가정적으로 설정하여 그에 따른 제 2 진단 정보가 도출될 오즈를 의미할 수 있다.
이하에서는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈(counterfactual-odds)를 계산하는 방법을 서술한다. 이하에서는 본 개시의 일 예시로서 제 1 진단 정보에 포함된 하나의 소견에 관한 존재 확률을 조절하고 그에 따른 가상 오즈를 계산하는 방법을 서술하나, 이는 일 예시에 불과하며 본 개시는 제 2 진단 정보에 대해 제 1 진단 정보에 포함된 복수의 소견의 존재 확률을 조절하고 그에 따른 가상 오즈를 계산하는 방법까지 제한없이 포함한다.
프로세서(110)는 상기 가상 오즈 (counterfactual-odds)를 연산하기 위해 제 1 진단 네트워크에서 연산되는 입력 의료 데이터에 관한 특징 벡터에서 특정 소견의 영향을 조절할 수 있다. 프로세서(110)는 상기 특징 벡터를 두 방향의 서로 다른 벡터로 분해하는 연산에 기초하여 입력 의료 데이터에 관한 특징 벡터에서 특정 소견의 영향을 조절할 수 있다. 프로세서(110)는 상기 특징 벡터를 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000089
)와 평행한 방향의 제 1 벡터 그리고 나머지 방향의 제 2 벡터로 분해하여 입력 의료 데이터에 관한 특징 벡터에서 특정 소견의 영향을 조절할 수 있다. 상기 나머지 방향의 제 2 벡터는 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000090
)와 직교하는 방향의 벡터를 포함할 수 있다. 프로세서(110)가 특징 벡터를 서로 다른 두 방향으로 분해하는 과정은 수학식 7에 기초하여 이루어질 수 있다.
Figure PCTKR2021007853-appb-img-000091
수학식 7에서 첫번째 등호의 오른쪽 수식은 입력 의료 데이터에 관한 특징벡터(
Figure PCTKR2021007853-appb-img-000092
)를 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000093
)와 평행한 방향의 제 1 벡터(
Figure PCTKR2021007853-appb-img-000094
) 및 나머지 방향의 제 2 벡터(
Figure PCTKR2021007853-appb-img-000095
)로 분해한 것을 나타낸다. 상기 수학식 7에서 마지막 등호의 오른쪽 수식 첫번째 항은 전술한 수학식 1에서 활성 함수로 사용된 시그모이드 함수의 역함수(
Figure PCTKR2021007853-appb-img-000096
)를 양변에 취하고 각 항을 이항함으로써 도출될 수 있다. 즉, 수학식 7에서 마지막 등호 오른쪽 수식의 첫번째 항은 특징 벡터(
Figure PCTKR2021007853-appb-img-000097
)에 있어서 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000098
)와 평행한 방향의 제 1 벡터를 의미할 수 있다. 이처럼 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000099
)와 평행하는 제 1 벡터는 프로세서(110)가 입력 의료 데이터를 제 1 진단 네트워크에 입력한 후, 네트워크 함수에 의해 도출되는 특징 벡터 및 출력되는 제 1 진단 정보에 포함된 개별 소견의 존재 확률(
Figure PCTKR2021007853-appb-img-000100
)에 기초하여 계산될 수 있다. 그리고 수학식 7에서 마지막 등호의 오른쪽 수식 두번째 항(
Figure PCTKR2021007853-appb-img-000101
)은 특징 벡터에서 있어서 상기 나머지 방향의 제 2 벡터를 의미할 수 있다. 상기 제 2 벡터는 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000102
)와 직교하는 성분 벡터를 의미할 수 있다. 상기 제 2 벡터는 상기 특징 벡터(
Figure PCTKR2021007853-appb-img-000103
) 그리고 상기 제 1 벡터의 차이에 기초하여 계산될 수 있다.
본 개시의 일 실시예에 따라 프로세서(110)가 제 2 진단 정보에 대해 복수의 소견의 존재 확률을 조절하고 그에 따른 가상 오즈를 계산하는 경우, 프로세서(110)는 특징 벡터를 서로 다른 복수의 방향으로 분해할 수 있다. 구체적으로
Figure PCTKR2021007853-appb-img-000104
,
Figure PCTKR2021007853-appb-img-000105
로 표현되는 두 개의 소견의 존재 확률을 조절하고 그에 따른 가상 오즈를 계산하기 위해 프로세서(110)는 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000106
)를 세 방향으로 분해할 수 있다. 구체적으로, 프로세서(110)는 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000107
)를
Figure PCTKR2021007853-appb-img-000108
과 평행한 방향의 제 3 벡터,
Figure PCTKR2021007853-appb-img-000109
와 평행한 방향의 제 4 벡터 그리고 나머지 방향의 제 5 벡터로 분해할 수 있다. 상기 제 3 벡터는
Figure PCTKR2021007853-appb-img-000110
와 같이 계산될 수 있고, 상기 제 4 벡터는
Figure PCTKR2021007853-appb-img-000111
와 같이 계산될 수 있다. 나머지 제 5 벡터는 상기 특징 벡터(
Figure PCTKR2021007853-appb-img-000112
)와 제 3 벡터 및 제 4 벡터의 차이에 의해 계산될 수 있다.
프로세서(110)는 전술한 특징 벡터의 분해 방법에 기초하여 제 1 진단 정보에 포함된 소견(
Figure PCTKR2021007853-appb-img-000113
)의 존재 확률(
Figure PCTKR2021007853-appb-img-000114
)을 변경함으로써 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈를 산출할 수 있다. 프로세서(110)는 제 1 진단 네트워크에서 추출된 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000115
)를 분해한 뒤 제 1 진단 네트워크의 출력인 제 1 진단 정보에 포함된 특정 소견의 존재 확률(
Figure PCTKR2021007853-appb-img-000116
)을 다른 확률값(
Figure PCTKR2021007853-appb-img-000117
)으로 치환하여 그 변경된 확률값에 따른 제 2 진단 정보의 오즈(odds)를 계산할 수 있다. 프로세서(110)는 특징 벡터 내에서 특정 소견의 영향을 제거하거나 조절할 수 있다. 예를 들어, 특정 소견(
Figure PCTKR2021007853-appb-img-000118
)의 존재 확률이 0으로 치환되어 소견의 영향이 제거된 특징 벡터(
Figure PCTKR2021007853-appb-img-000119
)는 수학식 8로 표현될 수 있다.
Figure PCTKR2021007853-appb-img-000120
즉, 프로세서(110)는 특징 벡터를 서로 다른 두 방향으로 분해한 후 활성 함수의 역함수(
Figure PCTKR2021007853-appb-img-000121
)에 입력되는 특정 소견의 존재 확률(
Figure PCTKR2021007853-appb-img-000122
)을 다른 확률값(
Figure PCTKR2021007853-appb-img-000123
)인 0으로 치환하는 것에 기초하여 특징 벡터로부터 특정 소견의 영향을 제거할 수 있다. 또 다른 실시예로서, 활성 함수의 역함수(
Figure PCTKR2021007853-appb-img-000124
)에 입력되는 특정 소견의 존재 확률(
Figure PCTKR2021007853-appb-img-000125
)을 확률값(
Figure PCTKR2021007853-appb-img-000126
) 1로 치환할 경우 특정 소견이 반드시 존재하는 상황의 존재 확률에 따른 특징 벡터를 얻을 수 있다. 나아가, 활성 함수의 역함수(
Figure PCTKR2021007853-appb-img-000127
)에 입력되는 특정 소견의 존재 확률(
Figure PCTKR2021007853-appb-img-000128
)을 임의의 사전 결정된 확률값(
Figure PCTKR2021007853-appb-img-000129
)으로 설정할 경우, 그러한 소견의 존재 확률에 따른 특징 벡터를 얻을 수 있다. 이와 같이 특징 벡터로부터 특정 소견의 영향은 프로세서(110)의 네트워크 내부 함수 및 파라미터를 이용한 연산에 의해 조절된다.
이하에서는 특정 소견의 각 존재 확률에 따른 특징 벡터로부터 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈를 계산하는 방법에 대해 서술한다.
본 명세서에 걸쳐, 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈(Counterfactual-odds)는, 입력 의료 데이터(
Figure PCTKR2021007853-appb-img-000130
)에 대해 특정 질병(
Figure PCTKR2021007853-appb-img-000131
)의 정보를 포함하는 제 2 진단 정보에 대한 제 1 진단 정보에 포함된 개별 소견(
Figure PCTKR2021007853-appb-img-000132
)의 가상 존재 확률(
Figure PCTKR2021007853-appb-img-000133
)에 따른 오즈(
Figure PCTKR2021007853-appb-img-000134
)와 같은 의미로 상호 교환되어 호칭될 수 있다. 프로세서(110)는 기여도 산출의 기초가 되는 제 2 부분 기여도 산출을 위해 상기 가상 오즈를 이용할 수 있다. 개별 소견의 가상 존재 확률(
Figure PCTKR2021007853-appb-img-000135
)은 0 또는 1일 수 있고, 0.5, 0.7 등 0 과 1 사이의 임의의 값일 수 있다. 프로세서(110)가 제 2 부분 기여도의 산출을 위해 기초하는 제 2 진단 정보에 포함된 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈는, 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견이 반드시 존재하는 상황의 확률(
Figure PCTKR2021007853-appb-img-000136
)에 따른 오즈, 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견이 절대로 존재하지 않는 상황의 확률(
Figure PCTKR2021007853-appb-img-000137
)에 따른 오즈 또는 제 2 진단 정보에 포함된 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 사전 결정된 존재 확률(
Figure PCTKR2021007853-appb-img-000138
)에 따른 오즈 중 적어도 하나를 포함할 수 있다. 상기 제 1 진단 정보는 복수의 소견에 관한 가상 존재 확률을 포함할 수 있다. 특정 소견의 영향이 제거된 경우의 제 2 부분 기여도, 다시 말해, 입력 의료 데이터(
Figure PCTKR2021007853-appb-img-000139
)에 대해 특정 질병(
Figure PCTKR2021007853-appb-img-000140
)의 정보를 포함하는 제 2 진단 정보에 대한 제 1 진단 정보에 포함된 개별 소견(
Figure PCTKR2021007853-appb-img-000141
)의 가상 존재 확률(
Figure PCTKR2021007853-appb-img-000142
)에 따른 오즈(
Figure PCTKR2021007853-appb-img-000143
)는 수학식 9와 같이 계산될 수 있다.
Figure PCTKR2021007853-appb-img-000144
수학식 9는 전술한 수학식 4를 참조하여 설명될 수 있다. 수학식 9는 상기
Figure PCTKR2021007853-appb-img-000145
항을
Figure PCTKR2021007853-appb-img-000146
인 경우 각 소견에 따른 값을 순차적으로 더하다가
Figure PCTKR2021007853-appb-img-000147
가 특정 소견일 경우(
Figure PCTKR2021007853-appb-img-000148
)에만 그 소견의 영향이 제거(된 항(
Figure PCTKR2021007853-appb-img-000149
)을 더하는 것으로 유도될 수 있다. 상기한 바와 같이 본 개시의 일 실시예에 따라 프로세서(110)가 계산하는 가상 오즈(
Figure PCTKR2021007853-appb-img-000150
)는, 벡터간 연산에 의해 입력 의료 데이터(
Figure PCTKR2021007853-appb-img-000151
)에서 특정 소견(
Figure PCTKR2021007853-appb-img-000152
)의 영향이 제거(
Figure PCTKR2021007853-appb-img-000153
)된 경우에 특정 질병(
Figure PCTKR2021007853-appb-img-000154
)으로 진단될 확률과 특정 질병이 존재하지 않는 것으로 진단될 확률의 비율을 포함할 수 있다. 전술한 확률값(
Figure PCTKR2021007853-appb-img-000155
)에 관한 예시는 일 예시에 불과할 뿐 가상 오즈는 개별 소견의 사전 결정된 존재 확률에 따라 계산될 수 있다.
프로세서(110)는 적어도 하나의 네트워크 함수를 포함하는 제 1 진단 네트워크 또는 제 2 진단 네트워크에 기초하여 제 1 진단 정보 및 제 2 진단 정보를 출력하는 과정에서 제 1 진단 네트워크 또는 제 2 진단 네트워크에 포함된 학습된 파라미터를 이용할 수 있다. 제 1 진단 네트워크 또는 제 2 진단 네트워크에 포함된 파라미터는 입력 의료 데이터에 관한 벡터(
Figure PCTKR2021007853-appb-img-000156
), 개별 소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000157
), 개별 소견 편향값(
Figure PCTKR2021007853-appb-img-000158
) 또는 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000159
) 중 적어도 하나를 포함할 수 있다. 프로세서(110)는 상기 학습된 파라미터를 활용하여 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈를 계산함으로써, 제 2 진단 정보에 대한 제 1 진단 정보에 포함된 하나 이상의 소견에 의한 영향을 정량화 할 수 있다. 이는 의료 진단 모델이 단순히 질병 유무 또는 질병 존재 확률을 제공하는 것 외에 어떠한 소견에 근거하여 인공 신경망이 그와 같은 결론에 이르렀는지 사용자로 하여금 해석을 가능하게 한다.
프로세서(110)는 제 2 진단 정보에 포함된 적어도 하나의 질병(
Figure PCTKR2021007853-appb-img-000160
)에 대한 제 1 진단 정보에 포함된 하나 이상의 소견(
Figure PCTKR2021007853-appb-img-000161
)의 기여도를 오즈비(odds ratio)에 기초하여 표현할 수 있다. 본 명세서에서 오즈비(odds ratio)는 교차비 또는 승산비와 동일한 의미로 사용될 수 있다. 상기 오즈비(odds ratio)는 상이한 가정 하에서 도출된 두 오즈(odds)의 비율을 의미할 수 있다. 상기 오즈비 산출의 기초가 되는 오즈는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 전체 소견의 오즈일 수 있다. 상기 오즈비 산출의 기초가 되는 오즈는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈일 수 있다.
본 명세서에서는 "특정 질병(
Figure PCTKR2021007853-appb-img-000162
)에 관한 제 2 진단 정보에 대해서 제 1 진단 정보에 포함된 특정 소견(
Figure PCTKR2021007853-appb-img-000163
)이 미치는 영향에 관한 오즈비"와 "가상 오즈비(counterfactual-odds-ratio)"가 상호 교환되어 동일한 의미로 사용될 수 있다.
본 개시에 있어서 프로세서(110)는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도를 제 1 부분 기여도 그리고 제 2 부분 기여도의 비율로 나타낼 수 있다. 구체적 일 예시로서 가상 오즈비(
Figure PCTKR2021007853-appb-img-000164
)에 관한 수식은 수학식 10으로 표현될 수 있다.
Figure PCTKR2021007853-appb-img-000165
상기 가상 오즈비를 나타내는 수학식 10은 특정 소견과 질병 사이에 양의 상관관계가 있을 경우 1보다 큰 값을 가질 수 있다. 구체적으로, 의료 진단 모델에 의해 입력 의료 데이터에서 질병(
Figure PCTKR2021007853-appb-img-000166
)이 존재한다고 판단되었을 때, 프로세서(110)가 해당 질병이 존재한다고 진단하는데 유의미한 영향을 미치는 특정 소견(
Figure PCTKR2021007853-appb-img-000167
)의 영향을 제거하는 경우, 질병이 발생할 확률이 작아지게 되고 결과적으로 가상 오즈(
Figure PCTKR2021007853-appb-img-000168
)값이 작아져 가상 오즈비(
Figure PCTKR2021007853-appb-img-000169
)의 분모가 작아진다. 그러므로 특정 소견(
Figure PCTKR2021007853-appb-img-000170
)의 질병(
Figure PCTKR2021007853-appb-img-000171
)에 대한 영향력을 의미하는 가상 오즈비(
Figure PCTKR2021007853-appb-img-000172
)는 그 값이 클수록, 입력 의료 데이터(
Figure PCTKR2021007853-appb-img-000173
)에 존재하는 소견(
Figure PCTKR2021007853-appb-img-000174
)이 제 2 진단 네트워크로 하여금 해당 질병(
Figure PCTKR2021007853-appb-img-000175
)에 관한 제 2 진단 정보를 생성하는데 기여한 정도가 크다는 것을 의미할 수 있다.
프로세서(110)에 의해 연산되어 상관 관계 정보에 포함되는 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도는, 제 2 진단 정보에 포함된 하나 이상의 질병(
Figure PCTKR2021007853-appb-img-000176
)에 대한 제 1 진단 정보에 포함된 하나 이상의 소견(
Figure PCTKR2021007853-appb-img-000177
)의 발견 중요도(
Figure PCTKR2021007853-appb-img-000178
)를 포함할 수 있다. 프로세서(110)는 상기 발견 중요도(
Figure PCTKR2021007853-appb-img-000179
)를 계산하기 위해 전술한 제 2 부분 기여도에 적어도 부분적으로 기초할 수 있다. 발견 중요도(
Figure PCTKR2021007853-appb-img-000180
)는 제 2 진단 정보에 포함된 하나 이상의 질병(
Figure PCTKR2021007853-appb-img-000181
)에 대해 제 1 진단 정보에 포함된 특정 소견(
Figure PCTKR2021007853-appb-img-000182
)이 반드시 존재하는 상황의 확률에 따른 오즈(
Figure PCTKR2021007853-appb-img-000183
)에 기초하여 연산될 수 있다. 발견 중요도(
Figure PCTKR2021007853-appb-img-000184
)는 제 2 진단 정보에 포함된 하나 이상의 질병(
Figure PCTKR2021007853-appb-img-000185
)에 대해 제 1 진단 정보에 포함된 특정 소견(
Figure PCTKR2021007853-appb-img-000186
)이 절대로 존재하지 않는 상황의 확률에 따른 오즈(
Figure PCTKR2021007853-appb-img-000187
)에 기초하여 연산될 수 있다. 일 예시로, 발견 중요도는 상기 두 오즈(
Figure PCTKR2021007853-appb-img-000188
,
Figure PCTKR2021007853-appb-img-000189
)사이의 비율에 기초하여 계산될 수 있다. 수식은 아래의 수학식 11과 같다.
Figure PCTKR2021007853-appb-img-000190
수학식 11과 같이 프로세서(110)는 제 2 부분 기여도에 기초하여 제 2 진단 정보에 포함된 하나 이상의 질병(
Figure PCTKR2021007853-appb-img-000191
)에 대한 제 1 진단 정보에 포함된 하나 이상의 소견(
Figure PCTKR2021007853-appb-img-000192
)의 발견 중요도(
Figure PCTKR2021007853-appb-img-000193
)를 계산함으로써 입력 의료 데이터에서 해당 소견을 발견하는 것이 다른 소견과의 관계에서 질병을 진단하는데 미치는 중요성을 정량화 할 수 있다.
전술한 수식들은 본 개시에 있어서 기여도 산출 방식을 설명하기 위해 활성화 함수로써 시그모이드(Sigmoid) 함수를 사용하였다. 그러나 상기 활성 함수는 tanh 함수, Leaky ReLU 함수 등을 포함하여 역함수를 취할 수 있는 모든 활성 함수를 제한없이 포함한다. 나아가 상기 치환되는 확률값 또한 제한없이 임의의 사전 결정된 값으로 변경 및 계산될 수 있다. 즉 전술한 예시는 본 개시를 제한하지 않으며, 단순 값의 변경 또는 함수의 변경을 통해서도 본 개시가 달성하고자 하는 목적 및 효과가 달성될 수 있음은 통상의 기술자에게 자명할 것이다.
일반적으로 인공 신경망은 최초 입력 데이터에 대해 무수히 많은 노드들 간의 연산과정을 거쳐 최종 출력을 도출한다. 따라서 인공 신경망을 통해 출력을 얻을 수 있을지라도 사용자는 인공 신경망이 입력 데이터의 어떠한 정보에 근거하여 그러한 결과를 도출했는지 쉽게 알 수 없다. 반면 본 개시의 프로세서(110)는 최종적으로 출력된 제 1 진단 정보와 제 2 진단 정보 사이의 상관 관계 정보를 통해 제 1 진단 정보가 제 2 진단 정보에 미치는 영향을 정량적으로 도출할 수 있다. 이를 통해 여러 독립 변수가 관여하여 종속 변수가 결정되는 인과관계에서 독립 변수를 제어함으로써 독립 변수와 종속 변수의 상관관계를 확인할 수 있다. 그 결과 본 개시는 딥 러닝 기반 네트워크 함수의 높은 투명성(transparency) 및 신뢰도 높은 결과를 제공할 수 있다. 즉, 의료계 등을 포함하는 산업계에 있어서 인공 신경망의 최종 판단에 대한 근거의 제출 및 높은 신뢰도가 요구되는 경우 인공 신경망의 신뢰도를 정량적으로 제공할 수 있는 효과를 갖는다.
본 개시의 일 실시예에 따라 프로세서(110)는 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성 혹은 출력할 때 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도를 시각화하여 제공할 수 있다. 프로세서(110)는 입력 의료 데이터에 대한 질병의 유무 또는 질병의 존재 확률을 포함하는 제 2 진단 정보, 해당 제 2 진단 정보에 기여하는 하나 이상의 소견 정보를 포함하는 제 1 진단 정보 또는 제 1 진단 정보의 기여도 등을 값으로써 출력할 수 있다. 프로세서(110)는 사용자의 가독성을 위해 상기한 값들을 시각화하여 제공할 수 있다. 상기 시각화 동작에는 각 제 1 진단 정보의 기여도 분포를 그래프로 표현하여 소견 사이의 기여도 차이를 그래프에 따른 표현 인자 사이의 크기 차이로 나타내는 동작, 입력 데이터에 기여도가 큰 소견의 병변 영역을 표시하는 동작 또는 제 2 진단 정보에 대한 제 1 진단 정보에 포함된 소견 정보의 기여도를 그 정도에 따라 색의 진하기에 차이를 두어 2차원 매트릭스(matrix)로 표현하는 동작 등이 포함될 수 있다.
프로세서(110)가 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 출력하는데 있어서 클래스 활성화 맵(Class Activation Map)에 적어도 일부 기초하여 제 1 진단 정보를 입력 의료 데이터에 표시하여 출력할 수 있다. 프로세서(110)는 클래스 활성화 맵을 통해 의료 진단 모델의 최종 진단 결과인 제 2 진단 정보가 입력 의료 데이터의 어떤 픽셀 영역에 의해 출력된 것인지 표현할 수 있다. 프로세서(110)는 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000194
)에 기초하여 클래스 활성화 맵을 생성할 수 있다. 본 개시의 일 실시예에 있어서 특징 벡터(
Figure PCTKR2021007853-appb-img-000195
)가 전역 평균 풀링(Global Average Pooling) 방법에 의해 추출된 경우, 프로세서(110)는 특징 벡터(
Figure PCTKR2021007853-appb-img-000196
)가 전역 평균 풀링 되기 직전의 특징맵(
Figure PCTKR2021007853-appb-img-000197
)에 기초하여 클래스 활성화 맵을 생성할 수 있다. 그 수식은 수학식 12와 같다.
Figure PCTKR2021007853-appb-img-000198
프로세서(110)는 제 2 진단 네트워크가 제 2 진단 정보를 생성하기 위해 입력 의료 데이터에 관한 특징 벡터에 대해 소견별로 곱하는 파라미터인, 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000199
)에 적어도 부분적으로 기초하여 클래스 활성화 맵을 생성할 수 있다. 구체적으로, 프로세서(110)는 클래스 활성화 맵을 생성하기 위해 특징맵(
Figure PCTKR2021007853-appb-img-000200
)의 각 채널에 곱해지는 가중치 값을 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000201
)에 기초하여 결정할 수 있다.
본 개시의 일 예시에 따라 프로세서(110)는 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 출력하는데 있어서, 입력 의료 데이터에 관한 특징 벡터, 제 1 진단 네트워크에 포함된 최종 분류 함수의 파라미터 또는 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터 중 적어도 어느 하나에 기초하여 클래스 활성화 맵(Class Activation Map)을 생성하고, 상기 클래스 활성화 맵에 기초하여 상기 제 1 진단 정보를 상기 입력 의료 데이터에 표시하여 출력할 수 있다. 프로세서(110)는 제 1 진단 네트워크의 연산 과정 중 전역 평균 풀링 방법에 의해 입력 의료 데이터에 관한 특징 벡터(
Figure PCTKR2021007853-appb-img-000202
)가 추출되기 직전의 데이터인 특징맵(
Figure PCTKR2021007853-appb-img-000203
)을 제 1 진단 네트워크의 연산 결과에서 획득할 수 있다. 상기 수학식 12에 나타난 바와 같이, 프로세서(110)는 제 1 진단 네트워크의 최종 분류 함수에 포함된 개별 소견 가중치(
Figure PCTKR2021007853-appb-img-000204
) 벡터와 평행한 방향의 성분 벡터, 제 2 진단 네트워크의 최종 분류 함수에 포함된 질병-소견 가중치 벡터(
Figure PCTKR2021007853-appb-img-000205
)를, 상기 특징맵(
Figure PCTKR2021007853-appb-img-000206
)에 각 채널별로 곱한 후 합산함으로써 이에 기초하여 클래스 활성화 맵을 생성할 수 있다. 상기 클래스 활성화 맵을 통해 프로세서(110)는 입력 의료 데이터에서 제 2 진단 정보의 출력에 영향을 미치는 제 1 진단 정보에 포함된 하나 이상의 소견 정보와 관련된 병변 지역을 표시할 수 있다.
이하에서는 도 3을 참조하여 설명한다. 도 3은 의료 데이터에 대한 진단 관련 정보를 제공하는 본 개시의 일 실시예에 따라 입력 의료 데이터로부터 제 1 진단 정보 및 제 2 진단 정보를 출력하기 위한 전체 모델의 학습 과정에 대한 흐름도이다. 프로세서(110)는 적어도 하나 이상의 소견 정보가 라벨링된 의료 데이터를 포함하는 제 1 학습 데이터 세트를 획득(210)할 수 있다. 상기 제 1 진단 정보는 의료 데이터에 대한 소견 유무, 소견의 위치, 소견에 대한 확률 등을 포함할 수 있다. 프로세서(110)는 제 1 학습 데이터에 포함된 의료 데이터를 입력으로 하여 적어도 하나 이상의 소견 정보를 출력하도록 제 1 진단 네트워크를 학습(230)시킬 수 있다. 프로세서(110)는 적어도 하나 이상의 질병 정보가 라벨링된 의료 데이터를 포함하는 제 2 학습 데이터 세트를 획득(250)할 수 있다. 이때 제 2 학습 데이터 세트를 획득(250)하는 단계는 제 1 진단 네트워크를 학습(230)시키는 단계와 서로 그 순서가 바뀔 수도 있다. 프로세서(110)는 제 2 학습 데이터에 포함된 의료 데이터를 제 1 진단 네트워크에 입력하여 입력 의료 데이터에 관한 특징 벡터를 연산(270)할 수 있다. 입력 의료 데이터에 관한 특징 벡터는 입력 의료 데이터에 대해 제 1 진단 네트워크가 제 1 진단 정보를 출력하기 위한 중간 연산 과정 상에 연산되는 데이터를 포함할 수 있다. 프로세서(110)는 입력 의료 데이터에 관한 특징 벡터를 입력으로 하여 적어도 하나 이상의 질병 정보를 포함하는 제 2 진단 정보를 출력하도록 제 2 진단 네트워크를 학습할 수 있다. 제 2 진단 정보는 질병의 이름, 질병의 존재 유무, 질병의 근거 소견, 근거 소견의 병변 영역 등이 포함될 수 있다. 제 2 진단 네트워크는 입력 의료 데이터에 관한 특징 벡터로부터 제 2 진단 정보를 산출하기 위해 네트워크 함수로 이루어질 수 있을 뿐만 아니라 결정 트리(decision tree)로 이루어질 수도 있다. 프로세서(110)는 학습된 제 1 진단 네트워크 및 학습된 제 2 진단 네트워크를 포함하는 의료 진단 모델에 의료 데이터를 입력하여 출력된 하나 이상의 제 2 진단 정보에 대해 제 1 진단 정보의 기여도 산출할 수 있다.
도 4는 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 본 개시의 일 실시예에 따라 제 2 진단 네트워크를 학습하기 위한 흐름도이다. 프로세서(110)는 학습이 완료된 딥 러닝 기반 제 1 진단 네트워크를 획득(281)할 수 있다. 학습이 완료되었다는 것은 상기 딥 러닝 기반 제 1 진단 네트워크 내부에 포함된 파라미터 값은 더 이상 학습 또는 갱신하지 않는다는 의미를 포함한다. 상기 딥 러닝 기반 제 1 진단 네트워크의 모델을 고정한 후 프로세서(110)는 제 2 학습 데이터에 포함된 의료 데이터를 제 1 진단 네트워크에 입력하여 적어도 하나 이상의 입력 의료 데이터에 관한 특징 벡터 연산(283)할 수 있다. 그 후 프로세서(110)는 상기 입력 의료 데이터에 관한 특징 벡터에 기초하여 의료 데이터에 대한 제 2 진단 정보를 출력하도록 제 2 진단 네트워크를 학습(285)할 수 있다. 제 1 진단 네트워크의 최종 분류 결과가 아닌 제 1 진단 네트워크 내부 연산 과정 상의 특징 벡터를 바탕으로 제 2 진단 네트워크가 학습된다는 것은 단순 값만 포함하는 수치보다 많은 정보를 담고 있는 벡터 형태를 제 2 진단 네트워크의 학습 데이터로 제공한다는 것을 의미한다. 따라서 제 2 진단 네트워크가 제 2 진단 정보와 제 1 진단 정보의 상관관계를 더욱 정확히 학습 및 추론할 수 있다.
전술한 바와 같이 프로세서(110)가 전체 의료 진단 모델에 포함된 제 1 진단 네트워크 및 제 2 진단 네트워크를 단계별로 나누어 순차적으로 학습함으로써 제 2 진단 네트워크는 제 1 진단 네트워크가 연산하는 사전 결정된 특정 차원을 갖는 벡터 형태의 중간 데이터를 바탕으로 학습할 수 있다. 만약 제 1 진단 네트워크와 제 2 진단 네트워크를 동시에 학습한다면 제 1 진단 네트워크 및 제 2 진단 네트워크의 조합은 전체로서 하나의 단일한 네트워크와 다를 바가 없게 된다. 또한 제 1 진단 네트워크와 제 2 진단 네트워크를 동시에 학습하면 학습 과정에 있어서 입력 의료 데이터에 관한 특징 벡터는 계속 수정 및 갱신을 거듭하므로, 제 2 진단 네트워크는 제 1 진단 네트워크로부터 연산되는 입력 의료 데이터에 관한 특징 벡터를 학습 데이터로 제공받을 수 없다. 따라서 전체를 하나의 네트워크처럼 학습할 경우에는 입력 의료 데이터에 관한 특징 벡터와 제 2 진단 정보의 관계를 학습할 수 없고 결국 제 2 진단 정보와 제 1 진단 정보 사이의 상관 관계 정보를 출력할 수 없다. 반면 본 개시는 제 1 진단 네트워크의 학습을 먼저 진행한 후, 제 1 진단 네트워크의 연산 결과를 이용해 제 2 진단 네트워크를 학습함으로써 개별 소견의 특정 질병에 대한 영향을 고려한 의료 진단 모델을 학습할 수 있다. 다시 말해 특정 진단에 기여하는 소견을 정량적으로 확인할 수 있게 된다.
도 5은 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 본 개시의 일 실시예에 따라 입력 의료 데이터에 대한 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 시각화한 일 예시도이다. 도 5의 막대 그래프(510)는 제 2 진단 정보에 기여하는 제 1 진단 정보를 그 기여도 크기에 따라 표현한 그래프이다. 도 5의 실시예에서 제 2 진단 정보는 하나의 질병에 관한 정보만 포함하는 제 2 진단 정보일 수 있다. 제 1 진단 정보에 포함된 하나 이상의 소견에 관한 막대의 크기는 각 소견이 질병에 영향을 미치는 정도의 비율과 비례할 수 있다. 프로세서(110)는 각 소견의 질병에 대한 기여도 크기에 따라 전체 소견 중 기여도가 가장 큰 제 1 소견(511), 기여도가 두번째로 큰 제 2 소견(513), 기여도가 세번째로 큰 제 3 소견(515)을 선택할 수 있다.
프로세서(110)는 클래스 활성화 맵에 기초하여 하나 이상의 소견에 관한 정보를 포함하는 제 1 진단 정보를 입력 의료 데이터에 표시할 수 있다. 프로세서(110)는 원본 의료 데이터(530)에 대해 제 1 소견에 관한 병변(551)을 표시하는 제 1 의료 데이터(550), 제 2 소견에 관한 병변(571)을 표시하는 제 2 의료 데이터(570), 제 3 소견에 관한 병변(591)을 표시하는 제 3 의료 데이터(590)를 생성할 수 있다. 전술한 세 개의 소견은 전체 소견을 포함하는 제 1 진단 정보 중 프로세서(110)에 의해 연산된 기여도 크기에 따라 상위 세 개로 구성된 소견일 수 있다. 프로세서(110)에 의해 선택되는 소견의 개수는 예시에 불과하여 본 개시를 제한하지 않는다. 프로세서(110)는 특정 질병에 대한 제 1 진단 정보에 포함된 소견의 기여도 크기를 막대 그래프(510)로 출력할 수 있으므로 진단 결과의 원인을 한 눈에 사용자에게 전달할 수 있고, 또한 각 소견에 대한 병변 영역을 전술한 바와 같이 원본 의료 데이터(530)에 표시할 수 있으므로, 사용자에게 소견의 위치를 빠르게 파악할 수 있는 자료를 제공할 수 있다.
본 개시의 일 실시예에 따라 의료 데이터에 대한 진단 관련 정보를 제공하는 뉴럴 네트워크의 연산과 관련된 데이터를 저장하는 데이터 구조를 저장한 컴퓨터 판독가능한 기록 매체가 개시된다. 의료 데이터에 대한 진단 관련 정보를 제공하는 뉴럴 네트워크의 연산과 관련된 데이터는 다음과 같은 프로세서(110)의 동작에 의해 획득될 수 있다. 프로세서(110)는 적어도 하나 이상의 소견 정보가 라벨링된 의료 데이터를 포함하는 제 1 학습 데이터 세트에 기초하여 제 1 진단 네트워크를 학습한 후, 적어도 하나 이상의 질병 정보가 라벨링된 의료 데이터를 포함하는 제 2 학습 데이터 세트를 제 1 진단 네트워크에 입력으로 하여 연산된 제 2 학습 데이터 세트에 포함된 의료 데이터에 관한 특징 벡터에 적어도 부분적으로 기초하여 제 2 진단 네트워크를 학습하고, 제 1 진단 네트워크의 학습 결과 및 제 2 진단 네트워크의 학습 결과에 적어도 부분적으로 기초하여 제 1 학습 데이터 세트에 대한 제 1 진단 정보 세트와 제 2 학습 데이터 세트에 포함된 제 2 진단 정보 세트의 상관 관계 정보를 산출할 수 있다. 즉, 프로세서(110)는 제 1 진단 네트워크와 제 2 진단 네트워크의 학습을 통해 새로운 의료 데이터에 대해 제 1 진단 정보, 제 2 진단 정보 또는 각 진단 정보의 상관 관계 정보를 추론할 수 있을 뿐만 아니라, 학습 과정에서 획득된 파라미터 값을 통해 학습 데이터 세트로부터 산출된 전체 제 2 진단 정보와 전체 제 1 진단 정보 사이의 상관관계를 시각화하여 출력할 수 있다.
본 개시의 일 실시예에 따라 컴퓨팅 장치(100)는 디스플레이부(미도시)를 더 포함할 수 있다. 상기 디스플레이부는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 이들 중 일부 디스플레이 모듈은 그를 통해 외부를 볼 수 있도록 투명형 또는 광 투과형으로 구성될 수 있다. 이는 투명 디스플레이 모듈이라 지칭될 수 있는데, 상기 투명 디스플레이 모듈의 대표적인 예로는 TOLED(Transparent OLED) 등이 있다. 전술한 디스플레이부의 종류는 예시에 불과할 뿐 본 개시의 컴퓨팅 장치는 디스플레이를 위한 모든 형태의 디스플레이 장치를 포함할 수 있다.
프로세서(110)는 상기 디스플레이부를 통해 입력 의료 데이터에 대한 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 표시할 수 있다. 상기 상관 관계 정보는 입력 의료 데이터에 대해 연산된 제 1 진단 정보, 입력 의료 데이터에 대해 연산된 제 2 진단 정보, 제 2 진단 정보에 대한 제 1 진단 정보의 기여도, 상기 기여도를 시각화한 데이터, 오즈비(odds ratio), 오즈비에 관한 매트릭스(odds ratio matrix), 제 1 진단 정보 또는 제 2 진단 정보를 입력 의료 데이터에 표시한 클래스 활성화 맵(Class Activation Map) 등을 포함할 수 있다.
프로세서(110)는 상기 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 표시함에 있어서, 상관 관계 정보를 제 2 진단 정보에 대한 제 1 진단 정보의 기여도를 포함하는 오즈비 매트릭스(odds ratio matrix)로 표시할 수 있다.
본 개시의 일 실시예에 따라 컴퓨팅 장치(100)의 프로세서(110)는 네트워크부(150)를 통해 입력 의료 데이터에 대한 제 1 진단 정보 및 상기 입력 의료 데이터에 대한 제 2 진단 정보를 포함하는 상관 관계 정보를 사용자 단말로 전송할 수 있다. 사용자 단말은 도 1에 도시된 컴퓨팅 장치에 포함된 각 구성 중 적어도 하나를 포함할 수 있다. 사용자 단말은 네트워크부를 이용하여 외부 서버로부터 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 수신하거나 사용자 단말에 포함된 프로세서를 이용하여 전술한 방법들에 따라 의료 데이터를 입력 받고 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성할 수도 있다. 사용자 단말은 의료 데이터에 대한 진단 관련 정보를 표시하는 사용자 인터페이스(User Interface)를 제공할 수 있다. 사용자 단말은 출력부를 통해 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 포함하는 사용자 인터페이스를 제공할 수 있다. 사용자 단말은 도 6에 도시된 바와 같은 화면 구성을 적어도 일부 포함하는 사용자 인터페이스를 표시할 수 있다. 이하에서는 도 6를 참조하여 상관 관계 정보를 오즈비 매트릭스(odds ratio matrix)에 기초하여 표시하는 방법을 서술한다.
도 6는 의료 데이터에 대한 진단 관련 정보를 제공하기 위한 본 개시의 일 실시예에 따라 입력 의료 데이터에 대한 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 표시하는 사용자 인터페이스에 관한 예시도이다. 프로세서(110)에 의해 학습된 네트워크 함수는 네트워크 함수에 포함된 파라미터 값에 기반하여 제 1 진단 정보와 제 2 진단 정보의 상관 관계를 표시할 수 있다. 도 6의 오즈비 매트릭스(310)에 포함된 개별 격자는 제 2 진단 정보에 포함된 적어도 하나 이상의 질병 각각에 대해 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도 크기를 개별적으로 나타낼 수 있다. 오즈비 매트릭스(310)에 포함된 개별 격자는 각 소견의 기여도 크기를 전술한 가상 오즈비(odds ratio)에 기초하여 표현할 수 있다. 상기 오즈비(odds-ratio) 표현은 절대적 크기 차이 또는 상대적 크기 차이를 구분하는 색상에 관한 표현일 수 있다. 프로세서(110)는 특정 질병에 영향을 미치는 개별 소견의 기여도를 그 기여도 크기에 따라 서로 다른 색으로 오즈비 매트릭스(310)에 표현할 수 있다. 예를 들어, 입력 의료 데이터에 대해 출력된 제 2 진단 정보에 포함된 D1이라는 질병(311)에 대하여 제 1 진단 정보에 포함된 개별 소견의 격자는 그 기여도 크기에 따라 서로 다른 색으로 표현할 수 있다. 도 6에서, 질병 D1에 대한 소견 F1(313)의 기여도는 소견 F2를 제외한 나머지 소견에 비해서 크다는 것을 D1-F1 쌍에 대한 격자(315) 내부의 색상으로 알 수 있다. 오즈비 매트릭스(310)의 세로축은 제 2 진단 정보에 포함된 적어도 하나의 질병을 포함할 수 있다. 오즈비 매트릭스(310)의 가로축은 제 1 진단 정보에 포함된 하나 이상의 소견을 포함할 수 있다. 도 6의 색상 막대(330)는 프로세서(110)가 산출한 기여도의 최소값과 최대값의 분포에 대응되는 색상을 나타낼 수 있다. 상기 색상 막대(330)의 최소값과 최대값은 전체 기여도 분포로부터 추출될 수도 있고, 임의의 값으로 사전 선택될 수도 있다.
데이터 구조는 데이터에 효율적인 접근 및 수정을 가능하게 하는 데이터의 조직, 관리, 저장을 의미할 수 있다. 데이터 구조는 특정 문제(예를 들어, 최단 시간으로 데이터 검색, 데이터 저장, 데이터 수정) 해결을 위한 데이터의 조직을 의미할 수 있다. 데이터 구조는 특정한 데이터 처리 기능을 지원하도록 설계된, 데이터 요소들 간의 물리적이거나 논리적인 관계로 정의될 수도 있다. 데이터 요소들 간의 논리적인 관계는 사용자가 생각하는 데이터 요소들 간의 연결관계를 포함할 수 있다. 데이터 요소들 간의 물리적인 관계는 컴퓨터 판독가능 저장매체(예를 들어, 하드 디스크)에 물리적으로 저장되어 있는 데이터 요소들 간의 실제 관계를 포함할 수 있다. 데이터 구조는 구체적으로 데이터의 집합, 데이터 간의 관계, 데이터에 적용할 수 있는 함수 또는 명령어를 포함할 수 있다. 효과적으로 설계된 데이터 구조를 통해 컴퓨팅 장치는 컴퓨팅 장치의 자원을 최소한으로 사용하면서 연산을 수행할 수 있다. 구체적으로 컴퓨팅 장치는 효과적으로 설계된 데이터 구조를 통해 연산, 읽기, 삽입, 삭제, 비교, 교환, 검색의 효율성을 높일 수 있다.
데이터 구조는 데이터 구조의 형태에 따라 선형 데이터 구조와 비선형 데이터 구조로 구분될 수 있다. 선형 데이터 구조는 하나의 데이터 뒤에 하나의 데이터만이 연결되는 구조일 수 있다. 선형 데이터 구조는 리스트(List), 스택(Stack), 큐(Queue), 데크(Deque)를 포함할 수 있다. 리스트는 내부적으로 순서가 존재하는 일련의 데이터 집합을 의미할 수 있다. 리스트는 연결 리스트(Linked List)를 포함할 수 있다. 연결 리스트는 각각의 데이터가 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터가 연결된 데이터 구조일 수 있다. 연결 리스트에서 포인터는 다음이나 이전 데이터와의 연결 정보를 포함할 수 있다. 연결 리스트는 형태에 따라 단일 연결 리스트, 이중 연결 리스트, 원형 연결 리스트로 표현될 수 있다. 스택은 제한적으로 데이터에 접근할 수 있는 데이터 나열 구조일 수 있다. 스택은 데이터 구조의 한 쪽 끝에서만 데이터를 처리(예를 들어, 삽입 또는 삭제)할 수 있는 선형 데이터 구조일 수 있다. 스택에 저장된 데이터는 늦게 들어갈수록 빨리 나오는 데이터 구조(LIFO-Last in First Out)일 수 있다. 큐는 제한적으로 데이터에 접근할 수 있는 데이터 나열 구조로서, 스택과 달리 늦게 저장된 데이터일수록 늦게 나오는 데이터 구조(FIFO-First in First Out)일 수 있다. 데크는 데이터 구조의 양 쪽 끝에서 데이터를 처리할 수 있는 데이터 구조일 수 있다.
비선형 데이터 구조는 하나의 데이터 뒤에 복수개의 데이터가 연결되는 구조일 수 있다. 비선형 데이터 구조는 그래프(Graph) 데이터 구조를 포함할 수 있다. 그래프 데이터 구조는 정점(Vertex)과 간선(Edge)으로 정의될 수 있으며 간선은 서로 다른 두개의 정점을 연결하는 선을 포함할 수 있다. 그래프 데이터 구조 트리(Tree) 데이터 구조를 포함할 수 있다. 트리 데이터 구조는 트리에 포함된 복수개의 정점 중에서 서로 다른 두개의 정점을 연결시키는 경로가 하나인 데이터 구조일 수 있다. 즉 그래프 데이터 구조에서 루프(loop)를 형성하지 않는 데이터 구조일 수 있다.
본 명세서에 걸쳐, 연산 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. (이하에서는 신경망으로 통일하여 기술한다.) 데이터 구조는 신경망을 포함할 수 있다. 그리고 신경망을 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망을 포함한 데이터 구조는 또한 신경망에 입력되는 데이터, 신경망의 가중치, 신경망의 하이퍼 파라미터, 신경망으로부터 획득한 데이터, 신경망의 각 노드 또는 레이어와 연관된 활성 함수, 신경망의 학습을 위한 손실 함수를 포함할 수 있다. 신경망을 포함한 데이터 구조는 상기 개시된 구성들 중 임의의 구성 요소들을 포함할 수 있다. 즉 신경망을 포함한 데이터 구조는 신경망에 입력되는 데이터, 신경망의 가중치, 신경망의 하이퍼 파라미터, 신경망으로부터 획득한 데이터, 신경망의 각 노드 또는 레이어와 연관된 활성 함수, 신경망의 트레이닝을 위한 손실 함수 등 전부 또는 이들의 임의의 조합을 포함하여 구성될 수 있다. 전술한 구성들 이외에도, 신경망을 포함한 데이터 구조는 신경망의 특성을 결정하는 임의의 다른 정보를 포함할 수 있다. 또한, 데이터 구조는 신경망의 연산 과정에 사용되거나 발생되는 모든 형태의 데이터를 포함할 수 있으며 전술한 사항에 제한되는 것은 아니다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 기록 매체 및/또는 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 신경망은 일반적으로 노드라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 노드들은 뉴런(neuron)들로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다.
데이터 구조는 신경망에 입력되는 데이터를 포함할 수 있다. 신경망에 입력되는 데이터를 포함하는 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망에 입력되는 데이터는 신경망 학습 과정에서 입력되는 학습 데이터 및/또는 학습이 완료된 신경망에 입력되는 입력 데이터를 포함할 수 있다. 신경망에 입력되는 데이터는 전처리(pre-processing)를 거친 데이터 및/또는 전처리 대상이 되는 데이터를 포함할 수 있다. 전처리는 데이터를 신경망에 입력시키기 위한 데이터 처리 과정을 포함할 수 있다. 따라서 데이터 구조는 전처리 대상이 되는 데이터 및 전처리로 발생되는 데이터를 포함할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 개시는 이에 제한되지 않는다.
데이터 구조는 신경망에 입력되거나, 신경망에서 출력되는 데이터를 포함할 수 있다. 신경망에 입력되거나, 출력되는 데이터를 포함하는 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 컴퓨터 판독가능 매체에 저장된 데이터 구조는 신경망의 추론 과정에서 입력되는 데이터, 또는 신경망의 추론 결과 출력되는 출력 데이터를 포함할 수 있다. 또한, 데이터 구조는 특정한 데이터 가공 방법에 의하여 가공되는 데이터를 포함할 수 있으므로, 가공 전 후의 데이터를 포함할 수 있다. 따라서, 데이터 구조는 가공의 대상이 되는 데이터 및 데이터 가공 방법을 통해 가공된 데이터를 포함할 수 있다.
데이터 구조는 신경망의 가중치를 포함할 수 있다. (본 명세서에서 가중치, 파라미터는 동일한 의미로 사용될 수 있다.) 그리고 신경망의 가중치를 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망은 복수개의 가중치를 포함할 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변 될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 파라미터에 기초하여 출력 노드 값을 결정할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 개시는 이에 제한되지 않는다.
제한이 아닌 예로서, 가중치는 신경망 학습 과정에서 가변되는 가중치 및/또는 신경망 학습이 완료된 가중치를 포함할 수 있다. 신경망 학습 과정에서 가변되는 가중치는 학습 사이클이 시작되는 시점의 가중치 및/또는 학습 사이클 동안 가변되는 가중치를 포함할 수 있다. 신경망 학습이 완료된 가중치는 학습 사이클이 완료된 가중치를 포함할 수 있다. 따라서 신경망의 가중치를 포함한 데이터 구조는 신경망 학습 과정에서 가변되는 가중치 및/또는 신경망 학습이 완료된 가중치를 포함한 데이터 구조를 포함할 수 있다. 그러므로 상술한 가중치 및/또는 각 가중치의 조합은 신경망의 가중치를 포함한 데이터 구조에 포함되는 것으로 한다. 전술한 데이터 구조는 예시일 뿐 본 개시는 이에 제한되지 않는다.
신경망의 가중치를 포함한 데이터 구조는 직렬화(serialization) 과정을 거친 후 컴퓨터 판독가능 저장 매체(예를 들어, 메모리, 하드 디스크)에 저장될 수 있다. 직렬화는 데이터 구조를 동일하거나 다른 컴퓨팅 장치에 저장하고 나중에 다시 재구성하여 사용할 수 있는 형태로 변환하는 과정일 수 있다. 컴퓨팅 장치는 데이터 구조를 직렬화하여 네트워크를 통해 데이터를 송수신할 수 있다. 직렬화된 신경망의 가중치를 포함한 데이터 구조는 역직렬화(deserialization)를 통해 동일한 컴퓨팅 장치 또는 다른 컴퓨팅 장치에서 재구성될 수 있다. 신경망의 가중치를 포함한 데이터 구조는 직렬화에 한정되는 것은 아니다. 나아가 신경망의 가중치를 포함한 데이터 구조는 컴퓨팅 장치의 자원을 최소한으로 사용하면서 연산의 효율을 높이기 위한 데이터 구조(예를 들어, 비선형 데이터 구조에서 B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree)를 포함할 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.
데이터 구조는 신경망의 하이퍼 파라미터(Hyper-parameter)를 포함할 수 있다. 그리고 신경망의 하이퍼 파라미터를 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 하이퍼 파라미터는 사용자에 의해 가변되는 변수일 수 있다. 하이퍼 파라미터는 예를 들어, 학습률(learning rate), 비용 함수(cost function), 학습 사이클 반복 횟수, 가중치 초기화(Weight initialization)(예를 들어, 가중치 초기화 대상이 되는 가중치 값의 범위 설정), Hidden Unit 개수(예를 들어, 히든 레이어의 개수, 히든 레이어의 노드 수)를 포함할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 개시는 이에 제한되지 않는다.
도 7은 본 개시의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도이다. 본 개시가 일반적으로 컴퓨팅 장치에 의해 구현될 수 있는 것으로 전술되었지만, 당업자라면 본 개시가 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어 및/또는 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로써 구현될 수 있다는 것을 잘 알 것이다.
일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.
본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.
컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.
컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(1104)로서 이용될 수 있다.
시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.
컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114)(예를 들어, EIDE, SATA)-이 내장형 하드 디스크 드라이브(1114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음-, 자기 플로피 디스크 드라이브(FDD)(1116)(예를 들어, 이동식 디스켓(1118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(1120)(예를 들어, CD-ROM 디스크(1122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116) 및 광 디스크 드라이브(1120)는 각각 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(1124)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘 다를 포함한다.
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.
운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.
모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.
컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 컴퓨팅 디바이스 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 로컬 네트워크(1152)에 연결된다. 어댑터(1156)는 LAN(1152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(1152)은 또한 무선 어댑터(1156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함할 수 있거나, WAN(1154) 상의 통신 컴퓨팅 디바이스에 연결되거나, 또는 인터넷을 통하는 등, WAN(1154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(1158)은 직렬 포트 인터페이스(1142)를 통해 시스템 버스(1108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(1102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.
컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.
Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a, b, g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 소프트웨어로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 제조 물품은 임의의 컴퓨터-판독가능 저장장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
상기와 같이 발명의 실시를 위한 최선의 형태에서 관련 내용을 기술하였다.
본 발명은 의료 데이터에 대한 진단 관련 정보를 제공하는 컴퓨팅 장치 등에 사용될 수 있다.

Claims (14)

  1. 컴퓨팅 장치의 하나 이상의 프로세서에 의해 수행되는, 의료 데이터에 대한 진단 관련 정보를 제공하는 방법으로서,
    상기 의료 데이터에 기초하여 진단 정보를 출력하도록 학습된 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 1 진단 정보를 연산하는 단계;
    상기 제 1 진단 네트워크에서 연산된 상기 의료 데이터에 관한 특징 벡터에 기초하여 진단 정보를 출력하도록 학습된 제 2 진단 네트워크를 이용하여, 상기 입력 의료 데이터에 대해 제 2 진단 정보를 연산하고, 상기 특징 벡터는 상기 제 1 진단 네트워크의 연산 과정에서 도출된 특징맵(feature map)에 기초하여 연산되는 단계; 및
    상기 제 1 진단 네트워크의 연산 과정 또는 제 2 진단 네트워크의 연산 과정 중 일 부분에 기초하여, 상기 입력 의료 데이터에 대해 연산된 상기 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성하는 단계;
    를 포함하는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  2. 제 1 항에 있어서,
    프로세서가 상기 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 1 진단 정보를 연산하는 단계는,
    상기 제 1 진단 네트워크에서 상기 입력 의료 데이터에 관한 특징 벡터를 연산하는 단계; 및
    상기 입력 의료 데이터에 관한 특징 벡터에 기초하여 상기 제 1 진단 정보를 연산하는 단계;
    를 더 포함하는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  3. 제 1 항에 있어서,
    상기 특징 벡터는,
    상기 제 1 진단 네트워크의 연산 과정에서 도출된 특징맵(feature map)에 전역 풀링(Global Pooling) 방법을 수행한 결과에 기초하여 연산되는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 진단 네트워크는,
    서로 다른 종류의 소견을 포함하는 제 1 진단 정보를 연산하는 상이한 둘 이상의 서브 제 1 진단 네트워크를 포함하는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  5. 제 1 항에 있어서,
    상기 상관 관계 정보는,
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도를 포함하는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  6. 제 5 항에 있어서,
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도는,
    상기 제 1 진단 네트워크에서 연산된 상기 입력 의료 데이터에 관한 특징 벡터, 상기 제 1 진단 네트워크에 포함된 최종 분류 함수의 파라미터 또는 상기 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터 중 적어도 어느 하나에 기초하여 산출되는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  7. 제 5 항에 있어서,
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도는,
    제 1 부분 기여도 또는 제 2 부분 기여도 중 적어도 하나에 기초하여 산출되는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  8. 제 7 항에 있어서,
    상기 제 1 부분 기여도는,
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 제 1 진단 정보에 포함된 전체 소견의 오즈(odds)에 기초하는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  9. 제 7 항에 있어서,
    상기 제 2 부분 기여도는,
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견의 가상 오즈(counterfactual-odds)에 기초하되,
    상기 가상 오즈는:
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견이 반드시 존재하는 상황의 확률에 따른 오즈;
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견이 절대로 존재하지 않는 상황의 확률에 따른 오즈; 또는
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견의 사전 결정된 존재 확률에 따른 오즈;
    중 적어도 하나를 포함하는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  10. 제 1 항에 있어서,
    상기 상관 관계 정보를 생성하는 단계는,
    클래스 활성화 맵(Class Activation Map)에 적어도 일부 기초하여 상기 제 1 진단 정보를 상기 입력 의료 데이터에 표시하는 단계를 포함하는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  11. 제 1 항에 있어서,
    상기 상관 관계 정보를 생성하는 단계는,
    상기 입력 의료 데이터에 관한 특징 벡터, 상기 제 1 진단 네트워크에 포함된 최종 분류 함수의 파라미터 또는 상기 제 2 진단 네트워크에 포함된 최종 분류 함수의 파라미터 중 적어도 어느 하나에 기초하여 클래스 활성화 맵(Class Activation Map)을 생성하는 단계; 및
    상기 클래스 활성화 맵에 기초하여 상기 제 1 진단 정보를 상기 입력 의료 데이터에 표시하는 단계;
    를 포함하는,
    의료 데이터에 대한 진단 관련 정보를 제공하는 방법.
  12. 프로세서; 및
    적어도 하나의 네트워크 함수가 저장되는 메모리를 포함하고,
    상기 메모리는 상기 프로세서가
    의료 데이터에 기초하여 진단 정보를 출력하도록 학습된 제 1 진단 네트워크를 이용하여, 입력 의료 데이터에 대해 제 1 진단 정보를 연산하고,
    상기 제 1 진단 네트워크에서 연산된 상기 의료 데이터에 관한 특징 벡터에 기초하여 진단 정보를 출력하도록 학습된 제 2 진단 네트워크를 이용하여, 상기 입력 의료 데이터에 대해 제 2 진단 정보를 연산하고, 상기 특징 벡터는 상기 제 1 진단 네트워크의 연산 과정에서 도출된 특징맵(feature map)에 기초하여 연산되고, 그리고
    상기 제 1 진단 네트워크의 연산 과정 또는 제 2 진단 네트워크의 연산 과정 중 일 부분에 기초하여, 상기 입력 의료 데이터에 대해 연산된 상기 제 1 진단 정보 및 제 2 진단 정보를 포함하는 상관 관계 정보를 생성하기 위한 적어도 하나의 컴퓨터 실행 가능한 명령어를 저장하는,
    의료 데이터에 대한 진단 관련 정보를 제공하기 위한 장치.
  13. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 사용자 단말에 포함된 하나 이상의 프로세서에서 실행되는 경우, 의료 데이터에 대한 진단 관련 정보를 표시하는 사용자 인터페이스(UI)를 제공하며, 상기 사용자 인터페이스는:
    입력 의료 데이터에 대한 제 1 진단 정보 및 상기 입력 의료 데이터에 대한 제 2 진단 정보를 포함하는 상관 관계 정보;
    를 포함하고, 그리고
    상기 상관 관계 정보는 제 1 진단 네트워크를 이용한 제 1 진단 정보의 연산 과정 및 제 2 진단 네트워크를 이용한 제 2 진단 정보의 연산 과정 중 일 부분에 기초하여 사용자 단말 또는 서버에서 생성되는,
    컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
  14. 제 13 항에 있어서,
    상기 상관 관계 정보는,
    상기 제 2 진단 정보에 포함된 적어도 하나의 질병에 대한 상기 제 1 진단 정보에 포함된 하나 이상의 소견의 기여도를 포함하는 오즈비 매트릭스(odds ratio matrix);
    를 포함하는,
    컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
PCT/KR2021/007853 2020-07-03 2021-06-23 진단 결과를 제공하기 위한 방법 및 장치 WO2022005090A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21833328.4A EP4177901A4 (en) 2020-07-03 2021-06-23 METHOD AND APPARATUS FOR PROVIDING DIAGNOSTIC RESULTS
JP2022569520A JP7539174B2 (ja) 2020-07-03 2021-06-23 診断結果を提供するための方法及び装置(method and apparatus for providing diagnosis result)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200082359A KR102460257B1 (ko) 2020-07-03 2020-07-03 진단 결과를 제공하기 위한 방법 및 장치
KR10-2020-0082359 2020-07-03

Publications (1)

Publication Number Publication Date
WO2022005090A1 true WO2022005090A1 (ko) 2022-01-06

Family

ID=79167828

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/007853 WO2022005090A1 (ko) 2020-07-03 2021-06-23 진단 결과를 제공하기 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US20220005604A1 (ko)
EP (1) EP4177901A4 (ko)
JP (1) JP7539174B2 (ko)
KR (1) KR102460257B1 (ko)
WO (1) WO2022005090A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220129794A1 (en) * 2020-10-27 2022-04-28 Accenture Global Solutions Limited Generation of counterfactual explanations using artificial intelligence and machine learning techniques
KR102523555B1 (ko) * 2022-05-26 2023-04-20 가천대학교 산학협력단 갈비뼈 분할 및 순서 결정 방법 및 이를 이용한 장치
WO2023239151A1 (ko) * 2022-06-07 2023-12-14 서울대학교병원 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
WO2024025326A1 (ko) * 2022-07-29 2024-02-01 주식회사 메디컬에이아이 심전도 판독 서비스를 제공하는 방법, 프로그램 및 장치
KR20240022865A (ko) * 2022-08-12 2024-02-20 가톨릭대학교 산학협력단 투석 중 저혈압 발생 예측 방법 및 그 시스템
US12038928B2 (en) * 2022-10-31 2024-07-16 Intuit Inc. Efficient counterfactual search

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150098119A (ko) * 2014-02-19 2015-08-27 삼성전자주식회사 의료 영상 내 거짓양성 병변후보 제거 시스템 및 방법
KR20180021635A (ko) * 2016-08-22 2018-03-05 한국과학기술원 3차원 의료 영상에서 깊이 방향 재귀 학습을 이용하는 병변 특징 표현 분석 방법 및 시스템
KR20180076504A (ko) * 2016-12-28 2018-07-06 아주대학교산학협력단 신경망을 이용한 간 경변 예측 장치 및 방법
KR101889725B1 (ko) * 2018-07-04 2018-08-20 주식회사 루닛 악성 종양 진단 방법 및 장치
KR20180123198A (ko) 2017-05-04 2018-11-15 주식회사 데이타게이트코리아 양식장용 수중카메라
KR20200020079A (ko) * 2018-08-16 2020-02-26 한국과학기술원 안저 사진에서 녹내장 진단을 위해 cam에서 추출된 roi를 중간 입력자로 사용하는 2단계 랭킹 컨볼루셔널 뉴럴 네트워크

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0912394D0 (en) 2009-07-16 2009-08-26 Univ Birmingham Screening methods
US11200483B2 (en) * 2016-08-30 2021-12-14 Lunit Inc. Machine learning method and apparatus based on weakly supervised learning
KR20180027887A (ko) * 2016-09-07 2018-03-15 삼성전자주식회사 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 트레이닝 방법
US11328412B2 (en) * 2017-02-08 2022-05-10 Siemens Healthcare Gmbh Hierarchical learning of weights of a neural network for performing multiple analyses
KR101889722B1 (ko) 2017-02-10 2018-08-20 주식회사 루닛 악성 종양 진단 방법 및 장치
US11049243B2 (en) * 2017-04-19 2021-06-29 Siemens Healthcare Gmbh Target detection in latent space
KR101938992B1 (ko) * 2017-06-19 2019-01-15 한국과학기술원 진단 이유 설명이 생성되는 cad 시스템 및 그 방법
JP7224757B2 (ja) 2017-10-13 2023-02-20 キヤノン株式会社 診断支援装置、情報処理方法、診断支援システム及びプログラム
CA3066775A1 (en) * 2017-10-16 2019-04-25 Illumina, Inc. Deep learning-based techniques for training deep convolutional neural networks
SG11202005927VA (en) 2017-12-20 2020-07-29 Medi Whale Inc Method and apparatus for assisting in diagnosis of cardiovascular disease
WO2019245597A1 (en) 2018-06-18 2019-12-26 Google Llc Method and system for improving cancer detection using deep learning
US11556746B1 (en) * 2018-10-26 2023-01-17 Amazon Technologies, Inc. Fast annotation of samples for machine learning model development
WO2020212762A2 (en) * 2019-04-16 2020-10-22 International Medical Solutions, Inc. Methods and systems for syncing medical images across one or more networks and devices
CN110504029B (zh) 2019-08-29 2022-08-19 腾讯医疗健康(深圳)有限公司 一种医学图像处理方法、医学图像识别方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150098119A (ko) * 2014-02-19 2015-08-27 삼성전자주식회사 의료 영상 내 거짓양성 병변후보 제거 시스템 및 방법
KR20180021635A (ko) * 2016-08-22 2018-03-05 한국과학기술원 3차원 의료 영상에서 깊이 방향 재귀 학습을 이용하는 병변 특징 표현 분석 방법 및 시스템
KR20180076504A (ko) * 2016-12-28 2018-07-06 아주대학교산학협력단 신경망을 이용한 간 경변 예측 장치 및 방법
KR20180123198A (ko) 2017-05-04 2018-11-15 주식회사 데이타게이트코리아 양식장용 수중카메라
KR101889725B1 (ko) * 2018-07-04 2018-08-20 주식회사 루닛 악성 종양 진단 방법 및 장치
KR20200020079A (ko) * 2018-08-16 2020-02-26 한국과학기술원 안저 사진에서 녹내장 진단을 위해 cam에서 추출된 roi를 중간 입력자로 사용하는 2단계 랭킹 컨볼루셔널 뉴럴 네트워크

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4177901A4

Also Published As

Publication number Publication date
JP7539174B2 (ja) 2024-08-23
EP4177901A1 (en) 2023-05-10
US20220005604A1 (en) 2022-01-06
KR102460257B1 (ko) 2022-10-28
JP2023527136A (ja) 2023-06-27
EP4177901A4 (en) 2024-08-07
KR20220004476A (ko) 2022-01-11

Similar Documents

Publication Publication Date Title
WO2022005090A1 (ko) 진단 결과를 제공하기 위한 방법 및 장치
WO2021060899A1 (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
WO2022005091A1 (ko) 골 연령 판독 방법 및 장치
WO2022119162A1 (ko) 의료 영상 기반의 질환 예측 방법
WO2022149696A1 (ko) 딥러닝 모델을 사용한 분류 방법
WO2021210796A1 (ko) 의료영상 판독을 위한 인공지능 기반의 클라우드 플랫폼 시스템
WO2021006522A1 (ko) 딥 러닝 모델을 활용한 영상 진단 장치 및 그 방법
WO2021210797A1 (ko) 의료영상 판독을 위한 인공지능 기반의 클라우드 플랫폼 시스템
WO2021261825A1 (ko) 기계 학습 기반 기상 자료 생성 장치 및 방법
WO2020096255A1 (en) Electronic apparatus and control method thereof
WO2022131479A1 (ko) 병변 판독 방법
WO2021010671A9 (ko) 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
WO2022265292A1 (ko) 비정상 데이터 검출 방법 및 장치
WO2024136076A1 (ko) 단백질과 리간드의 결합 구조 예측 방법
WO2021107471A1 (ko) 의료 데이터 검색 방법
WO2024167094A1 (ko) 꺾임 기반의 구조 업데이트를 활용하여 단백질의 구조를 예측하는 방법
WO2024058465A1 (ko) 연합 학습을 위한 지역 신경망 모델 학습 방법
WO2024117708A1 (ko) 확산 모델을 이용한 얼굴 이미지 변환 방법
WO2024080791A1 (ko) 데이터셋을 생성하기 위한 방법
WO2023224350A2 (ko) 3차원 볼륨 영상으로부터 랜드마크를 검출하기 위한 방법 및 장치
WO2023101417A1 (ko) 딥러닝 기반의 강수량 예측 방법
WO2021246625A1 (ko) 개별 레이어의 예상 실행시간이 표시되는 의료영상 판독을 위한 인공지능 기반의 클라우드 플랫폼 시스템
WO2023048400A1 (ko) 심박변이도 특징 값을 추출하기 위한 방법
WO2022186594A1 (ko) 의료 영상 기반의 병변 분석 방법
WO2022114600A1 (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: 21833328

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022569520

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2021833328

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE