WO2017043680A1 - 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법 - Google Patents

의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법 Download PDF

Info

Publication number
WO2017043680A1
WO2017043680A1 PCT/KR2015/009565 KR2015009565W WO2017043680A1 WO 2017043680 A1 WO2017043680 A1 WO 2017043680A1 KR 2015009565 W KR2015009565 W KR 2015009565W WO 2017043680 A1 WO2017043680 A1 WO 2017043680A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
server
gradient value
artificial neural
neural network
Prior art date
Application number
PCT/KR2015/009565
Other languages
English (en)
French (fr)
Inventor
황상흠
김효은
이정인
Original Assignee
주식회사 루닛
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 루닛 filed Critical 주식회사 루닛
Publication of WO2017043680A1 publication Critical patent/WO2017043680A1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Definitions

  • the present invention relates to a distributed learning system and method of an artificial neural network, and more particularly, an individual of medical data that can effectively learn a large amount of medical data while protecting personal information associated with medical data in a learning system using medical data.
  • the present invention relates to a distributed learning system and method of an artificial neural network for information protection.
  • Imaging medicine is a field of medicine that serves as a photographing, reading, diagnosing and medical consultation for various medical images. For example, for a precise diagnosis, a medical image of a patient is photographed by a medical doctor using equipment such as X-ray, CT, MRI, and the like, and the image is read to determine whether a diagnosis and additional examination are necessary.
  • an image and a diagnosis data in which an existing image to be compared and analyzed for an input query image and corresponding pathological diagnosis results are databased.
  • an image and a pathological diagnosis data of which an existing image and a pathological diagnosis result of which an input query image is to be compared and analyzed are required.
  • a method of performing such pathological diagnosis through learning based on machine learning has been proposed.
  • Artificial neural networks are used for learning such medical images, and in order to learn artificial neural networks with high predictability, a large amount of medical data is required.
  • medically related data may include personal information of the patient and may not be disclosed to the outside because such data may characterize a particular patient from the data if it is openly exposed. Therefore, in order to possess data such as medical images outside the hospital, there is a problem that the personal information of the patient must go through a strict procedure such as deleting a patient's personal information and going through a council within the hospital. There is a problem that is difficult.
  • the present invention is to solve the above limitations, and to provide a system and method that can utilize the medical image data distributed in each medical institution while avoiding issues such as exposure of personal information of the medical data.
  • the purpose is to solve the above limitations, and to provide a system and method that can utilize the medical image data distributed in each medical institution while avoiding issues such as exposure of personal information of the medical data. The purpose.
  • the present invention does not have to take the risk of providing the data in terms of the subject providing the medical data, so that the medical data itself can be learned by utilizing the information of all the data in the state owned by each subject. It aims to provide a system and method that can increase efficiency and further increase the accuracy of analysis.
  • the present invention is a distributed learning system of artificial neural network for protecting personal information of medical data, while performing a learning process based on medical data, the gradient value or the gradient value by the error function of artificial neural network
  • At least one computing server for transmitting any one of the parameters updated by the parameter server;
  • a parameter server connected via a network with a computing server, the parameter server transmitting and receiving a gradient value or a parameter between the computing server, wherein the computing server performs learning based on the gradient value or the parameter received from the parameter server.
  • a distributed learning system of an artificial neural network for protecting personal information of medical data, which is performed.
  • the computing server while performing a learning process based on medical data, transmits a gradient value by an error function of an artificial neural network to a parameter server, and the parameter server transmits the received gradient value to another computing server.
  • the computing server having received the gradient value from the parameter server, may also be configured to update the parameter by the received gradient value.
  • the computing server may further include a computing unit configured to calculate a gradient value by an error function of an artificial neural network while performing a learning process based on batch data composed of a bundle of medical data; And it may include a data storage for storing batch data consisting of a bundle of medical data.
  • the computing unit may be configured to transmit the calculated gradient value to the parameter server, and to receive the gradient value transmitted from another computing unit from the parameter server to update the parameter.
  • the computing unit may also be configured to update the parameter by the calculated gradient value.
  • one computing server obtains a gradient value for batch data and transmits it to a parameter server, the parameter server sends the received gradient value to another computing server, and the other computing server based on the transmitted gradient value.
  • the process of updating the parameters is performed sequentially for all batch data, but the process may be performed for all computing servers.
  • each computing server obtains a gradient value for the batch data in parallel and sends it to the parameter server, which sends the received gradient value to another computing server, and the other computing server transmits the gradient value.
  • the process of updating the parameters based on may be performed sequentially on all batch data.
  • the computing server performs a learning process based on medical data, calculates a gradient value by an error function of the artificial neural network, updates the parameter by the calculated gradient value, and transmits the updated parameter to the parameter server.
  • the parameter server may transmit the received parameter to another computing server, and have the computing server receiving the parameter from the parameter server perform a learning process based on the received parameter.
  • the computing server may further include a computing unit configured to calculate a gradient value by an error function of an artificial neural network and update a parameter by the calculated gradient value while performing a learning process based on batch data composed of a bundle of medical data; And it may include a data storage for storing batch data consisting of a bundle of medical data.
  • the computing unit may be configured to transmit the updated parameter to the parameter server, and to receive the parameter transmitted from another computing unit from the parameter server to perform the learning process.
  • the parameter server may also transmit the received parameter to a computing server adjacent to the computing server that transmitted the parameter.
  • the parameter may be selected and transmitted to the computing server to transmit the received parameter based on the state information.
  • the parameter server determines a batch operation period, which is an amount of batch data to be learned by the computing server, in consideration of state information, and the computing server performs a learning process based on the batch operation period, and determines the error function of the artificial neural network. It is also possible to calculate a gradient value, update the parameter by the calculated gradient value, and send the updated parameter to the parameter server.
  • an error of an artificial neural network while a computing server performs a learning process based on medical data A first step of transmitting any one of a gradient value by a function or a parameter updated by the gradient value to a parameter server; A second step in which the parameter server receives the gradient value or parameter and transmits the gradient value or parameter to a computing server other than the computing server that transmitted the gradient value or parameter; And a third step of the computing server performing learning based on the gradient value or the parameter received from the parameter server.
  • the present invention does not have to take the risk of providing the data in terms of the subject providing the medical data, so that the medical data itself can be learned by utilizing the information of all the data in the state owned by each subject. It can provide a system and method that can increase efficiency and further improve analysis accuracy.
  • 1 is a view for explaining a learning process in a general artificial neural network.
  • FIG. 2 is a diagram showing the overall configuration of a distributed learning system 100 of an artificial neural network for protecting personal information of medical data according to the present invention.
  • 3 shows a mammogram of a patient.
  • FIG. 4 is a diagram illustrating an internal configuration of the computing servers 20, 30, and 40.
  • FIG. 5 is a flowchart illustrating an embodiment of a distributed learning method of an artificial neural network for protecting personal information of medical data performed by the system 100 described with reference to FIGS. 2 to 4.
  • FIG. 6 is a flowchart illustrating another embodiment of a distributed learning method of an artificial neural network for protecting personal information of medical data according to the present invention.
  • FIG. 7 is a flowchart illustrating still another embodiment of a distributed learning method of an artificial neural network for protecting personal information of medical data according to the present invention.
  • FIG. 8 is a diagram showing the configuration of a system 100A according to another embodiment of the present invention.
  • 1 is a view for explaining a learning process in a general artificial neural network.
  • learning in an artificial neural network is a process in which a given artificial neural network model is given and finds the optimal parameters of a given model (weight between nodes of the neural network). can do.
  • Figure 1 shows the artificial neural network model and the learning process in the model, the parameters (parameter) in this model has a value initially given. However, the initial value at this time may be given randomly or a specific value may be input. It can also come from a specific distribution or from a previously trained model.
  • the learning process in the model of FIG. 1 uses an error backpropagation method.
  • the model of FIG. 1 when data is input from an input layer, the data is output through a hidden layer (Hidden 1, Hidden 2). The output is passed to the node, and the output value o i , output value can be obtained. The error between the output value O i and the target value t i and the target value is calculated. In other words, the data is forwarded to the neural network model to calculate an error in the output layer.
  • the gradient value of each parameter of the model is calculated while backpropagation of the calculated error from the output layer to the input layer. Then update the parameters based on the calculated gradient values.
  • the artificial neural network model of FIG. 1 can perform training and the output value can gradually provide a result closer to the target value.
  • the simplest artificial neural network model can be expressed by the following function.
  • sigma denotes a nonlinear activity function
  • x denotes an input value
  • w i denotes a parameter of a neural network
  • Neural network learning is the process of adjusting the parameters of the neural network so that the output value of inputting the neural network is equal to the actual data label. For example, given the data of (x 1 , x 2 , ...., x n ) and the label ⁇ y 1 , y 2 , ..., y n ⁇ for each data,
  • the error function between the output and the actual label can be defined as the squared error function as follows (the error function may vary depending on the purpose of the neural network, and the squared error function is used for illustration here).
  • the gradient descent method may be used as an optimization method to find a parameter of the neural network model that minimizes such an error function. Therefore, it can be seen as an optimization problem of neural network learning, where the objective function is E (w 1 , w 0 ) and the parameters to be optimized are w 1 , w 0 .
  • the parameters of the neural network are updated as follows to change by a predetermined amount (learning rate ⁇ ) in the above gradient direction.
  • FIG. 2 is a diagram showing the overall configuration of a distributed learning system 100 of an artificial neural network for protecting personal information of medical data according to the present invention.
  • a distributed learning system (100, hereinafter simply referred to as “system 100”) of an artificial neural network for protecting personal information of medical data according to the present invention may include a parameter server 10 and At least one computing server 20, 30, 40 is provided.
  • the parameter server 10 is connected to at least one computing server 20, 30, 40 via a network (not shown), and is operable to transmit and receive gradient values or parameters between the computing servers 20, 30, 40. do. Meanwhile, the parameter server 10 and the computing servers 20, 30, and 40 may transmit and receive state information in addition to the gradient value or the parameter.
  • the state information refers to information such as a state of a network, a learning state of a neural network model of each computing server 20, 30, and 40, a load state of the computing servers 20, 30, and 40, and the like.
  • Computing servers 20, 30, and 40 are servers located in medical institutions such as hospitals distributed in remote areas, and are given artificial neural networks while learning based on medical data held by each medical institution. It sends either the gradient value for the error function of or the parameter updated by the gradient value to the parameter server 10, and receives the gradient value or parameter transmitted from the parameter server 10 to perform the learning process. It is characterized by performing.
  • the term “medical data” in the present invention the concept including the image data, such as X-ray, CT, MRI image of the lesion site of the patient and the text data including the contents related to the lesion other than the image to be. That is, in the present invention, “medical data” includes all kinds of data for enabling learning related to a lesion.
  • FIG. 3 shows an example of imaging medical data, which shows a mammogram of a patient, and a portion indicated by a white square in FIG. 3 represents cancer cell tissue (lesion).
  • Such medical data is composed of a batch of batch data, which is a bundle of respective medical data, for continuous batch operation when learning is performed, and each computing server 20, 30, 40 is configured with each medical data.
  • the learning is performed by a set of batch data which is a bundle of.
  • the amount of unit batch data in each of the computing servers 20, 30 and 40 here need not be the same but is independent of each other.
  • the computing servers 20, 30, and 40 are arranged in medical institutions such as hospitals and the corresponding medical services. Solving privacy issues by sending gradient values or parameters to parameter server 10 and sharing them with other computing servers 20, 30, and 40 while learning based on medical data held by the institution Efficient use of vast amounts of medical data allows for learning.
  • the computing server 20, 30, 40 has a specific artificial neural network model and performs the learning by the structure of the neural network model, wherein the learning process is an error function of the neural network model, as described with reference to FIG. The process of adjusting parameters using gradient values.
  • FIG. 4 is a diagram illustrating an internal configuration of the computing servers 20, 30, and 40.
  • computing servers 20, 30, 40 which are located in a medical institution such as a hospital or the like distributed remotely.
  • Computing servers 20, 30, and 40 include computing units 21, 31, 41, data storage units 22, 32, 42, and placement data 23, 33, 43, respectively.
  • the computing units 21, 31 and 41 perform a process of adjusting a parameter of a given artificial neural network model, that is, a learning process as described above, and during this process, an error function of each computing unit 21, 31, 41 is performed. Calculate the gradient value by and update the parameter based on the calculated gradient value and send the gradient value or parameter to the parameter server 10 so that it can also be reflected in other computing units.
  • the computing units 21, 31, 41 receive gradient values or parameters transmitted through the parameter server 10 from other computing units and perform the learning process again based on the gradient values.
  • the data storage unit 22 stores the medical data as described above in the form of batch data (23, 33, 43) in units of bundles, and transmits them to the computing unit 21 as a batch data unit to arrange the unit.
  • the learning process is performed by updating the parameters while calculating the gradient values for the data.
  • the method of calculating the gradient value and the updating of the parameters by this method may use the same method as described above with reference to FIG. 1 or other conventionally known methods, and these are not direct purposes of the present invention, and thus detailed descriptions thereof are omitted herein. do.
  • FIG. 5 is a flowchart illustrating an embodiment of a distributed learning method of an artificial neural network for protecting personal information of medical data performed by the system 100 described with reference to FIGS. 2 to 4, and the embodiment of FIG. 5 is a gradient. It shows the case where distributed learning is performed based on the value.
  • the computing unit 21 updates its parameter based on the calculated gradient value and transmits the calculated gradient value to the parameter server 10 (S110).
  • the parameter server 10 transmits the gradient value transmitted from the computing server 20 to a computing server other than the computing server 20, that is, the computing servers 30 and 40 in FIG. 2 (S120).
  • Computing units 31 and 41 of computing servers 30 and 40 receive gradient values and update their parameters based on the gradient values (S130).
  • the steps S100 to S130 are repeated with respect to the batch data of the computing server 30 as described above in the next computing server, that is, the computing server 30. To perform.
  • the learning is performed on all the batch data of all the computing servers 20, 30, and 40, the gradient value is calculated in each process, and the parameters are adjusted based on the same.
  • the process can be performed for all computing servers 20, 30 and 40.
  • the embodiment of FIG. 5 has the advantage that a learning effect can be obtained as if all medical data are stored in one place.
  • the embodiment of FIG. 5 has a problem in that while one computing server performs calculations, the other computing servers should be in a standby state without any special calculation, and the network cost is high due to the increase in the number of gradient values transmitted. .
  • FIG. 6 is a flowchart illustrating another embodiment of a distributed learning method of an artificial neural network for protecting personal information of medical data according to the present invention.
  • FIG. 6 The embodiment of FIG. 6 is characterized in that all computing servers 20, 30, and 40 perform the same process as that of FIG.
  • each computing server 20, 30, 40 updates its parameters and transmits the gradient value to the parameter server 10 (S210).
  • the parameter server 10 transmits the transmitted gradient value to another computing server (S220), and the other computing server updates the parameter based on the received gradient value (S230).
  • Each of the computing servers 20, 30, and 40 performs this process sequentially on all of the batch data they have, so that the learning process, that is, the parameter by the gradient value, can be updated.
  • the embodiment of FIG. 6 has the advantage that the learning speed is faster than that of the embodiment of FIG. 5, because each batch data can be learned by each computing server 20, 30, 40 at the same time. However, since the total amount of gradient values to be transmitted and received until the learning is completed for all the batch data of all the computing servers 20, 30, and 40 is the same, the network cost is the same as that of FIG.
  • the embodiments described in Figures 2 to 6 are all characterized in that the gradient value is shared between the computing servers 20, 30, 40 via the parameter server 10 and updates the parameters based thereon.
  • this gradient transmission method has a limitation in that all neural network models built in each of the computing servers 20, 30, and 40 have the same architecture. Accordingly, there is a need for a learning method that can be applied to computing servers 20, 30, and 40 having different neural network models.
  • the communication of the gradient value is meaningless. Because the gradient value is affected by the parameter of the current neural network model, the gradient value is not useful information for the model of other computing servers when the parameter is already calculated independently.
  • FIG. 7 is a flowchart illustrating still another embodiment of a distributed learning method of an artificial neural network for protecting personal information of medical data according to the present invention.
  • each of the computing servers 20, 30, and 40 calculates a gradient value and updates a parameter by sequentially performing a learning process based on the batch data that it has (S300). ).
  • Each of the computing servers 20, 30, and 40 transmits the updated parameters to the parameter server 10 (S310).
  • the parameter server 10 transmits the received parameter to any one of computing servers other than the computing server that transmitted the parameter (S320). At this time, selecting the computing server to transfer the parameters may be used, for example. That is, the parameters received from the computing server 20 are transmitted to the computing server 30, and the parameters received from the computing server 30 are transmitted to the computing server 40 adjacent to each other. You can use this method to pass parameters.
  • the parameter server 10 may select the computing server 20, 30, 40 to transmit the parameter in consideration of the load of the computing server 20, 30, 40 or the progress of the calculation.
  • the state information received from the computing servers 20, 30, and 40 may be utilized.
  • step S300 When the computing server 20, 30, 40 receives the parameters of the other computing servers 20, 30, 40, the process returns to step S300 to calculate the gradient value and update the parameters again based on the parameters. Process, that is, repeat the learning process.
  • the computing servers 20, 30, and 40 may have different architectures as described above, and the cost of adjusting the network cost by adjusting the parameter transmission period may be improved.
  • each computing server 20, 30, 40 learns a certain amount of batch data of its own, and then shares parameters, but each computing server 20, 30, 40 has to learn from each computing server 20, 30, 40. It is also possible to dynamically determine the amount of batch data (batch operation period).
  • a method of determining a batch computation cycle optimized for each computing server 20, 30, 40 may be used. It may be.
  • the batch operation period may be variably determined in consideration of these changing load factors, and it is preferable that the parameter server 10 decides with reference to the state information.
  • FIG. 8 is a diagram showing the configuration of a system 100A according to another embodiment of the present invention.
  • the group of computing servers on the left has a relatively good network state
  • the group of computing servers on the right has a relatively poor network.
  • the group of the left has a gradient value transmission method described with reference to FIGS. 5 and 6.
  • the group on the right side may perform the learning process using the parameter transmission method described with reference to FIG. 7.
  • a group of such computing servers may be grouped in plural numbers.
  • the parameter server 10 can also be configured hierarchically.
  • Each group of computing servers has a central parameter server and a parameter server that manages one group separately in case of poor network conditions.
  • the final result learned in the group can also be configured to share with a central parameter server.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

