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 PDFInfo
- 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
Links
- 238000012549 training Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 title claims description 31
- 201000010099 disease Diseases 0.000 claims abstract description 29
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims abstract description 29
- 239000000284 extract Substances 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 42
- 238000011176 pooling Methods 0.000 claims description 32
- 230000004913 activation Effects 0.000 claims description 27
- 238000012937 correction Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 208000025721 COVID-19 Diseases 0.000 description 10
- HVYWMOMLDIMFJA-DPAQBDIFSA-N cholesterol Chemical compound C1C=C2C[C@@H](O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2 HVYWMOMLDIMFJA-DPAQBDIFSA-N 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000005315 distribution function Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 235000012000 cholesterol Nutrition 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 210000002758 humerus Anatomy 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 210000002832 shoulder Anatomy 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/50—ICT 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H70/00—ICT 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
본 발명은 의료데이터 스플릿 학습 시스템과 이의 제어방법 및 그 방법을 수행하기 위한 기록매체에 관한 것으로, 보다 상세하게는 의료 데이터로부터 병명을 판단하도록 학습하는 의료데이터 스플릿 학습 시스템과 이의 제어방법 및 그 방법을 수행하기 위한 기록매체에 관한 것이다.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.
본 발명이 해결하고자 하는 기술적 과제는 원본 의료데이터의 특징맵을 추출하고, 훈련 의료데이터를 생성하여 학습하는 의료데이터 스플릿 학습 시스템과 이의 제어방법 및 그 방법을 수행하기 위한 기록매체를 제공하는 것이다.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
의료데이터 스플릿 학습 시스템(1)은 딥러닝 학습 알고리즘을 기초로 의료데이터로부터 병명을 판단하도록 학습하는 시스템일 수 있다.The medical data
의료데이터는 환자의 내시경 이미지, 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
중앙 서버(200)는 질병을 나타내는 MRI, CT 이미지의 의료데이터를 적어도 하나 이상의 클라이언트 서버(100)에 요청할 수 있다. 클라이언트 서버(100)는 중앙 서버(200)로부터 수신한 의료데이터 요청신호에 따라 해당 질병을 나타내는 원본 의료데이터를 선택할 수 있다. 이 때, 원본 의료데이터는 클라이언트 서버(100)에 저장된 것일 수 있다. 클라이언트 서버(100)는 원본 의료데이터로부터 특징맵을 추출하여 중앙 서버(200)에 전송할 수 있다. 이 때, 추출된 특징맵은 중앙 서버(200)의 훈련 의료데이터로 이용될 수 있는 것이다. 이 때, 복수개의 클라이언트 서버(100)간에는 개인정보 보호를 위해 원본 의료데이터를 송수신하지 않는다.The
클라이언트 서버(100)에서는 CNN 알고리즘 중에서 특징맵을 추출하는 과정만 수행될 수 있고, 중앙 서버(200)에서는 특징맵을 추출하고, 활성화 함수를 이용하여 변환할 수 있으며, 풀링 연산을 통해 차원을 축소할 수 있는 CNN 알고리즘이 수행될 수 있다.The
클라이언트 서버(100)에서 이루어지는 CNN 알고리즘은 1개의 Hidden Layer에서 수행되고, 중앙 서버(200)에서 이루어지는 CNN 알고리즘은 적어도 1개 이상의 Hidden Layer에서 수행될 수 있는 것이다.The CNN algorithm performed in the
도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
입력부(110)는 병원 측으로부터 환자 개개인의 의료데이터가 입력될 수 있다. The
통신부(120)는 중앙 서버(200)와 통신할 수 있고, 훈련 의료데이터를 중앙 서버(200)에 전송하도록 마련될 수 있다.The
저장부(140)는 입력부(110)로부터 입력된 의료데이터가 저장될 수 있다.The
출력부(150)는 원본 의료데이터로부터 추출된 특징맵을 출력할 수 있다.The
의료 데이터 선택부(131)는 중앙 서버(200)로부터 수신한 요청신호에 따라 요청받은 원본 의료데이터를 선택할 수 있다.The medical
은닉부(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
[수학식 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
통신부(210)는 클라이언트 서버(100)와 통신할 수 있고, 복수개의 클라이언트 서버(200)로부터 수신한 특징맵을 수신할 수 있다.The
제어부(220)는 클라이언트 서버(100)로부터 적어도 하나 이상의 훈련 의료데이터를 수집하고 학습하여 의료데이터로부터 병명을 판단하는 모델을 생성할 수 있다.The
출력부(240)는 학습한 결과로서 입력된 의료데이터로부터 판단된 병명을 출력할 수 있다.The
저장부(230)는 학습한 결과로서, 특정 병명을 가진 의료데이터와 특정 병명을 매칭하여 저장할 수 있다.As a result of learning, the
특징맵 연산부(221)는 복수개의 클라이언트 서버(200)로부터 수신한 특징맵을 컨캐터네이팅(Concatenating)할 수 있다. 특징맵 연산부(221)는 컨캐터네이팅한 특징맵을 컨벌루션 연산을 수행하여, 특징맵을 재생성할 수 있다. 특징맵 연산부(221)가 특징맵을 재생성하는 과정은 아래의 수학식 2를 통해 이루어질 수 있다.The feature
[수학식 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
(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
본 발명에서는 의료데이터가 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
[수학식 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
[수학식 4][Equation 4]
[수학식 5][Equation 5]
[수학식 6][Equation 6]
는 풀링 연산부(223)의 연산값을 의미하고, 는 미리 정해진 목표 출력값을 의미한다. means the operation value of the pooling
수정값 획득부(225)는 손실값으로부터 각 연산부의 매개변수에 대한 수정 값을 획득할 수 있다. 이 때, 각 연산부의 매개변수는 w인 가중치를 의미할 수 있다.The correction
매개변수 업데이트부(226)는 수정값 획득부(225)로부터 획득한 매개 변수에 대한 수정값을 이용하여 매개 변수를 업데이트할 수 있다. 업데이트된 매개 변수를 이용하여 의료데이터 스플릿 학습 시스템(1)의 학습을 재수행할 수 있다.The
도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인 원본 의료데이터를 저장할 수 있다.
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
클라이언트 서버(100)에 마련된 Input Layer에 원본 의료데이터가 선택되어 입력되고, Hidden Layer에서 컨벌루션 연산을 통해 원본 의료데이터의 특징맵을 추출할 수 있다. Original medical data is selected and input into the input layer provided in the
복수개의 클라이언트 서버(100)는 중앙 서버(200)에 추출된 특징맵을 전송하고, 중앙 서버(200)에 마련된 Hidden Layer에서 컨벌루션 연산, 활성화 함수 연산, 풀링 연산, 손실값 연산, 수정값 연산이 이루어질 수 있다. The plurality of
도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
도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
세로축은 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
세로축은 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
도8은 수학식 4 내지 수학식 6을 기초로 손실값 연산부(224)가 손실값을 연산하는 과정을 기초로 CDF를 측정한 표를 나타내었다. 도8을 참조하면, 실선은 본 발명의 실시예인 클라이언트 서버(100)와 중앙 서버(200)가 시공간적으로 분리되어 학습하는 의료데이터 스플릿 학습 시스템(1)에서 학습을 수행한 값을 의미할 수 있고, 점선은 클라이언트 서버(100)에서만 학습을 수행한 값을 의미할 수 있다.Figure 8 shows a table measuring CDF based on the process of the loss
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
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
또한, 콜레스테롤 수치 데이터로서 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
중앙 서버(200)는 복수개의 클라이언트 서버(100)로부터 수신한 특징맵을 합산하고, 합산한 특징맵에 대하여 컨벌루션 연산을 수행해 특징맵을 재생성할 수 있다.The
중앙 서버(200)는 재생성된 특징맵을 활성화 함수에 대입하고, 활성화 함수로부터 획득한 출력값을 이용하여 풀링 연산하며, 풀링 연산값과 미리 정해진 목표 출력값을 이용해 손실값을 연산할 수 있다. 중앙 서버(200)는 연산된 손실값을 이용해 매개변수에 대한 수정값을 획득할 수 있고, 획득된 매개변수 값으로 재학습하는 과정을 수행할 수 있다. The
이와 같은, 의료데이터 스플릿 학습 시스템의 제어방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 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.
상기 중앙 서버는,
상기 수정값 획득부로부터 획득한 매개 변수에 대한 수정값을 이용하여 상기 매개 변수를 업데이트하는 매개변수 업데이트부;를 더 포함하는 의료데이터 스플릿 학습 시스템.
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.
상기 활성화 함수 연산부는,
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.
매개변수 업데이트부가 상기 수정값 획득부로부터 획득한 매개 변수에 대한 수정값을 이용하여 상기 매개 변수를 업데이트하는 것을 더 포함하는 의료데이터 스플릿 학습 시스템의 제어방법.
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.
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)
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 |
-
2021
- 2021-09-30 KR KR1020210129372A patent/KR102632773B1/en active IP Right Grant
- 2021-11-11 WO PCT/KR2021/016408 patent/WO2023054800A1/en unknown
Non-Patent Citations (1)
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 |