KR102632773B1 - System for split training of medical data, method therefor, and computer readable medium for performing the method - Google Patents

System for split training of medical data, method therefor, and computer readable medium for performing the method Download PDF

Info

Publication number
KR102632773B1
KR102632773B1 KR1020210129372A KR20210129372A KR102632773B1 KR 102632773 B1 KR102632773 B1 KR 102632773B1 KR 1020210129372 A KR1020210129372 A KR 1020210129372A KR 20210129372 A KR20210129372 A KR 20210129372A KR 102632773 B1 KR102632773 B1 KR 102632773B1
Authority
KR
South Korea
Prior art keywords
medical data
unit
central server
value
feature map
Prior art date
Application number
KR1020210129372A
Other languages
Korean (ko)
Other versions
KR20230047229A (en
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 KR1020210129372A priority Critical patent/KR102632773B1/en
Priority to PCT/KR2021/016408 priority patent/WO2023054800A1/en
Publication of KR20230047229A publication Critical patent/KR20230047229A/en
Application granted granted Critical
Publication of KR102632773B1 publication Critical patent/KR102632773B1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references

Landscapes

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

Abstract

병명을 가진 상기 의료데이터를 요청하는 중앙 서버; 및 중앙 서버로부터 수신한 의료데이터 요청신호에 따라 병명을 가진 원본 의료데이터를 선택하고, 선택된 원본 의료데이터의 특징맵을 추출하여 적어도 하나 이상의 훈련 의료데이터를 생성하는 의료기관 측에 마련된 적어도 하나 이상의 클라이언트 서버;를 포함하는 의료데이터 스플릿 학습 시스템을 제공한다.A central server requesting the medical data with the disease name; and at least one client server provided at the medical institution that selects original medical data with a disease name according to a medical data request signal received from the central server, extracts feature maps of the selected original medical data, and generates at least one training medical data. Provides a medical data split learning system including;

Description

의료데이터 스플릿 학습 시스템과 이의 제어방법 및 그 방법을 수행하기 위한 기록매체{SYSTEM FOR SPLIT TRAINING OF MEDICAL DATA, METHOD THEREFOR, AND COMPUTER READABLE MEDIUM FOR PERFORMING THE METHOD}Medical data split learning system, its control method, and recording medium for performing the method {SYSTEM FOR SPLIT TRAINING OF MEDICAL DATA, METHOD THEREFOR, AND COMPUTER READABLE MEDIUM FOR PERFORMING THE METHOD}

본 발명은 의료데이터 스플릿 학습 시스템과 이의 제어방법 및 그 방법을 수행하기 위한 기록매체에 관한 것으로, 보다 상세하게는 의료 데이터로부터 병명을 판단하도록 학습하는 의료데이터 스플릿 학습 시스템과 이의 제어방법 및 그 방법을 수행하기 위한 기록매체에 관한 것이다.The present invention relates to a medical data split learning system, a control method thereof, and a recording medium for performing the method. More specifically, a medical data split learning system that learns to determine the name of a disease from medical data, a control method thereof, and a method thereof. It relates to a recording medium for performing.

딥러닝은 사물이나 데이터를 군집화하거나 분류하는데 사용하는 기술이다. Deep learning is a technology used to cluster or classify objects or data.

딥러닝 기술은 학습시키는 데이터 표본의 개수가 결과의 정확성에 큰 영향을 준다. 그러므로 딥러닝을 위해서는 충분한 양의 데이터 확보와 데이터마이닝 작업이 선행되어야 한다. 데이터마이닝이란 데이터 안에서 수학모델 및 통계 기법 등을 활용하여 규칙 혹은 패턴을 찾아내는 일련의 작업으로, 데이터를 분류, 군집화하는데 사용하거나 데이터의 연관성, 연속성 등을 찾고 미래를 예측하는 것이 목적이다.In deep learning technology, the number of data samples used for training has a significant impact on the accuracy of the results. Therefore, for deep learning, securing a sufficient amount of data and data mining work must be done first. Data mining is a series of operations that find rules or patterns in data using mathematical models and statistical techniques. The purpose is to classify and cluster data, find correlation and continuity in data, and predict the future.

딥러닝은 각 자료의 가중치(weight)를 이용해 확률 계산을 하며, 그 과정을 여러 번 반복하여 결과의 정확성을 높인다. 축적된 데이터는 합성곱 신경망(Convolution Neural Network : CNN)을 사용하여 학습한다.Deep learning calculates probability using the weight of each data, and repeats the process several times to increase the accuracy of the results. The accumulated data is learned using a convolution neural network (CNN).

다만, 딥러닝 학습에 사용되는 데이터에 대하여 개인 정보 유출 문제가 발생할 수 있고, 충분한 양의 데이터 확보가 없다면 딥러닝 모델의 과적합(Overfitting)이 발생할 수 있다는 문제점이 존재한다.However, there is a problem that personal information leakage problems may occur with the data used for deep learning learning, and overfitting of the deep learning model may occur if a sufficient amount of data is not secured.

KR 10-2279376KR 10-2279376

본 발명이 해결하고자 하는 기술적 과제는 원본 의료데이터의 특징맵을 추출하고, 훈련 의료데이터를 생성하여 학습하는 의료데이터 스플릿 학습 시스템과 이의 제어방법 및 그 방법을 수행하기 위한 기록매체를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a medical data split learning system that extracts feature maps of original medical data, generates and learns training medical data, a control method thereof, and a recording medium for performing the method.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical challenge that this embodiment aims to achieve is not limited to the technical challenges described above, and other technical challenges may exist.

본 발명의 일측면은, 의료데이터로부터 병명을 판단하도록 학습하는 의료데이터 스플릿 학습 시스템에 있어서, 상기 병명과 관련된 의료데이터를 요청하는 중앙 서버; 및 의료기관 측에 마련된 적어도 하나 이상의 클라이언트 서버로서, 상기 클라이언트 서버는 상기 중앙 서버로부터 수신한 의료데이터 요청신호에 따라 상기 병명과 관련된 원본 의료데이터를 선택하고, 선택된 원본 의료데이터의 특징맵을 추출하여 적어도 하나 이상의 훈련 의료데이터를 생성하는 상기 클라이언트 서버;를 포함하되, 상기 중앙 서버는, 상기 클라이언트 서버로부터 상기 적어도 하나 이상의 훈련 의료데이터를 수집하고 학습하여 의료데이터로부터 병명을 판단하는 모델을 생성할 수 있다.One aspect of the present invention is a medical data split learning system that learns to determine a disease name from medical data, comprising: a central server that requests medical data related to the disease name; and at least one client server provided at the medical institution, wherein the client server selects original medical data related to the disease name according to a medical data request signal received from the central server, extracts a feature map of the selected original medical data, and extracts at least a feature map of the selected original medical data. The client server generates one or more training medical data; wherein the central server collects and learns the at least one training medical data from the client server to generate a model for determining the name of the disease from the medical data. .

또한, 상기 클라이언트 서버와 상기 중앙 서버는 CNN 알고리즘을 수행하되, 상기 클라이언트 서버는 상기 훈련 의료데이터를 생성하는 1개의 Hidden Layer로 마련되는 은닉부를 포함하고, 상기 중앙 서버는 상기 적어도 하나 이상의 훈련 의료데이터를 수집하여 학습하는 제어부를 포함하되, 상기 제어부는 적어도 하나 이상의 Hidden Layer로 마련될 수 있다.In addition, the client server and the central server perform a CNN algorithm, wherein the client server includes a hiding unit provided as one Hidden Layer that generates the training medical data, and the central server generates the at least one training medical data. It includes a control unit that collects and learns, and the control unit may be provided with at least one hidden layer.

또한, 상기 제어부는, 적어도 하나 이상의 클라이언트 서버로부터 특징맵을 수신하여 합산하고, 합산 값을 컨벌루션 연산하여 특징맵을 재생성하는 특징맵 연산부; 상기 특징맵 연산부가 재생성한 특징맵을 활성화 함수의 입력값으로 입력하여 연산하는 활성화 함수 연산부; 상기 활성화 함수 연산부의 연산값에 대하여 Max Pooling 연산을 이용하여 차원을 축소하는 풀링 연산부; 상기 풀링 연산부의 연산값과 미리 정해진 목표 출력값을 이용하여 손실값을 연산하는 손실값 연산부; 및 상기 손실값의 연산을 통해 각 연산부의 매개변수에 대한 수정 값을 획득하는 수정값 획득부;를 포함할 수 있다.In addition, the control unit includes a feature map operation unit that receives feature maps from at least one client server, adds them, and performs a convolution operation on the summed values to regenerate the feature map; an activation function calculation unit that operates by inputting the feature map regenerated by the feature map calculation unit as an input value of an activation function; a pooling operation unit that reduces the dimension of the operation value of the activation function operation unit using a Max Pooling operation; a loss value calculation unit that calculates a loss value using the calculation value of the pooling calculation unit and a predetermined target output value; and a correction value acquisition unit that obtains correction values for the parameters of each calculation unit through calculation of the loss value.

또한, 상기 중앙 서버는, 상기 수정값 획득부로부터 획득한 매개 변수에 대한 수정값을 이용하여 상기 매개 변수에 대한 업데이트를 수행하는 매개변수 업데이트부;를 더 포함할 수 있다.In addition, the central server may further include a parameter update unit that updates the parameter using a correction value for the parameter obtained from the correction value acquisition unit.

또한, 상기 활성화 함수 연산부는, Sigmoid 함수 또는 ReLu함수를 이용하여 상기 특징벡터를 연산할 수 있다.Additionally, the activation function calculation unit may calculate the feature vector using the Sigmoid function or the ReLu function.

본 발명의 다른 일측면은, 의료데이터로부터 병명을 판단하도록 학습하는 의료데이터 스플릿 학습 시스템의 제어방법에 있어서, 중앙 서버는 상기 병명과 관련된 의료데이터를 요청하고, 의료기관 측에 마련된 적어도 하나 이상의 클라이언트 서버는 상기 중앙 서버로부터 수신한 의료데이터 요청신호에 따라 상기 병명과 관련된 원본 의료데이터를 선택하며, 선택된 원본 의료데이터의 특징맵을 추출하여 적어도 하나 이상의 훈련 의료데이터를 생성하고, 상기 중앙 서버는 상기 적어도 하나 이상의 클라이언트 서버로부터 상기 적어도 하나 이상의 훈련 의료데이터를 수집하고 학습하여 상기 의료데이터로부터 병명을 판단하는 모델을 생성할 수 있다.Another aspect of the present invention is a control method of a medical data split learning system that learns to determine a disease name from medical data, wherein the central server requests medical data related to the disease name, and at least one client server provided at the medical institution Selects original medical data related to the disease name according to a medical data request signal received from the central server, extracts a feature map of the selected original medical data, and generates at least one training medical data, and the central server The at least one training medical data can be collected and learned from one or more client servers to create a model that determines the name of the disease from the medical data.

또한, 상기 중앙 서버가 상기 적어도 하나 이상의 클라이언트 서버로부터 상기 적어도 하나 이상의 훈련 의료데이터를 수집하여 학습하는 것은, 특징맵 연산부가 적어도 하나 이상의 클라이언트 서버로부터 특징맵을 수신하여 합산하고, 합산 값을 컨벌루션 연산하여 특징맵을 재생성하고, 활성화 함수 연산부가 상기 특징맵 연산부가 재생성한 특징맵을 활성화 함수의 입력값으로 입력하여 연산하며, 풀링 연산부가 상기 활성화 함수 연산부의 연산값에 대하여 Max Pooling 연산을 이용하여 차원을 축소하고, 손실값 연산부가 상기 풀링 연산부의 연산값과 미리 정해진 목표 출력값을 이용하여 손실값을 연산하며, 수정값 획득부가 상기 손실값의 연산을 통해 각 연산부의 매개변수에 대한 수정 값을 획득할 수 있다.In addition, the central server collects and learns the at least one training medical data from the at least one client server, where the feature map operation unit receives the feature maps from the at least one client server, adds them, and performs a convolution operation on the summed value. The feature map is regenerated, the activation function operation unit inputs the feature map regenerated by the feature map operation unit as the input value of the activation function and operates, and the pooling operation unit uses Max Pooling operation for the operation value of the activation function operation unit. The dimensionality is reduced, the loss calculation unit calculates the loss value using the calculation value of the pooling calculation unit and a predetermined target output value, and the correction value acquisition unit calculates the correction value for the parameters of each calculation unit through the calculation of the loss value. It can be obtained.

또한, 매개변수 업데이트부가 상기 수정값 획득부로부터 획득한 매개 변수에 대한 수정값을 이용하여 상기 매개 변수에 대한 업데이트를 수행하는 것을 더 포함할 수 있다.In addition, the parameter updater may further include performing an update on the parameter using a correction value for the parameter obtained from the correction value acquisition unit.

본 발명의 또 다른 일측면은, 컴퓨터로 판독 가능한 저장 매체에는 의료데이터 스플릿 학습 시스템의 제어방법을 수행하기 위한 컴퓨터 프로그램이 기록될 수 있다.In another aspect of the present invention, a computer program for performing a control method of a medical data split learning system may be recorded on a computer-readable storage medium.

상술한 본 발명의 일측면에 따르면, 복수개의 클라이언트 서버로부터 원본 의료데이터의 특징맵을 수신하여 중앙 서버가 학습하므로, 개인 정보 유출 방지 및 딥러닝 모델의 과적합(Overfitting) 문제점을 해결할 수 있다.According to one aspect of the present invention described above, the central server learns by receiving feature maps of original medical data from a plurality of client servers, thereby preventing personal information leakage and solving overfitting problems of deep learning models.

도1은 본 발명의 일 실시예에 따른 의료데이터 스플릿 학습 시스템을 나타내는 개념도이다.
도2는 클라이언트 서버의 제어블록도를 나타내는 개념도이다.
도3은 중앙 서버의 제어블록도를 나타내는 개념도이다.
도4는 CNN 알고리즘이 클라이언트 서버와 중앙 서버에서 분리되어 수행되는 과정을 나타내는 도면이다.
도5는 원본 데이터와 훈련 데이터를 나타내는 도면이다.
도6은 Covid-19의 확진 판별 정확도를 나타내는 표이다.
도7은 골절 판별 정확도를 나타내는 표이다.
도8 내지 도9는 손실값 연산부가 연산한 손실값을 나타낸 표이다.
도10은 본 발명의 일 실시예에 따른 의료데이터 스플릿 학습 시스템의 제어방법을 나타내는 전체적인 흐름도이다.
Figure 1 is a conceptual diagram showing a medical data split learning system according to an embodiment of the present invention.
Figure 2 is a conceptual diagram showing a control block diagram of a client server.
Figure 3 is a conceptual diagram showing a control block diagram of the central server.
Figure 4 is a diagram showing the process in which the CNN algorithm is performed separately on the client server and the central server.
Figure 5 is a diagram showing original data and training data.
Figure 6 is a table showing the accuracy of confirming Covid-19.
Figure 7 is a table showing fracture discrimination accuracy.
8 to 9 are tables showing loss values calculated by the loss value calculation unit.
Figure 10 is an overall flowchart showing the control method of the medical data split learning system according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The detailed description of the invention described below refers to the accompanying drawings, which show by way of example specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the invention are different from one another but are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein may be implemented in one embodiment without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description that follows is not intended to be taken in a limiting sense, and the scope of the invention is limited only by the appended claims, together with all equivalents to what those claims assert, if properly described. Similar reference numbers in the drawings refer to identical or similar functions across various aspects.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도1은 본 발명의 일 실시예에 따른 의료데이터 스플릿 학습 시스템을 나타내는 개념도이다.Figure 1 is a conceptual diagram showing a medical data split learning system according to an embodiment of the present invention.

의료데이터 스플릿 학습 시스템(1)은 클라이언트 서버(100) 및 중앙 서버(200)를 포함할 수 있다.The medical data split learning system 1 may include a client server 100 and a central server 200.

의료데이터 스플릿 학습 시스템(1)은 딥러닝 학습 알고리즘을 기초로 의료데이터로부터 병명을 판단하도록 학습하는 시스템일 수 있다.The medical data split learning system 1 may be a system that learns to determine the name of the disease from medical data based on a deep learning learning algorithm.

의료데이터는 환자의 내시경 이미지, CT 및 MRI 이미지 등을 포함할 수 있다. 병명판단은 COVID-19 확진여부, 골절여부, 콜레스테롤 수치 등을 포함할 수 있다. 딥러닝 학습 알고리즘은 심층 신경망 (Deep Neural Network, DNN), 합성곱 신경망(Convolutional Neural Network, CNN), 순환 신경망(Recurrent Neural Network, RNN), 제한 볼츠만 머신 (Restricted Boltzmann Machine, RBM), 심층 신뢰 신경망 (Deep Belief Network, DBN), 심층 Q-네트워크 (Deep Q-Networks) 등의 알고리즘들이 있다. 이 때, 의료데이터 스플릿 학습 시스템(1)은 합성곱 신경망(Convolutional Neural Network, CNN)을 기초로 학습하는 시스템일 수 있다.Medical data may include patient's endoscopic images, CT and MRI images, etc. Determination of the disease name may include confirmation of COVID-19, presence of fractures, cholesterol level, etc. Deep learning learning algorithms include Deep Neural Network (DNN), Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), and Deep Trust Neural Network. There are algorithms such as Deep Belief Network (DBN) and Deep Q-Networks. At this time, the medical data split learning system 1 may be a system that learns based on a convolutional neural network (CNN).

중앙 서버(200)는 질병을 나타내는 MRI, CT 이미지의 의료데이터를 적어도 하나 이상의 클라이언트 서버(100)에 요청할 수 있다. 클라이언트 서버(100)는 중앙 서버(200)로부터 수신한 의료데이터 요청신호에 따라 해당 질병을 나타내는 원본 의료데이터를 선택할 수 있다. 이 때, 원본 의료데이터는 클라이언트 서버(100)에 저장된 것일 수 있다. 클라이언트 서버(100)는 원본 의료데이터로부터 특징맵을 추출하여 중앙 서버(200)에 전송할 수 있다. 이 때, 추출된 특징맵은 중앙 서버(200)의 훈련 의료데이터로 이용될 수 있는 것이다. 이 때, 복수개의 클라이언트 서버(100)간에는 개인정보 보호를 위해 원본 의료데이터를 송수신하지 않는다.The central server 200 may request medical data of MRI and CT images indicating disease from at least one client server 100. The client server 100 may select original medical data representing the corresponding disease according to the medical data request signal received from the central server 200. At this time, the original medical data may be stored in the client server 100. The client server 100 may extract a feature map from the original medical data and transmit it to the central server 200. At this time, the extracted feature map can be used as training medical data for the central server 200. At this time, original medical data is not transmitted or received between the plurality of client servers 100 to protect personal information.

클라이언트 서버(100)에서는 CNN 알고리즘 중에서 특징맵을 추출하는 과정만 수행될 수 있고, 중앙 서버(200)에서는 특징맵을 추출하고, 활성화 함수를 이용하여 변환할 수 있으며, 풀링 연산을 통해 차원을 축소할 수 있는 CNN 알고리즘이 수행될 수 있다.The client server 100 can only perform the process of extracting a feature map from the CNN algorithm, and the central server 200 can extract the feature map, transform it using an activation function, and reduce the dimension through a pooling operation. A CNN algorithm that can be performed can be performed.

클라이언트 서버(100)에서 이루어지는 CNN 알고리즘은 1개의 Hidden Layer에서 수행되고, 중앙 서버(200)에서 이루어지는 CNN 알고리즘은 적어도 1개 이상의 Hidden Layer에서 수행될 수 있는 것이다.The CNN algorithm performed in the client server 100 can be performed in one hidden layer, and the CNN algorithm performed in the central server 200 can be performed in at least one hidden layer.

도2는 클라이언트 서버의 제어블록도를 나타내는 개념도이다.Figure 2 is a conceptual diagram showing a control block diagram of a client server.

클라이언트 서버(100)는 입력부(110), 통신부(120), 제어부(130), 저장부(140) 및 출력부(150)를 포함할 수 있고, 제어부(130)는 의료데이터 선택부(131) 및 은닉부(132)를 포함할 수 있다.The client server 100 may include an input unit 110, a communication unit 120, a control unit 130, a storage unit 140, and an output unit 150, and the control unit 130 includes a medical data selection unit 131. and a hidden portion 132.

입력부(110)는 병원 측으로부터 환자 개개인의 의료데이터가 입력될 수 있다. The input unit 110 can input medical data of individual patients from the hospital.

통신부(120)는 중앙 서버(200)와 통신할 수 있고, 훈련 의료데이터를 중앙 서버(200)에 전송하도록 마련될 수 있다.The communication unit 120 may communicate with the central server 200 and may be configured to transmit training medical data to the central server 200.

저장부(140)는 입력부(110)로부터 입력된 의료데이터가 저장될 수 있다.The storage unit 140 may store medical data input from the input unit 110.

출력부(150)는 원본 의료데이터로부터 추출된 특징맵을 출력할 수 있다.The output unit 150 may output a feature map extracted from original medical data.

의료 데이터 선택부(131)는 중앙 서버(200)로부터 수신한 요청신호에 따라 요청받은 원본 의료데이터를 선택할 수 있다.The medical data selection unit 131 may select original medical data requested according to a request signal received from the central server 200.

은닉부(132)는 CNN 알고리즘이 수행될 수 있다. 은닉부(132)는 CNN 알고리즘이 수행될 수 있도록 Input Layer와 1개의 Hidden Layer로 마련될 수 있다. Input Layer에 CNN 알고리즘이 수행될 원본 의료데이터가 입력될 수 있다. Hidden Layer에서 입력된 원본 의료데이터에 대한 특징맵(feature map)을 추출하여 원본 의료데이터를 변형시킬 수 있다. 이를 통해, 원본 의료데이터의 보호가 가능하다. 특징맵(fc)을 추출하는 과정은 아래의 수학식 1을 통해 이루어진다.A CNN algorithm may be performed on the hidden portion 132. The hidden portion 132 may be provided with an input layer and one hidden layer so that the CNN algorithm can be performed. Original medical data on which the CNN algorithm will be performed can be input into the input layer. The original medical data can be transformed by extracting the feature map for the original medical data input from the Hidden Layer. Through this, it is possible to protect original medical data. The process of extracting the feature map (fc) is done through Equation 1 below.

[수학식 1][Equation 1]

여기에서, l은 레이어를 의미하고, size^l은 레이어의 사이즈를 의미하며, In은 input data의 수를 의미하고, Ia는 label의 수를 의미하며, O는 Output Convolution Layer를 의미하고, w는 가중치를 의미하며, b는 특징맵의 편향 bias를 의미한다. Here, l means the layer, size^l means the size of the layer, In means the number of input data, Ia means the number of labels, O means the Output Convolution Layer, and w means the weight, and b means the bias of the feature map.

도3은 중앙 서버의 제어블록도를 나타내는 개념도이다.Figure 3 is a conceptual diagram showing a control block diagram of the central server.

중앙 서버(200)는 통신부(210), 제어부(220), 저장부(230) 및 출력부(240)를 포함할 수 있고, 제어부(220)는 특징맵 연산부(221), 활성화 함수 연산부(222), 풀링 연산부(223), 손실값 연산부(224), 수정값 획득부(225) 및 매개변수 업데이트부(226)를 포함할 수 있다.The central server 200 may include a communication unit 210, a control unit 220, a storage unit 230, and an output unit 240, and the control unit 220 includes a feature map calculation unit 221 and an activation function calculation unit 222. ), a pooling operation unit 223, a loss value calculation unit 224, a correction value acquisition unit 225, and a parameter update unit 226.

