KR102646338B1 - System, method, computer-readable storage medium and computer program for personalized federated learning based on individual data of client - Google Patents
System, method, computer-readable storage medium and computer program for personalized federated learning based on individual data of client Download PDFInfo
- Publication number
- KR102646338B1 KR102646338B1 KR1020220075186A KR20220075186A KR102646338B1 KR 102646338 B1 KR102646338 B1 KR 102646338B1 KR 1020220075186 A KR1020220075186 A KR 1020220075186A KR 20220075186 A KR20220075186 A KR 20220075186A KR 102646338 B1 KR102646338 B1 KR 102646338B1
- Authority
- KR
- South Korea
- Prior art keywords
- parameter
- federated learning
- learning model
- federated
- central server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 51
- 238000004590 computer program Methods 0.000 title claims description 12
- 238000000605 extraction Methods 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 일 실시예에 따른 연합 학습 시스템은 추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 각 클라이언트 장치에 전송하고, 각 클라이언트 장치로부터 학습된 제1 파라미터를 수신하여 상기 연합 학습 모델을 업데이트하는 중앙 서버; 및 상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하고 학습된 제1 파라미터를 상기 중앙 서버에 전송하는 복수의 클라이언트 장치를 포함할 수 있다. The federated learning system according to an embodiment of the present invention transmits the first parameter of the extractor among the federated learning models including the extractor and the classifier to each client device, receives the learned first parameter from each client device, and receives the first parameter learned from each client device. A central server that updates federated learning models; And a plurality of people learning the first parameter of the federated learning model using data they own while maintaining the value of the second parameter of the classifier among the federated learning models and transmitting the learned first parameter to the central server. Can include client devices.
Description
본 발명은 클라이언트의 개별 데이터 맞춤형 연합 학습 시스템, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a federated learning system, method, computer-readable recording medium, and computer program tailored to a client's individual data.
최근 클라우드 및 빅데이터 기술의 발전으로 다양한 서비스에 인공 지능(Artificial Intelligence; AI) 기술이 적용되고 있다. 이러한 인공 지능 기술을 서비스에 적용하기 위해서는 많은 양의 데이터를 바탕으로 인공 지능 모델을 학습하는 절차가 선행되어야 한다.With recent developments in cloud and big data technology, artificial intelligence (AI) technology is being applied to various services. In order to apply such artificial intelligence technology to services, the process of learning an artificial intelligence model based on a large amount of data must be preceded.
인공 지능 모델의 학습에는 대규모 계산을 수행하기 위해 상당한 컴퓨터 리소스가 필요하다. 일 예로, 클라우드 컴퓨팅 서비스는 복잡한 하드웨어 및 소프트웨어 설치 없이 인공 지능 모델을 학습할 수 있도록 클라우드 컴퓨팅 인프라를 제공하는 서비스이다. 클라우드 컴퓨팅은 리소스의 중앙 집중화를 기반으로 하기 때문에 필요한 모든 데이터를 클라우드 메모리에 저장하고 모델 학습에 활용해야 한다. 데이터 중앙 집중화는 효율성 극대화라는 관점에서 많은 이점을 제공하지만, 사용자 개인 데이터의 유출 위험이 있으며 데이터 전송이 수반됨에 따라 상당한 네트워크 비용이 발생한다.Training artificial intelligence models requires significant computer resources to perform large-scale calculations. For example, a cloud computing service is a service that provides cloud computing infrastructure to learn artificial intelligence models without installing complex hardware and software. Because cloud computing is based on centralization of resources, all necessary data must be stored in cloud memory and used for model training. Data centralization offers many advantages in terms of maximizing efficiency, but it also carries the risk of leakage of user personal data and incurs significant network costs as data transfer is involved.
최근 이러한 문제를 극복하기 위해 연합 학습(Federated Learning)이 활발히 연구되고 있다. 연합 학습이란 기존처럼 사용자 개인 데이터를 중앙에 모아서 학습하는 것이 아니라, 여러 클라이언트 장치가 보유한 개별 데이터를 기초로 각 클라이언트 장치가 직접 학습한 모델을 중앙으로 취합하는 형식의 학습 방법이다. 이러한 연합 학습은 사용자 개인 데이터를 중앙으로 수집하는 것이 아니기 때문에 사생활 침해 소지가 적고, 갱신된 모델의 파라미터만을 전송할 수 있기에 네트워크 비용이 절감될 수 있다.Recently, federated learning has been actively researched to overcome these problems. Federated learning is a learning method that collects models directly learned by each client device based on individual data held by multiple client devices into a central location, rather than collecting user personal data in a central location as before. Since this type of federated learning does not centrally collect user personal data, there is less risk of privacy infringement, and network costs can be reduced because only the parameters of the updated model can be transmitted.
다만, 연합 학습에 실제로 사용되는 각 클라이언트 장치의 데이터셋은 수, 종류, 분포 등이 서로 상이하기 때문에, 연합 학습 과정에서 사용되는 데이터의 불균형으로 학습의 방향성을 잃는 포게팅(ex. catastrophic forgetting) 문제가 발생할 수 있다. However, since the datasets of each client device actually used in federated learning are different in number, type, distribution, etc., the imbalance of data used in the federated learning process causes forgetting (ex. catastrophic forgetting), in which the direction of learning is lost. Problems may arise.
나아가, 최종적으로 연합 학습이 완료된 모델은 일반적으로는 높은 성능을 보일지라도, 특정한 분포의 데이터 셋을 사용하는 개별 클라이언트 장치에 적용하는 경우에 따라서는 부족한 성능을 보이는 경우가 발생하기도 한다. Furthermore, although the model on which federated learning is finally completed generally shows high performance, it may show insufficient performance depending on the case when applied to an individual client device using a data set of a specific distribution.
본 발명이 해결하고자 하는 과제는 연합 학습에 사용되는 각 클라이언트 장치의 데이터 불균형으로 인해 다양한 문제가 야기될 수 있다는 점에 착안하여, 1차적으로 각 클라이언트 장치가 연합 학습 모델의 추출부를 학습하여 중앙 서버가 연합 학습 모델의 일부 파라미터를 갱신하도록 하고, 2차적으로 각 클라이언트 장치가 자신이 보유한 데이터 셋에 맞추어 연합 학습 모델의 분류부를 개별적으로 학습하도록 하는 연합 학습 시스템, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램을 제공하는 것이다. The problem that the present invention aims to solve is that various problems can be caused by data imbalance of each client device used in federated learning, so each client device first learns the extract part of the federated learning model and sends it to the central server. A federated learning system, method, computer-readable recording medium, and computer that allows each client device to update some parameters of the federated learning model, and secondarily, each client device individually learns the classification of the federated learning model according to its own data set. To provide a program.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.However, the problem to be solved by the present invention is not limited to the above-mentioned, and includes purposes that are not mentioned but can be clearly understood by those skilled in the art from the description below. can do.
본 발명의 일 실시예에 따른 연합 학습 시스템은 추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 각 클라이언트 장치에 전송하고, 각 클라이언트 장치로부터 학습된 제1 파라미터를 수신하여 상기 연합 학습 모델을 업데이트하는 중앙 서버; 및 상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하고 학습된 제1 파라미터를 상기 중앙 서버에 전송하는 복수의 클라이언트 장치를 포함할 수 있다. The federated learning system according to an embodiment of the present invention transmits the first parameter of the extractor among the federated learning models including the extractor and the classifier to each client device, receives the learned first parameter from each client device, and receives the first parameter learned from each client device. A central server that updates federated learning models; And a plurality of people learning the first parameter of the federated learning model using data they own while maintaining the value of the second parameter of the classifier among the federated learning models and transmitting the learned first parameter to the central server. Can include client devices.
또한, 상기 복수의 클라이언트 장치는 상기 중앙 서버로부터 연합 학습이 완료된 연합 학습 모델을 수신하면, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제2 파라미터를 업데이트 할 수 있다.Additionally, when the plurality of client devices receive a federated learning model on which federated learning has been completed from the central server, they can update the second parameter of the federated learning model using data they own.
또한, 상기 제2 파라미터는 각 클라이언트 장치의 제1 파라미터의 학습 과정에서 소정의 가중치 초기화(weight initialization) 알고리즘에 따라 기 설정된 값이 유지될 수 있다.Additionally, the second parameter may maintain a preset value according to a predetermined weight initialization algorithm during the learning process of the first parameter of each client device.
또한, 상기 제2 파라미터는 각 클라이언트 장치의 제1 파라미터의 학습 과정에서 직교 행렬 초기화(orthogonal initialization) 알고리즘에 따라 기 설정된 값이 유지될 수 있다.Additionally, the second parameter may maintain a preset value according to an orthogonal initialization algorithm during the learning process of the first parameter of each client device.
또한, 상기 분류부는 상기 연합 학습 모델을 구성하는 레이어 중 출력 레이어와 맞닿는 최후단의 레이어를 포함할 수 있다. Additionally, the classification unit may include the last layer in contact with the output layer among the layers constituting the joint learning model.
또한, 상기 추출부는 상기 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 상기 최후단의 레이어 바로 이전까지의 레이어를 포함할 수 있다.Additionally, the extractor may include layers from the frontmost layer in contact with the input layer to immediately before the last layer among the layers constituting the federated learning model.
일 실시예에 따른 중앙 서버 및 복수의 클라이언트 장치가 수행하는 연합 학습 방법은 중앙 서버가 추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 각 클라이언트 장치에 전송하는 단계; 복수의 클라이언트 장치 각각이 상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하고 학습된 제1 파라미터를 상기 중앙 서버에 전송하는 단계; 및 중앙 서버가 각 클라이언트 장치로부터 학습된 제1 파라미터를 수신하여 상기 연합 학습 모델을 업데이트하는 단계를 포함할 수 있다. A federated learning method performed by a central server and a plurality of client devices according to an embodiment includes the steps of the central server transmitting a first parameter of the extraction unit among the federated learning models including an extraction unit and a classification unit to each client device; Each of a plurality of client devices learns the first parameter of the federated learning model using its own data while maintaining the value of the second parameter of the classifier among the federated learning models, and transmits the learned first parameter to the central server. Transferring to; And it may include the central server receiving a first parameter learned from each client device to update the joint learning model.
또한, 상기 연합 학습 모델을 업데이트하는 단계 이후 복수의 클라이언트 장치 각각이 상기 중앙 서버로부터 연합 학습이 완료된 연합 학습 모델을 수신하고, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제2 파라미터를 업데이트하는 단계를 더 포함할 수 있다.In addition, after the step of updating the federated learning model, each of the plurality of client devices receives a federated learning model on which federated learning has been completed from the central server, and updates the second parameter of the federated learning model using data held by the plurality of client devices. may further include.
또한, 상기 중앙 서버에 전송하는 단계는 제1 파라미터의 학습 과정에서 소정의 가중치 초기화(weight initialization) 알고리즘에 따라 기 설정된 값이 상기 제2 파라미터에 유지되도록 제어하는 단계를 포함할 수 있다.Additionally, the step of transmitting to the central server may include controlling the second parameter to maintain a preset value according to a predetermined weight initialization algorithm during the learning process of the first parameter.
또한, 상기 제2 파라미터는 제1 파라미터의 학습 과정에서 직교 행렬 초기화(orthogonal initialization) 알고리즘에 따라 기 설정된 값이 상기 제2 파라미터에 유지되도록 제어하는 단계를 포함할 수 있다.Additionally, the second parameter may include controlling the second parameter to maintain a preset value according to an orthogonal initialization algorithm during the learning process of the first parameter.
또한, 상기 분류부는 상기 연합 학습 모델을 구성하는 레이어 중 출력 레이어와 맞닿는 최후단의 레이어를 포함하고, 상기 추출부는 상기 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 상기 최후단의 레이어 바로 이전까지의 레이어를 포함할 수 있다.In addition, the classification unit includes the last layer in contact with the output layer among the layers constituting the federated learning model, and the extraction unit starts from the last layer in contact with the input layer among the layers constituting the federated learning model. It can include the layer immediately preceding the layer.
일 실시예에 따른 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서, 추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 획득하는 단계; 상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하는 단계; 및 학습된 제1 파라미터를 중앙 서버에 전송하는 단계의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다. A computer-readable recording medium storing a computer program according to an embodiment, the method comprising: acquiring a first parameter of an extraction unit among a federated learning model including an extraction unit and a classification unit; Learning a first parameter of the joint learning model using data owned by the joint learning model while maintaining the value of the second parameter of the classifier among the joint learning models; And it may include instructions for causing the processor to perform a federated learning method of transmitting the learned first parameter to the central server.
일 실시예에 따른 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서, 추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 획득하는 단계; 상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하는 단계; 및 학습된 제1 파라미터를 중앙 서버에 전송하는 단계의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다. A computer program stored in a computer-readable recording medium according to an embodiment, comprising: acquiring a first parameter of the extraction unit among a federated learning model including an extraction unit and a classification unit; Learning a first parameter of the joint learning model using data owned by the joint learning model while maintaining the value of the second parameter of the classifier among the joint learning models; And it may include instructions for causing the processor to perform a federated learning method of transmitting the learned first parameter to the central server.
본 발명의 실시예에 의하면, 연합 학습 모델을 추출부와 분류부로 나누어, 글로벌 모델을 학습시키는 1차 학습 과정에서는 각 클라이언트 장치가 보유한 데이터로부터 연합 학습 모델의 분류부를 집중적으로 학습시킴으로써 연합 학습 속도를 향상시킬 수 있다. According to an embodiment of the present invention, the federated learning model is divided into an extraction unit and a classification unit, and in the first learning process of learning a global model, the federated learning speed is increased by intensively learning the classification unit of the federated learning model from data held by each client device. It can be improved.
또한, 글로벌 모델의 학습 완료 후 로컬 모델을 개별적으로 학습시키는 2차 학습 과정에서는 각 클라이언트 장치가 보유한 데이터를 이용해 추출부를 개별적으로 학습하도록 함으로써, 각 클라이언트 장치는 자신이 보유한 데이터 셋에 의해 맞춤화된 결정 경계를 갖는 연합 학습 모델을 보유하게 되며, 이에 따라 각 클라이언트 장치는 자신이 주로 사용하는 데이터에 대하여 정확도가 대폭 향상된 모델을 사용할 수 있다.In addition, in the second learning process, in which the local model is individually trained after completing the training of the global model, the extractor is individually learned using the data held by each client device, so that each client device makes customized decisions based on the data set it holds. It has a federated learning model with boundaries, so each client device can use a model with greatly improved accuracy for the data it mainly uses.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained from the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.
도 1은 본 발명의 일 실시예에 따른 연합 학습 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 연합 학습 시스템에 사용되는 연합 학습 모델의 구조를 나타낸 예시도이다.
도 3은 본 발명의 일 실시예에 따라 중앙 서버가 각 클라이언트 장치에 제1 파라미터를 전송하고, 각 클라이언트 장치가 제1 파라미터를 학습하는 동작을 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따라 각 클라이언트 장치가 갱신한 제1 파라미터를 중앙 서버에 전송하고, 중앙 서버가 각 제1 파라미터를 취합하여 연합 학습 모델의 제1 파라미터를 업데이트하는 동작을 나타낸 예시도이다.
도 5는 본 발명의 일 실시예에 따라 중앙 서버가 학습이 완료된 연합 학습 모델을 각 클라이언트 장치에 전송하고, 각 클라이언트 장치가 연합 학습 모델의 제2 파라미터를 학습하는 동작을 나타낸 예시도이다.
도 6는 본 발명의 일 실시예에 따라 각 클라이언트 장치가 보유한 데이터 셋에 따라 개별화된 제2 파라미터의 모습을 나타낸 예시도이다.
도 7은 본 발명의 일 실시예에 따른 연합 학습 방법의 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 연합 학습 시스템에 의해 생성된 연합 학습 모델(FedBABU)과 기존의 연합 학습 알고리즘에 의해 생성된 연합 학습 모델을 복수의 클라이언트 장치에서 동일한 데이터셋을 적용하여 측정한 정확도의 비교표이다. 1 is a configuration diagram of a federated learning system according to an embodiment of the present invention.
Figure 2 is an exemplary diagram showing the structure of a federated learning model used in a federated learning system according to an embodiment of the present invention.
Figure 3 is an example diagram showing an operation in which a central server transmits a first parameter to each client device and each client device learns the first parameter according to an embodiment of the present invention.
Figure 4 shows an operation in which each client device transmits the updated first parameter to the central server and the central server collects each first parameter to update the first parameter of the federated learning model according to an embodiment of the present invention. This is an example diagram.
Figure 5 is an example diagram illustrating an operation in which a central server transmits a fully trained federated learning model to each client device and each client device learns a second parameter of the federated learning model, according to an embodiment of the present invention.
Figure 6 is an example diagram showing the appearance of a second parameter individualized according to the data set held by each client device according to an embodiment of the present invention.
Figure 7 is a flowchart of a federated learning method according to an embodiment of the present invention.
Figure 8 shows a federated learning model (FedBABU) generated by a federated learning system according to an embodiment of the present invention and a federated learning model generated by an existing federated learning algorithm measured by applying the same dataset to a plurality of client devices. This is a comparison table of accuracy.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and can be implemented in various forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to those skilled in the art to which the present invention pertains. It is provided to fully inform the person of the scope of the invention, and the scope of the invention is only defined by the claims.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing embodiments of the present invention, detailed descriptions of well-known functions or configurations will be omitted unless actually necessary. The terms described below are terms defined in consideration of functions in the embodiments of the present invention, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성의 조합일 수 있다.The functional blocks shown in the drawings and described below are only examples of possible implementations. Other functional blocks may be used in other implementations without departing from the spirit and scope of the detailed description. Additionally, although one or more functional blocks of the present invention are shown as individual blocks, one or more of the functional blocks of the present invention may be a combination of various hardware and software configurations that perform the same function.
또한 어떤 구성 요소들을 포함한다는 표현은 개방형의 표현으로서 해당 구성 요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성 요소들을 배제하는 것으로 이해되어서는 안 된다.Additionally, the expression that it includes certain components is an open expression and simply refers to the existence of the components, and should not be understood as excluding additional components.
나아가 어떤 구성 요소가 다른 구성 요소에 연결되어 있다거나 접속되어 있다고 언급될 때에는, 그 다른 구성 요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 한다. Furthermore, when it is mentioned that a component is connected or connected to another component, it should be understood that although it may be directly connected or connected to the other component, other components may exist in between.
또한 '제1, 제2' 등과 같은 표현은 복수의 구성을 구분하기 위한 용도로만 사용된 표현으로써, 구성들 사이의 순서나 기타 특징들을 한정하지 않는다. In addition, expressions such as 'first, second', etc. are expressions used only to distinguish a plurality of configurations, and do not limit the order or other characteristics between the configurations.
이하 사용되는 '…부', '…기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Hereinafter used ‘…’ wealth', '… Terms such as 'unit' refer to a unit that processes at least one function or operation, and may be implemented as hardware, software, or a combination of hardware and software.
도 1은 본 발명의 일 실시예에 따른 연합 학습 시스템(10)의 구성도이다.Figure 1 is a configuration diagram of a
도 1을 참조하면, 일 실시예에 따른 연합 학습 시스템(10)은 중앙 서버(100) 및 복수의 클라이언트 장치(200)를 포함할 수 있다. Referring to FIG. 1, the
중앙 서버(100) 및 클라이언트 장치(200)는 메모리 및 프로세서를 포함하는 컴퓨팅 장치로서, 메모리에 저장된 명령어와 프로세서의 연산에 의해 전반적인 동작이 수행될 수 있다. The
중앙 서버(100) 및 클라이언트 장치(200)는 연합 학습(Federated Learning)을 수행하기 위해 동일한 구조로 설계된 인공지능 신경망 모델을 저장할 수 있다. The
이하, 본 문서의 실시예에 따라 연합 학습에 사용되는 인공지능 신경망 모델을 '연합 학습 모델'로 지칭하기로 한다. 또한, '연합 학습 모델'이 저장된 장치를 구분하여 설명이 필요한 경우, 중앙 서버(100)에 저장된 연합 학습 모델을 '글로벌 모델', 클라이언트 장치(200)에 저장된 연합 학습 모델을 '로컬 모델'로 구분하여 지칭하기로 한다. Hereinafter, the artificial intelligence neural network model used for federated learning according to the embodiments of this document will be referred to as the 'federated learning model'. In addition, if explanation is needed to distinguish the device where the 'federated learning model' is stored, the federated learning model stored in the
연합 학습 시스템(10)을 구성하는 중앙 서버(100) 및 클라이언트 장치(200)가 연합 학습 모델을 학습시키는 개괄적인 동작은 다음과 같다. The general operation of the
먼저, 중앙 서버(100)는 글로벌 모델에 설정되어 있는 파라미터 값을 각 클라이언트 장치(200)에 전송할 수 있다. First, the
다음으로, 각 클라이언트 장치(200)는 자신이 보유한 데이터를 사용해 로컬 모델을 학습시키고, 학습된 로컬 모델의 파라미터를 중앙 서버(100)에 전송할 수 있다. Next, each
이후, 중앙 서버(100)는 각 클라이언트 장치(200)가 학습한 로컬 모델의 파라미터를 취합하여 글로벌 모델의 파라미터를 업데이트 할 수 있다. Thereafter, the
이처럼, 중앙 서버(100)가 클라이언트 장치(200)에 파라미터를 전송하여 새롭게 학습된 파라미터를 취합한 후 모델을 업데이트하는 일련의 과정을 연합 학습의 한 라운드로 이해할 수 있다. 연합 학습의 라운드는 설계에 따라 복수의 라운드로 진행될 수 있으며, 최종 라운드가 진행된 이후 업데이트된 글로벌 모델의 파라미터가 최종적인 연합 학습 모델의 파라미터로 결정될 수 있다. In this way, a series of processes in which the
이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 연합 학습의 라운드 마다 복수의 클라이언트 장치(200) 중 일부 클라이언트 장치(200)를 선별하여 파라미터를 전송할 수 있다. At this time, the
이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 클라이언트 장치(200)로부터 취합된 파라미터를 조합하여 글로벌 모델의 파라미터를 업데이트할 수 있다. At this time, the
한편, 연합 학습에서 각 클라이언트 장치(200)가 보유한 데이터의 수, 종류, 분포 등이 서로 상이한 경우, 포게팅(ex. catastrophic forgetting) 문제가 발생할 수 있고, 특정 분포의 데이터 셋을 사용하는 개별 클라이언트 장치(200)에 연합 학습 모델을 적용하는 경우 부족한 성능을 보이는 경우가 있다. 이러한 점을 해결하기 위해, 본 문서의 실시예에 따른 연합 학습 시스템(10)은 연합 학습 모델의 파라미터 중 각 클라이언트 장치(200)가 공통적으로 사용할 파라미터와, 개별적으로 사용할 파라미터를 나누어 학습하는 방안을 제시한다. Meanwhile, in federated learning, if the number, type, distribution, etc. of data held by each
도 2는 본 발명의 일 실시예에 따른 연합 학습 시스템(10)에 사용되는 연합 학습 모델의 구조를 나타낸 예시도이다.Figure 2 is an exemplary diagram showing the structure of a federated learning model used in the
도 2를 참조하면, 일 실시예에 따른 연합 학습 모델은 입력 레이어, 은닉 레이어 및 출력 레이어로 구성된 신경망 네트워크를 포함할 수 있다. 일 실시예에 따른 연합 학습 시스템(10)은 연합 학습 모델의 은닉 레이어를 추출부(extractor)와 분류부(classifier)로 한 번 더 구분한다. Referring to FIG. 2, a federated learning model according to one embodiment may include a neural network consisting of an input layer, a hidden layer, and an output layer. The
추출부는 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 은닉 레이어의 최후단에 해당하는 레이어의 바로 앞단까지의 레이어를 포함할 수 있다. 예를 들어, 추출부는 소정의 특징값 또는 특징 벡터에 대해 가중치 및 바이어스를 가하여 컨볼루션 연산을 수행하도록 하는 파라미터를 포함하는 네트워크 레이어를 포함할 수 있다. 이하, 추출부에서 학습되는 파라미터를 '제1 파라미터'로 통칭한다. The extraction unit may include layers from the frontmost layer that contacts the input layer among the layers that make up the federated learning model to the layer immediately in front of the layer corresponding to the lastest layer of the hidden layer. For example, the extractor may include a network layer including parameters for performing a convolution operation by applying weights and biases to predetermined feature values or feature vectors. Hereinafter, the parameters learned in the extraction unit are collectively referred to as 'first parameters'.
분류부는 연합 학습 모델을 구성하는 레이어 중 출력 레이어와 맞닿는 최후단의 레이어를 포함할 수 있다. 예를 들어, 분류부는 출력 레이어에 대한 클래스를 구분하기 위한 결정 경계(decision boundary)를 구분하도록 하는 파라미터를 포함하는 네트워크 레이어를 포함할 수 있다. 이하, 분류부에서 학습되는 파라미터를 '제2 파라미터'로 통칭한다.The classification unit may include the last layer in contact with the output layer among the layers constituting the federated learning model. For example, the classification unit may include a network layer that includes parameters to distinguish a decision boundary for distinguishing classes for the output layer. Hereinafter, the parameters learned in the classification unit are collectively referred to as 'second parameters'.
도 3은 본 발명의 일 실시예에 따라 중앙 서버(100)가 각 클라이언트 장치(200)에 제1 파라미터를 전송하고, 각 클라이언트 장치(200)가 제1 파라미터를 학습하는 동작을 나타낸 예시도이다.Figure 3 is an example diagram showing an operation in which the
중앙 서버(100)는 글로벌 모델에 설정되어 있는 제1 파라미터를 각 클라이언트 장치(200)에 전송할 수 있다. 이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 연합 학습의 라운드 마다 모든 클라이언트 장치(200) 중 일부의 클라이언트 장치(200)를 선별하여 파라미터를 전송하고 업데이트 하도록 할 수 있다. The
각 클라이언트 장치(200-1, 200-2, ..., 200-n)는 각기 저장하고 있는 로컬 모델의 추출부에 중앙 서버(100)가 전송한 제1 파라미터 값을 학습의 초기값으로 설정하고, 개별적으로 보유한 데이터(D1, D2, D3)를 이용하여 기 규약된 학습 알고리즘(ex. CNN, RNN, MLP 등)을 사용하여 제1 파라미터를 개별적으로 학습시킬 수 있다. 이때 각 클라이언트 장치(200-1, 200-2, ..., 200-n)는 로컬 모델의 분류부에 설정된 제2 파라미터 값이 업데이트 되지 않고 동일한 값을 유지하도록 하여 제1 파라미터 만을 학습할 수 있다. Each client device (200-1, 200-2, ..., 200-n) sets the first parameter value transmitted by the
일 예로, 중앙 서버(100) 및 모든 클라이언트 장치(200)는 각기 저장하고 있는 연합 학습 모델에서 동일한 제2 파라미터 갖도록 설정되며, 그 값이 업데이트 되지 않고 동일한 값을 유지하도록 규약할 수 있다. As an example, the
일 예로, 제2 파라미터 값은 소정의 가중치 초기화(weight initialization) 알고리즘(ex. 직교 행렬 초기화(orthogonal initialization))에 따라 기 설정된 값을 갖도록 규약될 수 있다. 예를 들어, 중앙 서버(100)는 가중치 초기화 알고리즘에 따라 분류부에 적용될 제2 파라미터 값을 결정하고, 연합 학습의 라운드가 시작되기 전 모든 클라이언트 장치(200)에 제2 파라미터 값을 전파하고, 제1 파라미터의 학습 과정에서 학습 과정에서 제2 파라미터 값이 변하지 않고 유지되도록 규약할 수 있다. As an example, the second parameter value may be stipulated to have a preset value according to a predetermined weight initialization algorithm (ex. orthogonal initialization). For example, the
도 4는 본 발명의 일 실시예에 따라 각 클라이언트 장치(200)가 갱신한 제1 파라미터를 중앙 서버(100)에 전송하고, 중앙 서버(100)가 각 제1 파라미터를 취합하여 연합 학습 모델의 제1 파라미터를 업데이트하는 동작을 나타낸 예시도이다.Figure 4 shows that, according to an embodiment of the present invention, each
도 4를 참조하면, 각 클라이언트 장치(200)는 각기 보유한 개별적인 데이터(D1, D2, D3)를 이용하여 새롭게 학습된 제1 파라미터 값을 생성할 수 있다. 각 클라이언트 장치(200)는 갱신된 제1 파라미터 값을 중앙 서버(100)에 전송할 수 있다. 이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 클라이언트 장치(200)로부터 취합된 제1 파라미터 값을 조합하여 글로벌 모델의 제1 파라미터 값을 업데이트할 수 있다. Referring to FIG. 4, each
본 문서의 실시예에 따르면, 상술한 도 3 및 도 4의 과정은 중앙 서버(100)와 클라이언트 장치(200)가 함께 참여하는 글로벌 모델의 학습 라운드 중 하나의 라운드로 이해할 수 있다. 도 3 및 도 4의 글로벌 모델 학습 라운드는 설계자의 선택에 따라 기 설정된 횟수의 라운드가 진행될 수 있다. According to the embodiment of this document, the process of FIGS. 3 and 4 described above can be understood as one of the learning rounds of a global model in which the
도 5는 본 발명의 일 실시예에 따라 중앙 서버(100)가 학습이 완료된 연합 학습 모델을 각 클라이언트 장치(200)에 전송하고, 각 클라이언트 장치(200)가 연합 학습 모델의 제2 파라미터를 학습하는 동작을 나타낸 예시도이다.Figure 5 shows that according to an embodiment of the present invention, the
도 5를 참조하면, 중앙 서버(100)는 도 3 및 도 4의 과정에 따른 글로벌 학습이 완료된 연합 학습 모델(ex. 최종 제1 파라미터 값)을 각 클라이언트 장치(200)에 전송할 수 있다. Referring to FIG. 5, the
각 클라이언트 장치(200-1, 200-2, ..., 200-n)는 각기 저장하고 있는 로컬 모델의 추출부에 중앙 서버(100)가 전송한 최종 제1 파라미터 값을 설정하고, 개별적으로 보유한 데이터(D1, D2, D3)를 이용하여 기 규약된 학습 알고리즘(ex. CNN, RNN, MLP 등)을 사용하여 제2 파라미터를 개별적으로 학습할 수 있다. 이때 각 클라이언트 장치(200-1, 200-2, ..., 200-n)는 로컬 모델의 분류부에 설정된 제1 파라미터 값이 업데이트 되지 않고 동일한 값을 유지하도록 제어하여 제2 파라미터 만을 학습할 수 있다.Each client device (200-1, 200-2, ..., 200-n) sets the final first parameter value transmitted by the
도 6는 본 발명의 일 실시예에 따라 각 클라이언트 장치(200)가 보유한 데이터 셋에 따라 개별화된 제2 파라미터의 모습을 나타낸 예시도이다. Figure 6 is an example diagram showing the appearance of a second parameter individualized according to the data set held by each
도 6을 참조하면, 각 클라이언트 장치(200-1, 200-2, ..., 200-n)는 각기 저장하고 있는 데이터(D1, D2, D3)를 활용하여 제2 파라미터를 개별적으로 학습하였기 때문에, 서로 다른 제2 파라미터 값을 가질 수 있다. 즉, 각 클라이언트 장치(200-1, 200-2, ..., 200-n)는 클라이언트 장치(200)의 사용자가 주로 사용하는 데이터를 구분하는 데에 적합하도록 개별 맞춤화된 결정 경계의 분류부를 갖도록 학습될 수 있다. Referring to Figure 6, each client device (200-1, 200-2, ..., 200-n) individually learned the second parameter using the data (D1, D2, D3) stored respectively. Therefore, they may have different second parameter values. That is, each client device (200-1, 200-2, ..., 200-n) has an individually customized decision boundary classification unit suitable for classifying data mainly used by the user of the client device (200). It can be learned to have.
이처럼, 본 문서의 실시예는 1차적으로 각 클라이언트 장치(200)가 연합 학습 모델의 추출부를 학습하여 중앙 서버(100)가 연합 학습 모델의 추출부를 갱신하도록 하고, 2차적으로 각 클라이언트 장치(200)가 연합 학습 모델을 사용 시 자신이 보유한 데이터 셋에 맞추어 연합 학습 모델의 분류부를 개별적으로 학습하도록 하여, 클라이언트 장치(200) 별 개별 데이터 분포에 맞춤화된 연합 학습 모델을 사용할 수 있게 한다. As such, the embodiment of this document primarily allows each
도 7은 본 발명의 일 실시예에 따른 연합 학습 방법의 흐름도이다.Figure 7 is a flowchart of a federated learning method according to an embodiment of the present invention.
도 7에 따른 연합 학습 방법의 각 단계는 도 1 내지 도 6을 통해 설명된 연합 학습 시스템(10)의 중앙 서버(100)와 클라이언트 장치(200)에 의해 수행될 수 있으며, 각 단계를 설명하면 다음과 같다.Each step of the federated learning method according to FIG. 7 can be performed by the
S1010 단계에서, 중앙 서버(100)는 연합 학습 모델 중 추출부의 제1 파라미터를 각 클라이언트 장치(200)에 전송할 수 있다. In step S1010, the
S1020 단계에서, 각 클라이언트 장치(200)는 연합 학습 모델 중 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 연합 학습 모델의 제1 파라미터를 학습하고 학습된 제1 파라미터를 중앙 서버(100)에 전송할 수 있다. In step S1020, each
S1030 단계에서, 중앙 서버(100)는 각 클라이언트 장치(200)로부터 학습된 제1 파라미터를 수신하여 연합 학습 모델을 업데이트할 수 있다. In step S1030, the
S1040 단계에서, 복수의 클라이언트 장치(200) 각각이 중앙 서버(100)로부터 연합 학습이 완료된 연합 학습 모델을 수신하고, 자신이 보유한 데이터를 사용해 연합 학습 모델의 제2 파라미터를 업데이트할 수 있다. In step S1040, each of the plurality of
한편, 도 7에 도시된 단계 외에도, 상술한 도 1 내지 도 6과 함께 설명된 내용을 수행하는 실시예들을 다양하게 구성함에 따라, 도 7에 도시된 단계에 더하여 적용 가능한 동작을 수행하는 새로운 단계가 부가될 수 있다. 한편, 추가적인 단계의 구성 및 각 단계의 주체인 구성 요소들이 해당 단계를 실시하기 위한 동작은 도 1 내지 도 6에서 설명하였으므로 중복된 설명은 생략한다.Meanwhile, in addition to the steps shown in FIG. 7, as various embodiments are configured to perform the contents described with FIGS. 1 to 6, a new step for performing applicable operations in addition to the steps shown in FIG. 7 can be added. Meanwhile, the configuration of additional steps and the operations of the components that are the subject of each step to perform the corresponding steps have been described in FIGS. 1 to 6, so duplicate descriptions will be omitted.
도 8은 본 발명의 일 실시예에 따른 연합 학습 시스템(10)에 의해 생성된 연합 학습 모델(FedBABU)과 기존의 연합 학습 알고리즘에 의해 생성된 연합 학습 모델을 복수의 클라이언트 장치(200)에서 동일한 데이터셋을 적용하여 측정한 정확도의 비교표이다. Figure 8 shows a federated learning model (FedBABU) generated by the
도 8을 참조하면, s는 각 클라이언트 장치(200)가 가지는 데이터의 불균형도를 설정하는 변수이며, f 및 τ 는 연합 학습의 학습 환경을 설정하는 변수이다. 도 8에 도시된 변수에 따라 설정된 다양한 환경에서 본 발명 실시예(FedBABU)의 정확도는 기존의 알고리즘에 의해 생성된 연합 학습 모델의 정확도에 비해 크게 향상되었음을 확인할 수 있다. Referring to FIG. 8, s is a variable that sets the degree of imbalance of data held by each
상술한 실시예에 의하면, 연합 학습 모델을 추출부와 분류부로 나누어, 글로벌 모델을 학습시키는 1차 학습 과정에서는 각 클라이언트 장치(200)가 보유한 데이터로부터 연합 학습 모델의 분류부를 집중적으로 학습시킴으로써 연합 학습 속도를 향상시킬 수 있다. 또한, 글로벌 모델의 학습 완료 후 로컬 모델을 개별적으로 학습시키는 2차 학습 과정에서는 각 클라이언트 장치(200)가 보유한 데이터를 이용해 추출부를 개별적으로 학습하도록 함으로써, 각 클라이언트 장치(200)는 자신이 보유한 데이터 셋에 의해 맞춤화된 결정 경계를 갖는 연합 학습 모델을 보유하게 되며, 이에 따라 각 클라이언트 장치(200)는 자신이 주로 사용하는 데이터에 대하여 정확도가 대폭 향상된 모델을 사용할 수 있다.According to the above-described embodiment, the federated learning model is divided into an extraction unit and a classification unit, and in the first learning process of learning a global model, federated learning is performed by intensively learning the classification unit of the federated learning model from data held by each
상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.Embodiments of the present invention described above can be implemented through various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.
하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.In the case of hardware implementation, the method according to embodiments of the present invention uses one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), and Programmable Logic Devices (PLDs). , can be implemented by FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드 등이 기록된 컴퓨터 프로그램은 컴퓨터 판독 가능 기록 매체 또는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 메모리 유닛은 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 프로세서와 데이터를 주고받을 수 있다.In the case of implementation by firmware or software, the method according to embodiments of the present invention may be implemented in the form of a module, procedure, or function that performs the function or operation described above. A computer program in which software codes, etc. are recorded may be stored in a computer-readable recording medium or memory unit and driven by a processor. The memory unit is located inside or outside the processor and can exchange data with the processor through various known means.
또한 본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Additionally, combinations of each block of the block diagram and each step of the flow diagram attached to the present invention may be performed by computer program instructions. Since these computer program instructions can be mounted on the encoding processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, the instructions performed through the encoding processor of the computer or other programmable data processing equipment are included in each block or block of the block diagram. Each step of the flowchart creates a means to perform the functions described. These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way, so that the computer-usable or computer-readable memory The instructions stored in can also produce manufactured items containing instruction means that perform the functions described in each block of the block diagram or each step of the flow diagram. Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing functions described in each block of the block diagram and each step of the flow diagram.
더불어 각 블록 또는 각 단계는 특정된 논리적 기능을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing a specified logical function. Additionally, it should be noted that in some alternative embodiments it is possible for the functions mentioned in blocks or steps to occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially simultaneously, or the blocks or steps may sometimes be performed in reverse order depending on the corresponding function.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, a person skilled in the art to which the present invention pertains will understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. The scope of the present invention is indicated by the claims described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .
10: 연합 학습 시스템
100: 중앙 서버
200: 클라이언트 장치10: Federated learning system
100: Central server
200: Client device
Claims (12)
상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하고 학습된 제1 파라미터를 상기 중앙 서버에 전송하며, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제2 파라미터를 업데이트하는 복수의 클라이언트 장치를 포함하는,
연합 학습 시스템.A central server that transmits the first parameter of the extraction unit among the joint learning models including an extraction unit and a classification unit to each client device, and updates the joint learning model by receiving the first parameter learned from each client device; and
Maintaining the value of the second parameter of the classifier among the federated learning models, the first parameter of the federated learning model is learned using the data owned by the joint learning model, and the learned first parameter is transmitted to the central server, and the comprising a plurality of client devices that update a second parameter of the federated learning model using the data it has,
Federated learning system.
상기 복수의 클라이언트 장치는,
상기 중앙 서버로부터 연합 학습이 완료된 연합 학습 모델을 수신하면,수신된 상기 연합 학습 모델의 제2 파라미터를 업데이트하는,
연합 학습 시스템.According to paragraph 1,
The plurality of client devices are:
Upon receiving a federated learning model for which federated learning has been completed from the central server, updating the second parameter of the received federated learning model,
Federated learning system.
상기 제2 파라미터는,
각 클라이언트 장치의 제1 파라미터의 학습 과정에서 소정의 가중치 초기화(weight initialization) 알고리즘에 따라 기 설정된 값이 유지되는,
연합 학습 시스템.According to paragraph 1,
The second parameter is,
During the learning process of the first parameter of each client device, a preset value is maintained according to a predetermined weight initialization algorithm,
Federated learning system.
상기 제2 파라미터는,
각 클라이언트 장치의 제1 파라미터의 학습 과정에서 직교 행렬 초기화(orthogonal initialization) 알고리즘에 따라 기 설정된 값이 유지되는,
연합 학습 시스템.According to paragraph 3,
The second parameter is,
During the learning process of the first parameter of each client device, the preset value is maintained according to an orthogonal initialization algorithm,
Federated learning system.
상기 분류부는,
상기 연합 학습 모델을 구성하는 레이어 중 출력 레이어와 맞닿는 최후단의 레이어를 포함하고,
상기 추출부는,
상기 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 상기 최후단의 레이어 바로 이전까지의 레이어를 포함하는,
연합 학습 시스템.According to paragraph 1,
The classification department,
Among the layers constituting the federated learning model, it includes the last layer in contact with the output layer,
The extraction unit,
Among the layers constituting the federated learning model, including the layer from the frontmost layer in contact with the input layer to the layer immediately before the last layer,
Federated learning system.
중앙 서버가 추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 각 클라이언트 장치에 전송하는 단계;
복수의 클라이언트 장치 각각이 상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하고 학습된 제1 파라미터를 상기 중앙 서버에 전송하는 단계;
중앙 서버가 각 클라이언트 장치로부터 학습된 제1 파라미터를 수신하여 상기 연합 학습 모델을 업데이트하는 단계; 및
상기 복수의 클라이언트 장치 각각이 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제2 파라미터를 업데이트하는 단계;
를 포함하는,
연합 학습 방법.In a federated learning method performed by a central server and a plurality of client devices,
A central server transmitting the first parameter of the extraction unit among the joint learning models including the extraction unit and the classification unit to each client device;
Each of a plurality of client devices learns the first parameter of the federated learning model using its own data while maintaining the value of the second parameter of the classifier among the federated learning models, and transmits the learned first parameter to the central server. Transferring to;
A central server receiving learned first parameters from each client device to update the joint learning model; and
Each of the plurality of client devices updating a second parameter of the federated learning model using data it holds;
Including,
Federated learning methods.
상기 제2 파라미터를 업데이트하는 단계는,
상기 연합 학습 모델을 업데이트하는 단계 이후,
복수의 클라이언트 장치 각각이 상기 중앙 서버로부터 연합 학습이 완료된 연합 학습 모델을 수신하고, 수신된 상기 연합 학습 모델의 제2 파라미터를 업데이트하는 단계를 더 포함하는,
연합 학습 방법.According to clause 6,
The step of updating the second parameter is,
After updating the federated learning model,
Further comprising the step of each of a plurality of client devices receiving a federated learning model on which federated learning has been completed from the central server, and updating a second parameter of the received federated learning model,
Federated learning methods.
상기 중앙 서버에 전송하는 단계는,
제1 파라미터의 학습 과정에서 소정의 가중치 초기화(weight initialization) 알고리즘에 따라 기 설정된 값이 상기 제2 파라미터에 유지되도록 제어하는 단계를 포함하는,
연합 학습 방법.According to clause 6,
The step of transmitting to the central server is,
Including controlling the second parameter to maintain a preset value according to a predetermined weight initialization algorithm during the learning process of the first parameter,
Federated learning methods.
상기 제2 파라미터는,
제1 파라미터의 학습 과정에서 직교 행렬 초기화(orthogonal initialization) 알고리즘에 따라 기 설정된 값이 상기 제2 파라미터에 유지되도록 제어하는 단계를 포함하는,
연합 학습 방법.According to clause 8,
The second parameter is,
In the process of learning the first parameter, controlling the second parameter to maintain a preset value according to an orthogonal initialization algorithm,
Federated learning methods.
상기 분류부는,
상기 연합 학습 모델을 구성하는 레이어 중 출력 레이어와 맞닿는 최후단의 레이어를 포함하고,
상기 추출부는,
상기 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 상기 최후단의 레이어 바로 이전까지의 레이어를 포함하는,
연합 학습 방법.According to clause 6,
The classification department,
Among the layers constituting the federated learning model, it includes the last layer in contact with the output layer,
The extraction unit,
Among the layers constituting the federated learning model, including the layer from the frontmost layer in contact with the input layer to the layer immediately before the last layer,
Federated learning methods.
추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 획득하는 단계;
상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하는 단계;
학습된 제1 파라미터를 중앙 서버에 전송하는 단계; 및
자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제2 파라미터를 업데이트하는 단계의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는,
컴퓨터 판독 가능한 기록매체.A computer-readable recording medium storing a computer program,
Obtaining a first parameter of the extraction unit among the joint learning model including the extraction unit and the classification unit;
Learning a first parameter of the joint learning model using data owned by the joint learning model while maintaining the value of the second parameter of the classifier among the joint learning models;
transmitting the learned first parameter to a central server; and
Containing instructions for causing the processor to perform a federated learning method of updating a second parameter of the federated learning model using data held by the processor,
A computer-readable recording medium.
추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 획득하는 단계;
상기 연합 학습 모델 중 상기 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제1 파라미터를 학습하는 단계;
학습된 제1 파라미터를 중앙 서버에 전송하는 단계; 및
자신이 보유한 데이터를 사용해 상기 연합 학습 모델의 제2 파라미터를 업데이트하는 단계의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는,
컴퓨터 프로그램.A computer program stored on a computer-readable recording medium,
Obtaining a first parameter of the extraction unit among the joint learning model including the extraction unit and the classification unit;
learning a first parameter of the joint learning model using data owned by the joint learning model while maintaining the value of the second parameter of the classifier among the joint learning models;
transmitting the learned first parameter to a central server; and
Containing instructions for causing the processor to perform a federated learning method of updating a second parameter of the federated learning model using data held by the processor,
computer program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/975,664 US20230133793A1 (en) | 2021-11-03 | 2022-10-28 | Federated learning system for performing individual data customized federated learning, method for federated learning, and client aratus for performing same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210149729 | 2021-11-03 | ||
KR20210149729 | 2021-11-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230064534A KR20230064534A (en) | 2023-05-10 |
KR102646338B1 true KR102646338B1 (en) | 2024-03-11 |
Family
ID=86386221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220075186A KR102646338B1 (en) | 2021-11-03 | 2022-06-20 | System, method, computer-readable storage medium and computer program for personalized federated learning based on individual data of client |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102646338B1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102544531B1 (en) | 2020-04-27 | 2023-06-16 | 한국전자기술연구원 | Federated learning system and method |
-
2022
- 2022-06-20 KR KR1020220075186A patent/KR102646338B1/en active IP Right Grant
Non-Patent Citations (4)
Title |
---|
Hakim Sidahmed et al. "Efficient and Private Federated Learning with Partially Trainable Networks" arXiv:2110.03450 [cs.LG]. Wed, 6 Oct 2021 04:28:33 UTC |
Liam Collins et al. "Exploiting Shared Representations for Personalized Federated Learning" arXiv:2102.07078v1 [cs.LG] 14 Feb 2021.* |
Paul Pu Liang et al. "Think Locally, Act Globally: Federated Learning with Local and Global Representations" arXiv:2001.01523v3 [cs.LG] 14 Jul 2020. |
오재훈 외. "FedBABU: Towards Enhanced Representation for Federated Image Classification" arXiv:2106.06042v1 [cs.LG] 4 Jun 2021 |
Also Published As
Publication number | Publication date |
---|---|
KR20230064534A (en) | 2023-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3561734B1 (en) | Generating a machine learning model for objects based on augmenting the objects with physical properties | |
US10824959B1 (en) | Explainers for machine learning classifiers | |
CN113361680B (en) | Neural network architecture searching method, device, equipment and medium | |
CN111639710A (en) | Image recognition model training method, device, equipment and storage medium | |
CN111667057B (en) | Method and apparatus for searching model structures | |
US11195097B2 (en) | Building ensembles for deep learning by parallel data splitting | |
CN110428046B (en) | Method and device for acquiring neural network structure and storage medium | |
CN111667056B (en) | Method and apparatus for searching model structures | |
US11423307B2 (en) | Taxonomy construction via graph-based cross-domain knowledge transfer | |
CN111639753A (en) | Method, apparatus, device and storage medium for training a hyper-network | |
US11113600B2 (en) | Translating sensor input into expertise | |
US20210158620A1 (en) | Systems and methods for optimizing extended reality experiences | |
KR102646338B1 (en) | System, method, computer-readable storage medium and computer program for personalized federated learning based on individual data of client | |
GB2572164A (en) | Artificial neural networks | |
Li et al. | Self-evolution cascade deep learning model for high-speed receiver adaptation | |
CN113077237A (en) | Course arrangement method and system for self-adaptive hybrid algorithm | |
CN117113274A (en) | Heterogeneous network data-free fusion method and system based on federal distillation | |
CN115472279B (en) | Remote massage control method and system based on artificial intelligence | |
CN111914884A (en) | Gradient descent tree generation method and device, electronic equipment and storage medium | |
JP6725194B2 (en) | Methods for generating trained models, methods for classifying data, computers and programs | |
US11941923B2 (en) | Automation method of AI-based diagnostic technology for equipment application | |
WO2022252694A1 (en) | Neural network optimization method and apparatus | |
US20230133793A1 (en) | Federated learning system for performing individual data customized federated learning, method for federated learning, and client aratus for performing same | |
CN114048328A (en) | Knowledge graph link prediction method and system based on conversion hypothesis and message transmission | |
KR20240045837A (en) | System, client appatus and methods for federated learning of enhanced representation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |