KR20220170583A - Method and apparatus for federated learning - Google Patents

Method and apparatus for federated learning Download PDF

Info

Publication number
KR20220170583A
KR20220170583A KR1020210081600A KR20210081600A KR20220170583A KR 20220170583 A KR20220170583 A KR 20220170583A KR 1020210081600 A KR1020210081600 A KR 1020210081600A KR 20210081600 A KR20210081600 A KR 20210081600A KR 20220170583 A KR20220170583 A KR 20220170583A
Authority
KR
South Korea
Prior art keywords
local
parameters
terminal
global
value
Prior art date
Application number
KR1020210081600A
Other languages
Korean (ko)
Other versions
KR102679861B1 (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 KR1020210081600A priority Critical patent/KR102679861B1/en
Publication of KR20220170583A publication Critical patent/KR20220170583A/en
Application granted granted Critical
Publication of KR102679861B1 publication Critical patent/KR102679861B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to the present invention, provided are a method and device for federated learning that improve communication efficiency of federated learning by using a loss function and an L1-norm regularization term. Therefore, the communication efficiency of the federated learning is enhanced. The present invention comprises: a step of obtaining a global parameter value; a step of determining a local parameter value; a step of determining a local update value; and a step of transmitting the local update value to the server.

Description

연합 학습 방법 및 장치{METHOD AND APPARATUS FOR FEDERATED LEARNING}Federated learning method and apparatus {METHOD AND APPARATUS FOR FEDERATED LEARNING}

본 발명은 연합 학습 방법 및 이를 실행하는 장치에 관한 것으로, 연합 학습의 손실 함수 및 L1-norm 정규화항을 이용하여 연합 학습의 통신 효율을 개선하는 연합 학습 방법 및 장치에 관한 것이다.The present invention relates to a federated learning method and an apparatus for executing the same, and relates to a federated learning method and apparatus for improving the communication efficiency of federated learning using a loss function and an L1-norm regularization term of federated learning.

이하에서 기술되는 내용은 본 발명의 실시예와 관련되는 배경 정보를 제공할 목적으로 기재된 것일 뿐이고, 기술되는 내용들이 당연하게 종래기술을 구성하는 것은 아니다.The contents described below are only described for the purpose of providing background information related to an embodiment of the present invention, and the contents described do not naturally constitute prior art.

연합 학습(federated learning)은 다양한 사용자와 기기 간에 프라이버시를 보장하는 기계 학습 방법론이다. 로컬 기기(클라이언트)들은 자신들의 데이터를 글로벌 기기(서버)에 보내는 대신에, 자신들의 데이터를 기반으로 학습된 모델을 전송한다. 글로벌 기기에서는 로컬 기기들이 보내온 모델들을 종합하여, 보다 정확한 글로벌 모델을 생성한다. 이후 글로벌 모델을 각각의 로컬 기기들에 전송하고, 로컬 기기들은 수신된 글로벌 모델과 자신들의 로컬 데이터를 이용하여 더 정확한 로컬 모델을 생성한다. 이러한 과정을 반복함으로써, 더욱 정확한 글로벌 모델을 학습하는 것이 연합 학습의 방법이다.Federated learning is a machine learning methodology that ensures privacy across multiple users and devices. Instead of sending their data to the global device (server), local devices (clients) send trained models based on their data. In the global device, a more accurate global model is created by synthesizing the models sent by the local devices. Then, the global model is transmitted to each of the local devices, and the local devices generate a more accurate local model using the received global model and their own local data. By repeating this process, learning a more accurate global model is a method of federated learning.

연합 학습에서는 로컬 기기들이 자신들의 데이터를 글로벌 기기에 보내지 않기 때문에, 데이터의 프라이버시를 보장할 수 있다. 특별히, 환자 정보와 같이 프라이버시가 보장되어야 하는 데이터의 경우, 연합 학습 방법을 활용할 경우, 민감한 데이터 대신에 학습된 모델을 보냄으로써 프라이버시를 보장할 수 있다.In federated learning, since local devices do not send their data to global devices, data privacy can be guaranteed. In particular, in the case of data for which privacy needs to be guaranteed, such as patient information, if the federated learning method is used, privacy can be guaranteed by sending a learned model instead of sensitive data.

연합 학습의 성능은 높은 통신 비용, 시스템 이질성, 로컬 데이터의 확률 분포 이질성, 데이터의 개인정보 문제 등 여러 가지 요인들로 인해 이상적이지 못한 성능을 보인다. 그 중, 통신 비용은 연합 학습의 병목 현상을 일으키는 중요한 요소이다. 연합 학습의 성능 개선을 위해 연합 학습에 참여하는 수많은 로컬 기기와 서버의 통신 효율을 높일 수 있는 기술이 필요하다.The performance of federated learning shows less-than-ideal performance due to various factors such as high communication cost, system heterogeneity, heterogeneity in probability distribution of local data, and data privacy issues. Among them, communication cost is an important factor that causes the bottleneck of federated learning. To improve the performance of federated learning, a technology that can increase the communication efficiency of numerous local devices and servers participating in federated learning is required.

한편, 전술한 선행기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-mentioned prior art is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and cannot necessarily be said to be known art disclosed to the general public prior to the filing of the present invention. .

본 발명의 일 과제는 연합 학습의 목적 함수에 L1-norm 정규화항을 더하여 연합 학습의 통신 효율을 개선하는 연합 학습 방법 및 장치를 제공하는 것이다.An object of the present invention is to provide a federated learning method and apparatus for improving the communication efficiency of federated learning by adding an L1-norm regularization term to an objective function of federated learning.

본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.The object of the present invention is not limited to the above-mentioned tasks, and other objects and advantages of the present invention not mentioned above can be understood by the following description and will be more clearly understood by the embodiments of the present invention. It will also be seen that the objects and advantages of the present invention may be realized by means of the instrumentalities and combinations indicated in the claims.

본 발명의 일 실시예에 따른 연합 학습 방법은, 단말에 의해, 서버로부터 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득하는 단계, 상기 단말에 의해, 로컬 데이터에 기반하여 로컬 모델을 훈련하여, 상기 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정하는 단계, 상기 단말에 의해, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값에 기반하여 상기 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정하는 단계 및 상기 단말에 의해, 상기 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 상기 서버에게 전송하는 단계를 포함한다.A federated learning method according to an embodiment of the present invention includes obtaining, by a terminal, global parameter values for parameters of a first set of a global model from a server; training to determine local parameter values for parameters of a second set corresponding to at least some of the parameters of the first set; by the terminal, based on the global parameter values and the local parameter values, determining local update values for the parameters of the set; and transmitting, by the terminal, local update values for the parameters of the second set to the server.

여기서 상기 로컬 파라미터 값을 결정하는 단계는, 상기 단말에 의해, 상기 로컬 업데이트 값과 연계된 정규화항(regularizer) 및 상기 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 상기 로컬 파라미터 값을 결정할 수 있다.Here, the step of determining the local parameter value is based on, by the terminal, a local objective function including a regularizer associated with the local update value and an operation term defined by a weight for the regularizer term. The local parameter value may be determined.

본 발명의 일 실시예에 따른 연합 학습 방법은, 서버에 의해, 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말에게 전송하는 단계, 상기 서버에 의해, 상기 복수의 단말 중 적어도 일부로부터 상기 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신하는 단계 및 상기 서버에 의해, 상기 로컬 업데이트 값에 기반하여 상기 글로벌 모델을 업데이트하는 단계를 포함한다.A federated learning method according to an embodiment of the present invention includes transmitting, by a server, a global parameter value for a first set of parameters of a global model to a plurality of terminals, by the server, at least one of the plurality of terminals. receiving local update values for a second set of parameters corresponding to at least some of the first set of parameters from a portion and updating, by the server, the global model based on the local update values; do.

여기서, 상기 로컬 업데이트 값은, 상기 글로벌 파라미터 값 및 상기 로컬 업데이트 값과 연계된 정규화항 및 상기 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 결정된 상기 제 2 세트의 파라미터에 대한 로컬 파라미터 값에 기반하여 상기 단말에 의해 결정된 값일 수 있다.Here, the local update value is of the second set determined based on a local objective function including a regularization term associated with the global parameter value and the local update value and an operating term defined by a weight for the regularization term. It may be a value determined by the terminal based on a local parameter value for the parameter.

본 발명의 일 실시예에 따른 단말은, 로컬 데이터 및 로컬 모델을 저장하는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 서버로부터 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득하고, 상기 로컬 데이터에 기반하여 상기 로컬 모델을 훈련하여, 상기 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정하고, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값에 기반하여 상기 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정하고, 상기 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 상기 서버에게 전송하도록 구성될 수 있다.A terminal according to an embodiment of the present invention includes a memory for storing local data and a local model and a processor, wherein the processor obtains global parameter values for a first set of parameters of a global model from a server, and the train the local model based on local data to determine local parameter values for parameters in a second set corresponding to at least some of the parameters in the first set; determine a local update value for the second set of parameters, and transmit the local update values for the second set of parameters to the server.

여기서 상기 프로세서는, 상기 로컬 파라미터 값을 결정하기 위하여, 상기 로컬 업데이트 값과 연계된 정규화항(regularizer) 및 상기 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수를 이용하도록 구성될 수 있다.Wherein the processor is configured to use a local objective function including an operand defined by a regularizer associated with the local update value and a weight for the regularizer term to determine the local parameter value. can

본 발명의 일 실시예에 따른 서버는, 글로벌 모델을 저장하는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 상기 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말에게 전송하고, 상기 복수의 단말 중 적어도 일부로부터 상기 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신하고, 상기 로컬 업데이트 값에 기반하여 상기 글로벌 모델을 업데이트하도록 구성될 수 있다.A server according to an embodiment of the present invention includes a memory and a processor for storing a global model, wherein the processor transmits global parameter values for a first set of parameters of the global model to a plurality of terminals, and the Receive local update values for parameters of a second set corresponding to at least some of the parameters of the first set from at least some of the plurality of terminals, and update the global model based on the local update values. .

여기서, 상기 로컬 업데이트 값은, 상기 글로벌 파라미터 값 및 상기 로컬 업데이트 값과 연계된 정규화항 및 상기 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 결정된 상기 제 2 세트의 파라미터에 대한 로컬 파라미터 값에 기반하여 상기 단말에 의해 결정된 값일 수 있다.Here, the local update value is of the second set determined based on a local objective function including a regularization term associated with the global parameter value and the local update value and an operating term defined by a weight for the regularization term. It may be a value determined by the terminal based on a local parameter value for the parameter.

전술한 것 외의 다른 측면, 특징, 및 이점이 이하의 도면, 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features, and advantages other than those described above will become apparent from the following drawings, claims, and detailed description of the invention.

실시예에 의하면 각 라운드 당 단말과 서버 간의 통신 데이터 양이 효과적으로 감소된다.According to the embodiment, the amount of communication data between the terminal and the server per each round is effectively reduced.

실시예에 의하면, 단말과 서버 간의 연합 학습의 통신 효율을 극대화할 수 있다.According to the embodiment, communication efficiency of associative learning between a terminal and a server can be maximized.

본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 실시예에 따른 연합 학습 시스템의 동작 환경을 개략적으로 도시한다.
도 2는 실시예에 따른 연합 학습을 실행하는 단말의 블록도이다.
도 3은 실시예에 따른 연합 학습을 실행하는 서버의 블록도이다.
도 4는 실시예에 따른 연합 학습 방법의 흐름도이다.
도 5는 실시예에 따른 연합 학습 방법의 흐름도이다.
도 6은 실시예에 따른 연합 학습 방법의 흐름도이다.
도 7은 실시예에 따른 연합 학습 방법의 예시적인 의사 코드를 도시한다.
1 schematically illustrates an operating environment of a federated learning system according to an embodiment.
2 is a block diagram of a terminal executing federated learning according to an embodiment.
3 is a block diagram of a server executing federated learning according to an embodiment.
4 is a flowchart of a federated learning method according to an embodiment.
5 is a flowchart of a federated learning method according to an embodiment.
6 is a flowchart of a federated learning method according to an embodiment.
7 shows exemplary pseudocode of a federated learning method according to an embodiment.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예들에 한정되지 않는다. 이하 실시 예에서는 본 발명을 명확하게 설명하기 위해서 설명과 직접적인 관계가 없는 부분을 생략하지만, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 생략된 구성이 불필요함을 의미하는 것은 아니다. 아울러, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조번호를 사용한다.Hereinafter, the present invention will be described in more detail with reference to the drawings. The invention may be embodied in many different forms and is not limited to the embodiments set forth herein. In the following embodiments, parts not directly related to the description are omitted in order to clearly describe the present invention, but this does not mean that the omitted configuration is unnecessary in implementing a device or system to which the spirit of the present invention is applied. . In addition, the same reference numbers are used for the same or similar elements throughout the specification.

이하의 설명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 되며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 이하의 설명에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.In the following description, terms such as first and second may be used to describe various components, but the components should not be limited by the terms, and the terms refer to one component from another. Used only for distinguishing purposes. Also, in the following description, singular expressions include plural expressions unless the context clearly indicates otherwise.

이하의 설명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the following description, terms such as "comprise" or "having" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other It should be understood that it does not preclude the possibility of addition or existence of features, numbers, steps, operations, components, parts, or combinations thereof.

연합 학습(federated learning)은 다양한 사용자의 로컬 기기와 글로벌 기기 간에 통신 효율을 높이면서 프라이버시를 보장하는 기계 학습 방법론이다.Federated learning is a machine learning methodology that guarantees privacy while increasing communication efficiency between local and global devices of various users.

연합 학습에서 로컬 기기들은 자신들의 데이터를 글로벌 기기에 보내는 대신에, 자신들의 데이터를 기반으로 학습된 모델을 전송한다. 글로벌 기기에서는 로컬 기기들이 보내온 모델들을 종합하여, 보다 정확한 글로벌 모델을 생성한다.In federated learning, instead of sending their data to the global machine, local devices send a trained model based on their own data. In the global device, a more accurate global model is created by synthesizing the models sent by the local devices.

이후 글로벌 모델을 각각의 로컬 기기들에 전송하고, 로컬 기기들은 수신된 글로벌 모델과 자신들의 로컬 데이터를 이용하여 더 정확한 로컬 모델을 생성한다. 이러한 과정을 반복함으로써, 더욱 정확한 글로벌 모델을 학습하는 것이 연합 학습의 방법이다. 연합 학습에서는 로컬 기기들이 자신들의 데이터를 글로벌 기기에 보내지 않기 때문에, 데이터의 프라이버시를 보장할 수 있다. 또한, 방대한 데이터 대신에 학습된 로컬 모델을 전송하기 때문에, 통신 효율을 높일 수 있다.Then, the global model is transmitted to each of the local devices, and the local devices generate a more accurate local model using the received global model and their own local data. By repeating this process, learning a more accurate global model is a method of federated learning. In federated learning, since local devices do not send their data to global devices, data privacy can be guaranteed. In addition, since a learned local model is transmitted instead of massive data, communication efficiency can be increased.

본 발명에서는 로컬 기기들이 전송하는 로컬 모델의 데이터 양을 줄여서 통신 효율을 더욱 개선하기 위해 L1-norm 정규화(L1-norm regularization)를 사용하여 희소한 기울기 차분 값 전송 방법을 제안한다.In the present invention, in order to further improve communication efficiency by reducing the amount of local model data transmitted by local devices, a method for transmitting sparse gradient differences using L1-norm regularization is proposed.

제안한 방법을 통해 로컬 모델에 대한 정보를 희소화(sparsification)하여 글로벌 기기에 전송할 수 있다. 희소화된 로컬 모델에 대한 정보는 일반적인 데이터보다 효율적으로 압축할 수 있고, 이 방법을 통해 연합 학습의 통신 효율을 극대화할 수 있다.Through the proposed method, information on a local model can be sparsified and transmitted to a global device. Information about the sparse local model can be compressed more efficiently than general data, and through this method, the communication efficiency of federated learning can be maximized.

이하 도면을 참고하여 본 발명을 상세히 설명하기로 한다. The present invention will be described in detail with reference to the drawings below.

도 1은 실시예에 따른 연합 학습 시스템의 동작 환경을 개략적으로 도시한다.1 schematically illustrates an operating environment of a federated learning system according to an embodiment.

실시예에 따른 연합 학습 시스템(1000)은 서버(200) 및 서버(200)와 통신하는 복수의 단말(100)을 포함한다. 예를 들어 단말(100)은 사용자가 이용하는 장치로서, 다양한 유형의 원격 디바이스를 포함한다. 예를 들어 서버(200)는 다양한 유형의 단말(100)과 통신하여 연합 학습을 수행한다.The federated learning system 1000 according to the embodiment includes a server 200 and a plurality of terminals 100 communicating with the server 200 . For example, the terminal 100 is a device used by a user and includes various types of remote devices. For example, the server 200 communicates with various types of terminals 100 to perform federated learning.

연합 학습 시스템(1000)에서 서버(200)와 복수의 단말(100)은 서로 연합하여 인공 지능(Artificial Intelligence; AI) 기반 학습 모델의 훈련을 수행한다.In the federated learning system 1000, the server 200 and the plurality of terminals 100 perform training of an artificial intelligence (AI)-based learning model in association with each other.

연합 학습 과정에 대하여 살펴보면, 단말(100)은 단말(100)에 저장된 로컬 데이터(local data)를 중앙 서버(200)로 보내는 대신에 로컬 데이터를 입력 데이터로 사용하여 단말(100)에서 로컬 모델(local model)의 학습을 수행한다. 이를 통해 연합 학습 과정에서 로컬 데이터에 대한 프라이버시(privacy)를 보호하고 네트워크 상의 통신 흐름이 감소된다.Looking at the federated learning process, instead of sending local data stored in the terminal 100 to the central server 200, the terminal 100 uses the local data as input data to generate a local model ( local model) is trained. This protects the privacy of local data in the federated learning process and reduces the communication flow on the network.

서버(200)는 단말(100)의 로컬 모델에 대한 로컬 업데이트를 단말(100)로부터 수신하여 서버(200)에 저장된 글로벌 모델(global model)을 업데이트하고, 업데이트된 글로벌 모델을 단말(100)에게 전송한다.The server 200 receives a local update for the local model of the terminal 100 from the terminal 100, updates a global model stored in the server 200, and sends the updated global model to the terminal 100. send.

단말(100)은 수신된 글로벌 모델에 대한 업데이트에 기반하여 자신의 로컬 모델을 업데이트한다. 연합 학습 시스템(1000)에서 복수의 단말(100)과 서버(200)는 이와 같은 학습 과정을 복수 회(round) 반복하면서 로컬 모델 및 글로벌 모델을 업데이트하게 된다.The terminal 100 updates its own local model based on the received update to the global model. In the federated learning system 1000, the plurality of terminals 100 and the server 200 update the local model and the global model while repeating such a learning process multiple times.

초기 설정을 위하여, 단말(100)이 연합 학습에 참여를 개시하면, 서버(200)와 통신하여 글로벌 모델에 대한 정보를 수신한다. 예를 들어 단말(100)은 연합 학습을 구현한 어플리케이션(application)을 다운로드하여 설치할 때에 해당 시점의 글로벌 모델에 대한 정보를 획득한다.For initial setup, when the terminal 100 initiates participation in federated learning, it communicates with the server 200 to receive information on the global model. For example, when the terminal 100 downloads and installs an application implementing federated learning, information on the global model at that time is obtained.

연합 학습의 일 라운드를 살펴보면, 단말(100) 중 적어도 일부(즉, 제 1 세트의 단말)는 로컬 데이터에 대한 로컬 학습을 수행하고 이에 따른 로컬 업데이트를 서버(200)에게 전송(L_UPDATE)한다.Looking at one round of federated learning, at least some of the terminals 100 (ie, the first set of terminals) perform local learning on local data and transmit (L_UPDATE) a local update according to the local data to the server 200.

서버(200)는 수신된 로컬 업데이트(L_UPDATE)를 통합하여 업데이트된 글로벌 모델을 단말(100) 중 적어도 일부(즉, 제 2 세트의 단말)에게 전송(G_MODEL)한다.The server 200 integrates the received local update (L_UPDATE) and transmits (G_MODEL) the updated global model to at least some of the terminals 100 (ie, the second set of terminals).

연합 학습 시스템(1000)은 종료 조건이 만족될 때까지 이와 같은 학습 라운드를 반복적으로 수행할 수 있다.The federated learning system 1000 may repeatedly perform such learning rounds until an end condition is satisfied.

여기서 단말(100)의 제 1 세트 및 제 2 세트는 각각 연합 학습 시스템(1000)에 포함된 단말(100)의 전체 집합의 부분 집합이고, 서로 간에 공통되는 단말(100)이 있을 수도 있고, 없을 수도 있다.Here, the first set and the second set of terminals 100 are subsets of the entire set of terminals 100 included in the federated learning system 1000, and there may or may not be terminals 100 in common with each other. may be

예를 들어, 서버(200)는 단말(100)의 전체 집합 중에서 랜덤(random) 방식으로 제 1 세트 및/또는 제 2 세트를 결정할 수 있다. 일 예에서 서버(200)는 각 학습 라운드마다 제 1 세트 및/또는 제 2 세트를 다시 결정할 수 있다.For example, the server 200 may determine the first set and/or the second set in a random manner from among the entire set of terminals 100 . In one example, the server 200 may re-determine the first set and/or the second set for each learning round.

여기서 서버(200)는 단말(100)의 전체 집합 중에서 현재 서버(200)와의 연합 학습이 가능한 단말(100) 중에서 제 1 세트 및/또는 제 2 세트를 결정할 수 있다. 예를 들어, 서버(200)는 현재 서버(200)와의 연결성(connectivity)이 없는 단말(100)(도 1에서 점선 화살표)은 제외한 단말(100) 중에서 제 1 세트 및/또는 제 2 세트를 결정할 수 있다. 한편, 단말(100)은 서버(200)와의 연결성이 없는 상태에서도 로컬 데이터를 이용한 로켈 모델의 학습을 진행할 수 있다.Here, the server 200 may determine a first set and/or a second set among terminals 100 capable of joint learning with the current server 200 among the entire set of terminals 100 . For example, the server 200 determines the first set and/or the second set among terminals 100 excluding terminals 100 (shown by dotted arrows in FIG. 1 ) that do not currently have connectivity with the server 200. can Meanwhile, the terminal 100 may proceed with learning of a locale model using local data even when there is no connectivity with the server 200 .

단말(100)은 컴퓨팅 장치(미도시)의 기능을 수행할 수 있는 통신 단말을 포함한다. 단말(100)은 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 내비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 단말(100)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 기기일 수 있다. 단말(100)은 상술한 내용에 제한되지 않는다. The terminal 100 includes a communication terminal capable of performing functions of a computing device (not shown). The terminal 100 includes a desktop computer, a smart phone, a laptop computer, a tablet PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop computer, a media player, a micro server, a global positioning system (GPS) device, and an electronic device operated by a user. Book terminals, digital broadcasting terminals, navigation devices, kiosks, MP3 players, digital cameras, home appliances, and other mobile or non-mobile computing devices, but are not limited thereto. In addition, the terminal 100 may be a wearable device having a communication function and data processing function, such as a watch, glasses, a hair band, and a ring. The terminal 100 is not limited to the above.

서버(200)는 단말(100)과 통신가능한 애플리케이션 서버를 포함할 수 있다. 서버(200)는 연합 학습된 글로벌 모델에 기반하여 각종 인공 지능 알고리즘을 적용하는 데 필요한 빅데이터를 제공하는 데이터베이스 서버일 수 있다.The server 200 may include an application server capable of communicating with the terminal 100 . The server 200 may be a database server that provides big data necessary for applying various artificial intelligence algorithms based on the federated learned global model.

도 2는 실시예에 따른 연합 학습을 실행하는 단말의 블록도이다.2 is a block diagram of a terminal executing federated learning according to an embodiment.

단말(100)은 프로세서(110) 및 메모리(120)를 포함한다. 도 2에 도시된 구성은 예시적인 것이고 이에 제한되지 않으며, 단말(100)은 추가적인 구성을 더 포함할 수 있다.The terminal 100 includes a processor 110 and a memory 120 . The configuration shown in FIG. 2 is exemplary and not limited thereto, and the terminal 100 may further include additional configurations.

단말(100)은 로컬 모델(120M) 및 로컬 데이터(120D)를 저장하는 메모리(120)를 포함한다. 단말(100)은 로컬 데이터(120D)를 이용하여 로컬 모델(120M)의 학습을 수행한다.The terminal 100 includes a memory 120 that stores a local model 120M and local data 120D. The terminal 100 performs learning of the local model 120M using the local data 120D.

로컬 데이터(120D)는 단말(100)에서 수집한 사용자 데이터로서 로컬 모델(120M)의 학습을 위한 입력 데이터를 의미한다. 추가적으로 로컬 데이터(120D)는 로컬 모델(120M)의 학습 과정에서 산출된 중간 데이터 및 출력 데이터를 포함할 수 있다.The local data 120D is user data collected by the terminal 100 and means input data for learning the local model 120M. Additionally, the local data 120D may include intermediate data and output data calculated during the learning process of the local model 120M.

로컬 모델(120M)은 단말(100)에 저장된 학습 모델로서, 서버(200)에 저장된 글로벌 모델에 대한 인스턴스(instance)에 대응한다. 여기서 학습 모델은 학습/추론 연산을 위한 인공신경망 기반의 다양한 머신 러닝 모델을 포함할 수 있다.The local model 120M is a learning model stored in the terminal 100 and corresponds to an instance of a global model stored in the server 200 . Here, the learning model may include various machine learning models based on artificial neural networks for learning/inference calculations.

메모리(120)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다. 메모리(120)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다.The memory 120 may include built-in memory and/or external memory, and may include volatile memory such as DRAM, SRAM, or SDRAM, one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, and NAND. Non-volatile memory such as flash memory or NOR flash memory, flash drives such as SSD, compact flash (CF) card, SD card, Micro-SD card, Mini-SD card, Xd card, or memory stick; Alternatively, it may include a storage device such as a HDD. The memory 120 may include magnetic storage media or flash storage media, but is not limited thereto.

메모리(120)는 프로세서(110)가 실행가능한 명령들(instructions)을 제공할 수 있다. 이러한 명령들은 프로세서(110)에서 실행되는 경우, 프로세서(110)가 실시예에 따른 연합 학습 과정을 실행하도록 한다.The memory 120 may provide instructions executable by the processor 110 . When executed on processor 110, these instructions cause processor 110 to execute a federated learning process according to an embodiment.

단말(100)은 프로세서(110)를 포함한다.The terminal 100 includes a processor 110 .

프로세서(110)는 일종의 중앙처리장치로서 메모리(120)에 저장된 하나 이상의 명령어를 실행하여 단말(100)의 연합 학습 과정을 실행할 수 있다.The processor 110, as a kind of central processing unit, may execute one or more commands stored in the memory 120 to execute the associated learning process of the terminal 100.

프로세서(110)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 프로세서(110)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array), GPU(Graphics Processing Unit) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다. 프로세서(110)는 하나 이상의 프로세서를 포함할 수 있다.The processor 110 may include any type of device capable of processing data. The processor 110 may mean, for example, a data processing device embedded in hardware having a physically structured circuit to perform a function expressed as a code or command included in a program. As an example of such a data processing device built into hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) circuit), a field programmable gate array (FPGA), and a graphics processing unit (GPU), but is not limited thereto. Processor 110 may include one or more processors.