통신부(210)는 클라이언트 서버(100)와 통신할 수 있고, 복수개의 클라이언트 서버(200)로부터 수신한 특징맵을 수신할 수 있다.The communication unit 210 can communicate with the client server 100 and receive feature maps received from a plurality of client servers 200.

제어부(220)는 클라이언트 서버(100)로부터 적어도 하나 이상의 훈련 의료데이터를 수집하고 학습하여 의료데이터로부터 병명을 판단하는 모델을 생성할 수 있다.The control unit 220 may collect and learn at least one training medical data from the client server 100 to create a model that determines the name of the disease from the medical data.

출력부(240)는 학습한 결과로서 입력된 의료데이터로부터 판단된 병명을 출력할 수 있다.The output unit 240 may output the name of the disease determined from the input medical data as a result of learning.

저장부(230)는 학습한 결과로서, 특정 병명을 가진 의료데이터와 특정 병명을 매칭하여 저장할 수 있다.As a result of learning, the storage unit 230 can match medical data with a specific disease name with the specific disease name and store it.

특징맵 연산부(221)는 복수개의 클라이언트 서버(200)로부터 수신한 특징맵을 컨캐터네이팅(Concatenating)할 수 있다. 특징맵 연산부(221)는 컨캐터네이팅한 특징맵을 컨벌루션 연산을 수행하여, 특징맵을 재생성할 수 있다. 특징맵 연산부(221)가 특징맵을 재생성하는 과정은 아래의 수학식 2를 통해 이루어질 수 있다.The feature map calculation unit 221 may concatenate feature maps received from a plurality of client servers 200. The feature map calculation unit 221 may perform a convolution operation on the concatenated feature map to regenerate the feature map. The process by which the feature map calculation unit 221 regenerates the feature map can be accomplished through Equation 2 below.