본 발명은 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법에 관한 것으로서, 의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값 또는 그래디언트값에 의해 업데이트되는 매개 변수 중 어느 하나를 매개 변수 서버로 전송하는 적어도 하나 이상의 컴퓨팅 서버; 및 컴퓨팅 서버와 네트워크를 통해 연결되며, 컴퓨팅 서버 사이에서 그래디언트값 또는 매개 변수를 송수신하는 매개 변수 서버를 포함하되, 상기 컴퓨팅 서버는, 매개 변수 서버로부터 수신되는 그래디언트값 또는 매개 변수에 기초하여 학습을 수행하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 이를 이용한 방법을 제공한다.

Description

의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법
본 발명은 인공 신경망의 분산 학습 시스템 및 방법에 관한 것으로서 보다 상세하게는 의료 데이터를 이용한 학습 시스템에서 의료 데이터에 연관된 개인 정보를 보호하면서 방대한 양의 의료 데이터를 효과적으로 학습할 수 있도록 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법에 관한 것이다.
영상의학이란, 각종 의료 영상의 촬영, 판독, 진단 및 진료 자문의 역할을 하는 의학의 분야이다. 예컨대, 정밀 진단 여부를 위해서는 해당 환자의 의료 영상을 영상의학 의사가 X-ray, CT, MRI 등의 장비를 이용하여 촬영하고 촬영된 영상을 판독함으로써 진단 및 추가 검사의 필요 유무를 판단하게 된다.
이러한 영상의학적 진단을 컴퓨터 등의 장비에 의해 자동적으로 수행하기 위해서는, 입력되는 쿼리 영상을 비교 분석할 기존의 영상 및 그에 해당하는 병리 진단결과가 데이터베이스화된 영상 및 진단 데이터가 필요하다.
이러한 영상의학적 진단을 컴퓨터 등의 장비에 의해 자동적으로 수행하기 위해서는, 입력되는 쿼리 영상을 비교 분석할 기존의 영상 및 그에 해당하는 병리 진단결과가 데이터베이스화된 영상 및 병리 진단 데이터가 필요하다.
이러한 병리학적 진단을 머쉰 러닝(machine learning)에 기초한 학습을 통해 수행하도록 하는 방안이 제시되고 있다. 이러한 의료 영상을 학습에는 인공 신경망이 사용되는데, 예측력 높은 인공 신경망을 학습하기 위해서는 대량의 의료 데이터가 필요하다.
한편, 인공 신경망의 경우, 데이터의 모든 정보를 학습의 주체가 가지고 있을 필요가 없다. 다시 말하면 데이터로부터 추출된(원본 데이터로 복원 불가능한) 요약 정보만을 가지고도 학습이 가능하다.
그런데, 데이터의 보안이 중요하고 서로 다른 주체가 서로 다른 데이터를 각각 소유하고 있는 경우 모든 데이터를 활용하여 학습하기에는 여러가지 어려움이 따른다. 예를 들어, 의료 관련 데이터의 경우 환자의 개인 정보를 포함할 수 있고 이러한 데이터가 외부에 무방비로 노출될 경우 데이터로부터 특정 환자를 특징지을 수 있기 때문에 함부로 외부에 데이터를 공개할 수 없다. 따라서, 의료 영상과 같은 데이터를 병원 외부의 주체가 소유하기 위해서는 데이터에 내재되어 있는 환자의 개인 정보를 삭제한 후 병원 내의 심의회를 거치는 등의 엄격한 절차를 거쳐야 하는 문제가 있어서 의료 데이터의 수집 자체가 어렵다는 문제가 있다.
본 발명은 상기한 바와 같은 한계점을 해결하기 위한 것으로서, 의료 데이터의 개인 정보의 노출 등과 같은 이슈를 회피하면서 각각의 의료 기관에 분산되어 있는 의료 영상 데이터를 활용할 수 있도록 하는 시스템 및 방법을 제공하는 것을 목적으로 한다.
즉, 본 발명은 의료 데이터를 제공하는 주체 측면에서 데이터 제공에 대한 위험을 감수할 필요가 없이 의료 데이터 자체는 각각의 주체가 소유한 상태에서 모든 데이터의 정보를 활용하여 학습할 수 있도록 함으로써 학습의 효율성을 높이고 나아가 분석 정확도를 높일 수 있는 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기한 바와 같은 과제를 해결하기 위하여 본 발명은, 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템으로서, 의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값 또는 그래디언트값에 의해 업데이트되는 매개 변수 중 어느 하나를 매개 변수 서버로 전송하는 적어도 하나 이상의 컴퓨팅 서버; 및 컴퓨팅 서버와 네트워크를 통해 연결되며, 컴퓨팅 서버 사이에서 그래디언트값 또는 매개 변수를 송수신하는 매개 변수 서버를 포함하되, 상기 컴퓨팅 서버는, 매개 변수 서버로부터 수신되는 그래디언트값 또는 매개 변수에 기초하여 학습을 수행하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템을 제공한다.
여기에서, 상기 컴퓨팅 서버는, 의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 매개 변수 서버로 전송하고, 상기 매개 변수 서버는 수신되는 그래디언트값을 다른 컴퓨팅 서버로 전송하고, 매개 변수 서버로부터 그래디언트값을 수신한 컴퓨팅 서버는 수신된 그래대언트값에 의해 매개 변수를 업데이트하도록 구성할 수도 있다.
또한, 상기 컴퓨팅 서버는, 의료 데이터의 묶음으로 구성된 배치 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 계산하는 컴퓨팅 유닛; 및 의료 데이터의 묶음으로 구성된 배치 데이터를 저장하는 데이터 저장부를 포함할 수 있다.
또한, 상기 컴퓨팅 유닛은 계산된 그래디언트값을 매개 변수 서버로 전송하고, 매개 변수 서버로부터 다른 컴퓨팅 유닛에서 전송된 그래디언트값을 수신하여 매개 변수를 업데이트하도록 구성할 수 있다.
또한, 상기 컴퓨팅 유닛은 계산된 그래디언트값에 의해 매개 변수를 업데이트하도록 구성할 수도 있다.
또한, 하나의 컴퓨팅 서버에서 배치 데이터에 대해서 그래디언트값을 구하고 이를 매개 변수 서버로 전송하고, 매개 변수 서버는 수신된 그래디언트값을 다른 컴퓨팅 서버로 전송하고, 다른 컴퓨팅 서버는 전송된 그래디언트값에 기초하여 매개 변수를 업데이트하는 과정을 모든 배치 데이터에 대해서 순차적으로 수행하되, 상기 과정을 모든 컴퓨팅 서버에 대해 수행할 수도 있다.
또한, 각각의 컴퓨팅 서버에서 병렬적으로 배치 데이터에 대해서 그래디언트값을 구하고 이를 매개 변수 서버로 전송하고, 매개 변수 서버는 수신된 그래디언트값을 다른 컴퓨팅 서버로 전송하고, 다른 컴퓨팅 서버는 전송된 그래디언트값에 기초하여 매개 변수를 업데이트하는 과정을 모든 배치 데이터에 대해서 순차적으로 수행하도록 할 수도 있다.
또한, 상기 컴퓨팅 서버는, 의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 계산하고 계산된 그래디언트값에 의해 매개 변수를 업데이트하고 업데이트된 매개 변수를 매개 변수 서버로 전송하고, 상기 매개 변수 서버는 수신되는 매개 변수를 다른 컴퓨팅 서버로 전송하고, 매개 변수 서버로부터 매개 변수를 수신한 컴퓨팅 서버는 수신된 매개 변수에 의해 학습 과정을 수행하도록 할 수도 있다.
또한, 상기 컴퓨팅 서버는, 의료 데이터의 묶음으로 구성된 배치 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 계산하고 계산된 그래디언트값에 의해 매개 변수를 업데이트하는 컴퓨팅 유닛; 및 의료 데이터의 묶음으로 구성된 배치 데이터를 저장하는 데이터 저장부를 포함할 수 있다.
또한, 상기 컴퓨팅 유닛은 업데이트된 매개 변수를 매개 변수 서버로 전송하고, 매개 변수 서버로부터 다른 컴퓨팅 유닛에서 전송된 매개 변수를 수신하여 학습 과정을 수행하도록 구성할 수도 있다.
또한, 상기 매개 변수 서버는 수신되는 매개 변수를 매개 변수를 전송한 컴퓨팅 서버에 인접한 컴퓨팅 서버로 전송하도록 할 수도 있다.
또한, 상기 매개 변수는 상태 정보에 기초하여 수신되는 매개 변수를 전송할 컴퓨팅 서버를 선정하여 전송하도록 할 수도 있다.
또한, 상기 매개 변수 서버는 상태 정보를 고려하여 컴퓨팅 서버에서 학습할 배치 데이터의 양인 배치 연산 주기를 결정하고, 상기 컴퓨팅 서버는 상기 배치 연산 주기에 기초하여 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 계산하고 계산된 그래디언트값에 의해 매개 변수를 업데이트하고 업데이트된 매개 변수를 매개 변수 서버로 전송하도록 할 수도 있다.
본 발명의 다른 측면에 의하면, 전술한 바와 같은 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템에서 수행되는 분산 학습 방법으로서, 컴퓨팅 서버가 의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값 또는 그래디언트값에 의해 업데이트되는 매개 변수 중 어느 하나를 매개 변수 서버로 전송하는 제1 단계; 매개 변수 서버가 그래디언트값 또는 매개 변수를 수신하고 그래디언트값 또는 매개 변수를 전송한 컴퓨팅 서버 이외의 다른 컴퓨팅 서버로 전송하는 제2 단계; 및 컴퓨팅 서버가 매개 변수 서버로부터 수신되는 그래디언트값 또는 매개 변수에 기초하여 학습을 수행하는 제3 단계를 포함하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 방법을 제공한다.
본 발명에 의하면, 의료 데이터의 개인 정보의 노출 등과 같은 이슈를 회피하면서 각각의 의료 기관에 분산되어 있는 의료 영상 데이터를 활용할 수 있도록 하는 시스템 및 방법을 제공할 수 있다.
즉, 본 발명은 의료 데이터를 제공하는 주체 측면에서 데이터 제공에 대한 위험을 감수할 필요가 없이 의료 데이터 자체는 각각의 주체가 소유한 상태에서 모든 데이터의 정보를 활용하여 학습할 수 있도록 함으로써 학습의 효율성을 높이고 나아가 분석 정확도를 높일 수 있는 시스템 및 방법을 제공할 수 있다.
도 1은 일반적인 인공 신경망에서의 학습 과정을 설명하기 위한 도면이다.
도 2는 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템(100)의 전체적인 구성을 나타낸 도면이다.
도 3은 환자의 유방 X-선 촬영 영상을 나타낸 것이다.
도 4는 컴퓨팅 서버(20,30,40)의 내부 구성을 나타낸 도면이다.
도 5는 도 2 내지 도 4를 참조하여 설명한 시스템(100)에 의해 수행되는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 방법의 일실시예를 나타낸 흐름도이다.
도 6은 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 방법의 다른 실시예를 나타낸 흐름도이다.
도 7은 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 방법의 또 다른 실시예를 나타낸 흐름도이다.
도 8은 본 발명에 다른 실시예에 의한 시스템(100A)의 구성을 나타낸 도면이다.
이하, 첨부 도면을 참조하여 본 발명에 의한 실시예를 상세하게 설명하기로 한다.
우선, 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법을 설명하기에 앞서서 도 1을 참조하여 인공 신경망에서의 일반적인 학습 과정에 대해 간략하게 설명하기로 한다.
도 1은 일반적인 인공 신경망에서의 학습 과정을 설명하기 위한 도면이다.
알려져 있는 바와 같이, 인공 신경망에서의 학습(learning)이라 함은, 특정한 인공 신경망 모델이 주어져 있고 주어진 모델의 최적의 매개 변수(parameter, 신경망의 노드(node)간의 웨이트(weight))를 찾는 과정이라고 할 수 있다.
도 1은 인공 신경망 모델과 해당 모델에서의 학습 과정을 나타낸 것으로서, 이 모델에서의 매개 변수(parameter)는 초기에 주어진 값을 가진다. 다만, 이 때의 초기값은 랜덤하게 주어질 수도 있고 특정값을 입력할 수도 있다. 또한, 특정 분포나 사전에 학습된 모델로부터 가져올 수도 있다.
도 1의 모델에서의 학습 과정은 에러 역전파(error backpropagation) 방식을 사용하는데, 도 1의 모델에서, 입력 레이어(input layer)에서 데이터가 입력되면 히든 레이어(Hidden 1, Hidden 2)를 거쳐서 출력 노드(output)로 전달되고, 출력 레이어(output layer)에서 출력값(oi,output value)을 얻을 수 있다. 그리고 출력값(Oi)과 타겟값(ti, target value)과의 에러(error)를 계산한다. 즉, 데이터를 신경망 모델에 피드포워드(feedforward) 시켜서 출력 레이어에서 에러를 계산한다.
그리고, 계산된 에러를 도 1의 모델에 출력 레이어로부터 입력 레이어로 역전파(backpropagation) 시키면서 해당 모델의 각각의 매개 변수(parameter)의 그래디언트(gradient)값을 계산한다. 그리고 나서 계산된 그래디언트값을 바탕으로 매개 변수를 업데이트(update)한다.
이러한 과정을 반복함으로써 도 1의 인공 신경망 모델은 학습을 수행할 수 있고 출력값은 점차 타겟값에 가까운 결과를 제공할 수 있게 된다.
가장 간단한 형태의 인공 신경망 모델은 아래와 같은 함수로 표현할 수 있다.
f(x,w1,w0) = σ(w1x+w0)
여기에서, σ는 비선형 활성함수를 나타내고 x는 입력값, wi는 신경망의 매개 변수(parameter)를 의미한다.
신경망의 학습이란 신경망에 입력을 넣어 나오는 출력값이 실제 데이터 라벨(label)과 같아지도록 신경망의 매개 변수를 조정하는 과정이다. 예를 들어, {x1,x2,....,xn)의 데이터와 각 데이터의 라벨(label) {y1,y2,...,yn}이 주어져 있을 때, 신경망의 출력값과 실제 라벨간의 에러(error) 함수는 다음과 같이 squared error 함수로 정의할 수 있다(에러 함수는 신경망의 목적에 따라 달라질 수 있으며 여기서는 예시를 위해 squared error 함수를 이용함).
Figure PCTKR2015009565-appb-I000001
이러한 에러 함수를 최소화시키는 신경망 모델의 매개 변수를 찾기 위해 최적화 방법으로서 예컨대 gradient descent 방식을 활용할 수 있다. 따라서, 신경망의 학습의 최적화 문제로 볼 수 있는데 이 때 목적 함수는 E(w1,w0)이 되고 최적화시킬 매개 변수는 w1,w0가 된다.
그래디언트(gradient)는 목적 함수를 각 매개 변수로 편미분한 방향을 나타내는데 이를 수식으로 표현하면 다음과 같다.
Figure PCTKR2015009565-appb-I000002
따라서, 신경망의 매개 변수는 위의 그래디언트 방향으로 일정량(learning rate: α)만큼 변화하도록 아래와 같이 업데이트(update)된다.
Figure PCTKR2015009565-appb-I000003
Figure PCTKR2015009565-appb-I000004
이러한 방식으로 에러 함수를 이용하여 그래디언트 값에 의해 신경망 모델에서의 매개 변수를 조정함으로써 신경망 모델을 학습시킬 수 있게 된다.
다음으로, 도 2 이하를 참조하여 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법에 대해 상세하게 설명하기로 한다.
도 2는 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템(100)의 전체적인 구성을 나타낸 도면이다.
도 2를 참조하면, 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템(100,이하, 간단히 "시스템(100)"이라 한다)은 매개 변수 서버(parameter server, 10) 및 적어도 하나 이상의 컴퓨팅 서버(computing server, 20,30,40)를 구비한다.
매개 변수 서버(10)는 네트워크(미도시)를 통해 적어도 하나 이상의 컴퓨팅 서버(20,30,40)과 연결되며, 컴퓨팅 서버(20,30,40) 사이에서 그래디언트값 또는 매개 변수를 송수신하도록 동작한다. 한편, 매개 변수 서버(10)와 컴퓨팅 서버(20,30,40)는 그래디언트값이나 매개 변수 이외에도 상태 정보를 송수신할 수 있다. 상태 정보는 예컨대 네트워크의 상태, 각 컴퓨팅 서버(20,30,40)의 신경망 모델의 학습 상태, 컴퓨팅 서버(20,30,40)의 부하(load) 상태 등과 같은 정보를 의미한다.
컴퓨팅 서버(20,30,40)는 예컨대 원격지에 분산되어 있는 병원 등과 같은 의료 기관에 배치된 서버로서, 각각의 의료 기관이 보유하고 있는 의료 데이터에 기초하여 학습(learning)을 수행하면서 주어진 인공 신경망의 에러 함수에 대한 그래디언트값 또는 그래디언트값에 의해 업데이트되는 매개 변수 중 어느 하나를 매개 변수 서버(10)로 전송하며, 매개 변수 서버(10)로부터 전송되는 그래디언트값 또는 매개 변수를 수신하여 학습 과정을 수행하는 것을 특징으로 한다.
한편, 본 발명에서 "의료 데이터"라 함은, 환자의 병변 부위를 촬영한 X-ray, CT, MRI 영상 등과 같은 영상 데이터와 영상 이외의 병변과 관련된 내용이 포함된 텍스트 데이터 등을 포함하는 개념이다. 즉, 본 발명에서 "의료 데이터"는 병변과 관련된 학습을 수행할 수 있도록 하는 모든 종류의 데이터를 포함한다.
도 3은 영상 의료 데이터의 일예를 나타낸 것으로서, 환자의 유방 X-선 촬영 영상을 나타낸 것이며, 도 3에서 흰색 사각형으로 나타낸 부분이 암세포 조직(병변)을 나타낸다.
이러한 의료 데이터는 학습 수행시 연속적인 배치(batch) 작업을 위하여 각각의 의료 데이터의 묶음인 배치(batch) 데이터의 집합으로 구성되며, 각각의 컴퓨팅 서버(20,30,40)는 각각의 의료 데이터의 묶음인 배치 데이터의 집합에 의해 학습을 수행하게 된다. 여기서 각각의 컴퓨팅 서버(20,30,40)에서의 단위 배치 데이터의 양은 서로 같을 필요는 없으며 서로 독립적이다.
전술한 바와 같이 의료 데이터의 개인 정보 이슈로 인하여 의료 기관은 자신들이 보유하고 있는 의료 데이터를 외부로 제공하기를 꺼리기 때문에 컴퓨팅 서버(20,30,40)는 병원 등과 같은 의료 기관에 배치되어 해당 의료 기관에서 보유하고 있는 의료 데이터에 기초하여 학습을 수행하면서 그래디언트값 또는 매개 변수를 매개 변수 서버(10)로 전송하고 이를 다른 컴퓨팅 서버(20,30,40)에서 공유하도록 함으로써 개인 정보 이슈를 해결하면서 방대한 양의 의료 데이터를 효율적으로 이용하여 학습을 수행할 수 있도록 한다.
즉, 각각의 컴퓨팅 서버(20,30,40)에서 외부로 전송되는 그래디언트값이나 매개 변수는 원본 의료 데이터를 복원 불가능하도록 인코딩된 데이터나 마찬가지이므로 원본 의료 데이터의 보안 문제를 원천적으로 차단할 수 있다.
컴퓨팅 서버(20,30,40)는 특정한 인공 신경망 모델을 가지고 있으며 해당 신경망 모델의 구조에 의한 학습을 수행하는데, 여기서 학습 과정이라 함은 도 1을 참조하여 설명한 바와 같이 해당 신경망 모델의 에러 함수, 그래디언트값을 이용하여 매개 변수를 조절하는 과정을 의미한다.
도 4는 컴퓨팅 서버(20,30,40)의 내부 구성을 나타낸 도면이다.
도 4에 나타낸 바와 같이, 컴퓨팅 서버(20,30,40)는 적어도 하나 이상의 k개일 수 있으며, 이들은 원격지에 분산된 예컨대 병원 등과 같은 의료 기관에 배치된다.
컴퓨팅 서버(20,30,40)는 각각 컴퓨팅 유닛(21,31,41), 데이터 저장부(22,32,42) 및 배치 데이터(23,33,43)를 포함한다.
컴퓨팅 유닛(21,31,41)은 앞서 설명한 바와 같이 주어진 인공 신경망 모델의 매개 변수를 조절하는 과정 즉, 학습 과정을 수행하는데 이러한 과정 도중 각각의 컴퓨팅 유닛(21,31,41)에서의 에러 함수에 의한 그래디언트값을 계산하고 계산된 그래디언트값에 기초하여 매개 변수를 업데이트하고 또한 다른 컴퓨팅 유닛에도 반영될 수 있도록 매개 변수 서버(10)로 그래디언트값 또는 매개 변수를 전송한다.
또한, 컴퓨팅 유닛(21,31,41)은 다른 컴퓨팅 유닛으로부터 매개 변수 서버(10)를 통해 전송되는 그래디언트값 또는 매개 변수를 수신하고 이에 기초하여 학습 과정을 다시 수행한다.
데이터 저장부(22)는 전술한 바와 같은 의료 데이터를 묶음 단위로 구성한 배치 데이터(23,33,43)의 형태로 저장하고 있으며 이를 하나의 배치 데이터 단위로 컴퓨팅 유닛(21)으로 전송하여 단위 배치 데이터에 대해 그래디언트값을 계산하면서 매개 변수를 업데이트함으로써 학습 과정을 수행하도록 한다.
그래디언트값을 계산하는 방법과 이에 의해 매개 변수를 업데이트하는 과정은 앞서 도 1을 참조하여 설명한 바와 같은 방식이나 기타 종래 알려져 있는 방식을 사용할 수 있으며 이들은 본 발명의 직접적인 목적은 아니므로 여기서는 상세 설명은 생략한다.
도 5는 도 2 내지 도 4를 참조하여 설명한 시스템(100)에 의해 수행되는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 방법의 일실시예를 나타낸 흐름도로서, 도 5의 실시예는 그래디언트값에 기초하여 분산 학습을 실시하는 경우를 나타낸 것이다.
도 5를 참조하면, 어느 하나의 컴퓨팅 서버 예를 들어 컴퓨팅 서버(20)의 컴퓨팅 유닛(21)은 첫번째(i=1) 배치 데이터에 대해서 앞서 설명한 바와 같은 방식으로 학습 과정을 수행하면서 에러 함수를 계산하고 이에 의해 그래디언트값을 계산한다(S100).
그래디언트값이 계산되면 컴퓨팅 유닛(21)은 계산된 그래디언트값에 기초하여 자신의 매개 변수를 업데이트하고 계산된 그래디언트값을 매개 변수 서버(10)로 전송한다(S110).
매개 변수 서버(10)는 컴퓨팅 서버(20)로부터 전송된 그래디언트값을 컴퓨팅 서버(20) 이외의 다른 컴퓨팅 서버 즉, 도 2의 경우 컴퓨팅 서버(30,40)로 전송한다(S120).
컴퓨팅 서버(30,40)의 컴퓨팅 유닛(31,41)은 그래디언트값을 수신하고 이에 기초하여 각각 자신의 매개 변수를 업데이트한다(S130).
그리고 i값을 1씩 증가시키면서 다음 배치 데이터에 대해서 단계(S100) 내지 단계(S130)를 반복수행하는 과정을 마지막 배치 데이터까지 수행한다.
그리고, 이와 같은 과정이 컴퓨팅 서버(20)에서 완료되면 다음 컴퓨팅 서버 즉 컴퓨팅 서버(30)에서 상기 설명한 바와 같이 컴퓨팅 서버(30)의 배치 데이터들에 대해서 단계(S100) 내지 단계(S130)를 반복 수행한다.
이와 같은 과정을 마지막 컴퓨팅 서버(40)까지 반복하게 되면 모든 컴퓨팅 서버(20,30,40)의 모든 배치 데이터에 대해서 학습을 수행하고 각 과정에서 그래디언트값을 계산하고 이에 기초하여 매개 변수를 조절하는 과정을 모든 컴퓨팅 서버(20,30,40)에 대해서 수행할 수 있다.
도 5의 실시예는 모든 의료 데이터가 마치 한 곳에 저장되어 있는 것과 같은 학습 효과를 얻을 수 있다는 장점을 갖는다. 다만, 도 5의 실시예는 하나의 컴퓨팅 서버가 계산을 수행하는 동안 다른 컴퓨팅 서버들은 특별한 연산 없이 대기 상태로 있어야 하며, 그래디언트값의 전송 횟수가 많아져서 네트워크 비용(network cost)이 크다는 문제점이 있다.
도 6은 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 방법의 다른 실시예를 나타낸 흐름도이다.
도 6의 실시예는 모든 컴퓨팅 서버(20,30,40)에서 각각 병렬적으로 도 5와 같은 과정을 수행한다는 점에 특징이 있다.
우선, 모든 컴퓨팅 서버(20,30,40)에서 각각 자신이 가지고 있는 첫번째(i=1) 배치 데이터에 대해서 독립적으로 그래디언트값을 각각 계산한다(S200).
그래디언트값이 계산되면 각 컴퓨팅 서버(20,30,40)는 자신의 매개 변수를 업데이트하고 그래디언트값을 매개 변수 서버(10)로 전송한다(S210).
매개 변수 서버(10)는 전송된 그래디언트값을 다른 컴퓨팅 서버로 전송하고(S220), 다른 컴퓨팅 서버는 수신한 그래디언트값에 기초하여 매개 변수를 업데이트한다(S230).
이와 같은 과정을 각 컴퓨팅 서버(20,30,40)는 자신이 가지고 있는 모든 배치 데이터들에 대해서 순차적으로 수행함으로써 학습 과정 즉, 그래디언트값에 의한 매개 변수를 업데이트할 수 있게 된다.
도 6의 실시예는 동시에 각 컴퓨팅 서버(20,30,40)에서 각각의 배치 데이터를 학습할 수 있기 때문에 도 5의 실시예에 비교하여 학습 속도가 빠르다는 장점이 있다. 다만, 모든 컴퓨팅 서버(20,30,40)의 모든 배치 데이터에 대해서 학습이 완료될 때까지 주고 받아야 할 그래디언트값의 총량은 동일하므로 네트워크 비용은 도 5의 경우와 동일하다.
한편, 도 2 내지 도 6에서 설명한 실시예들은 모두 그래디언트값이 매개 변수 서버(10)를 통해 컴퓨팅 서버(20,30,40) 사이에서 공유되고 이에 기초하여 매개 변수를 업데이트한다는 점을 특징으로 한다. 그러나, 이러한 그래디언트 전송 방식은 각각의 컴퓨팅 서버(20,30,40)에 구축된 신경망 모델이 모두 동일한 구조(architecture)를 가져야 한다는 한계가 있다. 따라서, 서로 다른 신경망 모델을 갖는 컴퓨팅 서버(20,30,40)의 경우에도 적용할 수 있는 학습 방법이 필요하다.
한편, 도 2 내지 도 6에서 설명한 그래디언트 전송 방식의 실시예의 경우에는, 네트워크 비용(cost)를 줄이기 위해서는 네트워크 상의 데이터의 송수신 횟수를 줄여야 한다. 이를 위해서는 각 컴퓨팅 서버(20,30,40)에서 어느 정도의 배치 데이터를 연산한 후 매개 변수 서버(10)와 통신하는 방법을 생각할 수 있다.
이 경우 그래디언트값의 통신은 의미가 없다. 왜냐하면, 그래디언트값은 현재의 신경망 모델의 매개 변수(parameter)에 영향을 받기 때문에 이미 독립적으로 매개 변수가 연산된 상태에서는 다른 컴퓨팅 서버의 모델 입장에서는 그래디언트값은 전혀 유용한 정보가 아니기 때문이다.
따라서, 이 경우에는 각 컴퓨팅 서버(20,30,40)에서 배치 데이터를 연산한 정보(즉, 그래디언트값)이 누적 반영되어 있는 매개 변수값 자체를 공유하는 것이 중요하다.
매개 변수를 공유하는 경우에는 각 컴퓨팅 서버(20,30,40)의 신경망 모델이 모두 같은 아키텍쳐를 가질 필요가 없기 때문에 이는 예컨대 앙상블-예측(ensemble-prediction)을 할 수 있는 매우 중요한 장점을 갖는다.
이러한 배경에 기초하여, 본 발명의 다른 실시예로서 매개 변수를 공유하는 방식에 대해서 설명한다.
도 7은 본 발명에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 방법의 또 다른 실시예를 나타낸 흐름도이다.
도 7을 참조하면, 우선 각각의 컴퓨팅 서버(20,30,40)는 자신이 가지고 있는 배치 데이터들에 기초하여 순차적으로 학습 과정을 수행하면서 그래디언트값을 계산하고 이에 의해 매개 변수를 업데이트한다(S300).
그리고, 각 컴퓨팅 서버(20,30,40)는 업데이트된 매개 변수를 매개 변수 서버(10)로 전송한다(S310).
매개 변수 서버(10)는 수신된 매개 변수를 매개 변수를 전송한 컴퓨팅 서버 이외의 다른 컴퓨팅 서버 중 어느 하나로 전송한다(S320). 이 때, 매개 변수를 전송할 컴퓨팅 서버를 선택하는 것은 예컨대 다음과 같은 방식을 사용할 수 있다. 즉, 컴퓨팅 서버(20)로부터 수신된 매개 변수는 컴퓨팅 서버(30)로 전송하고, 컴퓨팅 서버(30)로부터 수신된 매개 변수는 컴퓨팅 서버(40)로 전송하는 방식과 같이 바로 옆의 인접한 컴퓨팅 서버로 매개 변수를 전달하는 방법을 사용할 수 있다.
다른 방법으로서 매개 변수 서버(10)가 각 컴퓨팅 서버(20,30,40)의 부하나 연산 진행 상황을 고려하여 매개 변수를 전송할 컴퓨팅 서버(20,30,40)를 선정할 수도 있다. 이 때 전술한 바와 같이 컴퓨팅 서버(20,30,40)에서 수신되는 상태 정보를 활용할 수 있다.
이와 같이 컴퓨팅 서버(20,30,40)가 다른 컴퓨팅 서버(20,30,40)의 매개 변수를 수신하면, 다시 단계(S300)으로 복귀하여 그래디언트값을 계산하고 이에 기초하여 매개 변수를 다시 업데이트하는 과정 즉, 학습 과정을 반복 수행한다.
이러한 방식은 매개 변수를 공유하기 때문에 전술한 바와 같이 컴퓨팅 서버(20,30,40)들이 서로 다른 아키텍쳐를 가져도 무방하다는 장점과 매개 변수를 전송하는 주기를 조절함으로써 네트워크 비용을 조정할 수 있다는 장점을 갖는다.
한편, 도 7의 실시예에서 각각의 컴퓨팅 서버(20,30,40)는 자신이 가지고 있는 배치 데이터를 일정량 학습한 후 매개 변수를 공유하지만 각 컴퓨팅 서버(20,30,40)에서 학습해야 할 배치 데이터들의 양(배치 연산 주기)을 동적으로 결정하도록 할 수도 있다.
즉, 각 컴퓨팅 서버(20,30,40)별로 연산 부하와 매개 변수 서버(10)와의 네트워크 부하를 고려하여 각 컴퓨팅 서버(20,30,40) 별로 최적화된 배치 연산 주기를 결정하는 방식을 사용할 수도 있다. 배치 연산 주기는 변화하는 이러한 부하 요소들을 고려하여 가변적으로 결정할 수 있는데 매개 변수 서버(10)가 상태 정보를 참조하여 결정하는 것이 바람직하다.
예컨대, 매개 변수 서버(10)와의 네트워크 비용(cost)가 큰 컴퓨팅 서버의 경우 네트워크 전송 횟수를 더 줄일 수 있도록 좀 더 많은 배치 데이터를 연산(즉, 배치 연산 주기를 길게)한 후 매개 변수를 업데이트하고 이를 매개 변수 서버(10)로 전송할 수 있다.
도 8은 본 발명에 다른 실시예에 의한 시스템(100A)의 구성을 나타낸 도면이다.
도 8에서 좌측의 컴퓨팅 서버의 그룹은 네트워크 상태가 상대적으로 좋고 우측의 컴퓨팅 서버의 그룹은 네트워크 상태가 상대적으로 좋지 않은 경우로서, 이러한 경우 좌측의 그룹은 도 5 및 도 6에서 설명한 그래디언트값 전송 방식, 우측의 그룹은 도 7에서 설명한 매개 변수 전송 방식을 사용하여 학습 과정을 수행하도록 할 수 있다.
또한, 이러한 컴퓨팅 서버의 그룹은 각각 복수개로 군집화하여 구성할 수도 있다.
또한, 매개 변수 서버(10)도 계층적으로 구성할 수 있는데, 각 컴퓨팅 서버의 그룹이 중앙의 매개 변수 서버와 네트워크 상태가 좋지 않은 경우 하나의 그룹을 관장하는 매개 변수 서버가 따로 존재하도록 하여 그 그룹에서 학습된 최종 결과를 중앙의 매개 변수 서버와 공유하도록 구성할 수도 있다.
이상 본 발명의 이해를 돕기 위하여 바람직한 실시예를 제시하였으나, 본 발명은 특정 실시예에 한정되는 것은 아니며 당업자라면 다양한 변경 및 수정이 가능할 것이다.

