WO2021221242A1 - Federated learning system and method - Google Patents

Federated learning system and method Download PDF

Info

Publication number
WO2021221242A1
WO2021221242A1 PCT/KR2020/013548 KR2020013548W WO2021221242A1 WO 2021221242 A1 WO2021221242 A1 WO 2021221242A1 KR 2020013548 W KR2020013548 W KR 2020013548W WO 2021221242 A1 WO2021221242 A1 WO 2021221242A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
learning
model
management unit
server
Prior art date
Application number
PCT/KR2020/013548
Other languages
French (fr)
Korean (ko)
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 WO2021221242A1 publication Critical patent/WO2021221242A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06N3/098Distributed learning, e.g. federated learning

Definitions

  • the present invention relates to a federated learning system and method.
  • AI artificial intelligence
  • Training of artificial intelligence models requires numerous computer resources to perform large-scale calculations.
  • Cloud computing service is the best solution that can easily provide computing infrastructure to train artificial intelligence models without complex hardware and software installation.
  • cloud computing is based on centralization of resources, all necessary data should be stored in cloud memory and utilized for model training. Although data centralization offers many advantages in terms of maximizing efficiency, there is a risk of leakage of user personal data, which is becoming an increasingly important business issue as data transmission increases.
  • Federated learning is a learning method in the form of centrally collecting a model learned based on user personal data in a user terminal, rather than learning by collecting user personal data in the center as in the past. Since this federated learning does not centrally collect user personal data, there is little possibility of invasion of privacy.
  • federated learning systems require considering not only algorithmic aspects such as how to update parameters and learning schedules, but also system aspects such as independent data management for each device and how to efficiently communicate with heterogeneous systems.
  • the network dependency between the server and the user terminal is another problem to be solved. That is, in order to perform federated learning, each server and a plurality of user terminals must be closely connected to each other. In this case, when an unstable network or connection problem occurs, it is difficult to respond. In addition, there is a problem in that the user terminal has an additional burden of maintaining data transmitted to the server until the data transmission with the server is completed even if the resource is insufficient and the network state is unstable.
  • an object of the present invention is to provide a federated learning system and method in which a server and a user terminal can asynchronously perform a learning task.
  • a plurality of user terminals that generate training data by learning a global model based on user data, create a global model, collect the training data, and use the global model It provides a federated learning system including a server to improve, and a data management unit that stores and manages model data and learning data related to the global model, transmits the model data to a plurality of user terminals, and transmits the learning data to the server.
  • the model data includes global parameters of the global model, learning time of the user terminal, and type and size information of user data to be used for learning.
  • the user terminal establishes a learning plan based on the model data and performs learning according to the learning plan.
  • the training data is a local model or a local parameter of the local model.
  • the data management unit generates metadata including the size of the training data, the creation date and time, and the distribution characteristics.
  • the server determines the range and number of learning data, selects the learning data to be collected, or establishes or changes a collection plan of the learning data.
  • the data management unit manages the model data and the training data for each version.
  • the server creates a global model, registering model data related to the global model to the data management unit, the data management unit transmitting the model data to a plurality of user terminals, the plurality of user terminals Generating training data by learning a global model based on user data, a plurality of user terminals registering the training data to the data management unit, transmitting the training data to the server by the data management unit, and the server learning It provides a federated learning method comprising the step of aggregating data to improve a global model.
  • the step of registering the model data to the data management unit includes the server requesting the data management unit to register the model data, and the data management unit registering the model data for each version.
  • the step of registering the learning data to the data management unit includes the step of the user terminal requesting the registration of the learning data to the data management unit, and the data management unit registering the learning data for each version.
  • the step of transmitting the learning data to the server includes the step of the server requesting the learning data to the data management unit, and the data management unit transmitting the latest version of the learning data or the version of the learning data requested by the server to the server. .
  • the user terminal and the server independently perform tasks without considering each other's work state, so that federated learning can be flexibly performed and the performance of the global model can be improved.
  • the server can perform federated learning by bringing only the data stored in the data management unit regardless of the user terminal and the network connection state, thereby reducing the burden on the server.
  • the present invention by changing the communication connection between the server and the data management unit and between the user terminal and the data management unit, it is possible to reduce bandwidth, increase network efficiency, and prepare for network failure.
  • FIG. 1 is a block diagram of a conventional federated learning system.
  • FIG. 2 is a flowchart of a conventional associative learning method.
  • FIG. 3 is a block diagram of a federated learning system according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a federated learning method according to an embodiment of the present invention.
  • FIG. 5 is a detailed flowchart of the step of registering the model data of FIG. 4 .
  • FIG. 6 is a detailed flowchart of a step of transmitting the model data of FIG. 4 .
  • FIG. 7 is a detailed flowchart of the step of registering the learning data of FIG.
  • FIG. 8 is a detailed flowchart of a step of transmitting the learning data of FIG. 4 .
  • 'first' and 'second' may be used to describe various elements, but the elements should not be limited by the above terms. The above term may be used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a 'first component' may be referred to as a 'second component', and similarly, a 'second component' may also be referred to as a 'first component'. can Also, the singular expression includes the plural expression unless the context clearly dictates otherwise. Unless otherwise defined, terms used in the embodiments of the present invention may be interpreted as meanings commonly known to those of ordinary skill in the art.
  • FIG. 1 is a block diagram of a conventional federated learning system
  • FIG. 2 is a flowchart of a conventional federated learning method.
  • the conventional federated learning system may be configured to include a plurality of user terminals 10 , a server 20 and a storage 30 .
  • the server 20 generates a global model and stores the generated global model in the storage 30 . Then, the server 20 transmits the global model stored in the storage 30 to the plurality of user terminals 10 .
  • the plurality of user terminals 10 generate a learning model by learning a global model based on user data. In addition, the plurality of user terminals 10 transmit the learning model to the server 20 .
  • the server 20 collects the training data and uses it to improve the global model. Then, the server 20 stores the improved global model in the storage 30 , and transmits the improved global model to the plurality of user terminals 10 again. This process may be repeated until the global model performance reaches a certain level or higher.
  • the conventional federated learning method consists of a selection (Selection) step, a configuration (Configuration) step and a reporting (Reporting) step.
  • the server 20 stores the model data including the global parameters of the global model, the learning plan, the data structure, and the work to be performed in the storage 30 .
  • a plurality of user terminals 10a to 10e capable of performing the federated learning notifies that the learning is ready by sending a message to the server 20 (1).
  • the server 20 collects information of a plurality of user terminals 10a to 10e, and according to a rule such as the number of participating terminals, a user terminal 10 most suitable for participating in learning among a plurality of user terminals 10a to 10e. ⁇ 10c) (selection step).
  • the server 20 reads the model data stored in the storage 30 (2), and transmits it to the selected user terminals 10 to 10c (3). Then, the user terminals 10a to 10c perform learning by applying the user data to the global model according to the model data (4) (configuration step).
  • the user terminals 10a to 10c transmit training data, for example, a local model or a local parameter of the local model, to the server 20 when learning is completed.
  • transmission of some user terminals 10b may fail due to an unstable network or connection problem.
  • the server 20 receives the training data from the user terminals 10a and 10c, the server 20 collects the training data and improves the model data of the global model using this (5). Then, the server 20 stores the model data of the improved global model in the storage 30 (report step).
  • the storage 30 is used only for storing model data of the global model generated by the server 20 . Then, the server 20 checks the status of the plurality of user terminals 10, selects a suitable user terminal 10, determines whether a sufficient amount of learning data to be collected has been collected, and transmits the model data to the plurality of users. It performs many roles, such as transmitting to the terminal 10 .
  • the conventional federated learning method may be reasonable when the number of user terminals 10 to be managed by the server 20 is small, but the number of user terminals 10 participating in federated learning is greatly increased or the user terminals 10 When the number of and its characteristics are flexible, it becomes a great burden on the server 20 for the server 20 to manage all of them.
  • the server 20 determines the exact number and timing of individual responses of the user terminals 10 . cannot predict As such, since the server 20 cannot predict the exact number and timing of individual responses of the user terminals 10, it is inefficient for the server 20 to manage the responses of all the user terminals 10.
  • the server 20 and the plurality of user terminals 10 have a dependency. That is, the server 20 can proceed to update the global model by collecting the learning data only after collection of all responses of the user terminal 10 is completed, and when a failure occurs in the user terminal 10 or the network, federated learning can also be stopped. have. Accordingly, it is difficult to modify and optimize the learning plan.
  • FIG. 3 is a block diagram of a federated learning system according to an embodiment of the present invention.
  • the federated learning system may be configured to include a plurality of user terminals 110 , a server 120 , and a data management unit 130 .
  • the user terminal 110 and the server 120 are computing devices capable of learning a neural network, and may be implemented in various electronic devices.
  • the neural network may be designed to simulate a human brain structure on a computer, and may include a plurality of network nodes having parameters that simulate neurons of a human neural network.
  • the plurality of network modes may transmit and receive data according to a connection relationship, respectively, so as to simulate a synaptic activity of a neuron in which a neuron sends and receives a signal through a synapse.
  • the neural network may include a deep learning model developed from a neural network model. In a deep learning model, a plurality of network nodes may exchange data according to a convolutional connection relationship while being located in different layers.
  • neural network models include deep neural networks (DNN), convolutional deep neural networks (CNN), Recurrent Boltzmann Machine (RNN), Restricted Boltzmann Machine (RBM), deep trust It includes various deep learning techniques such as neural networks (DBN, deep belief networks) and deep Q-networks, and can be applied to fields such as computer vision, speech recognition, natural language processing, and speech signal processing.
  • DNN deep neural networks
  • CNN convolutional deep neural networks
  • RNN Recurrent Boltzmann Machine
  • RBM Restricted Boltzmann Machine
  • DNN deep trust It includes various deep learning techniques such as neural networks (DBN, deep belief networks) and deep Q-networks, and can be applied to fields such as computer vision, speech recognition, natural language processing, and speech signal processing.
  • the plurality of user terminals 110 generates training data by learning the global model based on the user data.
  • the training data may be a local model or a local parameter of the local model.
  • the server 20 selects the user terminal 10, and only the selected user terminal 10 participates in learning, but the federated learning system according to the embodiment of the present invention selects the user terminal 10 All user terminals 110 having a resource that can be learned without it can participate in learning. Accordingly, the server 120 may alleviate the burden of selecting the user terminal 110 .
  • the plurality of user terminals 110 transmits the learning data to the data management unit 130 when learning is completed.
  • the plurality of user terminals 110 may transmit the generated local model itself or transmit local parameters of the local model.
  • the server 120 generates a global model, collects training data, and uses this to improve the global model.
  • the server 120 transmits the model data of the global model to the data management unit 130 , and receives training data from the data management unit 130 .
  • the data management unit 130 stores and manages model data and training data related to the global model, transmits the model data to the plurality of user terminals 110 , and transmits the training data to the server 120 .
  • the model data may include global parameters of the global model, a learning time of the user terminal 110 and information on the type and size of user data to be used for learning.
  • the plurality of user terminals 110 may establish a learning plan based on the model data and perform learning according to the learning plan.
  • the data management unit 130 may generate metadata including the size of the training data, the creation date and time, and the distribution characteristics, and manage the training data based on the generated metadata.
  • the server 120 may determine the range and amount of the learning data, select the learning data to be collected, establish or change a collection plan of the learning data, based on the metadata, and collect the learning data according to the collection plan. can do. For example, the server 120 may select training data having a certain amount and a certain level of reliability or higher based on the metadata.
  • the data management unit 130 may manage the model data and the training data for each version, which will be described in detail later.
  • the federated learning system asynchronously performs a task between the user terminal 110 and the server 120 . That is, the user terminal 110 and the server 120 independently perform the operation without considering the operation state of each other. Accordingly, federated learning can be flexibly performed and the performance of the global model can be improved.
  • the federated learning system stores the data generated by the user terminal 110 and the server 120 respectively in the data management unit 130 , and the data management unit 130 is the user terminal 110 . and serves as a hub for transferring data stored in the server 120 .
  • the user terminal 110 and the server 120 do not communicate with each other.
  • the server 120 can perform federated learning by importing only the data stored in the data management unit 130 regardless of the state of the user terminal 110 and the network connection state, thereby reducing the burden on the server 120 . have.
  • the federated learning system establishes a communication connection between the conventional server 20 and the storage 30 and the server 20 and the user terminal 10 between the server 120 and the data management unit. (130)
  • the federated learning system establishes a communication connection between the conventional server 20 and the storage 30 and the server 20 and the user terminal 10 between the server 120 and the data management unit. (130)
  • FIG. 4 is a flowchart of a federated learning method according to an embodiment of the present invention
  • FIG. 5 is a detailed flowchart of the step of registering the model data of FIG. 4
  • FIG. 6 is a detailed flowchart of the step of transferring the model data of FIG.
  • FIG. 7 is a detailed flowchart of the step of registering the learning data of FIG. 4
  • FIG. 8 is a detailed flowchart of the step of transferring the learning data of FIG. 4 .
  • a task name (Task_name), a version (Version), a model location (Model location), and a device name (Device) name) must be transmitted to the data management unit 130 .
  • the data management unit 130 may provide the user terminal 110 and the server 120 with conditions necessary to perform the learning task corresponding to the task name.
  • the user terminal 110 and the server 120 may access the data management unit 130 through the task name to find a desired learning task.
  • the version is a value used when the user terminal 110 and the server 120 update model data and training data of the global model, and is in a form of a float.
  • this version becomes a standard for managing the learning results.
  • the model location is information about a location where model data or training data is generated.
  • the location where the model data of the global model is generated is the server 120
  • the location where the training data of the local model is generated is the user terminal 110 .
  • the device name is a unique ID or name of the user terminal 110 and the server 120 .
  • the data management unit 130 may help the server 120 to select the learning data generated by the user terminal 110 by providing the performance and characteristics of each device corresponding to the device name.
  • the data management unit 130 registers model data or user data corresponding to the received information, or the user terminal 110 or the server forward to (120).
  • the server 120 creates a global model and registers model data related to the global model in the data management unit 130 (S10).
  • the server 120 requests the data management unit 130 to register the model data (S11). Then, the data management unit 130 registers the model data for each version. That is, the data management unit 130 checks whether there is storage of the model data (S12). At this time, if there is no storage, a storage is created (S13), and the model data is stored in the created storage (S14). And, if there is storage, the data management unit 130 checks the version of the model data ( S15 ), and compares the version of the model data with the latest version stored in the data management unit 130 .
  • the version of the model data is upgraded (S17), and if the version of the model data is lower than or equal to the latest version, the model data of the corresponding version is updated (S18).
  • the data management unit 130 transmits the model data to the plurality of user terminals 110 (S20).
  • a plurality of user terminals 110 request the model data to the data management unit 130 (S21).
  • the data management unit 130 transmits the latest version of the model data or the model data of the version requested by the plurality of user terminals 110 to the plurality of user terminals 110 . That is, the data management unit 130 checks whether the specific version of the model data (S22). At this time, in the case of the specific version of the model data, the specific version of the model data is searched (S23), and if it is not the specific version of the model data, the latest version of the model data is searched (S24).
  • the data management unit 130 has completed finding the specific version of the model data or the latest version of the model data (S25).
  • the found model data is transmitted to the user terminal 110 (S26)
  • the latest version of the model data is requested from the server 120 (S27) and delivered and delivered
  • the received model data is transmitted to the user terminal 110 (S26).
  • the plurality of user terminals 110 generates training data by learning the global model based on the user data (S30).
  • the plurality of user terminals 110 register the learning data to the data management unit 130 (S40).
  • the user terminal 110 requests the data management unit 130 to register the learning data (S41). Then, the data management unit 130 registers the learning data for each version. That is, the data management unit 130 checks the version of the training data (S42), and checks whether there is a storage in which the training data of the corresponding version is stored (S43). At this time, if there is storage, the learning data is stored in the corresponding storage (S44), and if there is no storage, the storage is created (S45) and the training data is stored in the created storage (S44).
  • the data management unit 130 transmits the learning data to the server 120 .
  • the server 120 requests the learning data to the data management unit 130 (S51). Then, the data management unit 130 transmits the latest version of the training data or the training data of the version requested by the server 120 to the server 120 . That is, the data management unit 130 searches for the latest version of the training data (S52), and checks whether the training data satisfies the aggregation condition (S53). That is, it is checked whether the training data is greater than a certain amount and the reliability of the training data is greater than or equal to a certain level.
  • the learning data when the learning data does not satisfy the aggregation condition, it waits until the aggregation condition is satisfied ( S54 ), and when the learning data satisfies the aggregation condition, the learning data is transmitted to the server 120 . Then, the server 120 collects the training data and improves the global model based on this (S60).
  • the server 120 registers the model data of the improved global model in the data management unit 130 .
  • the data management unit 130 transmits the model data of the improved global model to the plurality of user terminals (10). This process may be repeated until the global model performance reaches a certain level or higher.
  • the federated learning system according to the present invention can be used in various fields such as artificial intelligence technology.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention provides a federated learning system comprising: a plurality of user terminals that generate learning data by learning a global model on the basis of user data; a server that generates a global model, collects learning data, and uses the learning data to improve the global model; and a data management unit that stores and manages the learning data and model data related to the global model, delivers the model data to the plurality of user terminals, and delivers the learning data to the server.