[수학식 2][Equation 2]

(1) (One)

(2) (2)

(1)은 복수개의 클라이언트 서버(100)로부터 수신한 특징맵을 컨캐터네이팅하는 과정을 나타내는 식이다.(1) is an expression that represents the process of concatenating feature maps received from a plurality of client servers 100.

(2)는 컨캐터네이팅한 특징맵을 이용하여 컨벌루션 연산을 수행한 결과값을 나타낸 식이다. 즉, (2)는 재생성된 특징맵을 의미할 수 있다.(2) is an equation showing the result of performing a convolution operation using the concatenated feature map. That is, (2) may mean a regenerated feature map.

이 때, In은 input data의 수이고, Ia는 label의 수이며, O는 Output Convolution Layer이고, w는 가중치를 의미한다.At this time, In is the number of input data, Ia is the number of labels, O is the Output Convolution Layer, and w means the weight.

활성화 함수 연산부(222)는 특징맵 연산부(221)가 재생성한 특징맵을 활성화 함수의 입력값으로 입력하여 연산할 수 있다. 이 때, 활성화 함수로 Sigmoid 함수 또는 ReLu함수를 이용할 수 있다. The activation function calculation unit 222 may perform calculations by inputting the feature map regenerated by the feature map calculation unit 221 as an input value of the activation function. At this time, the Sigmoid function or ReLu function can be used as the activation function.