프로세서(110)는, 서버(200)로부터 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득하고, 로컬 데이터(120D)에 기반하여 로컬 모델(120M)을 훈련하여, 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정하고, 글로벌 파라미터 값 및 로컬 파라미터 값에 기반하여 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정하고, 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 서버(200)에게 전송하고, 로컬 파라미터 값을 결정하기 위하여, 로컬 업데이트 값과 연계된 정규화항(regularizer) 및 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수를 이용하도록 구성될 수 있다.The processor 110 acquires global parameter values for the first set of parameters of the global model from the server 200, trains the local model 120M based on the local data 120D, and obtains the first set of parameters determine a local parameter value for a second set of parameters corresponding to at least a part of, determine a local update value for the second set of parameters based on the global parameter value and the local parameter value; A local objective function including an operating term defined by a regularizer associated with the local update value and a weight for the regularizer term, in order to transmit a local update value for , to the server 200, and to determine a local parameter value. It can be configured to use.

프로세서(110)는, 로컬 파라미터 값을 결정하기 위하여, 로컬 데이터(120D)의 양에 기반하여 가중치를 결정하도록 구성될 수 있다.Processor 110 may be configured to determine a weight based on the amount of local data 120D to determine a local parameter value.

프로세서(110)는, 로컬 업데이트 값을 결정하기 위하여, 글로벌 파라미터 값 및 로컬 파라미터 값의 차분값을 로컬 업데이트 값으로 결정하도록 구성될 수 있다.The processor 110 may be configured to determine a difference between a global parameter value and a local parameter value as a local update value in order to determine a local update value.

일 예에서, 로컬 업데이트 값은 희소 행렬(sparse matrix) 또는 희소 벡터(sparse vector)로 표현될 수 있다.In one example, the local update value may be represented as a sparse matrix or sparse vector.

일 예에서 정규화항은 글로벌 파라미터 값 및 제 2 세트의 파라미터에 대한 로컬 파라미터 값에 기반한 L1-norm으로 정의될 수 있다.In one example, the regularization term may be defined as an L1-norm based on global parameter values and local parameter values for the second set of parameters.

단말(100)에 의한 연합 학습 방법에 대하여는 도 4를 참조하여 구체적으로 후술한다.The joint learning method by the terminal 100 will be described later in detail with reference to FIG. 4 .

도 3은 실시예에 따른 연합 학습을 실행하는 서버의 블록도이다.3 is a block diagram of a server executing federated learning according to an embodiment.

서버(200)는 프로세서(210) 및 메모리(220)를 포함한다. 도 3에 도시된 구성은 예시적인 것이고 이에 제한되지 않으며, 서버(200)는 추가적인 구성을 더 포함할 수 있다.The server 200 includes a processor 210 and a memory 220 . The configuration shown in FIG. 3 is exemplary and not limited thereto, and the server 200 may further include additional configurations.

서버(200)는 글로벌 모델(220M)을 저장하는 메모리(220)를 포함한다.The server 200 includes a memory 220 storing the global model 220M.

서버(200)는 단말(100)로부터 수신한 로컬 업데이트를 통합하여 글로벌 모델(220M)의 학습을 수행한다.The server 200 performs learning of the global model 220M by integrating local updates received from the terminal 100 .

글로벌 모델(220M)은 서버(200)에 저장된 학습 모델이다. 여기서 학습 모델은 학습/추론 연산을 위한 인공신경망 기반의 다양한 머신 러닝 모델을 포함할 수 있다. 글로벌 모델(220M)은 단말(100)과 서버(200) 간의 연합 학습 과정에서 각 단말(100)에서 학습된 로컬 모델(120M)에 기반하여 업데이트된다.The global model 220M is a learning model stored in the server 200 . Here, the learning model may include various machine learning models based on artificial neural networks for learning/inference calculations. The global model 220M is updated based on the local model 120M learned in each terminal 100 during the joint learning process between the terminal 100 and the server 200 .

메모리(220)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다. 메모리(220)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다.The memory 220 may include built-in memory and/or external memory, and may include volatile memory such as DRAM, SRAM, or SDRAM, one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, and NAND. Non-volatile memory such as flash memory or NOR flash memory, flash drives such as SSD, compact flash (CF) card, SD card, Micro-SD card, Mini-SD card, Xd card, or memory stick; Alternatively, it may include a storage device such as a HDD. The memory 220 may include magnetic storage media or flash storage media, but is not limited thereto.

메모리(220)는 프로세서(210)가 실행가능한 명령들을 제공할 수 있다. 이러한 명령들은 프로세서(210)에서 실행되는 경우, 프로세서(210)가 실시예에 따른 연합 학습 과정을 실행하도록 한다.The memory 220 may provide instructions executable by the processor 210 . When executed in processor 210, these instructions cause processor 210 to execute a federated learning process according to an embodiment.

서버(200)는 프로세서(210)를 포함한다.Server 200 includes a processor 210 .

프로세서(210)는 일종의 중앙처리장치로서 메모리(220)에 저장된 하나 이상의 명령어를 실행하여 서버(200)의 연합 학습 과정을 실행할 수 있다.The processor 210, as a kind of central processing unit, may execute one or more instructions stored in the memory 220 to execute the associated learning process of the server 200.

프로세서(210)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 프로세서(110)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array), GPU(Graphics Processing Unit) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다. 프로세서(210)는 하나 이상의 프로세서를 포함할 수 있다.The processor 210 may include any type of device capable of processing data. The processor 110 may mean, for example, a data processing device embedded in hardware having a physically structured circuit to perform a function expressed as a code or command included in a program. As an example of such a data processing device built into hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) circuit), a field programmable gate array (FPGA), and a graphics processing unit (GPU), but is not limited thereto. Processor 210 may include one or more processors.

프로세서(210)는, 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말(100)에게 전송하고, 복수의 단말(100) 중 적어도 일부로부터 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신하고, 로컬 업데이트 값에 기반하여 글로벌 모델을 업데이트하도록 구성될 수 있다. 여기서 로컬 업데이트 값은, 글로벌 파라미터 값 및 로컬 업데이트 값과 연계된 정규화항 및 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 결정된 제 2 세트의 파라미터에 대한 로컬 파라미터 값에 기반하여 단말(100)에 의해 결정된 값에 대응한다.The processor 210 transmits global parameter values for the first set of parameters of the global model 220M to the plurality of terminals 100, and transmits at least one of the first set of parameters from at least some of the plurality of terminals 100. and receive local update values for the second set of parameters corresponding to the subset, and update the global model based on the local update values. wherein the local update values are local parameter values for a second set of parameters determined based on a local objective function comprising a global parameter value and a regularization term associated with the local update value and an operational term defined by a weight for the regularization term. It corresponds to the value determined by the terminal 100 based on .

프로세서(210)는, 단말(100)의 로컬 데이터(120D)의 양에 기반하여 가중치를 결정하도록 구성될 수 있다.The processor 210 may be configured to determine a weight based on the amount of local data 120D of the terminal 100 .

일 예에서 로컬 업데이트 값은, 글로벌 파라미터 값 및 로컬 파라미터 값의 차분값에 따라 각 단말에 의해 결정될 수 있다.In one example, the local update value may be determined by each terminal according to a difference value between a global parameter value and a local parameter value.

일 예에서 정규화항은 글로벌 파라미터 값 및 로컬 파라미터 값에 기반한 L1-norm으로 정의될 수 있다.In one example, the normalization term may be defined as an L1-norm based on a global parameter value and a local parameter value.

서버(200)에 의한 연합 학습 방법에 대하여는 도 5를 참조하여 구체적으로 후술한다.The federated learning method by the server 200 will be described later in detail with reference to FIG. 5 .

도 4는 실시예에 따른 연합 학습 방법의 흐름도이다.4 is a flowchart of a federated learning method according to an embodiment.

도 4는 실시예에 따른 연합 학습 방법에서 도 2에 도시된 단말(100)이 수행하는 과정을 보여준다.4 shows a process performed by the terminal 100 shown in FIG. 2 in the federated learning method according to the embodiment.

실시예에 따른 연합 학습 방법은 단말(100)에 의해, 서버(200)로부터 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득하는 단계(S1), 단말(100)에 의해, 로컬 데이터(120D)에 기반하여 로컬 모델(120M)을 훈련하여, 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정하는 단계(S2), 단말(100)에 의해, 글로벌 파라미터 값 및 로컬 파라미터 값에 기반하여 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정하는 단계(S3) 및 단말(100)에 의해, 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 서버(200)에게 전송하는 단계를 포함한다. 여기서, 로컬 파라미터 값을 결정하는 단계(S2)는, 단말(100)에 의해, 로컬 업데이트 값과 연계된 정규화항(regularizer) 및 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 로컬 파라미터 값을 결정할 수 있다.The federated learning method according to the embodiment includes obtaining, by the terminal 100, global parameter values for parameters of a first set of the global model 220M from the server 200 (S1), by the terminal 100 , Training the local model 120M based on the local data 120D to determine local parameter values for parameters of a second set corresponding to at least some of the parameters of the first set (S2), terminal 100 ), determining a local update value for the second set of parameters based on the global parameter value and the local parameter value (S3), and by the terminal 100, the local update value for the second set of parameters and transmitting to the server 200. Here, the step of determining the local parameter value (S2) is, by the terminal 100, a local objective function including a regularizer associated with the local update value and an operation term defined by a weight for the regularizer term. Based on the local parameter value can be determined.

단계(S1)에서 프로세서(110)는 서버(200)로부터 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득할 수 있다.In step S1 , the processor 110 may obtain global parameter values for the first set of parameters of the global model 220M from the server 200 .

학습 모델의 파라미터는 모델 파라미터 및 하이퍼파라미터를 포함한다.Parameters of the learning model include model parameters and hyperparameters.

모델 파라미터는 해당 학습 모델의 학습을 통해 결정되는 파라미터를 의미한다. 예를 들어 모델 파라미터는 인공 신경망의 시냅스 연결의 가중치 및 뉴런의 편향 등을 포함한다. 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미한다. 예를 들어 하이퍼파라미터는 학습률(Learning rate), 반복 횟수, 미니 배치 크기, 및 초기화 함수 등을 포함한다.The model parameter refers to a parameter determined through learning of a corresponding learning model. For example, model parameters include weights of synaptic connections of artificial neural networks and biases of neurons. Hyperparameters are parameters that must be set before learning in machine learning algorithms. For example, hyperparameters include learning rate, number of iterations, mini-batch size, and initialization function.

글로벌 파라미터는 글로벌 모델(220M)을 정의하는 파라미터로서, 글로벌 모델(220M)의 모델 파라미터 및 하이퍼파라미터를 포함한다.The global parameters are parameters defining the global model 220M, and include model parameters and hyperparameters of the global model 220M.

단계(S1)에서 적어도 일부의 단말(100)은 서버(200)로부터 글로벌 모델(220M)의 글로벌 파라미터의 적어도 일부의 파라미터를 수신할 수 있다. 즉, 단계(S1)에서 적어도 일부의 단말(100)은 서버(200)로부터 글로벌 모델(220M)의 글로벌 파라미터 중 적어도 일부의 파라미터를 수신할 수 있다.In step S1 , at least some of the terminals 100 may receive at least some parameters of the global parameters of the global model 220M from the server 200 . That is, in step S1 , at least some of the terminals 100 may receive at least some of the global parameters of the global model 220M from the server 200 .

프로세서(110)는 단계(S1)에서 서버(200)로부터 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득할 수 있다. 여기서 제 1 세트의 파라미터는 글로벌 모델(220M)의 모델 파라미터 집합의 부분 집합이다. 즉, 제 1 세트의 파라미터는 글로벌 모델(220M)의 글로벌 파라미터 전체 또는 글로벌 파라미터의 적어도 일부를 포함하는 집합이다.The processor 110 may obtain global parameter values for the first set of parameters of the global model 220M from the server 200 in step S1. Here, the first set of parameters is a subset of the model parameter set of the global model 220M. That is, the first set of parameters is a set including all or at least some of the global parameters of the global model 220M.