Description

연합 학습 시스템 및 방법Federated Learning Systems and Methods
본 발명은 연합 학습 시스템 및 방법에 관한 것이다.The present invention relates to a federated learning system and method.
최근 클라우드 및 빅데이터 분석 및 처리 기술의 발전으로 여러 서비스에서 인공 지능(Artificial Intelligence; AI) 기술이 보편적으로 적용되고 있다. 이와 같이 인공 지능 기술을 서비스에 적용하기 위해서는 많은 양의 데이터를 바탕으로 인공 지능 모델을 학습하는 절차가 선행되어야 한다.Recently, with the development of cloud and big data analysis and processing technology, artificial intelligence (AI) technology has been universally applied in various services. In order to apply artificial intelligence technology to services as described above, a procedure for learning an artificial intelligence model based on a large amount of data must be preceded.
인공 지능 모델의 학습에는 대규모 계산을 수행하기 위해 수많은 컴퓨터 리소스가 필요하다. 클라우드 컴퓨팅 서비스는 복잡한 하드웨어 및 소프트웨어 설치 없이 인공 지능 모델을 학습할 수 있도록 컴퓨팅 인프라를 쉽게 제공할 수 있는 최상의 솔루션이다.Training of artificial intelligence models requires numerous computer resources to perform large-scale calculations. Cloud computing service is the best solution that can easily provide computing infrastructure to train artificial intelligence models without complex hardware and software installation.
클라우드 컴퓨팅은 리소스의 중앙 집중화를 기반으로 하기 때문에 필요한 모든 데이터를 클라우드 메모리에 저장하고 모델 학습에 활용해야 한다. 데이터 중앙 집중화는 효율성 극대화라는 관점에서 많은 이점을 제공하지만, 사용자 개인 데이터의 유출 위험이 있으며, 특히 이는 데이터 전송이 증가함에 따라 더욱 중요한 비즈니스 이슈가 되고 있다.Because cloud computing is based on centralization of resources, all necessary data should be stored in cloud memory and utilized for model training. Although data centralization offers many advantages in terms of maximizing efficiency, there is a risk of leakage of user personal data, which is becoming an increasingly important business issue as data transmission increases.
최근 이러한 문제를 극복하기 위해 연합 학습(Federated Learning) 시스템과 연합 학습 아키텍처를 지원하기 위한 많은 학습 알고리즘이 도입되고 있다. Recently, many learning algorithms have been introduced to support federated learning systems and federated learning architectures to overcome these problems.
연합 학습은, 기존처럼 사용자 개인 데이터를 중앙에 모아서 학습하는 것이 아니라, 사용자 단말에서 사용자 개인 데이터를 기초로 학습한 모델을 중앙으로 취합하는 형식의 학습 방법이다. 이러한 연합 학습은 사용자 개인 데이터를 중앙으로 수집하는 것이 아니기 때문에 사생활 침해 소지가 적다.Federated learning is a learning method in the form of centrally collecting a model learned based on user personal data in a user terminal, rather than learning by collecting user personal data in the center as in the past. Since this federated learning does not centrally collect user personal data, there is little possibility of invasion of privacy.
연합 학습 시스템을 실제로 사용하려면 매개 변수를 업데이트하는 방법 및 학습 일정과 같은 알고리즘 측면뿐만 아니라 각 장치의 독립적인 데이터 관리와 같은 시스템 측면 및 이기종 시스템과의 효율적인 통신 방법을 고려해야 한다.The practical use of federated learning systems requires considering not only algorithmic aspects such as how to update parameters and learning schedules, but also system aspects such as independent data management for each device and how to efficiently communicate with heterogeneous systems.
또한, 서버와 사용자 단말 간의 네트워크 종속성은 해결해야 할 또 다른 문제이다. 즉, 연합 학습을 수행하려면 각 서버와 다수의 사용자 단말이 밀접하게 서로 연결되어 있어야 하는데, 이 경우 불안정한 네트워크 또는 연결 문제가 발생하면 응답하기 어려운 문제가 있다. 또한, 사용자 단말은 리소스가 부족하고 네트워크 상태가 불안정하더라도 서버와의 데이터 전송이 완료될 때까지 서버로 전송되는 데이터를 유지 관리해야 하는 추가적인 부담이 발생하는 문제가 있다.In addition, the network dependency between the server and the user terminal is another problem to be solved. That is, in order to perform federated learning, each server and a plurality of user terminals must be closely connected to each other. In this case, when an unstable network or connection problem occurs, it is difficult to respond. In addition, there is a problem in that the user terminal has an additional burden of maintaining data transmitted to the server until the data transmission with the server is completed even if the resource is insufficient and the network state is unstable.
상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여, 본 발명은 서버 및 사용자 단말이 비동기적으로 학습 작업을 수행할 수 있는 연합 학습 시스템 및 방법을 제공하는 것을 목적으로 한다.In order to solve the problems of the prior art as described above, an object of the present invention is to provide a federated learning system and method in which a server and a user terminal can asynchronously perform a learning task.
또한, 본 발명에 따르면, 서버의 작업 부담을 완화하기 위해 데이터 관리부를 도입하고, 이 데이터 관리부를 중심으로 학습 작업을 수행할 수 있는 연합 학습 시스템 및 방법을 제공하는 것을 목적으로 한다.In addition, according to the present invention, it is an object of the present invention to provide a federated learning system and method capable of introducing a data management unit in order to alleviate the workload of the server, and performing learning tasks centering on the data management unit.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned above can be clearly understood by those of ordinary skill in the art to which the present invention belongs from the description below. There will be.
전술한 과제를 해결하기 위해, 본 발명은, 사용자 데이터를 기초로 글로벌 모델을 학습하여 학습 데이터를 생성하는 복수의 사용자 단말과, 글로벌 모델을 생성하며, 학습 데이터를 취합하고 이를 이용하여 글로벌 모델을 개선하는 서버와, 글로벌 모델에 관한 모델 데이터와 학습 데이터를 저장 및 관리하며, 모델 데이터를 복수의 사용자 단말로 전달하고, 학습 데이터를 서버로 전달하는 데이터 관리부를 포함하는 연합 학습 시스템을 제공한다.In order to solve the above problems, the present invention, a plurality of user terminals that generate training data by learning a global model based on user data, create a global model, collect the training data, and use the global model It provides a federated learning system including a server to improve, and a data management unit that stores and manages model data and learning data related to the global model, transmits the model data to a plurality of user terminals, and transmits the learning data to the server.
여기서, 모델 데이터는, 글로벌 모델의 글로벌 매개 변수와, 사용자 단말의 학습 시기 및 학습에 사용될 사용자 데이터의 종류 및 크기 정보를 포함한다.Here, the model data includes global parameters of the global model, learning time of the user terminal, and type and size information of user data to be used for learning.
또한, 사용자 단말은, 모델 데이터를 기초로 학습 계획을 수립하고 학습 계획에 따라 학습을 수행한다.In addition, the user terminal establishes a learning plan based on the model data and performs learning according to the learning plan.
또한, 학습 데이터는, 로컬 모델 또는 로컬 모델의 로컬 매개 변수이다.Also, the training data is a local model or a local parameter of the local model.
또한, 데이터 관리부는, 학습 데이터의 크기, 생성 일시 및 분포 특성을 포함하는 메타 데이터를 생성한다.In addition, the data management unit generates metadata including the size of the training data, the creation date and time, and the distribution characteristics.
또한, 서버는, 메타 데이터를 기초로, 학습 데이터의 범위 및 개수를 결정하거나, 취합할 학습 데이터를 선택하거나, 학습 데이터의 취합 계획을 수립 또는 변경한다.In addition, the server, based on the metadata, determines the range and number of learning data, selects the learning data to be collected, or establishes or changes a collection plan of the learning data.
또한, 데이터 관리부는, 모델 데이터 및 학습 데이터를 버전 별로 관리한다.In addition, the data management unit manages the model data and the training data for each version.
또한, 본 발명은, 서버가 글로벌 모델을 생성하고, 글로벌 모델에 관한 모델 데이터를 데이터 관리부에 등록하는 단계와, 데이터 관리부가 모델 데이터를 복수의 사용자 단말로 전달하는 단계와, 복수의 사용자 단말이 사용자 데이터를 기초로 글로벌 모델을 학습하여 학습 데이터를 생성하는 단계와, 복수의 사용자 단말이 학습 데이터를 데이터 관리부에 등록하는 단계와, 데이터 관리부가 학습 데이터를 서버로 전달하는 단계와, 서버가 학습 데이터를 취합하여 글로벌 모델을 개선하는 단계를 포함하는 연합 학습 방법을 제공한다.In addition, the present invention, the server creates a global model, registering model data related to the global model to the data management unit, the data management unit transmitting the model data to a plurality of user terminals, the plurality of user terminals Generating training data by learning a global model based on user data, a plurality of user terminals registering the training data to the data management unit, transmitting the training data to the server by the data management unit, and the server learning It provides a federated learning method comprising the step of aggregating data to improve a global model.
여기서, 모델 데이터를 상기 데이터 관리부에 등록하는 단계는, 서버가 모델 데이터의 등록을 데이터 관리부에 요청하는 단계와, 데이터 관리부가 모델 데이터를 버전 별로 등록하는 단계를 포함한다.Here, the step of registering the model data to the data management unit includes the server requesting the data management unit to register the model data, and the data management unit registering the model data for each version.
또한, 모델 데이터를 복수의 사용자 단말로 전달하는 단계는, 복수의 사용자 단말이 모델 데이터를 데이터 관리부에 요청하는 단계와, 데이터 관리부가 최신 버전의 모델 데이터 또는 복수의 사용자 단말이 요청한 버전의 모델 데이터를 복수의 사용자 단말로 전달하는 단계를 포함한다.In addition, the step of transferring the model data to the plurality of user terminals, the plurality of user terminals requesting the model data to the data management unit, the data management unit the latest version of the model data or the model data of the version requested by the plurality of user terminals and transmitting the to a plurality of user terminals.
또한, 학습 데이터를 데이터 관리부에 등록하는 단계는, 사용자 단말이 학습 데이터의 등록을 데이터 관리부에 요청하는 단계와, 데이터 관리부가 학습 데이터를 버전 별로 등록하는 단계를 포함한다.In addition, the step of registering the learning data to the data management unit includes the step of the user terminal requesting the registration of the learning data to the data management unit, and the data management unit registering the learning data for each version.
또한, 학습 데이터를 서버로 전달하는 단계는, 서버가 학습 데이터를 데이터 관리부에 요청하는 단계와, 데이터 관리부가 최신 버전의 학습 데이터 또는 서버가 요청한 버전의 학습 데이터를 서버로 전달하는 단계를 포함한다.In addition, the step of transmitting the learning data to the server includes the step of the server requesting the learning data to the data management unit, and the data management unit transmitting the latest version of the learning data or the version of the learning data requested by the server to the server. .
본 발명에 따르면, 사용자 단말 및 서버가 상호 간의 작업 상태를 고려하지 않고 독립적으로 작업을 수행함으로써, 연합 학습을 유연하게 수행할 수 있으며, 글로벌 모델의 성능을 향상시킬 수 있다.According to the present invention, the user terminal and the server independently perform tasks without considering each other's work state, so that federated learning can be flexibly performed and the performance of the global model can be improved.
또한, 본 발명에 따르면, 서버가 사용자 단말 및 네트워크 연결 상태와 상관없이 데이터 관리부에 저장된 데이터만 가져와 연합 학습을 수행할 수 있어, 서버의 부담을 완화할 수 있다.In addition, according to the present invention, the server can perform federated learning by bringing only the data stored in the data management unit regardless of the user terminal and the network connection state, thereby reducing the burden on the server.
또한, 본 발명에 따르면, 통신 연결을 서버 및 데이터 관리부 상호 간과 사용자 단말 및 데이터 관리부 상호 간으로 변경함으로써, 대역폭을 감소하고 네트워크 효율성을 높이고, 네트워크 장애에 대비할 수 있다.Also, according to the present invention, by changing the communication connection between the server and the data management unit and between the user terminal and the data management unit, it is possible to reduce bandwidth, increase network efficiency, and prepare for network failure.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned may be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. will be.
도 1은 종래의 연합 학습 시스템의 블록도이다.1 is a block diagram of a conventional federated learning system.
도 2는 종래의 연합 학습 방법의 순서도이다.2 is a flowchart of a conventional associative learning method.
도 3은 본 발명의 실시예에 따른 연합 학습 시스템의 블록도이다.3 is a block diagram of a federated learning system according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 연합 학습 방법의 순서도이다.4 is a flowchart of a federated learning method according to an embodiment of the present invention.
도 5는 도 4의 모델 데이터를 등록하는 단계의 구체적인 순서도이다.FIG. 5 is a detailed flowchart of the step of registering the model data of FIG. 4 .
도 6은 도 4의 모델 데이터를 전달하는 단계의 구체적인 순서도이다.6 is a detailed flowchart of a step of transmitting the model data of FIG. 4 .
도 7은 도 4의 학습 데이터를 등록하는 단계의 구체적인 순서도이다.7 is a detailed flowchart of the step of registering the learning data of FIG.
도 8은 도 4의 학습 데이터를 전달하는 단계의 구체적인 순서도이다.FIG. 8 is a detailed flowchart of a step of transmitting the learning data of FIG. 4 .
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라, 여러 가지 형태로 구현될 수 있고 다양한 변경을 가할 수 있다. 단지, 본 실시예에 대한 설명은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위하여 제공되는 것이다. 첨부된 도면에서 구성요소는 설명의 편의를 위하여 그 크기를 실제보다 확대하여 도시한 것이며, 각 구성요소의 비율은 과장되거나 축소될 수 있다.In order to fully understand the configuration and effect of the present invention, preferred embodiments of the present invention will be described with reference to the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, and may be embodied in various forms and various modifications may be made. However, the description of the present embodiment is provided so that the disclosure of the present invention is complete, and to fully inform those of ordinary skill in the art to which the present invention belongs, the scope of the invention. In the accompanying drawings, components are enlarged in size than actual for convenience of description, and ratios of each component may be exaggerated or reduced.
'제1', '제2' 등의 용어는 다양한 구성요소를 설명하는데 사용될 수 있지만, 상기 구성요소는 위 용어에 의해 한정되어서는 안 된다. 위 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 수 있다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 '제1구성요소'는 '제2구성요소'로 명명될 수 있고, 유사하게 '제2구성요소'도 '제1구성요소'로 명명될 수 있다. 또한, 단수의 표현은 문맥상 명백하게 다르게 표현하지 않는 한, 복수의 표현을 포함한다. 본 발명의 실시예에서 사용되는 용어는 다르게 정의되지 않는 한, 해당 기술분야에서 통상의 지식을 가진 자에게 통상적으로 알려진 의미로 해석될 수 있다.Terms such as 'first' and 'second' may be used to describe various elements, but the elements should not be limited by the above terms. The above term may be used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a 'first component' may be referred to as a 'second component', and similarly, a 'second component' may also be referred to as a 'first component'. can Also, the singular expression includes the plural expression unless the context clearly dictates otherwise. Unless otherwise defined, terms used in the embodiments of the present invention may be interpreted as meanings commonly known to those of ordinary skill in the art.
도 1은 종래의 연합 학습 시스템의 블록도이고, 도 2는 종래의 연합 학습 방법의 순서도이다.1 is a block diagram of a conventional federated learning system, and FIG. 2 is a flowchart of a conventional federated learning method.
도 1을 참조하면, 종래의 연합 학습 시스템은, 복수의 사용자 단말(10), 서버(20) 및 스토리지(30)를 포함하여 구성될 수 있다.Referring to FIG. 1 , the conventional federated learning system may be configured to include a plurality of user terminals 10 , a server 20 and a storage 30 .
서버(20)는, 글로벌 모델을 생성하고, 생성된 글로벌 모델을 스토리지(30)에 저장한다. 그리고, 서버(20)는 스토리지(30)에 저장된 글로벌 모델을 복수의 사용자 단말(10)로 전달한다.The server 20 generates a global model and stores the generated global model in the storage 30 . Then, the server 20 transmits the global model stored in the storage 30 to the plurality of user terminals 10 .
복수의 사용자 단말(10)은 사용자 데이터를 기초로 글로벌 모델을 학습하여 학습 모델을 생성한다. 그리고, 복수의 사용자 단말(10)은 학습 모델을 서버(20)로 전달한다.The plurality of user terminals 10 generate a learning model by learning a global model based on user data. In addition, the plurality of user terminals 10 transmit the learning model to the server 20 .
서버(20)는 학습 데이터를 취합하고 이를 이용하여 글로벌 모델을 개선한다. 그리고, 서버(20)는 개선된 글로벌 모델을 스토리지(30)에 저장하고, 다시 개선된 글로벌 모델을 복수의 사용자 단말(10)로 전달한다. 이와 같은 과정은 글로벌 모델 성능이 일정 수준 이상이 될 때까지 반복될 수 있다.The server 20 collects the training data and uses it to improve the global model. Then, the server 20 stores the improved global model in the storage 30 , and transmits the improved global model to the plurality of user terminals 10 again. This process may be repeated until the global model performance reaches a certain level or higher.
도 2를 참조하면, 종래의 연합 학습 방법은 선택(Selection) 단계, 구성(Configuration) 단계 및 보고(Reporting) 단계로 구성된다.Referring to Figure 2, the conventional federated learning method consists of a selection (Selection) step, a configuration (Configuration) step and a reporting (Reporting) step.
먼저, 서버(20)는 글로벌 모델의 글로벌 매개 변수, 학습 계획, 데이터 구조 및 수행할 작업을 포함하는 모델 데이터를 스토리지(30)에 저장한다.First, the server 20 stores the model data including the global parameters of the global model, the learning plan, the data structure, and the work to be performed in the storage 30 .
다음, 연합 학습을 수행할 수 있는 복수의 사용자 단말(10a~10e)은 서버(20)에 메시지를 보내 학습 준비가 되었음을 알린다(①). 그리고, 서버(20)는, 복수의 사용자 단말(10a~10e)의 정보를 수집하여, 참여 단말 수와 같은 규칙에 따라 복수의 사용자 단말(10a~10e) 중에서 학습 참여에 가장 적합한 사용자 단말(10~10c)을 선택한다(선택 단계).Next, a plurality of user terminals 10a to 10e capable of performing the federated learning notifies that the learning is ready by sending a message to the server 20 (①). Then, the server 20 collects information of a plurality of user terminals 10a to 10e, and according to a rule such as the number of participating terminals, a user terminal 10 most suitable for participating in learning among a plurality of user terminals 10a to 10e. ~10c) (selection step).
다음, 서버(20)는, 스토리지(30)에 저장된 모델 데이터를 읽어(②), 이를 선택된 사용자 단말(10~10c)로 전송한다(③). 그리고, 사용자 단말(10a~10c)은 모델 데이터에 따라 글로벌 모델에 사용자 데이터를 적용하여 학습을 수행한다(④)(구성 단계).Next, the server 20 reads the model data stored in the storage 30 (②), and transmits it to the selected user terminals 10 to 10c (③). Then, the user terminals 10a to 10c perform learning by applying the user data to the global model according to the model data (④) (configuration step).
다음, 사용자 단말(10a~10c)은, 학습이 완료되면 학습 데이터 예컨대, 로컬 모델 또는 로컬 모델의 로컬 매개 변수를 서버(20)로 전송한다. 이 때, 불안정한 네트워크 또는 연결 문제로 인해 일부 사용자 단말(10b)의 전송이 실패할 수 있다. 서버(20)는, 사용자 단말(10a, 10c)로부터 학습 데이터를 전송 받으면, 학습 데이터를 취합(Aggregation)하고 이를 이용해 글로벌 모델의 모델 데이터를 개선 한다(⑤). 그리고, 서버(20)는 개선된 글로벌 모델의 모델 데이터를 스토리지(30)에 저장한다(보고 단계).Next, the user terminals 10a to 10c transmit training data, for example, a local model or a local parameter of the local model, to the server 20 when learning is completed. In this case, transmission of some user terminals 10b may fail due to an unstable network or connection problem. When the server 20 receives the training data from the user terminals 10a and 10c, the server 20 collects the training data and improves the model data of the global model using this (⑤). Then, the server 20 stores the model data of the improved global model in the storage 30 (report step).
이와 같이 연합 학습의 한 라운드를 완료되어 모델 데이터가 개선 되면 다음 라운드가 다시 시작될 수 있다. 이 때, 여러 라운드를 반복하여 글로벌 모델 성능이 일정 수준 이상이 되면 전체 연합 학습 과정이 종료된다.As such, when one round of federated learning is completed and the model data is improved, the next round can be restarted. At this time, when the global model performance exceeds a certain level by repeating several rounds, the entire federated learning process is terminated.
전술한 바와 같이, 종래의 연합 학습 방법에서, 스토리지(30)는 서버(20)가 생성하는 글로벌 모델의 모델 데이터를 저장하는 용도로만 사용되고 있다. 그리고, 서버(20)는, 복수의 사용자 단말(10)의 상태를 확인하여, 적합한 사용자 단말(10)을 선택하고, 취합할 충분한 양의 학습 데이터가 수집되었는지 판단하고, 모델 데이터를 복수의 사용자 단말(10)로 전달하는 등 많은 역할을 수행한다.As described above, in the conventional federated learning method, the storage 30 is used only for storing model data of the global model generated by the server 20 . Then, the server 20 checks the status of the plurality of user terminals 10, selects a suitable user terminal 10, determines whether a sufficient amount of learning data to be collected has been collected, and transmits the model data to the plurality of users. It performs many roles, such as transmitting to the terminal 10 .
또한, 종래의 연합 학습 방법은 서버(20)가 관리해야 할 사용자 단말(10)의 수가 적을 때는 합리적일 수 있지만, 연합 학습에 참여하는 사용자 단말(10)의 수가 대폭 늘어나거나 사용자 단말(10)의 수와 그 특성이 유동적일 경우, 이를 서버(20)가 모두 관리하는 것은 서버(20)에 큰 부담이 된다. In addition, the conventional federated learning method may be reasonable when the number of user terminals 10 to be managed by the server 20 is small, but the number of user terminals 10 participating in federated learning is greatly increased or the user terminals 10 When the number of and its characteristics are flexible, it becomes a great burden on the server 20 for the server 20 to manage all of them.
또한, 종래의 연합 학습 방법에 있어서, 자체 환경과 사양을 보유하는 복수의 사용자 단말(10)의 모든 응답은 독립적이기 때문에, 서버(20)는 사용자 단말(10)의 개별 응답의 정확한 수와 시기를 예측할 수 없다. 이와 같이, 서버(20)가 사용자 단말(10)의 개별 응답의 정확한 수와 시기를 예측할 수 없기 때문에, 서버(20)가 모든 사용자 단말(10)의 응답을 관리하는 것은 비효율적이다. In addition, in the conventional federated learning method, since all responses of a plurality of user terminals 10 having their own environment and specifications are independent, the server 20 determines the exact number and timing of individual responses of the user terminals 10 . cannot predict As such, since the server 20 cannot predict the exact number and timing of individual responses of the user terminals 10, it is inefficient for the server 20 to manage the responses of all the user terminals 10. FIG.
또한, 또한, 종래의 연합 학습 방법에 있어서, 서버(20)와 복수의 사용자 단말(10)은 종속성을 갖는다. 즉, 서버(20)는 사용자 단말(10)의 모든 응답 수집이 완료되어야만 학습 데이터의 취합하여 글로벌 모델의 업데이트를 진행할 수 있으며, 사용자 단말(10) 또는 네트워크에 장애가 발생한 경우 연합 학습 또한 중단될 수 있다. 이에 따라, 학습 계획 수정 및 최적화가 어렵다.In addition, in the conventional federated learning method, the server 20 and the plurality of user terminals 10 have a dependency. That is, the server 20 can proceed to update the global model by collecting the learning data only after collection of all responses of the user terminal 10 is completed, and when a failure occurs in the user terminal 10 or the network, federated learning can also be stopped. have. Accordingly, it is difficult to modify and optimize the learning plan.
따라서, 연합 학습에 참여하는 사용자 단말(10)의 범위와 수를 동적으로 변경하는 등 다양한 상황에 맞게 재구성할 수 있어야 한다. 그리고, 다양한 연합 학습을 유연하고 효과적으로 진행하기 위해 서버(20) 및 사용자 단말(10) 간 종속성을 완화해야 한다.Therefore, it should be possible to reconfigure to suit various situations, such as dynamically changing the range and number of user terminals 10 participating in federated learning. And, in order to flexibly and effectively proceed with various federated learning, the dependency between the server 20 and the user terminal 10 should be relaxed.
도 3은 본 발명의 실시예에 따른 연합 학습 시스템의 블록도이다.3 is a block diagram of a federated learning system according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 실시예에 따른 연합 학습 시스템은, 복수의 사용자 단말(110), 서버(120) 및 데이터 관리부(130)를 포함하여 구성될 수 있다.Referring to FIG. 3 , the federated learning system according to an embodiment of the present invention may be configured to include a plurality of user terminals 110 , a server 120 , and a data management unit 130 .
사용자 단말(110) 및 서버(120)는 신경망을 학습할 수 있는 컴퓨팅 장치로서, 다양한 전자 장치로 구현될 수 있다.The user terminal 110 and the server 120 are computing devices capable of learning a neural network, and may be implemented in various electronic devices.
신경망은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하는, 매개 변수를 갖는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 모드들은 뉴런이 시냅스(synapse)를 통해 신호를 주고 받는 뉴런의 시냅틱 활동을 모의하도록 각각 연결 관계에 따라 데이터를 주고 받을 수 있다. 여기서, 신경망은 신경망 모델에서 발전한 딥러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 신경망 모델의 예는 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Boltzmann Machine), 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥 러닝 기법들을 포함하며, 컴퓨터 비젼, 음성 인식, 자연어 처리, 음성 신호 처리 등의 분야에 적용될 수 있다.The neural network may be designed to simulate a human brain structure on a computer, and may include a plurality of network nodes having parameters that simulate neurons of a human neural network. The plurality of network modes may transmit and receive data according to a connection relationship, respectively, so as to simulate a synaptic activity of a neuron in which a neuron sends and receives a signal through a synapse. Here, the neural network may include a deep learning model developed from a neural network model. In a deep learning model, a plurality of network nodes may exchange data according to a convolutional connection relationship while being located in different layers. Examples of neural network models include deep neural networks (DNN), convolutional deep neural networks (CNN), Recurrent Boltzmann Machine (RNN), Restricted Boltzmann Machine (RBM), deep trust It includes various deep learning techniques such as neural networks (DBN, deep belief networks) and deep Q-networks, and can be applied to fields such as computer vision, speech recognition, natural language processing, and speech signal processing.
복수의 사용자 단말(110)은, 사용자 데이터를 기초로 글로벌 모델을 학습하여 학습 데이터를 생성한다. 여기서, 학습 데이터는 로컬 모델 또는 로컬 모델의 로컬 매개 변수일 수 있다.The plurality of user terminals 110 generates training data by learning the global model based on the user data. Here, the training data may be a local model or a local parameter of the local model.
종래의 연합 학습 시스템은 서버(20)가 사용자 단말(10)을 선택하고, 선택된 사용자 단말(10)만 학습에 참여하였지만, 본 발명의 실시예에 따른 연합 학습 시스템은 사용자 단말(10)의 선택 없이 학습 가능한 리소스를 갖는 모든 사용자 단말(110)이 학습에 참여할 수 있다. 이에 따라, 서버(120)가 사용자 단말(110)을 선택해야 하는 부담을 완화할 수 있다.In the conventional federated learning system, the server 20 selects the user terminal 10, and only the selected user terminal 10 participates in learning, but the federated learning system according to the embodiment of the present invention selects the user terminal 10 All user terminals 110 having a resource that can be learned without it can participate in learning. Accordingly, the server 120 may alleviate the burden of selecting the user terminal 110 .
복수의 사용자 단말(110)은 학습이 완료되면 학습 데이터를 데이터 관리부(130)로 전송한다. 이 때, 복수의 사용자 단말(110)은 생성한 로컬 모델 자체를 전송하거나 로컬 모델의 로컬 매개 변수를 전송할 수 있다.The plurality of user terminals 110 transmits the learning data to the data management unit 130 when learning is completed. In this case, the plurality of user terminals 110 may transmit the generated local model itself or transmit local parameters of the local model.
서버(120)는, 글로벌 모델을 생성하며, 학습 데이터를 취합하고 이를 이용하여 글로벌 모델을 개선한다.The server 120 generates a global model, collects training data, and uses this to improve the global model.
서버(120)는, 글로벌 모델의 모델 데이터를 데이터 관리부(130)로 전송하고, 학습 데이터를 데이터 관리부(130)로부터 전송 받는다.The server 120 transmits the model data of the global model to the data management unit 130 , and receives training data from the data management unit 130 .
데이터 관리부(130)는, 글로벌 모델에 관한 모델 데이터와 학습 데이터를 저장 및 관리하며, 모델 데이터를 복수의 사용자 단말(110)로 전달하고, 학습 데이터를 서버(120)로 전달한다.The data management unit 130 stores and manages model data and training data related to the global model, transmits the model data to the plurality of user terminals 110 , and transmits the training data to the server 120 .
여기서, 모델 데이터는, 글로벌 모델의 글로벌 매개 변수와, 사용자 단말(110)의 학습 시기 및 학습에 사용될 사용자 데이터의 종류 및 크기 정보를 포함할 수 있다.Here, the model data may include global parameters of the global model, a learning time of the user terminal 110 and information on the type and size of user data to be used for learning.
이에 따라, 복수의 사용자 단말(110)은, 모델 데이터를 기초로 학습 계획을 수립하고 학습 계획에 따라 학습을 수행할 수 있다.Accordingly, the plurality of user terminals 110 may establish a learning plan based on the model data and perform learning according to the learning plan.
데이터 관리부(130)는, 학습 데이터의 크기, 생성 일시 및 분포 특성을 포함하는 메타 데이터를 생성하여 이를 기초로 학습 데이터를 관리할 수 있다.The data management unit 130 may generate metadata including the size of the training data, the creation date and time, and the distribution characteristics, and manage the training data based on the generated metadata.
서버(120)는, 메타 데이터를 기초로, 학습 데이터의 범위 및 양을 결정하거나, 취합할 학습 데이터를 선택하거나, 학습 데이터의 취합 계획을 수립 또는 변경할 수 있고, 취합 계획에 따라 학습 데이터를 취합할 수 있다. 예컨대, 서버(120)는 메타 데이터를 기초로 일정 양과 일정 수준 이상의 신뢰도를 갖는 학습 데이터를 선택할 수 있다. The server 120 may determine the range and amount of the learning data, select the learning data to be collected, establish or change a collection plan of the learning data, based on the metadata, and collect the learning data according to the collection plan. can do. For example, the server 120 may select training data having a certain amount and a certain level of reliability or higher based on the metadata.
데이터 관리부(130)는, 모델 데이터 및 학습 데이터를 버전 별로 관리할 수 있으며, 이에 대한 자세한 내용은 후술하겠다.The data management unit 130 may manage the model data and the training data for each version, which will be described in detail later.
전술한 본 발명의 실시예에 따른 연합 학습 시스템은, 사용자 단말(110) 및 서버(120) 간 작업을 비동기적으로 수행한다. 즉, 사용자 단말(110) 및 서버(120)는 상호 간의 작업 상태를 고려하지 않고 독립적으로 작업을 수행한다. 이에 따라, 연합 학습을 유연하게 수행할 수 있으며, 글로벌 모델의 성능을 향상시킬 수 있다.The federated learning system according to the embodiment of the present invention described above asynchronously performs a task between the user terminal 110 and the server 120 . That is, the user terminal 110 and the server 120 independently perform the operation without considering the operation state of each other. Accordingly, federated learning can be flexibly performed and the performance of the global model can be improved.
또한, 본 발명의 실시예에 따른 연합 학습 시스템은, 사용자 단말(110) 및 서버(120)가 각각 생성한 데이터를 데이터 관리부(130)에 저장하며, 데이터 관리부(130)가 사용자 단말(110) 및 서버(120)에 저장된 데이터를 전달하는 허브 역할을 수행한다. 이 때, 사용자 단말(110) 및 서버(120)는 서로 통신하지 않는다. 이에 따라, 서버(120)는 사용자 단말(110)의 상태 및 네트워크 연결 상태와 상관없이 데이터 관리부(130)에 저장된 데이터만 가져와 연합 학습을 수행할 수 있어, 서버(120)의 부담을 완화할 수 있다.In addition, the federated learning system according to an embodiment of the present invention stores the data generated by the user terminal 110 and the server 120 respectively in the data management unit 130 , and the data management unit 130 is the user terminal 110 . and serves as a hub for transferring data stored in the server 120 . At this time, the user terminal 110 and the server 120 do not communicate with each other. Accordingly, the server 120 can perform federated learning by importing only the data stored in the data management unit 130 regardless of the state of the user terminal 110 and the network connection state, thereby reducing the burden on the server 120 . have.
또한, 본 발명의 실시예에 따른 연합 학습 시스템은, 통신 연결을 종래의 서버(20) 및 스토리지(30) 상호 간과 서버(20) 및 사용자 단말(10) 상호 간에서 서버(120) 및 데이터 관리부(130) 상호 간과 사용자 단말(110) 및 데이터 관리부(130) 상호 간으로 변경함으로써, 대역폭을 감소하고 네트워크 효율성을 높이고, 네트워크 장애에 대비할 수 있다.In addition, the federated learning system according to an embodiment of the present invention establishes a communication connection between the conventional server 20 and the storage 30 and the server 20 and the user terminal 10 between the server 120 and the data management unit. (130) By changing to each other and the user terminal 110 and the data management unit 130 to each other, it is possible to reduce bandwidth, increase network efficiency, and prepare for network failure.
도 4는 본 발명의 실시예에 따른 연합 학습 방법의 순서도이고, 도 5는 도 4의 모델 데이터를 등록하는 단계의 구체적인 순서도이고, 도 6은 도 4의 모델 데이터를 전달하는 단계의 구체적인 순서도이고, 도 7은 도 4의 학습 데이터를 등록하는 단계의 구체적인 순서도이고, 도 8은 도 4의 학습 데이터를 전달하는 단계의 구체적인 순서도이다.4 is a flowchart of a federated learning method according to an embodiment of the present invention, FIG. 5 is a detailed flowchart of the step of registering the model data of FIG. 4, and FIG. 6 is a detailed flowchart of the step of transferring the model data of FIG. , FIG. 7 is a detailed flowchart of the step of registering the learning data of FIG. 4 , and FIG. 8 is a detailed flowchart of the step of transferring the learning data of FIG. 4 .
이하, 도 3 내지 도 8을 참조하여, 본 발명의 실시예에 따른 연합 학습 방법을 구체적으로 설명하되, 전술한 내용과 동일한 내용에 대해서는 생략하겠다.Hereinafter, the associative learning method according to an embodiment of the present invention will be described in detail with reference to FIGS. 3 to 8 , but the same contents as those described above will be omitted.
사용자 단말(110) 및 서버(120)가 데이터 관리부(130)에 학습 데이터 또는 모델 데이터를 등록하거나 요청하기 위해서는, 태스크명(Task_name), 버전(Version), 모델 위치(Model location) 및 장치명(Device name) 등의 정보를 데이터 관리부(130)로 전송해야 한다.In order for the user terminal 110 and the server 120 to register or request training data or model data to the data management unit 130 , a task name (Task_name), a version (Version), a model location (Model location), and a device name (Device) name) must be transmitted to the data management unit 130 .
여기서, 태스크명은 연합 학습을 사용하여 해결할 고유의 학습 작업 이름이다. 여기서, 데이터 관리부(130)는 태스크명에 해당하는 학습 작업을 수행하기 위해 필요한 조건을 사용자 단말(110) 및 서버(120)에 제공할 수 있다. 또한, 사용자 단말(110) 및 서버(120)는 태스크명을 통해 데이터 관리부(130)에 접속하여 원하는 학습 작업을 찾을 수 있다.where taskname is the unique learning job name to solve using federated learning. Here, the data management unit 130 may provide the user terminal 110 and the server 120 with conditions necessary to perform the learning task corresponding to the task name. In addition, the user terminal 110 and the server 120 may access the data management unit 130 through the task name to find a desired learning task.
버전은 사용자 단말(110) 및 서버(120)가 글로벌 모델의 모델 데이터 및 학습 데이터를 업데이트할 때 사용되는 값으로 플롯(float) 형식이다. 여기서, 하나의 학습 작업에 대해 복수의 서버(120)와 사용자 단말(110)이 연합하여 학습 작업을 할 경우, 이 버전이 학습 결과물을 관리할 수 있는 기준이 된다.The version is a value used when the user terminal 110 and the server 120 update model data and training data of the global model, and is in a form of a float. Here, when the plurality of servers 120 and the user terminal 110 jointly perform a learning task for one learning task, this version becomes a standard for managing the learning results.
모델 위치는 모델 데이터 또는 학습 데이터가 생성된 위치에 대한 정보이다. 여기서, 글로벌 모델의 모델 데이터가 생성된 위치는 서버(120)이고, 로컬 모델의 학습 데이터가 생성된 위치는 사용자 단말(110)이다.The model location is information about a location where model data or training data is generated. Here, the location where the model data of the global model is generated is the server 120 , and the location where the training data of the local model is generated is the user terminal 110 .
장치명은 사용자 단말(110) 및 서버(120)의 고유한 아이디 또는 이름이다. 여기서, 데이터 관리부(130)는, 장치명에 해당하는 각 장치들의 성능과 특성을 제공하여, 서버(120)가 사용자 단말(110)이 생성한 학습 데이터를 선택하는데 도움을 줄 수 있다. The device name is a unique ID or name of the user terminal 110 and the server 120 . Here, the data management unit 130 may help the server 120 to select the learning data generated by the user terminal 110 by providing the performance and characteristics of each device corresponding to the device name.
사용자 단말(110) 또는 서버(120)가 위와 같은 정보들을 데이터 관리부(130)로 전달하면 데이터 관리부(130)는 전달받은 정보에 해당하는 모델 데이터 또는 사용자 데이터를 등록하거나 사용자 단말(110) 또는 서버(120)로 전달한다.When the user terminal 110 or the server 120 transmits the above information to the data management unit 130 , the data management unit 130 registers model data or user data corresponding to the received information, or the user terminal 110 or the server forward to (120).
본 발명의 실시예에 따른 연합 학습 방법은, 먼저, 서버(120)가 글로벌 모델을 생성하고, 글로벌 모델에 관한 모델 데이터를 데이터 관리부(130)에 등록한다(S10).In the federated learning method according to an embodiment of the present invention, first, the server 120 creates a global model and registers model data related to the global model in the data management unit 130 (S10).
구체적으로, 서버(120)가 모델 데이터의 등록을 데이터 관리부(130)에 요청한다(S11). 그리고, 데이터 관리부(130)가 모델 데이터를 버전 별로 등록한다. 즉, 데이터 관리부(130)가 모델 데이터의 스토리지가 있는지 확인한다(S12). 이 때, 스토리지가 없는 경우, 스토리지를 생성하고(S13), 생성된 스토리지에 모델 데이터를 저장한다(S14). 그리고, 스토리지가 있는 경우, 데이터 관리부(130)가 모델 데이터의 버전을 확인하고(S15), 모델 데이터의 버전을 데이터 관리부(130)에 저장된 최신 버전과 비교한다. 이 때, 모델 데이터의 버전이 최신 버전 보다 높으면 모델 데이터의 버전을 업그레이드하고(S17), 모델 데이터의 버전이 최신 버전 보다 낮거나 같으면 해당 버전의 모델 데이터를 업데이트한다(S18).Specifically, the server 120 requests the data management unit 130 to register the model data (S11). Then, the data management unit 130 registers the model data for each version. That is, the data management unit 130 checks whether there is storage of the model data (S12). At this time, if there is no storage, a storage is created (S13), and the model data is stored in the created storage (S14). And, if there is storage, the data management unit 130 checks the version of the model data ( S15 ), and compares the version of the model data with the latest version stored in the data management unit 130 . At this time, if the version of the model data is higher than the latest version, the version of the model data is upgraded (S17), and if the version of the model data is lower than or equal to the latest version, the model data of the corresponding version is updated (S18).
다음, 데이터 관리부(130)가 모델 데이터를 복수의 사용자 단말(110)로 전달한다(S20).Next, the data management unit 130 transmits the model data to the plurality of user terminals 110 (S20).
구체적으로, 복수의 사용자 단말(110)이 모델 데이터를 데이터 관리부(130)에 요청한다(S21). 그리고, 데이터 관리부(130)가 최신 버전의 모델 데이터 또는 복수의 사용자 단말(110)이 요청한 버전의 모델 데이터를 복수의 사용자 단말(110)로 전달한다. 즉, 데이터 관리부(130)가 특정 버전의 모델 데이터인지 확인한다(S22). 이 때, 특정 버전의 모델 데이터인 경우 특정 버전의 모델 데이터를 탐색하고(S23), 특정 버전의 모델 데이터가 아닌 경우 최신 버전의 모델 데이터를 탐색한다(S24).Specifically, a plurality of user terminals 110 request the model data to the data management unit 130 (S21). In addition, the data management unit 130 transmits the latest version of the model data or the model data of the version requested by the plurality of user terminals 110 to the plurality of user terminals 110 . That is, the data management unit 130 checks whether the specific version of the model data (S22). At this time, in the case of the specific version of the model data, the specific version of the model data is searched (S23), and if it is not the specific version of the model data, the latest version of the model data is searched (S24).
그리고, 데이터 관리부(130)가 특정 버전의 모델 데이터 또는 최신 버전의 모델 데이터 찾기를 완료하였는지 확인한다(S25). 이 때, 모델 데이터를 찾은 경우 찾은 모델 데이터를 사용자 단말(110)로 전송하고(S26), 모델 데이터를 찾지 못한 경우 서버(120)에 최신 버전의 모델 데이터를 요청하여(S27) 전달 받고, 전달 받은 모델 데이터를 사용자 단말(110)로 전달한다(S26).Then, it is confirmed whether the data management unit 130 has completed finding the specific version of the model data or the latest version of the model data (S25). At this time, when the model data is found, the found model data is transmitted to the user terminal 110 (S26), and when the model data is not found, the latest version of the model data is requested from the server 120 (S27) and delivered and delivered The received model data is transmitted to the user terminal 110 (S26).
다음, 복수의 사용자 단말(110)이 사용자 데이터를 기초로 글로벌 모델을 학습하여 학습 데이터를 생성한다(S30).Next, the plurality of user terminals 110 generates training data by learning the global model based on the user data (S30).
다음, 복수의 사용자 단말(110)이 학습 데이터를 데이터 관리부(130)에 등록한다(S40).Next, the plurality of user terminals 110 register the learning data to the data management unit 130 (S40).
구체적으로, 사용자 단말(110)이 학습 데이터의 등록을 데이터 관리부(130)에 요청한다(S41). 그리고, 데이터 관리부(130)가 학습 데이터를 버전 별로 등록한다. 즉, 데이터 관리부(130)가 학습 데이터의 버전을 확인하고(S42), 해당 버전의 학습 데이터가 저장된 스토리지가 있는지 확인한다(S43). 이 때, 스토리지가 있는 경우 해당 스토리지에 학습 데이터를 저장하고(S44), 스토리지가 없는 경우 스토리지를 생성하고(S45) 생성된 스토리지에 학습 데이터를 저장한다(S44).Specifically, the user terminal 110 requests the data management unit 130 to register the learning data (S41). Then, the data management unit 130 registers the learning data for each version. That is, the data management unit 130 checks the version of the training data (S42), and checks whether there is a storage in which the training data of the corresponding version is stored (S43). At this time, if there is storage, the learning data is stored in the corresponding storage (S44), and if there is no storage, the storage is created (S45) and the training data is stored in the created storage (S44).
다음, 데이터 관리부(130)가 학습 데이터를 서버(120)로 전달한다.Next, the data management unit 130 transmits the learning data to the server 120 .
구체적으로, 서버(120)가 학습 데이터를 데이터 관리부(130)에 요청한다(S51). 그리고, 데이터 관리부(130)가 최신 버전의 학습 데이터 또는 서버(120)가 요청한 버전의 학습 데이터를 서버(120)로 전달한다. 즉, 데이터 관리부(130)가 최신 버전의 학습 데이터를 탐색하고(S52), 학습 데이터가 취합 조건을 만족하는지 확인한다(S53). 즉, 학습 데이터가 일정 양 이상이고 학습 데이터가 신뢰도가 일정 수준 이상인지 확인한다. 이 때, 학습 데이터가 취합 조건을 만족하지 않을 경우 취합 조건 만족 시까지 대기하고(S54), 학습 데이터가 취합 조건을 만족하는 경우 학습 데이터를 서버(120)로 전달한다. 그리고, 서버(120)는 학습 데이터를 취합하여 이를 기초로 글로벌 모델을 개선한다(S60).Specifically, the server 120 requests the learning data to the data management unit 130 (S51). Then, the data management unit 130 transmits the latest version of the training data or the training data of the version requested by the server 120 to the server 120 . That is, the data management unit 130 searches for the latest version of the training data (S52), and checks whether the training data satisfies the aggregation condition (S53). That is, it is checked whether the training data is greater than a certain amount and the reliability of the training data is greater than or equal to a certain level. At this time, when the learning data does not satisfy the aggregation condition, it waits until the aggregation condition is satisfied ( S54 ), and when the learning data satisfies the aggregation condition, the learning data is transmitted to the server 120 . Then, the server 120 collects the training data and improves the global model based on this (S60).
다음, 서버(120)가 개선된 글로벌 모델의 모델 데이터를 데이터 관리부(130)에 등록한다. 그리고, 데이터 관리부(130)가 개선된 글로벌 모델의 모델 데이터를 복수의 사용자 단말(10)로 전달한다. 이와 같은 과정은 글로벌 모델 성능이 일정 수준 이상이 될 때까지 반복될 수 있다.Next, the server 120 registers the model data of the improved global model in the data management unit 130 . Then, the data management unit 130 transmits the model data of the improved global model to the plurality of user terminals (10). This process may be repeated until the global model performance reaches a certain level or higher.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술되는 청구범위 및 이 청구범위와 균등한 것들에 의해 정해져야 한다.In the detailed description of the present invention, although specific embodiments have been described, various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention is not limited to the described embodiments, and should be defined by the following claims and their equivalents.
본 발명에 따른 연합 학습 시스템은 인공 지능 기술 등 다양한 분야에 이용될 수 있다.The federated learning system according to the present invention can be used in various fields such as artificial intelligence technology.