Claims (14)

  1. 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템으로서,
    의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값 또는 그래디언트값에 의해 업데이트되는 매개 변수 중 어느 하나를 매개 변수 서버로 전송하는 적어도 하나 이상의 컴퓨팅 서버; 및
    컴퓨팅 서버와 네트워크를 통해 연결되며, 컴퓨팅 서버 사이에서 그래디언트값 또는 매개 변수를 송수신하는 매개 변수 서버
    를 포함하되,
    상기 컴퓨팅 서버는, 매개 변수 서버로부터 수신되는 그래디언트값 또는 매개 변수에 기초하여 학습을 수행하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  2. 제1항에 있어서,
    상기 컴퓨팅 서버는, 의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 매개 변수 서버로 전송하고,
    상기 매개 변수 서버는 수신되는 그래디언트값을 다른 컴퓨팅 서버로 전송하고,
    매개 변수 서버로부터 그래디언트값을 수신한 컴퓨팅 서버는 수신된 그래대언트값에 의해 매개 변수를 업데이트하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  3. 제2항에 있어서,
    상기 컴퓨팅 서버는,
    의료 데이터의 묶음으로 구성된 배치 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 계산하는 컴퓨팅 유닛; 및
    의료 데이터의 묶음으로 구성된 배치 데이터를 저장하는 데이터 저장부
    를 포함하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  4. 제3항에 있어서,
    상기 컴퓨팅 유닛은 계산된 그래디언트값을 매개 변수 서버로 전송하고,
    매개 변수 서버로부터 다른 컴퓨팅 유닛에서 전송된 그래디언트값을 수신하여 매개 변수를 업데이트하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  5. 제4항에 있어서,
    상기 컴퓨팅 유닛은 계산된 그래디언트값에 의해 매개 변수를 업데이트하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  6. 제5항에 있어서,
    하나의 컴퓨팅 서버에서 배치 데이터에 대해서 그래디언트값을 구하고 이를 매개 변수 서버로 전송하고, 매개 변수 서버는 수신된 그래디언트값을 다른 컴퓨팅 서버로 전송하고, 다른 컴퓨팅 서버는 전송된 그래디언트값에 기초하여 매개 변수를 업데이트하는 과정을 모든 배치 데이터에 대해서 순차적으로 수행하되, 상기 과정을 모든 컴퓨팅 서버에 대해 수행하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  7. 제5항에 있어서,
    각각의 컴퓨팅 서버에서 병렬적으로 배치 데이터에 대해서 그래디언트값을 구하고 이를 매개 변수 서버로 전송하고, 매개 변수 서버는 수신된 그래디언트값을 다른 컴퓨팅 서버로 전송하고, 다른 컴퓨팅 서버는 전송된 그래디언트값에 기초하여 매개 변수를 업데이트하는 과정을 모든 배치 데이터에 대해서 순차적으로 수행하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  8. 제1항에 있어서,
    상기 컴퓨팅 서버는, 의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 계산하고 계산된 그래디언트값에 의해 매개 변수를 업데이트하고 업데이트된 매개 변수를 매개 변수 서버로 전송하고,
    상기 매개 변수 서버는 수신되는 매개 변수를 다른 컴퓨팅 서버로 전송하고,
    매개 변수 서버로부터 매개 변수를 수신한 컴퓨팅 서버는 수신된 매개 변수에 의해 학습 과정을 수행하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  9. 제8항에 있어서,
    상기 컴퓨팅 서버는,
    의료 데이터의 묶음으로 구성된 배치 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 계산하고 계산된 그래디언트값에 의해 매개 변수를 업데이트하는 컴퓨팅 유닛; 및
    의료 데이터의 묶음으로 구성된 배치 데이터를 저장하는 데이터 저장부
    를 포함하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  10. 제9항에 있어서,
    상기 컴퓨팅 유닛은 업데이트된 매개 변수를 매개 변수 서버로 전송하고,
    매개 변수 서버로부터 다른 컴퓨팅 유닛에서 전송된 매개 변수를 수신하여 학습 과정을 수행하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  11. 제8항에 있어서,
    상기 매개 변수 서버는 수신되는 매개 변수를 매개 변수를 전송한 컴퓨팅 서버에 인접한 컴퓨팅 서버로 전송하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  12. 제8항에 있어서,
    상기 매개 변수는 상태 정보에 기초하여 수신되는 매개 변수를 전송할 컴퓨팅 서버를 선정하여 전송하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  13. 제8항에 있어서,
    상기 매개 변수 서버는 상태 정보를 고려하여 컴퓨팅 서버에서 학습할 배치 데이터의 양인 배치 연산 주기를 결정하고,
    상기 컴퓨팅 서버는 상기 배치 연산 주기에 기초하여 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값을 계산하고 계산된 그래디언트값에 의해 매개 변수를 업데이트하고 업데이트된 매개 변수를 매개 변수 서버로 전송하는 것을 특징으로 하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템.
  14. 제1항 내지 제13항 중 어느 한 항에 의한 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템에서 수행되는 분산 학습 방법으로서,
    컴퓨팅 서버가 의료 데이터에 기초한 학습 과정을 수행하면서 인공 신경망의 에러 함수에 의한 그래디언트값 또는 그래디언트값에 의해 업데이트되는 매개 변수 중 어느 하나를 매개 변수 서버로 전송하는 제1 단계;
    매개 변수 서버가 그래디언트값 또는 매개 변수를 수신하고 그래디언트값 또는 매개 변수를 전송한 컴퓨팅 서버 이외의 다른 컴퓨팅 서버로 전송하는 제2 단계; 및
    컴퓨팅 서버가 매개 변수 서버로부터 수신되는 그래디언트값 또는 매개 변수에 기초하여 학습을 수행하는 제3 단계
    를 포함하는 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 방법.