본 발명에서는 의료데이터가 MURA(MUsculoskeletal Radiographs), COVID-19에 관한 CT데이터인 경우에는 Sigmoid 함수를 이용하였고, Cholesterol에 관한 데이터인 경우에는 ReLu함수를 이용하였다.In the present invention, the Sigmoid function was used when the medical data was MURA (MUSculoskeletal Radiographs) and CT data related to COVID-19, and the ReLu function was used when the medical data was data related to Cholesterol.

풀링 연산부(223)는 활성화 함수 연산부(222)의 연산값에 대하여 Max Pooling 연산을 이용하여 차원을 축소할 수 있다. 풀링 연산부(223)의 목적은 데이터의 차원의 크기를 축소하기 위한 것이다. 즉, 풀링 연산은 데이터에서 세로 및 가로 방향 공간의 크기를 줄이는 연산이다. 풀링 연산 방법은 다양한 형식(예: 평균, 중간 값, 최댓값, 최소값 등)이 있고, 본 발명의 실시예에서 이용하는 풀링 방법은 최댓값 풀링 연산이다. 최댓값 풀링 연산(max polling)을 이용하여 이미지의 제한 영역에서 최댓값을 추출하고, 데이터의 잡음을 제거할 수 있으며, 데이터가 줄어드는 과정에서 오버 피팅(over fitting)을 방지할 수 있다. 풀링 연산은 아래의 수학식3을 통해 이루어질 수 있다.The pooling operator 223 can reduce the dimension of the operation value of the activation function operator 222 using Max Pooling operation. The purpose of the pooling operation unit 223 is to reduce the size of the data dimension. In other words, the pooling operation is an operation that reduces the size of the vertical and horizontal space in data. There are various types of pooling operation methods (e.g., average, median, maximum value, minimum value, etc.), and the pooling method used in the embodiment of the present invention is the maximum value pooling operation. Using the maximum value pooling operation (max polling), the maximum value can be extracted from a limited area of the image, noise in the data can be removed, and over fitting can be prevented during the data reduction process. Pooling operation can be performed through Equation 3 below.

[수학식 3][Equation 3]

여기서, x는 풀링 레이어에서 입력되는 행렬을 의미하고, l은 레이어를 의미하며, i는 행렬에 마련된 행을 의미하고, j는 행렬에 마련된 열을 의미하며, size^l은 레이어의 사이즈를 의미한다. Im은 풀링 레이어의 Input data의 개수이며, Ia는 label의 개수를 의미할 수 있다.Here, x refers to the matrix input from the pooling layer, l refers to the layer, i refers to the row provided in the matrix, j refers to the column provided in the matrix, and size^l refers to the size of the layer. do. Im is the number of input data of the pooling layer, and Ia may mean the number of labels.

손실값 연산부(224)는 풀링 연산부(223)의 연산값과 미리 정해진 목표 출력값을 이용하여 손실값을 연산할 수 있다. 손실값 연산은 아래의 수학식 4의 MSLE, 수학식 5의 RMSLE 또는 수학식 6의 sMAPE를 이용하여 연산할 수 있다. 이 때, 미리 정해진 목표 출력값은 GT(Ground Truth)일 수 있다. 이 때, GT는 원본 의료데이터를 중앙 서버(200)의 Hidden Layer에서 컨벌루션 연산을 수행하고, 컨벌루션 연산값을 기초로 Max Pooling을 수행한 값일 수 있다.The loss value calculation unit 224 may calculate the loss value using the calculation value of the pooling calculation unit 223 and a predetermined target output value. The loss value can be calculated using MSLE in Equation 4 below, RMSLE in Equation 5, or sMAPE in Equation 6 below. At this time, the predetermined target output value may be GT (Ground Truth). At this time, GT may be a value obtained by performing a convolution operation on the original medical data in the hidden layer of the central server 200 and performing Max Pooling based on the convolution operation value.