Claims (12)

  1. 사용자 데이터를 기초로 글로벌 모델을 학습하여 학습 데이터를 생성하는 복수의 사용자 단말;a plurality of user terminals for generating training data by learning a global model based on user data;
    상기 글로벌 모델을 생성하며, 상기 학습 데이터를 취합하고 이를 이용하여 상기 글로벌 모델을 개선하는 서버; 및a server that generates the global model, collects the training data, and improves the global model by using it; and
    상기 글로벌 모델에 관한 모델 데이터와 상기 학습 데이터를 저장 및 관리하며, 상기 모델 데이터를 상기 복수의 사용자 단말로 전달하고, 상기 학습 데이터를 상기 서버로 전달하는 데이터 관리부A data management unit that stores and manages model data and the learning data related to the global model, transmits the model data to the plurality of user terminals, and transmits the learning data to the server
    를 포함하는 연합 학습 시스템.A federated learning system that includes.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 모델 데이터는The model data is
    상기 글로벌 모델의 글로벌 매개 변수와, 상기 사용자 단말의 학습 시기 및 학습에 사용될 상기 사용자 데이터의 종류 및 크기 정보를 포함하는including global parameters of the global model, learning time of the user terminal, and type and size information of the user data to be used for learning
    연합 학습 시스템.Federated Learning System.
  3. 제 2 항에 있어서,3. The method of claim 2,
    상기 사용자 단말은The user terminal is
    상기 모델 데이터를 기초로 학습 계획을 수립하고 상기 학습 계획에 따라 학습을 수행하는Establishing a learning plan based on the model data and performing learning according to the learning plan
    연합 학습 시스템.Federated Learning System.
  4. 제 1 항에 있어서,The method of claim 1,
    상기 학습 데이터는The learning data is
    로컬 모델 또는 상기 로컬 모델의 로컬 매개 변수인a local model or a local parameter of said local model.
    연합 학습 시스템. Federated Learning System.
  5. 제 1 항에 있어서,The method of claim 1,
    상기 데이터 관리부는The data management unit
    상기 학습 데이터의 크기, 생성 일시 및 분포 특성을 포함하는 메타 데이터를 생성하는To generate metadata including the size of the learning data, the creation date and time, and distribution characteristics
    연합 학습 시스템. Federated Learning System.
  6. 제 5 항에 있어서,6. The method of claim 5,
    상기 서버는the server
    상기 메타 데이터를 기초로, 상기 학습 데이터의 범위 및 개수를 결정하거나, 취합할 상기 학습 데이터를 선택하거나, 상기 학습 데이터의 취합 계획을 수립 또는 변경하는Based on the metadata, determining the range and number of the learning data, selecting the learning data to be collected, or establishing or changing a collection plan of the learning data
    연합 학습 시스템.Federated Learning System.
  7. 제 1 항에 있어서,The method of claim 1,
    상기 데이터 관리부는The data management unit
    상기 모델 데이터 및 상기 학습 데이터를 버전 별로 관리하는Managing the model data and the training data by version
    연합 학습 시스템.Federated Learning System.
  8. 서버가 글로벌 모델을 생성하고, 상기 글로벌 모델에 관한 모델 데이터를 데이터 관리부에 등록하는 단계;generating, by the server, a global model, and registering model data related to the global model to a data management unit;
    상기 데이터 관리부가 상기 모델 데이터를 복수의 사용자 단말로 전달하는 단계;transmitting the model data to a plurality of user terminals by the data management unit;
    상기 복수의 사용자 단말이 사용자 데이터를 기초로 상기 글로벌 모델을 학습하여 학습 데이터를 생성하는 단계;generating, by the plurality of user terminals, learning data by learning the global model based on user data;
    상기 복수의 사용자 단말이 상기 학습 데이터를 상기 데이터 관리부에 등록하는 단계;registering, by the plurality of user terminals, the learning data to the data management unit;
    상기 데이터 관리부가 상기 학습 데이터를 상기 서버로 전달하는 단계; 및transmitting, by the data management unit, the learning data to the server; and
    상기 서버가 상기 학습 데이터를 취합하여 상기 글로벌 모델을 개선하는 단계improving the global model by collecting the training data by the server
    를 포함하는 연합 학습 방법.A federated learning method comprising
  9. 제 8 항에 있어서,9. The method of claim 8,
    상기 모델 데이터를 상기 데이터 관리부에 등록하는 단계는The step of registering the model data to the data management unit
    상기 서버가 상기 모델 데이터의 등록을 상기 데이터 관리부에 요청하는 단계; 및requesting, by the server, the data management unit to register the model data; and
    상기 데이터 관리부가 상기 모델 데이터를 버전 별로 등록하는 단계Registering the model data for each version by the data management unit
    를 포함하는 연합 학습 방법.A federated learning method comprising
  10. 제 8 항에 있어서,9. The method of claim 8,
    상기 모델 데이터를 상기 복수의 사용자 단말로 전달하는 단계는The step of transferring the model data to the plurality of user terminals includes
    상기 복수의 사용자 단말이 상기 모델 데이터를 상기 데이터 관리부에 요청하는 단계; 및requesting, by the plurality of user terminals, the model data to the data management unit; and
    상기 데이터 관리부가 최신 버전의 모델 데이터 또는 상기 복수의 사용자 단말이 요청한 버전의 상기 모델 데이터를 상기 복수의 사용자 단말로 전달하는 단계transmitting, by the data management unit, the latest version of the model data or the model data of the version requested by the plurality of user terminals to the plurality of user terminals
    를 포함하는 연합 학습 방법.A federated learning method comprising
  11. 제 8 항에 있어서,9. The method of claim 8,
    상기 학습 데이터를 상기 데이터 관리부에 등록하는 단계는The step of registering the learning data to the data management unit
    상기 사용자 단말이 상기 학습 데이터의 등록을 상기 데이터 관리부에 요청하는 단계; 및requesting, by the user terminal, the data management unit to register the learning data; and
    상기 데이터 관리부가 상기 학습 데이터를 버전 별로 등록하는 단계Registering the learning data for each version by the data management unit
    를 포함하는 연합 학습 방법.A federated learning method comprising
  12. 제 8 항에 있어서,9. The method of claim 8,
    상기 학습 데이터를 상기 서버로 전달하는 단계는The step of delivering the learning data to the server
    상기 서버가 상기 학습 데이터를 상기 데이터 관리부에 요청하는 단계; 및requesting, by the server, the learning data to the data management unit; and
    상기 데이터 관리부가 최신 버전의 학습 데이터 또는 상기 서버가 요청한 버전의 상기 학습 데이터를 상기 서버로 전달하는 단계transmitting, by the data management unit, the latest version of the learning data or the learning data of the version requested by the server to the server
    를 포함하는 연합 학습 방법.A federated learning method comprising