PCT/KR2015/009565 2015-09-11 2015-09-11 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법 WO2017043680A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150128839 2015-09-11
KR10-2015-0128839 2015-09-11

Publications (1)

Publication Number Publication Date
WO2017043680A1 true WO2017043680A1 (ko) 2017-03-16

Family

ID=58239934

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/009565 WO2017043680A1 (ko) 2015-09-11 2015-09-11 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법

Country Status (1)

Country Link
WO (1) WO2017043680A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457951A (zh) * 2019-08-19 2019-11-15 南京大学 一种无人工噪声的深度学习模型保护方法
CN111582434A (zh) * 2019-02-18 2020-08-25 韩国宝之铂株式会社 深度学习系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10295672A (ja) * 1997-04-24 1998-11-10 Anima Kk 病名診断装置
KR100794516B1 (ko) * 2007-12-03 2008-01-14 한국정보통신대학교 산학협력단 사례 기반 기계학습 추론을 이용한 질환 진단 및 검사 항목선정 시스템 및 방법
US20090148011A1 (en) * 2004-11-19 2009-06-11 Konnklike Philips Electronics, N.V. In-situ data collection architecture for computer-aided diagnosis
JP2014109822A (ja) * 2012-11-30 2014-06-12 International Business Maschines Corporation 広域分散医療情報ネットワークのデータ管理機構

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10295672A (ja) * 1997-04-24 1998-11-10 Anima Kk 病名診断装置
US20090148011A1 (en) * 2004-11-19 2009-06-11 Konnklike Philips Electronics, N.V. In-situ data collection architecture for computer-aided diagnosis
KR100794516B1 (ko) * 2007-12-03 2008-01-14 한국정보통신대학교 산학협력단 사례 기반 기계학습 추론을 이용한 질환 진단 및 검사 항목선정 시스템 및 방법
JP2014109822A (ja) * 2012-11-30 2014-06-12 International Business Maschines Corporation 広域分散医療情報ネットワークのデータ管理機構

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHO, YONG MAN ET AL.: "Parallel ANN(Artificial Neural Network) Simulator Using Mobile Agent", JOURNAL OF THE KOREA INFORMATION PROCESSING SOCIETY B, vol. 13-B, no. 6, December 2006 (2006-12-01), pages 615 - 624, XP055373661, Retrieved from the Internet <URL:http://img.kisti.re.kr/originalView/originalView.jsp> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582434A (zh) * 2019-02-18 2020-08-25 韩国宝之铂株式会社 深度学习系统
CN111582434B (zh) * 2019-02-18 2023-10-17 韩国宝之铂株式会社 深度学习系统
CN110457951A (zh) * 2019-08-19 2019-11-15 南京大学 一种无人工噪声的深度学习模型保护方法

