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 PDF

Info

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
Application number
KR1020220075186A
Other languages
Korean (ko)
Other versions
KR20230064534A (en
Inventor
오재훈
김상묵
윤세영
배상민
신재우
김성윤
정우진
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to US17/975,664 priority Critical patent/US20230133793A1/en
Publication of KR20230064534A publication Critical patent/KR20230064534A/en
Application granted granted Critical
Publication of KR102646338B1 publication Critical patent/KR102646338B1/en

Links

Images

Classifications

    • 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
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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.

Figure R1020220075186
Figure R1020220075186

Description

클라이언트의 개별 데이터 맞춤형 연합 학습 시스템, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램{SYSTEM, METHOD, COMPUTER-READABLE STORAGE MEDIUM AND COMPUTER PROGRAM FOR PERSONALIZED FEDERATED LEARNING BASED ON INDIVIDUAL DATA OF CLIENT}Federated learning system, method, computer-readable recording medium and computer program tailored to the client's individual data

본 발명은 클라이언트의 개별 데이터 맞춤형 연합 학습 시스템, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 관한 것이다.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.

대한민국 공개특허공보 제10-2021-0132500호 (2021년11월04일 공개) : 연합 학습 시스템 및 방법Republic of Korea Patent Publication No. 10-2021-0132500 (published on November 4, 2021): Joint learning system and method

본 발명이 해결하고자 하는 과제는 연합 학습에 사용되는 각 클라이언트 장치의 데이터 불균형으로 인해 다양한 문제가 야기될 수 있다는 점에 착안하여, 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 federated learning system 10 according to an embodiment of the present invention.

도 1을 참조하면, 일 실시예에 따른 연합 학습 시스템(10)은 중앙 서버(100) 및 복수의 클라이언트 장치(200)를 포함할 수 있다. Referring to FIG. 1, the federated learning system 10 according to one embodiment may include a central server 100 and a plurality of client devices 200.

중앙 서버(100) 및 클라이언트 장치(200)는 메모리 및 프로세서를 포함하는 컴퓨팅 장치로서, 메모리에 저장된 명령어와 프로세서의 연산에 의해 전반적인 동작이 수행될 수 있다. The central server 100 and the client device 200 are computing devices that include memory and a processor, and overall operations can be performed by instructions stored in the memory and operations of the processor.

중앙 서버(100) 및 클라이언트 장치(200)는 연합 학습(Federated Learning)을 수행하기 위해 동일한 구조로 설계된 인공지능 신경망 모델을 저장할 수 있다. The central server 100 and the client device 200 may store an artificial intelligence neural network model designed with the same structure to perform federated learning.

이하, 본 문서의 실시예에 따라 연합 학습에 사용되는 인공지능 신경망 모델을 '연합 학습 모델'로 지칭하기로 한다. 또한, '연합 학습 모델'이 저장된 장치를 구분하여 설명이 필요한 경우, 중앙 서버(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 central server 100 is referred to as a 'global model' and the federated learning model stored in the client device 200 is referred to as a 'local model'. We will refer to them separately.

연합 학습 시스템(10)을 구성하는 중앙 서버(100) 및 클라이언트 장치(200)가 연합 학습 모델을 학습시키는 개괄적인 동작은 다음과 같다. The general operation of the central server 100 and the client device 200 constituting the federated learning system 10 to train a federated learning model is as follows.

먼저, 중앙 서버(100)는 글로벌 모델에 설정되어 있는 파라미터 값을 각 클라이언트 장치(200)에 전송할 수 있다. First, the central server 100 may transmit parameter values set in the global model to each client device 200.

다음으로, 각 클라이언트 장치(200)는 자신이 보유한 데이터를 사용해 로컬 모델을 학습시키고, 학습된 로컬 모델의 파라미터를 중앙 서버(100)에 전송할 수 있다. Next, each client device 200 can train a local model using its own data and transmit the parameters of the learned local model to the central server 100.

이후, 중앙 서버(100)는 각 클라이언트 장치(200)가 학습한 로컬 모델의 파라미터를 취합하여 글로벌 모델의 파라미터를 업데이트 할 수 있다. Thereafter, the central server 100 may update the parameters of the global model by collecting the parameters of the local model learned by each client device 200.

이처럼, 중앙 서버(100)가 클라이언트 장치(200)에 파라미터를 전송하여 새롭게 학습된 파라미터를 취합한 후 모델을 업데이트하는 일련의 과정을 연합 학습의 한 라운드로 이해할 수 있다. 연합 학습의 라운드는 설계에 따라 복수의 라운드로 진행될 수 있으며, 최종 라운드가 진행된 이후 업데이트된 글로벌 모델의 파라미터가 최종적인 연합 학습 모델의 파라미터로 결정될 수 있다. In this way, a series of processes in which the central server 100 transmits parameters to the client device 200, collects newly learned parameters, and then updates the model can be understood as one round of federated learning. A round of federated learning may be conducted in multiple rounds depending on the design, and after the final round is conducted, the parameters of the updated global model may be determined as the parameters of the final federated learning model.

이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 연합 학습의 라운드 마다 복수의 클라이언트 장치(200) 중 일부 클라이언트 장치(200)를 선별하여 파라미터를 전송할 수 있다. At this time, the central server 100 may select some client devices 200 among the plurality of client devices 200 and transmit parameters for each round of federated learning according to a predetermined method (ex. FedAvg, FedSGD, FedMA, etc.). .

이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 클라이언트 장치(200)로부터 취합된 파라미터를 조합하여 글로벌 모델의 파라미터를 업데이트할 수 있다. At this time, the central server 100 may update the parameters of the global model by combining parameters collected from the client device 200 according to a predetermined method (ex. FedAvg, FedSGD, FedMA, etc.).

한편, 연합 학습에서 각 클라이언트 장치(200)가 보유한 데이터의 수, 종류, 분포 등이 서로 상이한 경우, 포게팅(ex. catastrophic forgetting) 문제가 발생할 수 있고, 특정 분포의 데이터 셋을 사용하는 개별 클라이언트 장치(200)에 연합 학습 모델을 적용하는 경우 부족한 성능을 보이는 경우가 있다. 이러한 점을 해결하기 위해, 본 문서의 실시예에 따른 연합 학습 시스템(10)은 연합 학습 모델의 파라미터 중 각 클라이언트 장치(200)가 공통적으로 사용할 파라미터와, 개별적으로 사용할 파라미터를 나누어 학습하는 방안을 제시한다. Meanwhile, in federated learning, if the number, type, distribution, etc. of data held by each client device 200 are different from each other, forgetting (ex. catastrophic forgetting) problems may occur, and individual clients using data sets of a specific distribution may occur. When applying a federated learning model to the device 200, there are cases where insufficient performance is shown. To solve this problem, the federated learning system 10 according to the embodiment of this document uses a method of learning by dividing parameters to be commonly used by each client device 200 and parameters to be used individually among the parameters of the federated learning model. present.

도 2는 본 발명의 일 실시예에 따른 연합 학습 시스템(10)에 사용되는 연합 학습 모델의 구조를 나타낸 예시도이다.Figure 2 is an exemplary diagram showing the structure of a federated learning model used in the federated learning system 10 according to an embodiment of the present invention.

도 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 federated learning system 10 according to one embodiment further divides the hidden layer of the federated learning model into an extractor and a classifier.

추출부는 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 은닉 레이어의 최후단에 해당하는 레이어의 바로 앞단까지의 레이어를 포함할 수 있다. 예를 들어, 추출부는 소정의 특징값 또는 특징 벡터에 대해 가중치 및 바이어스를 가하여 컨볼루션 연산을 수행하도록 하는 파라미터를 포함하는 네트워크 레이어를 포함할 수 있다. 이하, 추출부에서 학습되는 파라미터를 '제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 central server 100 transmits a first parameter to each client device 200 and each client device 200 learns the first parameter according to an embodiment of the present invention. .

중앙 서버(100)는 글로벌 모델에 설정되어 있는 제1 파라미터를 각 클라이언트 장치(200)에 전송할 수 있다. 이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 연합 학습의 라운드 마다 모든 클라이언트 장치(200) 중 일부의 클라이언트 장치(200)를 선별하여 파라미터를 전송하고 업데이트 하도록 할 수 있다. The central server 100 may transmit the first parameter set in the global model to each client device 200. At this time, the central server 100 selects some client devices 200 among all client devices 200 for each round of federated learning according to a predetermined method (ex. FedAvg, FedSGD, FedMA, etc.), transmits and updates parameters. You can do it.

각 클라이언트 장치(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 central server 100 to the extractor of the local model stored respectively as the initial value for learning. And, the first parameter can be individually learned using individually held data (D1, D2, D3) using a predefined learning algorithm (ex. CNN, RNN, MLP, etc.). At this time, each client device (200-1, 200-2, ..., 200-n) can learn only the first parameter by ensuring that the second parameter value set in the classification unit of the local model is not updated and maintains the same value. there is.

일 예로, 중앙 서버(100) 및 모든 클라이언트 장치(200)는 각기 저장하고 있는 연합 학습 모델에서 동일한 제2 파라미터 갖도록 설정되며, 그 값이 업데이트 되지 않고 동일한 값을 유지하도록 규약할 수 있다. As an example, the central server 100 and all client devices 200 are set to have the same second parameter in the federated learning model they each store, and the value may be stipulated to remain the same without being updated.

일 예로, 제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 central server 100 determines a second parameter value to be applied to the classifier according to a weight initialization algorithm and spreads the second parameter value to all client devices 200 before a round of federated learning begins, During the learning process of the first parameter, it can be stipulated that the value of the second parameter remains unchanged during the learning process.

도 4는 본 발명의 일 실시예에 따라 각 클라이언트 장치(200)가 갱신한 제1 파라미터를 중앙 서버(100)에 전송하고, 중앙 서버(100)가 각 제1 파라미터를 취합하여 연합 학습 모델의 제1 파라미터를 업데이트하는 동작을 나타낸 예시도이다.Figure 4 shows that, according to an embodiment of the present invention, each client device 200 transmits the updated first parameter to the central server 100, and the central server 100 collects each first parameter to form a federated learning model. This is an example diagram showing the operation of updating the first parameter.

도 4를 참조하면, 각 클라이언트 장치(200)는 각기 보유한 개별적인 데이터(D1, D2, D3)를 이용하여 새롭게 학습된 제1 파라미터 값을 생성할 수 있다. 각 클라이언트 장치(200)는 갱신된 제1 파라미터 값을 중앙 서버(100)에 전송할 수 있다. 이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 클라이언트 장치(200)로부터 취합된 제1 파라미터 값을 조합하여 글로벌 모델의 제1 파라미터 값을 업데이트할 수 있다. Referring to FIG. 4, each client device 200 may generate a newly learned first parameter value using individual data D1, D2, and D3 held by each client device 200. Each client device 200 may transmit the updated first parameter value to the central server 100. At this time, the central server 100 may update the first parameter value of the global model by combining the first parameter values collected from the client device 200 according to a predetermined method (e.g. FedAvg, FedSGD, FedMA, etc.). .

본 문서의 실시예에 따르면, 상술한 도 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 central server 100 and the client device 200 participate together. The global model learning round of FIGS. 3 and 4 may be performed a preset number of rounds depending on the designer's selection.

도 5는 본 발명의 일 실시예에 따라 중앙 서버(100)가 학습이 완료된 연합 학습 모델을 각 클라이언트 장치(200)에 전송하고, 각 클라이언트 장치(200)가 연합 학습 모델의 제2 파라미터를 학습하는 동작을 나타낸 예시도이다.Figure 5 shows that according to an embodiment of the present invention, the central server 100 transmits a fully trained federated learning model to each client device 200, and each client device 200 learns the second parameter of the federated learning model. This is an example showing the operation.

도 5를 참조하면, 중앙 서버(100)는 도 3 및 도 4의 과정에 따른 글로벌 학습이 완료된 연합 학습 모델(ex. 최종 제1 파라미터 값)을 각 클라이언트 장치(200)에 전송할 수 있다. Referring to FIG. 5, the central server 100 may transmit a federated learning model (ex. final first parameter value) on which global learning has been completed according to the process of FIGS. 3 and 4 to each client device 200.

각 클라이언트 장치(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 central server 100 to the extractor of the local model each stored, and individually The second parameter can be individually learned using the existing data (D1, D2, D3) using a pre-defined learning algorithm (ex. CNN, RNN, MLP, etc.). At this time, each client device (200-1, 200-2, ..., 200-n) controls the first parameter value set in the classification unit of the local model not to be updated and maintains the same value to learn only the second parameter. You can.

도 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 client device 200 according to an embodiment of the present invention.

도 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 client device 200 to learn the extractor of the federated learning model so that the central server 100 updates the extractor of the federated learning model, and secondarily, each client device 200 ), when using a federated learning model, individually learns the classification part of the federated learning model according to the data set it owns, allowing it to use a federated learning model customized to the individual data distribution for each client device 200.

도 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 central server 100 and the client device 200 of the federated learning system 10 described with reference to FIGS. 1 to 6, and each step is described as As follows.

S1010 단계에서, 중앙 서버(100)는 연합 학습 모델 중 추출부의 제1 파라미터를 각 클라이언트 장치(200)에 전송할 수 있다. In step S1010, the central server 100 may transmit the first parameter of the extractor of the joint learning model to each client device 200.

S1020 단계에서, 각 클라이언트 장치(200)는 연합 학습 모델 중 분류부의 제2 파라미터의 값은 유지한 채, 자신이 보유한 데이터를 사용해 연합 학습 모델의 제1 파라미터를 학습하고 학습된 제1 파라미터를 중앙 서버(100)에 전송할 수 있다. In step S1020, each client device 200 learns the first parameter of the federated learning model using its own data while maintaining the value of the second parameter of the classifier in the federated learning model, and places the learned first parameter in the center. It can be transmitted to the server 100.

S1030 단계에서, 중앙 서버(100)는 각 클라이언트 장치(200)로부터 학습된 제1 파라미터를 수신하여 연합 학습 모델을 업데이트할 수 있다. In step S1030, the central server 100 may receive the learned first parameter from each client device 200 and update the joint learning model.

S1040 단계에서, 복수의 클라이언트 장치(200) 각각이 중앙 서버(100)로부터 연합 학습이 완료된 연합 학습 모델을 수신하고, 자신이 보유한 데이터를 사용해 연합 학습 모델의 제2 파라미터를 업데이트할 수 있다. In step S1040, each of the plurality of client devices 200 may receive a federated learning model on which federated learning has been completed from the central server 100 and update the second parameter of the federated learning model using data it possesses.

한편, 도 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 federated learning system 10 according to an embodiment of the present invention and a federated learning model generated by an existing federated learning algorithm in the same manner in a plurality of client devices 200. This is a comparison table of accuracy measured by applying the dataset.

도 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 client device 200, and f and τ are variables that set the learning environment for federated learning. It can be seen that the accuracy of the embodiment of the present invention (FedBABU) in various environments set according to the variables shown in FIG. 8 is greatly improved compared to the accuracy of the federated learning model generated by the existing algorithm.

상술한 실시예에 의하면, 연합 학습 모델을 추출부와 분류부로 나누어, 글로벌 모델을 학습시키는 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 client device 200. Speed can be improved. In addition, in the secondary learning process of individually learning the local model after completing training of the global model, the extractor is individually learned using the data held by each client device 200, so that each client device 200 learns the data held by it. It has a federated learning model with a decision boundary customized by the set, and thus each client device 200 can use a model with greatly improved accuracy for the data it mainly uses.

상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(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)

추출부 및 분류부를 포함하는 연합 학습 모델 중 상기 추출부의 제1 파라미터를 각 클라이언트 장치에 전송하고, 각 클라이언트 장치로부터 학습된 제1 파라미터를 수신하여 상기 연합 학습 모델을 업데이트하는 중앙 서버; 및
상기 연합 학습 모델 중 상기 분류부의 제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.
제1항에 있어서,
상기 복수의 클라이언트 장치는,
상기 중앙 서버로부터 연합 학습이 완료된 연합 학습 모델을 수신하면,수신된 상기 연합 학습 모델의 제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.
제1항에 있어서,
상기 제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.
제3항에 있어서,
상기 제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.
제1항에 있어서,
상기 분류부는,
상기 연합 학습 모델을 구성하는 레이어 중 출력 레이어와 맞닿는 최후단의 레이어를 포함하고,
상기 추출부는,
상기 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 상기 최후단의 레이어 바로 이전까지의 레이어를 포함하는,
연합 학습 시스템.
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.
제6항에 있어서,
상기 제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.
제6항에 있어서,
상기 중앙 서버에 전송하는 단계는,
제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.
제8항에 있어서,
상기 제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.
제6항에 있어서,
상기 분류부는,
상기 연합 학습 모델을 구성하는 레이어 중 출력 레이어와 맞닿는 최후단의 레이어를 포함하고,
상기 추출부는,
상기 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 상기 최후단의 레이어 바로 이전까지의 레이어를 포함하는,
연합 학습 방법.
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.
KR1020220075186A 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 KR102646338B1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102544531B1 (en) 2020-04-27 2023-06-16 한국전자기술연구원 Federated learning system and method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
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