단계(S2)에서 프로세서(110)는 로컬 데이터(120D)에 기반하여 로컬 모델(120M)을 훈련(train)하여, 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정할 수 있다.In step S2, the processor 110 trains the local model 120M based on the local data 120D, and obtains local parameters for a second set of parameters corresponding to at least some of the first set of parameters. value can be determined.

단계(S2)에서 프로세서(110)는 단말(100)에서 수집한 사용자 데이터를 포함한 로컬 데이터(120D)를 입력 데이터로 하여 단말(100)의 로컬 모델(120M)을 훈련할 수 있다.In step S2, the processor 110 may train the local model 120M of the terminal 100 by using local data 120D including user data collected by the terminal 100 as input data.

훈련 결과 단계(S1)에서 서버(200)로부터 획득한 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정할 수 있다. 예를 들어, 프로세서(110)는 로컬 모델(120M)을 소정의 횟수만큼 반복 학습한 결과 얻어진 로컬 모델(120M)의 모델 파라미터의 값을 로컬 파라미터 값으로 결정할 수 있다.In the training result step S1 , local parameter values for the second set of parameters corresponding to at least some of the first set of parameters obtained from the server 200 may be determined. For example, the processor 110 may determine a model parameter value of the local model 120M obtained as a result of iteratively learning the local model 120M a predetermined number of times as the local parameter value.

단계(S2)에서 프로세서(110)는 로컬 목적 함수를 최소화하도록 로컬 모델(120M)을 훈련한다.In step S2, the processor 110 trains the local model 120M to minimize the local objective function.

k번째 단말(100)의 t+1번째 라운드(round t+1)에서의 업데이트(학습)

Figure pat00001
는 다음과 같은 수학식 1로 나타낼 수 있다.Update (learning) in the t+1th round (round t+1) of the kth terminal 100
Figure pat00001
Can be represented by Equation 1 as follows.

Figure pat00002
Figure pat00002

여기서

Figure pat00003
는 k번째 단말(100)의 로컬 목적 함수(local objective function)이고,
Figure pat00004
는 정규화항을 사용하지 않았을 때의 k번째 단말(100)의 로컬 손실 함수(local loss function)이다. 또한,
Figure pat00005
는 단계(S1)에서 획득한 글로벌 모델의 제 1 세트의 파라미터의 글로벌 파라미터 값에 대응한다.
Figure pat00006
는 k번째 단말(100)의 정규화항에 대한 가중치를 의미한다.here
Figure pat00003
Is the local objective function of the k-th terminal 100,
Figure pat00004
Is a local loss function of the k-th terminal 100 when the normalization term is not used. Also,
Figure pat00005
corresponds to the global parameter value of the first set of parameters of the global model obtained in step S1.
Figure pat00006
Means a weight for the normalization term of the k-th terminal 100.

로컬 목적 함수

Figure pat00007
는 로컬 손실 함수
Figure pat00008
및 연산항
Figure pat00009
의 합으로 정의된다.local objective function
Figure pat00007
is the local loss function
Figure pat00008
and operands
Figure pat00009
is defined as the sum of

로컬 손실 함수

Figure pat00010
는 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 (CE, Cross Entropy)를 사용할 수 있으며, 이에 한정되지는 않는다.local loss function
Figure pat00010
Mean Squared Error (MSE) or Cross Entropy (CE) may be used, but is not limited thereto.

로컬 손실 함수

Figure pat00011
는 이를 최소화하기 위한 학습 최적화 알고리즘을 이용하여 학습될 수 있다. 학습 최적화 알고리즘은 예를 들어 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등이 있다.local loss function
Figure pat00011
may be learned using a learning optimization algorithm for minimizing this. Learning optimization algorithms include, for example, Gradient Descent (GD), Stochastic Gradient Descent (SGD), Momentum, Nesterov Accelerate Gradient (NAG), Adagrad, AdaDelta, RMSProp, Adam, Nadam et al.

연산항

Figure pat00012
은 로컬 업데이트 값과 연계된 정규화항(regularizer)
Figure pat00013
및 정규화항에 대한 가중치
Figure pat00014
의 곱셈으로 정의된다.operand
Figure pat00012
is the regularizer associated with the local update value.
Figure pat00013
and weights for regularization terms
Figure pat00014
is defined as the multiplication of

일 예에서, 프로세서(110)는 로컬 업데이트 값과 연계된 정규화항

Figure pat00015
및 정규화항에 대한 가중치
Figure pat00016
에 의해 정의되는 연산항을 포함하는 로컬 목적 함수
Figure pat00017
에 기반하여 로컬 파라미터 값을 결정할 수 있다.In one example, processor 110 may perform a normalization term associated with a local update value.
Figure pat00015
and weights for regularization terms
Figure pat00016
A local objective function containing an operand defined by
Figure pat00017
Based on the local parameter value can be determined.

즉, 프로세서(110)는 로컬 목적 함수

Figure pat00018
를 최소화하는 파라미터 값
Figure pat00019
을 단말(100)의 로컬 파라미터 값
Figure pat00020
으로 결정할 수 있다.That is, the processor 110 is a local objective function
Figure pat00018
Parameter value that minimizes
Figure pat00019
the local parameter value of the terminal 100
Figure pat00020
can be determined by

여기서, 정규화항

Figure pat00021
은 글로벌 파라미터 값
Figure pat00022
및 제 2 세트의 파라미터에 대한 로컬 파라미터 값
Figure pat00023
에 기반한 L1-norm으로 정의된다.Here, the regularization term
Figure pat00021
is the global parameter value
Figure pat00022
and local parameter values for the second set of parameters.
Figure pat00023
It is defined as an L1-norm based on

L1-norm

Figure pat00024
을 정규화항으로 사용하면, 단계(S3)에서 후술할 가
Figure pat00025
가 희소(sparse)해진다. 즉, 매 라운드마다
Figure pat00026
대신에
Figure pat00027
을 보낸다면, 전송하는 데이터의 양이 더 적어진다. 매우 작은 값들을 보내는 것은 보내는 데이터의 양은 많지만 실제 모델에 미치는 영향은 적다. 이런 면에서 L1-norm을 사용하는 것이 유리하다.L1-norm
Figure pat00024
When is used as a normalization term, the
Figure pat00025
becomes sparse. i.e. every round
Figure pat00026
Instead of
Figure pat00027
, the amount of data to be transmitted becomes smaller. Sending very small values will send a lot of data but have little effect on the actual model. In this respect, it is advantageous to use the L1-norm.

로컬 업데이트 값은 글로벌 파라미터 값과 로컬 파라미터 값 간의 차분값에 대응하며, 이에 대하여는 단계(S3)에서 후술한다. 일 예에서 모든 로컬 모델의 정규화항에 대한 가중치

Figure pat00028
가 동일하게 사용된다. 일 예에서 정규화항에 대한 가중치
Figure pat00029
를 각 로컬 모델에 따라 다르게 사용할 수 있다. 이 경우, 단계(S2)는 정규화항에 대한 가중치
Figure pat00030
를 결정하는 단계를 포함할 수 있다. 가중치
Figure pat00031
는 정규화항의 비중을 결정하는 값으로 실험적으로 결정될 수 있다.The local update value corresponds to a difference value between the global parameter value and the local parameter value, which will be described later in step S3. In one example, the weights for the regularization terms of all local models
Figure pat00028
is used identically. Weight for regularization term in one example
Figure pat00029
may be used differently depending on each local model. In this case, step S2 is the weight for the regularization term.
Figure pat00030
It may include the step of determining. weight
Figure pat00031
is a value that determines the weight of the normalization term and can be experimentally determined.

일 예에서, 프로세서(110)는 로컬 데이터(120D)의 양에 기반하여 가중치

Figure pat00032
를 결정할 수 있다.In one example, processor 110 weights based on the amount of local data 120D.
Figure pat00032
can decide

예를 들어, 로컬 데이터(120D)의 양이 작은 단말(100)은

Figure pat00033
를 더 크게 조정할 수 있다. 일 예에서
Figure pat00034
는 단말(100) 마다 다르게 설정할 수 있다.
Figure pat00035
가 클수록L1-norm 정규화의 영향이 커져서
Figure pat00036
가 더 희소해진다. 딘말(100)의 데이터량이 적은 기기는 후술할 수학식 3에 의해 실제 서버(200)로 전송할 로컬 업데이트 값이
Figure pat00037
배로 작아진다. 매우 작은 값들을 보내는 것이 통신 자원의 낭비이므로, 통신의 효율을 높이기 위해 사용될 수 있다. For example, the terminal 100 with a small amount of local data 120D
Figure pat00033
can be adjusted larger. in one example
Figure pat00034
may be set differently for each terminal 100.
Figure pat00035
The larger the , the greater the effect of L1-norm regularization.
Figure pat00036
becomes rarer A device with a small amount of data in the Dinmal 100 has a local update value to be transmitted to the real server 200 by Equation 3 described later
Figure pat00037
twice as small Since sending very small values is a waste of communication resources, it can be used to increase communication efficiency.

단계(S3)에서 프로세서(110)는 글로벌 파라미터 값 및 로컬 파라미터 값에 기반하여 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정할 수 있다.In step S3, the processor 110 may determine local update values for the second set of parameters based on the global parameter values and the local parameter values.

단계(S3)은 프로세서(110)가 글로벌 파라미터 값 및 로컬 파라미터 값의 차분값을 로컬 업데이트 값으로 결정하는 단계를 포함한다. Step S3 includes determining, by the processor 110, a difference between the global parameter value and the local parameter value as a local update value.

프로세서(110)는 다음의 수학식 2에 따라 로컬 업데이트 값을 결정할 수 있다.The processor 110 may determine the local update value according to Equation 2 below.

Figure pat00038
Figure pat00038

여기서