Similar Documents

Publication Publication Date Title
WO2021096009A1 (ko) 릴레이션 네트워크에 기반한 지식 보완 방법 및 장치
WO2022145782A2 (ko) 빅데이터 및 클라우드 시스템 기반 인공지능 응급의료 의사결정 및 응급환자 이송 시스템과 그 방법
WO2020080819A1 (ko) 기계학습 알고리즘을 이용한 구강건강 예측장치 및 방법
WO2022163996A1 (ko) 자기주의 기반 심층 신경망 모델을 이용한 약물-표적 상호작용 예측 장치 및 그 방법
WO2019098510A1 (ko) 온라인 구강건강상태 진단방법 및 온라인 구강건강상태 진단 서비스를 제공하기 위한 서버
WO2013151289A1 (ko) 가시적 무손실 압축을 이용한 의료 영상 압축 시스템 및 방법
WO2020213826A1 (ko) 하부요로증상 진단보조 방법
WO2017043680A1 (ko) 의료 데이터의 개인 정보 보호를 위한 인공 신경망의 분산 학습 시스템 및 방법
WO2018169257A1 (ko) 개인의료정보데이터 관리방법 및 시스템
CN115408377A (zh) 一种基于联邦学习构建医学影像大模型的方法和装置
WO2023054768A1 (ko) 욕창질환 포착과 단계결정을 위한 딥러닝 모델 시스템, 생성방법 및 이를 이용한 욕창진단 방법
WO2022065579A1 (ko) 블록체인을 기반으로 하는 유전자 정보 거래 시스템 및 그 방법
WO2023224205A1 (ko) 인공 신경망 모델 학습 결과 합성을 통한 공통 모델 생성 방법
WO2023249402A1 (ko) 딥러닝 모델의 학습을 위한 의료 데이터의 처리 방법, 프로그램 및 장치
WO2023229384A1 (ko) 학습 데이터 생성 방법, 컴퓨터 프로그램 및 장치
WO2021112317A1 (ko) 구강 내 미생물 분석장치를 이용한 건강 예측 시스템 및 방법
WO2022055158A1 (ko) 치아 영상 부분 변환 방법 및 이를 위한 장치
WO2023027248A1 (ko) 데이터 생성 방법 및 이를 이용한 학습방법 및 장치
WO2013133610A1 (en) Method and apparatus for providing personal health record information
WO2022131607A1 (ko) 세포 선별 장치 및 방법
WO2024172329A1 (ko) 뼈 나이 예측 모델의 학습 방법, 이를 이용한 뼈 나이 예측 방법 및 장치
WO2020171321A1 (ko) 딥 러닝 시스템
WO2024195952A1 (ko) 연합 학습을 이용하여 맞춤형 인공 신경망 모델을 제공하는 방법 및 장치
WO2024147472A1 (ko) 복수의 인공지능 모델을 이용하여 환자의 조기 신경학적 악화를 예측하는 방법 및 장치
Anderson et al. The role of the Internet in medical decision making

Legal Events

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

Ref document number: 15903660

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15903660

Country of ref document: EP

Kind code of ref document: A1