[수학식 4][Equation 4]

[수학식 5][Equation 5]

[수학식 6][Equation 6]

는 풀링 연산부(223)의 연산값을 의미하고, 는 미리 정해진 목표 출력값을 의미한다. means the operation value of the pooling operation unit 223, means a predetermined target output value.

수정값 획득부(225)는 손실값으로부터 각 연산부의 매개변수에 대한 수정 값을 획득할 수 있다. 이 때, 각 연산부의 매개변수는 w인 가중치를 의미할 수 있다.The correction value acquisition unit 225 may obtain correction values for the parameters of each calculation unit from the loss value. At this time, the parameter of each operation unit may mean a weight of w.

매개변수 업데이트부(226)는 수정값 획득부(225)로부터 획득한 매개 변수에 대한 수정값을 이용하여 매개 변수를 업데이트할 수 있다. 업데이트된 매개 변수를 이용하여 의료데이터 스플릿 학습 시스템(1)의 학습을 재수행할 수 있다.The parameter update unit 226 may update the parameter using the correction value for the parameter obtained from the correction value acquisition unit 225. Training of the medical data split learning system (1) can be re-performed using the updated parameters.

도4는 CNN 알고리즘이 클라이언트 서버와 중앙 서버에서 분리되어 수행되는 과정을 나타내는 도면이다.Figure 4 is a diagram showing the process in which the CNN algorithm is performed separately on the client server and the central server.

Hospital 1 부터 Hospital N은 복수개의 클라이언트 서버(100)로서 복수개의 병원측에 마련된 서버를 나타낸다. Centralized Server는 중앙 서버(200)를 의미할 수 있다. 복수개의 클라이언트 서버(100)는 Medical Data인 원본 의료데이터를 저장할 수 있다.Hospital 1 to Hospital N represent a plurality of client servers 100, which represent servers provided at a plurality of hospitals. Centralized Server may refer to the central server 200. The plurality of client servers 100 may store original medical data, which is medical data.

CNN 알고리즘은 클라이언트 서버(100)와 중앙 서버(200)에서 일련의 과정으로 수행될 수 있다. CNN 알고리즘을 구현하기 위해 Input Layer, 복수개의 Hidden Layer 및 Output Layer로 마련될 수 있다. 이 때, Input Layer와 1개의 Hidden Layer는 클라이언트 서버(100)에 마련되어 있고, 복수개의 Hidden Layer와 Output Layer는 중앙 서버(200)에 마련될 수 있다.The CNN algorithm can be performed as a series of processes in the client server 100 and the central server 200. To implement the CNN algorithm, it can be prepared with an input layer, multiple hidden layers, and an output layer. At this time, an input layer and one hidden layer may be provided in the client server 100, and a plurality of hidden layers and an output layer may be provided in the central server 200.

클라이언트 서버(100)에 마련된 Input Layer에 원본 의료데이터가 선택되어 입력되고, Hidden Layer에서 컨벌루션 연산을 통해 원본 의료데이터의 특징맵을 추출할 수 있다. Original medical data is selected and input into the input layer provided in the client server 100, and the feature map of the original medical data can be extracted through convolution operation in the hidden layer.

복수개의 클라이언트 서버(100)는 중앙 서버(200)에 추출된 특징맵을 전송하고, 중앙 서버(200)에 마련된 Hidden Layer에서 컨벌루션 연산, 활성화 함수 연산, 풀링 연산, 손실값 연산, 수정값 연산이 이루어질 수 있다. The plurality of client servers 100 transmit the extracted feature maps to the central server 200, and perform convolution operation, activation function operation, pooling operation, loss value operation, and correction value operation in the hidden layer provided in the central server 200. It can be done.

도5는 원본 데이터와 훈련 데이터를 나타내는 도면이다.Figure 5 is a diagram showing original data and training data.

도5는 COVID-19의 흉부 CT데이터를 나타내고 있다. (a)는 클라이언트 서버(100)의 저장부에 저장된 원본은 COVID-19의 흉부 CT 데이터를 의미할 수 있다. (b)는 클라이언트 서버(100)가 원본 의료데이터의 특징맵을 추출하여 생성한 변형된 COVID-19의 흉부 CT데이터인, 훈련 의료데이터를 의미할 수 있다. 따라서, 훈련 의료데이터를 생성하여 개인 정보를 보호할 수 있는 것이다.Figure 5 shows chest CT data of COVID-19. (a) may refer to the original COVID-19 chest CT data stored in the storage of the client server 100. (b) may refer to training medical data, which is modified COVID-19 chest CT data generated by the client server 100 by extracting the feature map of the original medical data. Therefore, personal information can be protected by generating training medical data.

도6은 Covid-19의 확진 판별 정확도를 나타내는 표이다.Figure 6 is a table showing the accuracy of confirming Covid-19.

실선은 본 발명의 실시예인 클라이언트 서버(100)와 중앙 서버(200)가 시공간적으로 분리되어 학습하는 의료데이터 스플릿 학습 시스템(1)에서 학습을 수행한 값을 의미할 수 있고, 점선은 클라이언트 서버(100)에서만 학습을 수행한 값을 의미할 수 있다.The solid line may represent the value learned by the medical data split learning system (1) in which the client server 100 and the central server 200, which are an embodiment of the present invention, learn in a spatial and temporal separation, and the dotted line represents the value learned by the client server ( 100) can only mean the value of learning.

세로축은 CT데이터로부터 Covid-19 확진을 판별한 정확도(%)를 의미하고, 가로축은 학습 반복 횟수인 Epoch 수를 의미한다. 실선은 적은 Epoch 수인 경우에도 Covid-19의 확진 판별 정확도가 높은 수치를 나타내는 것을 알 수 있다.The vertical axis represents the accuracy (%) of determining Covid-19 confirmation from CT data, and the horizontal axis represents the number of Epochs, which is the number of learning repetitions. The solid line shows that even with a small number of epochs, the accuracy of confirming Covid-19 is high.

또한, COVID-19의 CT 데이터로서, batch size는 64를 이용하였고, input size로서는 64*64*1을 이용하였으며, 활성화 함수로서는 sigmoid 함수를 이용하였다.In addition, as the CT data of COVID-19, the batch size was 64, the input size was 64*64*1, and the sigmoid function was used as the activation function.

도7은 골절 판별 정확도를 나타내는 표이다.Figure 7 is a table showing fracture discrimination accuracy.

Spatio-temporal은 본 발명의 실시예인 클라이언트 서버(100)와 중앙 서버(200)가 시공간적으로 분리되어 학습하는 의료데이터 스플릿 학습 시스템(1)에서 학습을 수행한 값을 의미할 수 있고, Single-client는 클라이언트 서버(100)에서만 학습을 수행한 값을 의미할 수 있다.Spatio-temporal may refer to a value learned in the medical data split learning system (1) in which the client server 100 and the central server 200, which are an embodiment of the present invention, learn separately in space and time, and Single-client may mean a value learned only by the client server 100.

세로축은 MURA 데이터로부터 골절여부를 판별한 정확도(%)를 의미하고, 가로축은 골절부위를 의미한다.The vertical axis represents the accuracy (%) of determining fracture from MURA data, and the horizontal axis represents the fracture site.