Figure pat00039
은 단계(S2)에서 결정된 k번째 단말(100)의 로컬 파라미터 값이고,
Figure pat00040
는 단계(S1)에서 서버(200)로부터 획득한 글로벌 파라미터 값을 의미한다.here
Figure pat00039
Is the local parameter value of the k-th terminal 100 determined in step S2,
Figure pat00040
Means a global parameter value obtained from the server 200 in step (S1).

즉, 프로세서(110)는 단계(S3)에서 수학식 2에 따라 차분값

Figure pat00041
을 t+1 번째 라운드(round t+1)의 k번째 단말(100)의 로컬 업데이트 값으로 결정한다.That is, the processor 110 calculates the difference value according to Equation 2 in step S3.
Figure pat00041
is determined as the local update value of the k-th terminal 100 in the t+1-th round (round t+1).

일 예에서, 수학식 2에 따른 로컬 업데이트 값은 희소 행렬(sparse matrix) 또는 희소 벡터(sparse vector)로 표현될 수 있다. 이는 수학식 1에서 L1-norm

Figure pat00042
을 정규화항으로 사용하므로, 차분값
Figure pat00043
이 희소(sparse)해지기 때문이다.In one example, the local update value according to Equation 2 may be expressed as a sparse matrix or sparse vector. This is the L1-norm in Equation 1
Figure pat00042
is used as a regularization term, so the difference value
Figure pat00043
because it becomes sparse.

즉, L1-norm regularizer를 사용할 경우, 로컬 업데이트 값

Figure pat00044
이 희소해진다. 예를 들어, L1-norm regularizer를 적용할 경우, L2-norm regularizer를 사용하거나 정규화항을 사용하지 않았을 때 보다,
Figure pat00045
의 항들 중 0의 값에 근접하는 항이 많아지게 된다.That is, when using the L1-norm regularizer, the local update value
Figure pat00044
it becomes scarce For example, when the L1-norm regularizer is applied, the L2-norm regularizer is used or when no regularization term is used,
Figure pat00045
Among the terms of , the number of terms approaching a value of 0 increases.

후속하여 단계(S4)에서 프로세서(110)는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 서버(200)에게 전송할 수 있다.Subsequently, in step S4, the processor 110 may transmit local updated values for the second set of parameters to the server 200.

예를 들어, 프로세서(110)는 단계(S3)에서 결정된 로컬 업데이트 값 또는 로컬 업데이트 값을 압축한 값을 서버(200)에게 전송할 수 있다. 이로써 서버(200)로 통신 라운드 당 전송할 데이터량이 감소되어 연합 학습의 통신 효율을 개선할 수 있다.For example, the processor 110 may transmit the local update value determined in step S3 or a value obtained by compressing the local update value to the server 200 . This reduces the amount of data to be transmitted to the server 200 per communication round, thereby improving the communication efficiency of federated learning.

즉, k번째 단말(100)에서

Figure pat00046
대신에 희소한
Figure pat00047
를 전송하거나 이를 압축해서 전송할 수 있다. 희소한 벡터의 경우, 압축 효율이 더 높기 때문에 통신 효율성을 개선할 수 있다.That is, in the k-th terminal 100
Figure pat00046
instead of rare
Figure pat00047
can be transmitted, or it can be compressed and transmitted. For sparse vectors, the communication efficiency can be improved because the compression efficiency is higher.

단말(100)로부터 각 단말(100)의 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신한 서버(200)는 이들 로컬 업데이트 값에 기초하여 글로벌 모델(220M)을 업데이트하게 된다. 이에 대하여는 도 5를 참조하여 설명한다.The server 200 receiving local updated values for the second set of parameters of each terminal 100 from the terminal 100 updates the global model 220M based on these local updated values. This will be described with reference to FIG. 5 .

한편, 단계(S2)의 수학식 1에서

Figure pat00048
가 소정의 임계치(threshold)보다 작은 단말(100)에 L1-norm을 정규화 항으로 사용하고,
Figure pat00049
가 소정의 임계치보다 큰 단말(100)에는 L1-norm 대신 L2-norm을 사용하거나, 또는 정규화항을 사용하지 않을 수도 있다.On the other hand, in Equation 1 of step S2
Figure pat00048
L1-norm is used as a normalization term for the terminal 100 where is smaller than a predetermined threshold,
Figure pat00049
For the terminal 100 where is greater than a predetermined threshold, the L2-norm may be used instead of the L1-norm, or the normalization term may not be used.

도 5는 실시예에 따른 연합 학습 방법의 흐름도이다.5 is a flowchart of a federated learning method according to an embodiment.

도 5는 실시예에 따른 연합 학습 방법에서 도 3에 도시된 서버(200)가 수행하는 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a process performed by the server 200 shown in FIG. 3 in a federated learning method according to an embodiment.

실시예에 따른 연합 학습 방법은 서버(200)에 의해, 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말(100)에게 전송하는 단계(SS1), 서버(200)에 의해, 복수의 단말(100) 중 적어도 일부로부터 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신하는 단계(SS2). 및 서버(200)에 의해, 로컬 업데이트 값에 기반하여 글로벌 모델(220M)을 업데이트하는 단계(SS3)를 포함한다. 여기서 로컬 업데이트 값은, 글로벌 파라미터 값 및 로컬 업데이트 값과 연계된 정규화항 및 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 결정된 상제 2 세트의 파라미터에 대한 로컬 파라미터 값에 기반하여 단말(100)에 의해 결정된 값이다.The federated learning method according to the embodiment includes transmitting, by the server 200, global parameter values for a first set of parameters of a global model 220M to a plurality of terminals 100 (SS1), server 200 Receiving, from at least some of the plurality of terminals 100, local update values for parameters of the second set corresponding to at least some of the parameters of the first set (SS2). and updating the global model 220M by the server 200 based on the local update value (SS3). Here, the local update value is the local parameter value for the second set of parameters determined based on a local objective function including a global parameter value and a regularization term associated with the local update value and an operational term defined by a weight for the regularization term. It is a value determined by the terminal 100 based on .

단계(SS1)에서 프로세서(210)는 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말(100)에게 전송한다.In step SS1, the processor 210 transmits global parameter values for the first set of parameters of the global model 220M to the plurality of terminals 100.

제 1 세트의 파라미터는 글로벌 모델(220M)을 정의하는 글로벌 파라미터의 전체 집합의 부분 집합 중 하나이다. 글로벌 파라미터는 글로벌 모델(220M)을 정의하는 파라미터로서, 글로벌 모델(220M)의 모델 파라미터 및 하이퍼파라미터를 포함한다.The first set of parameters is one of a subset of the full set of global parameters defining global model 220M. The global parameters are parameters defining the global model 220M, and include model parameters and hyperparameters of the global model 220M.

복수의 단말(100)은 연합 학습 시스템(1000)에 속한 단말(100)의 전체 집합의 부분 집합 중 하나로, 프로세서(210)는 단계(SS1)에서 랜덤(random) 방식으로 복수의 단말(100)을 선택할 수 있다.The plurality of terminals 100 is one of a subset of the entire set of terminals 100 belonging to the federated learning system 1000, and the processor 210 randomizes the plurality of terminals 100 in step SS1. can choose

단계(SS2)에서 프로세서(210)는 복수의 단말(100) 중 적어도 일부로부터 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신한다.In step SS2, the processor 210 receives local update values for parameters of the second set corresponding to at least some of the parameters of the first set from at least some of the plurality of terminals 100.

예를 들어, 단계(SS2)에서 서버(200)는 복수의 단말(100) 중 서버(200)와의 연결성을 상실한 단말(100)을 제외한 단말(100)로부터 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신할 수 있다.For example, in step SS2, the server 200 obtains local update values for the second set of parameters from the terminals 100 excluding the terminals 100 that have lost connectivity with the server 200 among the plurality of terminals 100. can receive

단계(SS2)에서 수신된 제 2 세트의 파라미터에 대한 로컬 업데이트 값은 복수의 단말(100) 중 적어도 일부 단말(100)에서 도 4를 참조하여 단계(S3)를 통해 결정된 값에 대응한다.The local update value of the second set of parameters received in step SS2 corresponds to the value determined through step S3 in at least some terminals 100 among the plurality of terminals 100 with reference to FIG. 4 .

단계(SS3)에서 프로세서(210)는 단계(SS2)에서 수신된 로컬 업데이트 값에 기반하여 글로벌 모델(220M)을 업데이트한다.In step SS3, the processor 210 updates the global model 220M based on the local update value received in step SS2.

단계(SS3)에서 프로세서(210)는 다음의 수학식 3에 의해 글로벌 모델(220M)을 업데이트할 수 있다.In step SS3, the processor 210 may update the global model 220M by Equation 3 below.

즉, 서버(200)는 K개의 단말(100)로부터 수신된 로컬 업데이트 값(

Figure pat00050
)으로부터 다음과 같이 t+1번째 라운드(round t+1)의 글로벌 모델을 결정한다.That is, the server 200 receives local update values from K terminals 100 (
Figure pat00050
), the global model of the t+1th round (round t+1) is determined as follows.

Figure pat00051
Figure pat00051

여기서

Figure pat00052
는 k번째 단말(100)이 가지고 있는 로컬 데이터(120D)의 양이다. n은 K개의 단말(100)의 로컬 데이터(120D)의 양을 합산한 전체 로컬 데이터(120D)의 양을 의미한다.here
Figure pat00052
is the amount of local data 120D that the k-th terminal 100 has. n means the total amount of local data 120D obtained by summing the amount of local data 120D of K terminals 100 .

실시예에 따른 연합 학습 방법은 단계(SS1), 단계(SS2) 및 단계(SS3)을 반복하는 단계를 더 포함할 수 있다. 예를 들어, 서버(200)는 단계(SS1), 단계(SS2) 및 단계(SS3)을 소정의 횟수만큼, 예를 들어 T번의 라운드를 반복하여 학습을 완료할 수 있다.The federated learning method according to the embodiment may further include repeating steps SS1, SS2, and SS3. For example, the server 200 may complete learning by repeating steps SS1, SS2, and SS3 a predetermined number of times, for example, T rounds.