PCT/KR2020/013548 2020-04-27 2020-10-06 Federated learning system and method WO2021221242A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0050980 2020-04-27
KR1020200050980A KR102544531B1 (en) 2020-04-27 2020-04-27 Federated learning system and method

Publications (1)

Publication Number Publication Date
WO2021221242A1 true WO2021221242A1 (en) 2021-11-04

Family

ID=78332056

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/013548 WO2021221242A1 (en) 2020-04-27 2020-10-06 Federated learning system and method

Country Status (2)

Country Link
KR (1) KR102544531B1 (en)
WO (1) WO2021221242A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230064535A (en) 2021-11-03 2023-05-10 한국과학기술원 System, method, computer-readable storage medium and computer program for federated learning of local model based on learning direction of global model
KR102646338B1 (en) 2021-11-03 2024-03-11 한국과학기술원 System, method, computer-readable storage medium and computer program for personalized federated learning based on individual data of client
KR102413116B1 (en) * 2021-12-02 2022-06-23 세종대학교산학협력단 Federated learning method based on layer characteristic of artificial neural network
KR102485748B1 (en) * 2022-05-30 2023-01-09 주식회사 어니스트펀드 federated learning method and device for statistical model
CN114707430B (en) * 2022-06-02 2022-08-26 青岛鑫晟汇科技有限公司 Multi-user encryption based federated learning visualization system and method
KR102517728B1 (en) * 2022-07-13 2023-04-04 주식회사 애자일소다 Apparatus and method for recommending products based on federated learning
KR102573880B1 (en) * 2022-07-21 2023-09-06 고려대학교 산학협력단 Federated learning system and federated learning method based on multi-width artificial neural network
KR20240045837A (en) 2022-09-30 2024-04-08 한국과학기술원 System, client appatus and methods for federated learning of enhanced representation
KR102585904B1 (en) 2022-12-14 2023-10-06 주식회사 딥노이드 Apparatus for reading X-ray images using artificial intelligence based on self-directed central control and method therefor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324690A1 (en) * 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
US20170220949A1 (en) * 2016-01-29 2017-08-03 Yahoo! Inc. Method and system for distributed deep machine learning
WO2018057302A1 (en) * 2016-09-26 2018-03-29 Google Llc Communication efficient federated learning
WO2019219846A1 (en) * 2018-05-17 2019-11-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concepts for distributed learning of neural networks and/or transmission of parameterization updates therefor
US20190385043A1 (en) * 2018-06-19 2019-12-19 Adobe Inc. Asynchronously training machine learning models across client devices for adaptive intelligence

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102414602B1 (en) * 2016-11-03 2022-06-30 삼성전자주식회사 Data recognition model construction apparatus and method for constructing data recognition model thereof, and data recognition apparatus and method for recognizing data thereof
WO2018150550A1 (en) * 2017-02-17 2018-08-23 株式会社日立製作所 Learning data management device and learning data management method
KR102369416B1 (en) * 2017-09-18 2022-03-03 삼성전자주식회사 Speech signal recognition system recognizing speech signal of a plurality of users by using personalization layer corresponding to each of the plurality of users
KR20190081373A (en) * 2017-12-29 2019-07-09 (주)제이엘케이인스펙션 Terminal device and data processing method based on artificial neural network
KR20190103088A (en) 2019-08-15 2019-09-04 엘지전자 주식회사 Method and apparatus for recognizing a business card using federated learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324690A1 (en) * 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
US20170220949A1 (en) * 2016-01-29 2017-08-03 Yahoo! Inc. Method and system for distributed deep machine learning
WO2018057302A1 (en) * 2016-09-26 2018-03-29 Google Llc Communication efficient federated learning
WO2019219846A1 (en) * 2018-05-17 2019-11-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concepts for distributed learning of neural networks and/or transmission of parameterization updates therefor
US20190385043A1 (en) * 2018-06-19 2019-12-19 Adobe Inc. Asynchronously training machine learning models across client devices for adaptive intelligence

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KANG JIAWEN; XIONG ZEHUI; NIYATO DUSIT; ZOU YUZE; ZHANG YANG; GUIZANI MOHSEN: "Reliable Federated Learning for Mobile Networks", IEEE WIRELESS COMMUNICATIONS, COORDINATED SCIENCE LABORATORY; DEPT. ELECTRICAL AND COMPUTER ENGINEERING; UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN, US, vol. 27, no. 2, 1 April 2020 (2020-04-01), US , pages 72 - 80, XP011786131, ISSN: 1536-1284, DOI: 10.1109/MWC.001.1900119 *