Spatio-temporal의 경우가 finger, elbow, forearm, hand, humerus, shoulder 및 wrist 부위의 골절여부를 판별한 정확도가 Single-client보다 골절 판별 정확도가 더 높은 수치를 나타내는 것을 알 수 있다.In the case of spatio-temporal, it can be seen that the accuracy of determining fractures in the finger, elbow, forearm, hand, humerus, shoulder, and wrist areas is higher than that of single-client.

또한, MURA 데이터로서 Epoch는 50, batch size로서는 128, input size로서는 224*224*1 및 활성화 함수로서는 sigmoid 함수를 이용하였다.Additionally, as MURA data, Epoch was 50, batch size was 128, input size was 224*224*1, and sigmoid function was used as activation function.

도8 내지 도9는 손실값 연산부가 연산한 손실값을 나타낸 표이다.8 to 9 are tables showing loss values calculated by the loss value calculation unit.

복수개의 클라이언트 서버(100)로부터 수신한 콜레스테롤 수치를 기초로 목표 출력값과 실제 연산값을 이용하여 손실값을 계산한 결과를 나타내는 표이다.This table shows the results of calculating loss values using target output values and actual calculation values based on cholesterol levels received from a plurality of client servers 100.

도8은 수학식 4 내지 수학식 6을 기초로 손실값 연산부(224)가 손실값을 연산하는 과정을 기초로 CDF를 측정한 표를 나타내었다. 도8을 참조하면, 실선은 본 발명의 실시예인 클라이언트 서버(100)와 중앙 서버(200)가 시공간적으로 분리되어 학습하는 의료데이터 스플릿 학습 시스템(1)에서 학습을 수행한 값을 의미할 수 있고, 점선은 클라이언트 서버(100)에서만 학습을 수행한 값을 의미할 수 있다.Figure 8 shows a table measuring CDF based on the process of the loss value calculation unit 224 calculating the loss value based on Equation 4 to Equation 6. Referring to FIG. 8, the solid line may indicate a value learned in the medical data split learning system 1, in which the client server 100 and the central server 200, which are an embodiment of the present invention, learn separately in time and space. , the dotted line may mean a value learned only by the client server 100.

CDF(Cumulative Distribution Function)란, 누적 분포 함수로서 주어진 확률 변수가 특정 값보다 작거나 같은 확률을 나타내는 함수를 의미한다.CDF (Cumulative Distribution Function) is a cumulative distribution function that indicates the probability that a given random variable is less than or equal to a specific value.

그래프의 시작 부분에 가파른 기울기를 갖는다는 것은 낮은 값의 손실 분포가 크다는 것을 의미할 수 있고, 이는 목표 출력값에 가까운 실제 연산값을 나타내는 것을 의미한다. (a) 내지 (c)에서 표시하고 있는 실선이 목표 출력값에 가까운 실제 연산값을 나타내는 것을 알 수 있다.Having a steep slope at the beginning of the graph may mean that the loss distribution of low values is large, which means that it represents the actual operation value close to the target output value. It can be seen that the solid line shown in (a) to (c) represents the actual calculated value close to the target output value.

도9는 수학식 4 내지 수학식 6을 기초로 손실값 연산부(224)가 손실값을 연산하는 과정을 기초로 PDF를 측정한 표를 나타내었다. 도9를 참조하면, 실선은 본 발명의 실시예인 클라이언트 서버(100)와 중앙 서버(200)가 시공간적으로 분리되어 학습하는 의료데이터 스플릿 학습 시스템(1)에서 학습을 수행한 값을 의미할 수 있고, 점선은 클라이언트 서버(100)에서만 학습을 수행한 값을 의미할 수 있다.Figure 9 shows a table measuring PDF based on the process of the loss value calculation unit 224 calculating the loss value based on Equation 4 to Equation 6. Referring to FIG. 9, the solid line may represent a value learned in the medical data split learning system 1, in which the client server 100 and the central server 200, which are an embodiment of the present invention, learn separately in time and space. , the dotted line may mean a value learned only by the client server 100.

PDF(Probability Density Function)란, 확률 밀도 함수로서 연속적인 변수에 의한 확률 분포 함수를 의미하며, 이는 특정 확률 변수 구간의 확률이 다른 구간에 비해 상대적으로 얼마나 높은지를 나타내는 함수를 의미한다.PDF (Probability Density Function) is a probability density function and refers to a probability distribution function based on continuous variables. It refers to a function that indicates how relatively high the probability of a specific random variable interval is compared to other intervals.

(a) 내지 (c)에서는 본 발명의 실시예인 클라이언트 서버(100)와 중앙 서버(200)가 시공간적으로 분리되어 학습하는 의료데이터 스플릿 학습 시스템(1)으로 수행한 결과 값이 낮은 손실 값에 가까운 높은 확률을 나타내고 있는 것을 알 수 있다.In (a) to (c), the result value performed by the medical data split learning system (1), in which the client server 100 and the central server 200, which are an embodiment of the present invention, learn separately in space and time, is close to the low loss value. It can be seen that the probability is high.

또한, 콜레스테롤 수치 데이터로서 Epoch는 200, batch size로서 2048, input data로서 326032 및 활성화 함수로서 ReLu함수를 이용하였다.Additionally, as the cholesterol level data, Epoch was 200, batch size was 2048, input data was 326032, and ReLu function was used as the activation function.

도10은 본 발명의 일 실시예에 따른 의료데이터 스플릿 학습 시스템의 제어방법을 나타내는 전체적인 흐름도이다.Figure 10 is an overall flowchart showing the control method of the medical data split learning system according to an embodiment of the present invention.

중앙 서버(200)는 복수개의 클라이언트 서버(100)에 특정 병명을 가진 의료데이터를 요청할 수 있다. 복수개의 클라이언트 서버(100)는 요청받은 병명을 가진 원본 의료데이터를 선택하고, 선택된 원본 의료데이터의 특징맵을 추출하며, 추출된 특징맵을 중앙 서버(200)에 전송할 수 있다.The central server 200 may request medical data with a specific disease name from a plurality of client servers 100. The plurality of client servers 100 may select original medical data with the requested disease name, extract feature maps of the selected original medical data, and transmit the extracted feature maps to the central server 200.

중앙 서버(200)는 복수개의 클라이언트 서버(100)로부터 수신한 특징맵을 합산하고, 합산한 특징맵에 대하여 컨벌루션 연산을 수행해 특징맵을 재생성할 수 있다.The central server 200 may add up the feature maps received from a plurality of client servers 100 and perform a convolution operation on the summed feature maps to regenerate the feature maps.

중앙 서버(200)는 재생성된 특징맵을 활성화 함수에 대입하고, 활성화 함수로부터 획득한 출력값을 이용하여 풀링 연산하며, 풀링 연산값과 미리 정해진 목표 출력값을 이용해 손실값을 연산할 수 있다. 중앙 서버(200)는 연산된 손실값을 이용해 매개변수에 대한 수정값을 획득할 수 있고, 획득된 매개변수 값으로 재학습하는 과정을 수행할 수 있다. The central server 200 may substitute the regenerated feature map into the activation function, perform a pooling operation using the output value obtained from the activation function, and calculate a loss value using the pooling operation value and a predetermined target output value. The central server 200 can obtain a correction value for the parameter using the calculated loss value and perform a re-learning process with the obtained parameter value.

이와 같은, 의료데이터 스플릿 학습 시스템의 제어방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. Such a control method of the medical data split learning system may be implemented as an application or in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. A computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on a computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자 기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스 크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. -optical media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬 가지이다.Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. A hardware device may be configured to operate as one or more software modules to perform processing according to the invention, and vice versa.