일 예에서 t+2 라운드(round t+2)에서 실시예에 따른 연합 학습 방법은 단계(SS3)에서 업데이트된 글로벌 모델의 제 2 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 제 2 단말(100)에게 전송할 수 있다. 이는 t+1 라운드의 단계(SS1)에 해당하는 과정으로, 여기서 제 2 세트의 파라미터는 제 1 세트의 파라미터와 동일 또는 상이할 수 있고, 복수의 제 2 단말(200)은 복수의 제 1 단말(100)과 동일 또는 상이할 수 있다.In one example, the federated learning method according to the embodiment in round t + 2 (round t + 2) sets global parameter values for parameters of the second set of the global model updated in step (SS3) to a plurality of second terminals (100). ) can be sent to This is a process corresponding to step SS1 of round t+1, where the second set of parameters may be the same as or different from the first set of parameters, and the plurality of second terminals 200 are the plurality of first terminals. It may be the same as or different from (100).

도 6은 실시예에 따른 연합 학습 방법의 흐름도이다.6 is a flowchart of a federated learning method according to an embodiment.

도 6은 전술한 도 4를 참조하여 단말(100)의 연합 학습 과정과 도 5를 참조하여 서버(200)의 연합 학습 과정 간의 상호 관계를 보여준다.FIG. 6 shows a mutual relationship between the federated learning process of the terminal 100 with reference to FIG. 4 and the federated learning process of the server 200 with reference to FIG. 5 .

서버(200)가 단계(SS1)에서 전송한 글로벌 파라미터를 단말(100)이 단계(S1)에서 수신한다.The terminal 100 receives the global parameters transmitted by the server 200 in step SS1 in step S1.

단말(100)은 단계(S2) 및 단계(S3)를 수행하여 단말(100)의 로컬 업데이트 값을 결정하고 단계(S4)에서 로컬 업데이트 값을 서버(200)에게 전송한다.The terminal 100 determines a local update value of the terminal 100 by performing steps S2 and S3 and transmits the local update value to the server 200 in step S4.

서버(200)는 단계(SS2)에서 각 단말(100)로부터 로컬 업데이트 값을 수신하고 단계(SS3)을 수행하여 글로벌 모델을 업데이트한다.The server 200 receives a local update value from each terminal 100 in step SS2 and updates the global model by performing step SS3.

소정의 반복 횟수(라운드 T)에 도달하거나 또는 소정의 종료 조건을 만족할 때까지, 서버(200)는 업데이트된 글로벌 모델에 기반하여 단계(SS1)을 다시 실행한다.Until a predetermined number of iterations (round T) is reached or a predetermined end condition is satisfied, the server 200 re-executes step SS1 based on the updated global model.

도 7은 실시예에 따른 연합 학습 방법의 예시적인 의사 코드를 도시한다.7 shows exemplary pseudocode of a federated learning method according to an embodiment.

실시예에 따른 연합 학습 방법의 예시적인 의사 코드(FedSG)는 서버(200)의 실행 코드(At Server)와 각 단말(100)의 실행 코드(At Client)를 포함한다.An exemplary pseudocode (FedSG) of the federated learning method according to the embodiment includes an execution code (At Server) of the server 200 and an execution code (At Client) of each terminal 100 .

서버(200)는 글로벌 파라미터를 초기화(initialize)하고, 이하의 과정을 T번의 라운드 동안 반복(iteration)하여 실행한다.The server 200 initializes global parameters, and iterates and executes the following process for T rounds.

우선, 서버(200)는 K 개의 단말(100)을 선택하여 글로벌 파라미터 값(

Figure pat00053
)를 매개 인자로 전송한다.First, the server 200 selects K number of terminals 100 and sets a global parameter value (
Figure pat00053
) as a parameter.

단말(100)은 수신된 글로벌 파라미터 값(

Figure pat00054
)에 대한 로컬 파라미터 값(
Figure pat00055
)을 결정하고, 로컬 업데이트 값(
Figure pat00056
)을 계산하여 서버(200)에게 전송한다.The terminal 100 receives the global parameter value (
Figure pat00054
) for the local parameter value (
Figure pat00055
) is determined, and the local update value (
Figure pat00056
) is calculated and transmitted to the server 200.

각 단말(100)로부터 로컬 업데이트 값(

Figure pat00057
)을 수신한 서버(200)는 글로벌 파라미터 값(
Figure pat00058
)을 집계 및 업데이트한다.Local update values from each terminal 100 (
Figure pat00057
), the server 200 receives the global parameter value (
Figure pat00058
) is aggregated and updated.

서버(200)는 업데이트한 글로벌 파라미터(

Figure pat00059
)를 다음 라운드에 참여하는 단말(100)에게 전송한다.The server 200 updates the global parameter (
Figure pat00059
) is transmitted to the terminal 100 participating in the next round.

전술한 본 발명의 일 실시예에 따른 방법은 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.The method according to an embodiment of the present invention described above can be implemented as computer readable code on a medium on which a program is recorded. The computer-readable medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. there is

이상 설명된 본 발명의 실시예에 대한 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the embodiments of the present invention described above is for illustrative purposes, and those skilled in the art can easily modify them into other specific forms without changing the technical spirit or essential features of the present invention. you will understand that Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 청구범위에 의하여 나타내어지며, 청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts thereof should be construed as being included in the scope of the present invention.

100: 단말
200: 서버
1000: 연합 학습 시스템
100: terminal
200: server
1000: federated learning system

Claims (18)