Also Published As

Publication number Publication date
KR102544531B1 (en) 2023-06-16
KR20210132500A (en) 2021-11-04

Similar Documents

Publication Publication Date Title
WO2021221242A1 (en) Federated learning system and method
CN110191148B (en) Statistical function distributed execution method and system for edge calculation
WO2020162680A1 (en) Microservice system and method
WO2021054514A1 (en) User-customized question-answering system based on knowledge graph
WO2021201370A1 (en) Federated learning resource management apparatus and system, and resource efficiency method therefor
WO2021169294A1 (en) Application recognition model updating method and apparatus, and storage medium
WO2019095448A1 (en) Monitoring system for remote education system server farm
WO2024019474A1 (en) Bi-directional inverter with solar inverter function
Huang et al. Enabling dnn acceleration with data and model parallelization over ubiquitous end devices
Li Retracted: Design and implementation of music teaching assistant platform based on Internet of Things
Chen et al. Heterogeneous semi-asynchronous federated learning in Internet of Things: A multi-armed bandit approach
CN110233870A (en) A kind of class of board system client long junction manages method and device
Al-Kasassbeh et al. Analysis of mobile agents in network fault management
CN116095007A (en) Load scheduling method, device, computer equipment and storage medium
CN116089079A (en) Big data-based computer resource allocation management system and method
WO2013085089A1 (en) Method for using communication network resource in m2m cloud environment and system therefor
Qu et al. New analysis on mobile agents based network routing
WO2020075907A1 (en) Compensation method of aggregator for securing distributed energy resources
WO2021101055A1 (en) Method for providing service in edge network including multiple access points, and system therefor
Ma et al. DePo: Dynamically offload expensive event processing to the edge of cyber-physical systems
WO2018216828A1 (en) Energy big data management system and method therefor
WO2023224205A1 (en) Method for generating common model through artificial neural network model training result synthesis
CN111782322A (en) Intranet and extranet message communication server and system based on cloud desktop server
WO2023033229A1 (en) Adaptive batch processing method and system
Yu et al. 5G network education and smart campus based on heterogeneous distributed platform and multi-scheduling optimization

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

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

Country of ref document: EP

Kind code of ref document: A1