이상에서 본 발명의 실시예들에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시 예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시 예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상범위 내에 든다고 할 것이다. Although the embodiments of the present invention have been described above, the spirit of the present invention is not limited to the embodiments presented in the present specification, and those skilled in the art who understand the spirit of the present invention can add components within the scope of the same spirit. , other embodiments can be easily proposed by change, deletion, addition, etc., but this will also be said to be within the scope of the present invention.

1: 의료데이터 스플릿 학습 시스템
100: 클라이언트 서버
110: 클라이언트 서버의 입력부
120: 클라이언트 서버의 통신부
130: 클라이언트 서버의 제어부
131: 의료 데이터 선택부
132: 은닉부
140: 클라이언트 서버의 저장부
150: 클라이언트 서버의 출력부
200: 중앙 서버
210: 중앙 서버의 통신부
220: 중앙 서버의 제어부
221: 특징맵 연산부
222: 활성화 함수 연산부
223: 풀링 연산부
224: 손실값 연산부
225: 수정값 획득부
226: 매개변수 업데이트부
230: 중앙 서버의 저장부
240: 중앙 서버의 출력부
1: Medical data split learning system
100: Client Server
110: Input unit of client server
120: Communication unit of client server
130: Control unit of client server
131: Medical data selection unit
132: Hidden part
140: Storage unit of client server
150: Output unit of client server
200: central server
210: Communication department of central server
220: Control unit of central server
221: Feature map calculation unit
222: Activation function operation unit
223: Pooling operation unit
224: Loss value calculation unit
225: Correction value acquisition unit
226: Parameter update unit
230: Storage unit of central server
240: Output unit of central server

Claims (9)

의료데이터로부터 병명을 판단하도록 학습하는 의료데이터 스플릿 학습 시스템에 있어서,
상기 병명과 관련된 의료데이터를 요청하는 중앙 서버; 및
의료기관 측에 마련된 적어도 하나 이상의 클라이언트 서버로서, 상기 클라이언트 서버는 상기 중앙 서버로부터 수신한 의료데이터 요청신호에 따라 상기 병명과 관련된 원본 의료데이터를 선택하고, 선택된 원본 의료데이터의 특징맵을 추출하여 적어도 하나 이상의 훈련 의료데이터를 생성하는 상기 클라이언트 서버;를 포함하되,
상기 중앙 서버는, 상기 클라이언트 서버로부터 상기 적어도 하나 이상의 훈련 의료데이터를 수집하고 학습하여 의료데이터로부터 병명을 판단하는 모델을 생성하고,
상기 클라이언트 서버와 상기 중앙 서버는 CNN 알고리즘을 수행하되,
상기 클라이언트 서버는 상기 훈련 의료데이터를 생성하는 1개의 Hidden Layer로 마련되는 은닉부를 포함하고,
상기 중앙 서버는 상기 적어도 하나 이상의 훈련 의료데이터를 수집하여 학습하는 제어부를 포함하되, 상기 제어부는 적어도 하나 이상의 Hidden Layer로 마련되고,
상기 제어부는,
적어도 하나 이상의 클라이언트 서버로부터 특징맵을 수신하여 합산하고, 합산 값을 컨벌루션 연산하여 특징맵을 재생성하는 특징맵 연산부;
상기 특징맵 연산부가 재생성한 특징맵을 활성화 함수의 입력값으로 입력하여 연산하는 활성화 함수 연산부;
상기 활성화 함수 연산부의 연산값에 대하여 Max Pooling 연산을 이용하여 차원을 축소하는 풀링 연산부;
상기 풀링 연산부의 연산값과 미리 정해진 목표 출력값을 이용하여 손실값을 연산하는 손실값 연산부; 및
상기 손실값의 연산을 통해 각 연산부의 매개변수에 대한 수정 값을 획득하는 수정값 획득부;를 포함하는 의료데이터 스플릿 학습 시스템.
In the medical data split learning system that learns to determine the name of the disease from medical data,
A central server that requests medical data related to the disease name; and
At least one client server provided at a medical institution, wherein the client server selects original medical data related to the disease name according to a medical data request signal received from the central server, extracts a feature map of the selected original medical data, and extracts at least one feature map. Including the client server that generates the above training medical data,
The central server collects and learns the at least one training medical data from the client server to create a model that determines the name of the disease from the medical data,
The client server and the central server perform a CNN algorithm,
The client server includes a hidden unit provided as one hidden layer that generates the training medical data,
The central server includes a control unit that collects and learns the at least one training medical data, and the control unit is provided with at least one hidden layer,
The control unit,
a feature map operation unit that receives feature maps from at least one client server, adds them up, and performs a convolution operation on the summed values to regenerate the feature map;
an activation function calculation unit that operates by inputting the feature map regenerated by the feature map calculation unit as an input value of an activation function;
a pooling operation unit that reduces the dimension of the operation value of the activation function operation unit using a Max Pooling operation;
a loss value calculation unit that calculates a loss value using the calculation value of the pooling calculation unit and a predetermined target output value; and
A medical data split learning system including a correction value acquisition unit that obtains correction values for the parameters of each operation unit through calculation of the loss value.
삭제delete 삭제delete 제 1항에 있어서,
상기 중앙 서버는,
상기 수정값 획득부로부터 획득한 매개 변수에 대한 수정값을 이용하여 상기 매개 변수를 업데이트하는 매개변수 업데이트부;를 더 포함하는 의료데이터 스플릿 학습 시스템.
According to clause 1,
The central server is,
A medical data split learning system further comprising a parameter update unit that updates the parameter using a correction value for the parameter obtained from the correction value acquisition unit.
제 1항에 있어서,
상기 활성화 함수 연산부는,
Sigmoid 함수 또는 ReLu함수를 이용하여 상기 특징맵을 연산하는 의료데이터 스플릿 학습 시스템.
According to clause 1,
The activation function operator,
A medical data split learning system that calculates the feature map using the Sigmoid function or ReLu function.
의료데이터로부터 병명을 판단하도록 학습하는 의료데이터 스플릿 학습 시스템의 제어방법에 있어서,
중앙 서버는 상기 병명과 관련된 의료데이터를 요청하고,
의료기관 측에 마련된 적어도 하나 이상의 클라이언트 서버는 상기 중앙 서버로부터 수신한 의료데이터 요청신호에 따라 상기 병명과 관련된 원본 의료데이터를 선택하며, 선택된 원본 의료데이터의 특징맵을 추출하여 적어도 하나 이상의 훈련 의료데이터를 생성하고,
상기 중앙 서버는 상기 적어도 하나 이상의 클라이언트 서버로부터 상기 적어도 하나 이상의 훈련 의료데이터를 수집하고 학습하여 상기 의료데이터로부터 병명을 판단하는 모델을 생성하고,
상기 클라이언트 서버와 상기 중앙 서버는 CNN 알고리즘을 수행하되,
상기 클라이언트 서버는 상기 훈련 의료데이터를 생성하는 1개의 Hidden Layer로 마련되는 은닉부를 포함하고,
상기 중앙 서버는 상기 적어도 하나 이상의 훈련 의료데이터를 수집하여 학습하는 제어부를 포함하되, 상기 제어부는 적어도 하나 이상의 Hidden Layer로 마련되고,
상기 중앙 서버가 상기 적어도 하나 이상의 클라이언트 서버로부터 상기 적어도 하나 이상의 훈련 의료데이터를 수집하여 학습하는 것은,
특징맵 연산부가 적어도 하나 이상의 클라이언트 서버로부터 특징맵을 수신하여 합산하고, 합산 값을 컨벌루션 연산하여 특징맵을 재생성하고,
활성화 함수 연산부가 상기 특징맵 연산부가 재생성한 특징맵을 활성화 함수의 입력값으로 입력하여 연산하며,
풀링 연산부가 상기 활성화 함수 연산부의 연산값에 대하여 Max Pooling 연산을 이용하여 차원을 축소하고,
손실값 연산부가 상기 풀링 연산부의 연산값과 미리 정해진 목표 출력값을 이용하여 손실값을 연산하며,
수정값 획득부가 상기 손실값의 연산을 통해 각 연산부의 매개변수에 대한 수정 값을 획득하는 의료데이터 스플릿 학습 시스템의 제어방법.
In the control method of a medical data split learning system that learns to determine the name of the disease from medical data,
The central server requests medical data related to the disease name,
At least one client server provided at the medical institution selects original medical data related to the disease name according to the medical data request signal received from the central server, extracts the feature map of the selected original medical data, and provides at least one training medical data. create,
The central server collects and learns the at least one training medical data from the at least one client server to create a model that determines the name of the disease from the medical data,
The client server and the central server perform a CNN algorithm,
The client server includes a hidden unit provided as one hidden layer that generates the training medical data,
The central server includes a control unit that collects and learns the at least one training medical data, and the control unit is provided with at least one hidden layer,
The central server learns by collecting the at least one training medical data from the at least one client server,
The feature map operator receives feature maps from at least one client server, adds them, performs a convolution operation on the summed values, and regenerates the feature map,
The activation function operator inputs the feature map regenerated by the feature map operator as an input value of the activation function and performs the calculation,
The pooling operator reduces the dimension of the operation value of the activation function operator using Max Pooling operation,
The loss value calculation unit calculates the loss value using the calculation value of the pooling calculation unit and a predetermined target output value,
A control method of a medical data split learning system in which the correction value acquisition unit obtains correction values for the parameters of each operation unit through calculation of the loss value.
삭제delete 제 6항에 있어서,
매개변수 업데이트부가 상기 수정값 획득부로부터 획득한 매개 변수에 대한 수정값을 이용하여 상기 매개 변수를 업데이트하는 것을 더 포함하는 의료데이터 스플릿 학습 시스템의 제어방법.
According to clause 6,
A control method of a medical data split learning system further comprising a parameter update unit updating the parameter using a correction value for the parameter obtained from the correction value acquisition unit.
제 6항에 따른 상기 의료데이터 스플릿 학습 시스템의 제어방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.A computer-readable storage medium on which a computer program for performing the control method of the medical data split learning system according to claim 6 is recorded.
KR1020210129372A 2021-09-30 2021-09-30 System for split training of medical data, method therefor, and computer readable medium for performing the method KR102632773B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210129372A KR102632773B1 (en) 2021-09-30 2021-09-30 System for split training of medical data, method therefor, and computer readable medium for performing the method
PCT/KR2021/016408 WO2023054800A1 (en) 2021-09-30 2021-11-11 Medical data split learning system, control method for same, and recording medium for performing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210129372A KR102632773B1 (en) 2021-09-30 2021-09-30 System for split training of medical data, method therefor, and computer readable medium for performing the method