연합 학습 방법으로서,
단말에 의해, 서버로부터 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득하는 단계;
상기 단말에 의해, 로컬 데이터에 기반하여 로컬 모델을 훈련하여, 상기 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정하는 단계;
상기 단말에 의해, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값에 기반하여 상기 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정하는 단계; 및
상기 단말에 의해, 상기 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 상기 서버에게 전송하는 단계
를 포함하고,
상기 로컬 파라미터 값을 결정하는 단계는,
상기 단말에 의해, 상기 로컬 업데이트 값과 연계된 정규화항(regularizer) 및 상기 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 상기 로컬 파라미터 값을 결정하는,
연합 학습 방법.
As a federated learning method,
obtaining, by a terminal, global parameter values for parameters of a first set of global models from a server;
determining, by the terminal, a local parameter value for a second set of parameters corresponding to at least some of the first set of parameters by training a local model based on local data;
determining, by the terminal, local update values for the second set of parameters based on the global parameter values and the local parameter values; and
Transmitting, by the terminal, a local update value for the second set of parameters to the server.
including,
The step of determining the local parameter value,
Determining, by the terminal, the local parameter value based on a local objective function including a regularizer associated with the local update value and an operating term defined by a weight for the regularizer term,
federated learning method.
제 1 항에 있어서,
상기 로컬 파라미터 값을 결정하는 단계는,
상기 단말에 의해, 상기 단말의 로컬 데이터의 양에 기반하여 상기 가중치를 결정하는 단계
를 포함하는,
연합 학습 방법.
According to claim 1,
The step of determining the local parameter value,
Determining, by the terminal, the weight based on the amount of local data of the terminal
including,
federated learning method.
제 1 항에 있어서,
상기 로컬 업데이트 값을 결정하는 단계는,
상기 단말에 의해, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값의 차분값을 상기 로컬 업데이트 값으로 결정하는 단계
를 포함하는,
연합 학습 방법.
According to claim 1,
Determining the local update value,
Determining, by the terminal, a difference between the global parameter value and the local parameter value as the local update value.
including,
federated learning method.
제 1 항에 있어서,
상기 로컬 업데이트 값은 희소 행렬(sparse matrix) 또는 희소 벡터(sparse vector)로 표현되는,
연합 학습 방법.
According to claim 1,
The local update value is represented by a sparse matrix or sparse vector,
federated learning method.
제 1 항에 있어서,
상기 정규화항은 상기 글로벌 파라미터 값 및 상기 제 2 세트의 파라미터에 대한 로컬 파라미터 값에 기반한 L1-norm으로 정의되는,
연합 학습 방법.
According to claim 1,
The normalization term is defined as an L1-norm based on the global parameter value and the local parameter value for the second set of parameters.
federated learning method.
연합 학습 방법으로서,
서버에 의해, 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말에게 전송하는 단계;
상기 서버에 의해, 상기 복수의 단말 중 적어도 일부로부터 상기 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신하는 단계; 및
상기 서버에 의해, 상기 로컬 업데이트 값에 기반하여 상기 글로벌 모델을 업데이트하는 단계
를 포함하고,
상기 로컬 업데이트 값은,
상기 글로벌 파라미터 값 및
상기 로컬 업데이트 값과 연계된 정규화항 및 상기 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 결정된 상기 제 2 세트의 파라미터에 대한 로컬 파라미터 값
에 기반하여 상기 단말에 의해 결정된 값인,
연합 학습 방법.
As a federated learning method,
transmitting, by the server, global parameter values for the first set of parameters of the global model to a plurality of terminals;
receiving, by the server, local update values for parameters of a second set corresponding to at least some of the parameters of the first set from at least some of the plurality of terminals; and
Updating, by the server, the global model based on the local update value.
including,
The local update value is,
the global parameter value and
local parameter values for the second set of parameters determined based on a local objective function comprising a regularization term associated with the local update value and an operand defined by a weight for the regularization term
A value determined by the terminal based on
federated learning method.
제 6 항에 있어서,
상기 가중치는, 연합 학습이 진행되는 동안 모든 로컬 모델에 있어 동일하게 결정되거나 상기 단말의 로컬 데이터의 양에 기반하여 결정되는,
연합 학습 방법.
According to claim 6,
The weight is determined equally for all local models during federated learning or determined based on the amount of local data of the terminal.
federated learning method.
제 6 항에 있어서,
상기 로컬 업데이트 값은, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값의 차분값에 따라 결정되는,
연합 학습 방법.
According to claim 6,
The local update value is determined according to a difference between the global parameter value and the local parameter value.
federated learning method.
제 6 항에 있어서,
상기 정규화항은 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값에 기반한 L1-norm으로 정의되는,
연합 학습 방법.
According to claim 6,
The normalization term is defined as L1-norm based on the global parameter value and the local parameter value.
federated learning method.
단말로서,
로컬 데이터 및 로컬 모델을 저장하는 메모리; 및
프로세서
를 포함하고,
상기 프로세서는,
서버로부터 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득하고,
상기 로컬 데이터에 기반하여 상기 로컬 모델을 훈련하여, 상기 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정하고,
상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값에 기반하여 상기 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정하고,
상기 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 상기 서버에게 전송하고,
상기 로컬 파라미터 값을 결정하기 위하여,
상기 로컬 업데이트 값과 연계된 정규화항(regularizer) 및 상기 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수를 이용하도록 구성되는,
단말.
As a terminal,
memory to store local data and local models; and
processor
including,
the processor,
obtain global parameter values for parameters of a first set of global models from a server;
train the local model based on the local data to determine local parameter values for a second set of parameters corresponding to at least some of the first set of parameters;
determine local update values for the second set of parameters based on the global parameter values and the local parameter values;
send local updated values for the second set of parameters to the server;
To determine the local parameter value,
configured to use a local objective function comprising an operand defined by a regularizer associated with the local update value and a weight for the regularizer term;
Terminal.
제 10 항에 있어서,
상기 프로세서는,
상기 로컬 파라미터 값을 결정하기 위하여,
연합 학습이 진행되는 동안 모든 로컬 모델에 있어 동일하게 상기 가중치를 결정하거나 또는 상기 로컬 데이터의 양에 기반하여 상기 가중치를 결정하도록 구성되는,
단말.
According to claim 10,
the processor,
To determine the local parameter value,
Configured to determine the weight equally for all local models or to determine the weight based on the amount of local data while federated learning is in progress.
Terminal.
제 10 항에 있어서,
상기 프로세서는,
상기 로컬 업데이트 값을 결정하기 위하여,
상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값의 차분값을 상기 로컬 업데이트 값으로 결정하도록 구성되는,
단말.
According to claim 10,
the processor,
To determine the local update value,
Determine a difference between the global parameter value and the local parameter value as the local update value.
Terminal.
제 10 항에 있어서,
상기 로컬 업데이트 값은 희소 행렬 또는 희소 벡터로 표현되는,
단말.
According to claim 10,
The local update value is represented by a sparse matrix or sparse vector,
Terminal.
제 10 항에 있어서,
상기 정규화항은 상기 글로벌 파라미터 값 및 상기 제 2 세트의 파라미터에 대한 로컬 파라미터 값에 기반한 L1-norm으로 정의되는,
단말.
According to claim 10,
The normalization term is defined as an L1-norm based on the global parameter value and the local parameter value for the second set of parameters.
Terminal.
서버로서,
글로벌 모델을 저장하는 메모리; 및
프로세서
를 포함하고,
상기 프로세서는,
상기 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말에게 전송하고,
상기 복수의 단말 중 적어도 일부로부터 상기 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신하고,
상기 로컬 업데이트 값에 기반하여 상기 글로벌 모델을 업데이트하도록 구성되고,
상기 로컬 업데이트 값은,
상기 글로벌 파라미터 값 및
상기 로컬 업데이트 값과 연계된 정규화항 및 상기 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 결정된 상기 제 2 세트의 파라미터에 대한 로컬 파라미터 값
에 기반하여 상기 단말에 의해 결정된 값인,
서버.
As a server,
memory to store global models; and
processor
including,
the processor,
Transmitting global parameter values for a first set of parameters of the global model to a plurality of terminals;
Receiving local update values for parameters of a second set corresponding to at least some of the parameters of the first set from at least some of the plurality of terminals;
configured to update the global model based on the local update value;
The local update value is,
the global parameter value and
local parameter values for the second set of parameters determined based on a local objective function comprising a regularization term associated with the local update value and an operand defined by a weight for the regularization term
A value determined by the terminal based on
server.
제 15 항에 있어서,
상기 프로세서는,
연합 학습이 진행되는 동안 모든 로컬 모델에 있어 동일하게 상기 가중치를 결정하거나 상기 단말의 로컬 데이터의 양에 기반하여 상기 가중치를 결정하도록 구성되는,
서버.
According to claim 15,
the processor,
Is configured to determine the weight equally for all local models or to determine the weight based on the amount of local data of the terminal while federated learning is in progress,
server.
제 15 항에 있어서,
상기 로컬 업데이트 값은, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값의 차분값에 따라 각 단말에 의해 결정되는,
서버.
According to claim 15,
The local update value is determined by each terminal according to a difference between the global parameter value and the local parameter value.
server.
제 15 항에 있어서,
상기 정규화항은 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값에 기반한 L1-norm으로 정의되는,
서버.
According to claim 15,
The normalization term is defined as L1-norm based on the global parameter value and the local parameter value.
server.
KR1020210081600A 2021-06-23 2021-06-23 Method and apparatus for federated learning KR102679861B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210081600A KR102679861B1 (en) 2021-06-23 2021-06-23 Method and apparatus for federated learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210081600A KR102679861B1 (en) 2021-06-23 2021-06-23 Method and apparatus for federated learning

Publications (2)

Publication Number Publication Date
KR20220170583A true KR20220170583A (en) 2022-12-30
KR102679861B1 KR102679861B1 (en) 2024-06-28

Family

ID=84538796

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210081600A KR102679861B1 (en) 2021-06-23 2021-06-23 Method and apparatus for federated learning

Country Status (1)

Country Link
KR (1) KR102679861B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102675892B1 (en) * 2023-09-15 2024-06-17 주식회사 스마트코어 Method for improving global model performance by applying data quality weights of local models in federated learning and server using the same
KR102691001B1 (en) * 2023-03-02 2024-08-05 고려대학교산학협력단 Method and apparatus for optimizing shared score table for improving federated learning energy consumption efficiency
KR102691523B1 (en) * 2023-11-29 2024-08-06 주식회사 스마트코어 Method for obtaining comformance index for business purpose in the process of creating global model in federated learning and server using the same
WO2024162728A1 (en) * 2023-01-30 2024-08-08 울산과학기술원 Meta-learning apparatus and method for personalized federated learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251601A (en) * 2001-02-22 2002-09-06 Fuji Xerox Co Ltd Neural network processing device
KR20200002034A (en) * 2017-08-11 2020-01-07 구글 엘엘씨 On-Device Machine Learning Platform
KR20200083234A (en) * 2018-12-28 2020-07-08 연세대학교 산학협력단 Method for Operating Machine Learning Based Federated Distillation, Web Server and Terminal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251601A (en) * 2001-02-22 2002-09-06 Fuji Xerox Co Ltd Neural network processing device
KR20200002034A (en) * 2017-08-11 2020-01-07 구글 엘엘씨 On-Device Machine Learning Platform
KR20200083234A (en) * 2018-12-28 2020-07-08 연세대학교 산학협력단 Method for Operating Machine Learning Based Federated Distillation, Web Server and Terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"On In-network learning. A Comparative Study with Federated and Split Learning", arXiv.org, 2021.04.30. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024162728A1 (en) * 2023-01-30 2024-08-08 울산과학기술원 Meta-learning apparatus and method for personalized federated learning
KR102691001B1 (en) * 2023-03-02 2024-08-05 고려대학교산학협력단 Method and apparatus for optimizing shared score table for improving federated learning energy consumption efficiency
KR102675892B1 (en) * 2023-09-15 2024-06-17 주식회사 스마트코어 Method for improving global model performance by applying data quality weights of local models in federated learning and server using the same
KR102691523B1 (en) * 2023-11-29 2024-08-06 주식회사 스마트코어 Method for obtaining comformance index for business purpose in the process of creating global model in federated learning and server using the same

Also Published As

Publication number Publication date
KR102679861B1 (en) 2024-06-28

Similar Documents

Publication Publication Date Title
KR102679861B1 (en) Method and apparatus for federated learning
US20220391771A1 (en) Method, apparatus, and computer device and storage medium for distributed training of machine learning model
US20230107574A1 (en) Generating trained neural networks with increased robustness against adversarial attacks
US10958748B2 (en) Resource push method and apparatus
US11100399B2 (en) Feature extraction using multi-task learning
US20190370659A1 (en) Optimizing neural network architectures
CN112418292B (en) Image quality evaluation method, device, computer equipment and storage medium
CN109471978B (en) Electronic resource recommendation method and device
US20240135191A1 (en) Method, apparatus, and system for generating neural network model, device, medium, and program product
US11423307B2 (en) Taxonomy construction via graph-based cross-domain knowledge transfer
CN112668690B (en) Method and computer system for compressing neural network model
WO2019191266A1 (en) Object classification method, apparatus, server, and storage medium
Lu et al. Collaborative learning between cloud and end devices: an empirical study on location prediction
EP3767549A1 (en) Delivery of compressed neural networks
US20230252070A1 (en) Method and apparatus for training retrieval model, retrieval method and apparatus, device and medium
CN112214775A (en) Injection type attack method and device for graph data, medium and electronic equipment
JP2024504179A (en) Method and system for lightweighting artificial intelligence inference models
WO2019180314A1 (en) Artificial neural networks
CN116684330A (en) Traffic prediction method, device, equipment and storage medium based on artificial intelligence
CN113538070A (en) User life value cycle detection method and device and computer equipment
US11188035B2 (en) Continuous control of attention for a deep learning network
CN113034168A (en) Content item delivery method and device, computer equipment and storage medium
WO2024094094A1 (en) Model training method and apparatus
KR102346760B1 (en) Method, device and system for controling server for cctv image processing based on artificial intelligence
US20230177372A1 (en) Optimized selection of data for quantum circuits

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right