Publications (2)

Publication Number Publication Date
KR20230047229A KR20230047229A (en) 2023-04-07
KR102632773B1 true KR102632773B1 (en) 2024-02-06

Family

ID=85783034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210129372A KR102632773B1 (en) 2021-09-30 2021-09-30 System for split training of medical data, method therefor, and computer readable medium for performing the method

Country Status (2)

Country Link
KR (1) KR102632773B1 (en)
WO (1) WO2023054800A1 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180123810A (en) * 2017-05-10 2018-11-20 주식회사 딥노이드 Data enrichment processing technology and method for decoding x-ray medical image
KR20190060606A (en) * 2017-11-24 2019-06-03 삼성전자주식회사 Apparatus and method for diagnosis of medical image
KR102243830B1 (en) * 2018-02-22 2021-04-23 고려대학교 산학협력단 System for providing integrated medical diagnostic service and method thereof
KR102068576B1 (en) * 2018-04-10 2020-01-21 배재대학교 산학협력단 Convolutional neural network based image processing system and method
US10262214B1 (en) 2018-09-05 2019-04-16 StradVision, Inc. Learning method, learning device for detecting lane by using CNN and testing method, testing device using the same
US20210049473A1 (en) * 2019-08-14 2021-02-18 The Board Of Trustees Of The Leland Stanford Junior University Systems and Methods for Robust Federated Training of Neural Networks
KR102328154B1 (en) * 2019-11-11 2021-11-18 주식회사 테서 Method and system for providing medical data collection and analyzing service based on machine learning
KR102420605B1 (en) * 2020-01-08 2022-07-14 주식회사 셀젠텍 CNN MODEL PREDICTING METHOD AND CNN MODEL APPARATUS FOR PREDICTING DISEASE FROM X-ray IMAGE
KR102226743B1 (en) * 2020-09-15 2021-03-12 주식회사 딥노이드 Apparatus for quantitatively measuring pneumothorax in chest radiographic images based on a learning model and method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Joohyung Jeon et al., Privacy-Preserving Deep Learning Computation for Geo-Distributed Medical Big-Data Platforms, 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, <DOI: 10.1109/DSN-S.2019.00007> 2019.08.22. 1부.*

Also Published As

Publication number Publication date
WO2023054800A1 (en) 2023-04-06
KR20230047229A (en) 2023-04-07

Similar Documents

Publication Publication Date Title
Pfeiffer et al. Learning soft tissue behavior of organs for surgical navigation with convolutional neural networks
JP6800975B2 (en) Systems and methods for associating medical images with patients
US20230044399A1 (en) Data analysis based methods and systems for optimizing insertion of a medical instrument
JP6818424B2 (en) Diagnostic support device, information processing method, diagnostic support system and program
KR20230085125A (en) Training method for specializing artificial intelligence model in deployed institution, and apparatus for training the artificial intelligence model
EP3857446B1 (en) Medical image analysis using machine learning and an anatomical vector
Begum et al. Classification of physiological signals for wheel loader operators using multi-scale entropy analysis and case-based reasoning
Wang et al. Optical pressure sensors based plantar image segmenting using an improved fully convolutional network
CN114341872A (en) Facilitating interpretability of classification models
Mishra et al. Enhancing heart disorders prediction with attribute optimization
CN116348911A (en) Image segmentation method and system
Sumithra et al. Modified Global Flower Pollination Algorithm‐based image fusion for medical diagnosis using computed tomography and magnetic resonance imaging
Dhavamani et al. A federated learning based approach for heart disease prediction
Kanchanamala et al. Heart disease prediction using hybrid optimization enabled deep learning network with spark architecture
KR102632773B1 (en) System for split training of medical data, method therefor, and computer readable medium for performing the method
JP7374201B2 (en) Machine learning systems and methods, integrated servers, programs, and methods for creating inference models
Frenkel et al. Calibration of medical imaging classification systems with weight scaling
US20230004785A1 (en) Machine learning system and method, integration server, information processing apparatus, program, and inference model creation method
EP3864620B1 (en) Correcting segmentation of medical images using a statistical analysis of historic corrections
Raja et al. An entropy-based hybrid feature selection approach for medical datasets
US20230087494A1 (en) Determining image similarity by analysing registrations
JP2023027663A (en) Learning device, method and program, information processor, and method and program
WO2023274512A1 (en) Method for training and using a deep learning algorithm to compare medical images based on dimensionality-reduced representations
Simi et al. Data analytics in medical data: A review
JP2024026331A (en) Information processing device, information processing method and program

Legal Events

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