KR20220170583A - Method and apparatus for federated learning - Google Patents
Method and apparatus for federated learning Download PDFInfo
- 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
Links
- 230000013016 learning Effects 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000006870 function Effects 0.000 claims abstract description 30
- 238000010606 normalization Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 21
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000035045 associative learning Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols 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
Description
본 발명은 연합 학습 방법 및 이를 실행하는 장치에 관한 것으로, 연합 학습의 손실 함수 및 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
연합 학습 시스템(1000)에서 서버(200)와 복수의 단말(100)은 서로 연합하여 인공 지능(Artificial Intelligence; AI) 기반 학습 모델의 훈련을 수행한다.In the
연합 학습 과정에 대하여 살펴보면, 단말(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
서버(200)는 단말(100)의 로컬 모델에 대한 로컬 업데이트를 단말(100)로부터 수신하여 서버(200)에 저장된 글로벌 모델(global model)을 업데이트하고, 업데이트된 글로벌 모델을 단말(100)에게 전송한다.The
단말(100)은 수신된 글로벌 모델에 대한 업데이트에 기반하여 자신의 로컬 모델을 업데이트한다. 연합 학습 시스템(1000)에서 복수의 단말(100)과 서버(200)는 이와 같은 학습 과정을 복수 회(round) 반복하면서 로컬 모델 및 글로벌 모델을 업데이트하게 된다.The terminal 100 updates its own local model based on the received update to the global model. In the
초기 설정을 위하여, 단말(100)이 연합 학습에 참여를 개시하면, 서버(200)와 통신하여 글로벌 모델에 대한 정보를 수신한다. 예를 들어 단말(100)은 연합 학습을 구현한 어플리케이션(application)을 다운로드하여 설치할 때에 해당 시점의 글로벌 모델에 대한 정보를 획득한다.For initial setup, when the terminal 100 initiates participation in federated learning, it communicates with the
연합 학습의 일 라운드를 살펴보면, 단말(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
서버(200)는 수신된 로컬 업데이트(L_UPDATE)를 통합하여 업데이트된 글로벌 모델을 단말(100) 중 적어도 일부(즉, 제 2 세트의 단말)에게 전송(G_MODEL)한다.The
연합 학습 시스템(1000)은 종료 조건이 만족될 때까지 이와 같은 학습 라운드를 반복적으로 수행할 수 있다.The
여기서 단말(100)의 제 1 세트 및 제 2 세트는 각각 연합 학습 시스템(1000)에 포함된 단말(100)의 전체 집합의 부분 집합이고, 서로 간에 공통되는 단말(100)이 있을 수도 있고, 없을 수도 있다.Here, the first set and the second set of
예를 들어, 서버(200)는 단말(100)의 전체 집합 중에서 랜덤(random) 방식으로 제 1 세트 및/또는 제 2 세트를 결정할 수 있다. 일 예에서 서버(200)는 각 학습 라운드마다 제 1 세트 및/또는 제 2 세트를 다시 결정할 수 있다.For example, the
여기서 서버(200)는 단말(100)의 전체 집합 중에서 현재 서버(200)와의 연합 학습이 가능한 단말(100) 중에서 제 1 세트 및/또는 제 2 세트를 결정할 수 있다. 예를 들어, 서버(200)는 현재 서버(200)와의 연결성(connectivity)이 없는 단말(100)(도 1에서 점선 화살표)은 제외한 단말(100) 중에서 제 1 세트 및/또는 제 2 세트를 결정할 수 있다. 한편, 단말(100)은 서버(200)와의 연결성이 없는 상태에서도 로컬 데이터를 이용한 로켈 모델의 학습을 진행할 수 있다.Here, the
단말(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
도 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
단말(100)은 로컬 모델(120M) 및 로컬 데이터(120D)를 저장하는 메모리(120)를 포함한다. 단말(100)은 로컬 데이터(120D)를 이용하여 로컬 모델(120M)의 학습을 수행한다.The terminal 100 includes a
로컬 데이터(120D)는 단말(100)에서 수집한 사용자 데이터로서 로컬 모델(120M)의 학습을 위한 입력 데이터를 의미한다. 추가적으로 로컬 데이터(120D)는 로컬 모델(120M)의 학습 과정에서 산출된 중간 데이터 및 출력 데이터를 포함할 수 있다.The
로컬 모델(120M)은 단말(100)에 저장된 학습 모델로서, 서버(200)에 저장된 글로벌 모델에 대한 인스턴스(instance)에 대응한다. 여기서 학습 모델은 학습/추론 연산을 위한 인공신경망 기반의 다양한 머신 러닝 모델을 포함할 수 있다.The
메모리(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
메모리(120)는 프로세서(110)가 실행가능한 명령들(instructions)을 제공할 수 있다. 이러한 명령들은 프로세서(110)에서 실행되는 경우, 프로세서(110)가 실시예에 따른 연합 학습 과정을 실행하도록 한다.The
단말(100)은 프로세서(110)를 포함한다.The terminal 100 includes a
프로세서(110)는 일종의 중앙처리장치로서 메모리(120)에 저장된 하나 이상의 명령어를 실행하여 단말(100)의 연합 학습 과정을 실행할 수 있다.The
프로세서(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
프로세서(110)는, 서버(200)로부터 글로벌 모델의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득하고, 로컬 데이터(120D)에 기반하여 로컬 모델(120M)을 훈련하여, 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정하고, 글로벌 파라미터 값 및 로컬 파라미터 값에 기반하여 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정하고, 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 서버(200)에게 전송하고, 로컬 파라미터 값을 결정하기 위하여, 로컬 업데이트 값과 연계된 정규화항(regularizer) 및 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수를 이용하도록 구성될 수 있다.The
프로세서(110)는, 로컬 파라미터 값을 결정하기 위하여, 로컬 데이터(120D)의 양에 기반하여 가중치를 결정하도록 구성될 수 있다.
프로세서(110)는, 로컬 업데이트 값을 결정하기 위하여, 글로벌 파라미터 값 및 로컬 파라미터 값의 차분값을 로컬 업데이트 값으로 결정하도록 구성될 수 있다.The
일 예에서, 로컬 업데이트 값은 희소 행렬(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
서버(200)는 글로벌 모델(220M)을 저장하는 메모리(220)를 포함한다.The
서버(200)는 단말(100)로부터 수신한 로컬 업데이트를 통합하여 글로벌 모델(220M)의 학습을 수행한다.The
글로벌 모델(220M)은 서버(200)에 저장된 학습 모델이다. 여기서 학습 모델은 학습/추론 연산을 위한 인공신경망 기반의 다양한 머신 러닝 모델을 포함할 수 있다. 글로벌 모델(220M)은 단말(100)과 서버(200) 간의 연합 학습 과정에서 각 단말(100)에서 학습된 로컬 모델(120M)에 기반하여 업데이트된다.The
메모리(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
메모리(220)는 프로세서(210)가 실행가능한 명령들을 제공할 수 있다. 이러한 명령들은 프로세서(210)에서 실행되는 경우, 프로세서(210)가 실시예에 따른 연합 학습 과정을 실행하도록 한다.The
서버(200)는 프로세서(210)를 포함한다.
프로세서(210)는 일종의 중앙처리장치로서 메모리(220)에 저장된 하나 이상의 명령어를 실행하여 서버(200)의 연합 학습 과정을 실행할 수 있다.The
프로세서(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
프로세서(210)는, 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말(100)에게 전송하고, 복수의 단말(100) 중 적어도 일부로부터 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신하고, 로컬 업데이트 값에 기반하여 글로벌 모델을 업데이트하도록 구성될 수 있다. 여기서 로컬 업데이트 값은, 글로벌 파라미터 값 및 로컬 업데이트 값과 연계된 정규화항 및 정규화항에 대한 가중치에 의해 정의되는 연산항을 포함하는 로컬 목적 함수에 기반하여 결정된 제 2 세트의 파라미터에 대한 로컬 파라미터 값에 기반하여 단말(100)에 의해 결정된 값에 대응한다.The
프로세서(210)는, 단말(100)의 로컬 데이터(120D)의 양에 기반하여 가중치를 결정하도록 구성될 수 있다.The
일 예에서 로컬 업데이트 값은, 글로벌 파라미터 값 및 로컬 파라미터 값의 차분값에 따라 각 단말에 의해 결정될 수 있다.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
도 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
단계(S1)에서 프로세서(110)는 서버(200)로부터 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득할 수 있다.In step S1 , the
학습 모델의 파라미터는 모델 파라미터 및 하이퍼파라미터를 포함한다.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
단계(S1)에서 적어도 일부의 단말(100)은 서버(200)로부터 글로벌 모델(220M)의 글로벌 파라미터의 적어도 일부의 파라미터를 수신할 수 있다. 즉, 단계(S1)에서 적어도 일부의 단말(100)은 서버(200)로부터 글로벌 모델(220M)의 글로벌 파라미터 중 적어도 일부의 파라미터를 수신할 수 있다.In step S1 , at least some of the
프로세서(110)는 단계(S1)에서 서버(200)로부터 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 획득할 수 있다. 여기서 제 1 세트의 파라미터는 글로벌 모델(220M)의 모델 파라미터 집합의 부분 집합이다. 즉, 제 1 세트의 파라미터는 글로벌 모델(220M)의 글로벌 파라미터 전체 또는 글로벌 파라미터의 적어도 일부를 포함하는 집합이다.The
단계(S2)에서 프로세서(110)는 로컬 데이터(120D)에 기반하여 로컬 모델(120M)을 훈련(train)하여, 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 파라미터 값을 결정할 수 있다.In step S2, the
단계(S2)에서 프로세서(110)는 단말(100)에서 수집한 사용자 데이터를 포함한 로컬 데이터(120D)를 입력 데이터로 하여 단말(100)의 로컬 모델(120M)을 훈련할 수 있다.In step S2, the
훈련 결과 단계(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
단계(S2)에서 프로세서(110)는 로컬 목적 함수를 최소화하도록 로컬 모델(120M)을 훈련한다.In step S2, the
k번째 단말(100)의 t+1번째 라운드(round t+1)에서의 업데이트(학습) 는 다음과 같은 수학식 1로 나타낼 수 있다.Update (learning) in the t+1th round (round t+1) of the
여기서 는 k번째 단말(100)의 로컬 목적 함수(local objective function)이고, 는 정규화항을 사용하지 않았을 때의 k번째 단말(100)의 로컬 손실 함수(local loss function)이다. 또한, 는 단계(S1)에서 획득한 글로벌 모델의 제 1 세트의 파라미터의 글로벌 파라미터 값에 대응한다. 는 k번째 단말(100)의 정규화항에 대한 가중치를 의미한다.here Is the local objective function of the k-
로컬 목적 함수 는 로컬 손실 함수 및 연산항 의 합으로 정의된다.local objective function is the local loss function and operands is defined as the sum of
로컬 손실 함수 는 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 (CE, Cross Entropy)를 사용할 수 있으며, 이에 한정되지는 않는다.local loss function Mean Squared Error (MSE) or Cross Entropy (CE) may be used, but is not limited thereto.
로컬 손실 함수 는 이를 최소화하기 위한 학습 최적화 알고리즘을 이용하여 학습될 수 있다. 학습 최적화 알고리즘은 예를 들어 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등이 있다.local loss function 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.
연산항 은 로컬 업데이트 값과 연계된 정규화항(regularizer) 및 정규화항에 대한 가중치 의 곱셈으로 정의된다.operand is the regularizer associated with the local update value. and weights for regularization terms is defined as the multiplication of
일 예에서, 프로세서(110)는 로컬 업데이트 값과 연계된 정규화항 및 정규화항에 대한 가중치 에 의해 정의되는 연산항을 포함하는 로컬 목적 함수 에 기반하여 로컬 파라미터 값을 결정할 수 있다.In one example,
즉, 프로세서(110)는 로컬 목적 함수 를 최소화하는 파라미터 값 을 단말(100)의 로컬 파라미터 값 으로 결정할 수 있다.That is, the
여기서, 정규화항 은 글로벌 파라미터 값 및 제 2 세트의 파라미터에 대한 로컬 파라미터 값 에 기반한 L1-norm으로 정의된다.Here, the regularization term is the global parameter value and local parameter values for the second set of parameters. It is defined as an L1-norm based on
L1-norm 을 정규화항으로 사용하면, 단계(S3)에서 후술할 가 가 희소(sparse)해진다. 즉, 매 라운드마다 대신에 을 보낸다면, 전송하는 데이터의 양이 더 적어진다. 매우 작은 값들을 보내는 것은 보내는 데이터의 양은 많지만 실제 모델에 미치는 영향은 적다. 이런 면에서 L1-norm을 사용하는 것이 유리하다.L1-norm When is used as a normalization term, the becomes sparse. i.e. every round Instead of , 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)에서 후술한다. 일 예에서 모든 로컬 모델의 정규화항에 대한 가중치 가 동일하게 사용된다. 일 예에서 정규화항에 대한 가중치 를 각 로컬 모델에 따라 다르게 사용할 수 있다. 이 경우, 단계(S2)는 정규화항에 대한 가중치 를 결정하는 단계를 포함할 수 있다. 가중치 는 정규화항의 비중을 결정하는 값으로 실험적으로 결정될 수 있다.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 is used identically. Weight for regularization term in one example may be used differently depending on each local model. In this case, step S2 is the weight for the regularization term. It may include the step of determining. weight is a value that determines the weight of the normalization term and can be experimentally determined.
일 예에서, 프로세서(110)는 로컬 데이터(120D)의 양에 기반하여 가중치 를 결정할 수 있다.In one example,
예를 들어, 로컬 데이터(120D)의 양이 작은 단말(100)은 를 더 크게 조정할 수 있다. 일 예에서 는 단말(100) 마다 다르게 설정할 수 있다. 가 클수록L1-norm 정규화의 영향이 커져서 가 더 희소해진다. 딘말(100)의 데이터량이 적은 기기는 후술할 수학식 3에 의해 실제 서버(200)로 전송할 로컬 업데이트 값이 배로 작아진다. 매우 작은 값들을 보내는 것이 통신 자원의 낭비이므로, 통신의 효율을 높이기 위해 사용될 수 있다. For example, the terminal 100 with a small amount of
단계(S3)에서 프로세서(110)는 글로벌 파라미터 값 및 로컬 파라미터 값에 기반하여 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 결정할 수 있다.In step S3, the
단계(S3)은 프로세서(110)가 글로벌 파라미터 값 및 로컬 파라미터 값의 차분값을 로컬 업데이트 값으로 결정하는 단계를 포함한다. Step S3 includes determining, by the
프로세서(110)는 다음의 수학식 2에 따라 로컬 업데이트 값을 결정할 수 있다.The
여기서 은 단계(S2)에서 결정된 k번째 단말(100)의 로컬 파라미터 값이고, 는 단계(S1)에서 서버(200)로부터 획득한 글로벌 파라미터 값을 의미한다.here Is the local parameter value of the k-
즉, 프로세서(110)는 단계(S3)에서 수학식 2에 따라 차분값 을 t+1 번째 라운드(round t+1)의 k번째 단말(100)의 로컬 업데이트 값으로 결정한다.That is, the
일 예에서, 수학식 2에 따른 로컬 업데이트 값은 희소 행렬(sparse matrix) 또는 희소 벡터(sparse vector)로 표현될 수 있다. 이는 수학식 1에서 L1-norm 을 정규화항으로 사용하므로, 차분값 이 희소(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
즉, L1-norm regularizer를 사용할 경우, 로컬 업데이트 값 이 희소해진다. 예를 들어, L1-norm regularizer를 적용할 경우, L2-norm regularizer를 사용하거나 정규화항을 사용하지 않았을 때 보다, 의 항들 중 0의 값에 근접하는 항이 많아지게 된다.That is, when using the L1-norm regularizer, the local update value 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, Among the terms of , the number of terms approaching a value of 0 increases.
후속하여 단계(S4)에서 프로세서(110)는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 서버(200)에게 전송할 수 있다.Subsequently, in step S4, the
예를 들어, 프로세서(110)는 단계(S3)에서 결정된 로컬 업데이트 값 또는 로컬 업데이트 값을 압축한 값을 서버(200)에게 전송할 수 있다. 이로써 서버(200)로 통신 라운드 당 전송할 데이터량이 감소되어 연합 학습의 통신 효율을 개선할 수 있다.For example, the
즉, k번째 단말(100)에서 대신에 희소한 를 전송하거나 이를 압축해서 전송할 수 있다. 희소한 벡터의 경우, 압축 효율이 더 높기 때문에 통신 효율성을 개선할 수 있다.That is, in the k-
단말(100)로부터 각 단말(100)의 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신한 서버(200)는 이들 로컬 업데이트 값에 기초하여 글로벌 모델(220M)을 업데이트하게 된다. 이에 대하여는 도 5를 참조하여 설명한다.The
한편, 단계(S2)의 수학식 1에서 가 소정의 임계치(threshold)보다 작은 단말(100)에 L1-norm을 정규화 항으로 사용하고, 가 소정의 임계치보다 큰 단말(100)에는 L1-norm 대신 L2-norm을 사용하거나, 또는 정규화항을 사용하지 않을 수도 있다.On the other hand, in
도 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
실시예에 따른 연합 학습 방법은 서버(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
단계(SS1)에서 프로세서(210)는 글로벌 모델(220M)의 제 1 세트의 파라미터에 대한 글로벌 파라미터 값을 복수의 단말(100)에게 전송한다.In step SS1, the
제 1 세트의 파라미터는 글로벌 모델(220M)을 정의하는 글로벌 파라미터의 전체 집합의 부분 집합 중 하나이다. 글로벌 파라미터는 글로벌 모델(220M)을 정의하는 파라미터로서, 글로벌 모델(220M)의 모델 파라미터 및 하이퍼파라미터를 포함한다.The first set of parameters is one of a subset of the full set of global parameters defining
복수의 단말(100)은 연합 학습 시스템(1000)에 속한 단말(100)의 전체 집합의 부분 집합 중 하나로, 프로세서(210)는 단계(SS1)에서 랜덤(random) 방식으로 복수의 단말(100)을 선택할 수 있다.The plurality of
단계(SS2)에서 프로세서(210)는 복수의 단말(100) 중 적어도 일부로부터 제 1 세트의 파라미터 중 적어도 일부에 대응하는 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신한다.In step SS2, the
예를 들어, 단계(SS2)에서 서버(200)는 복수의 단말(100) 중 서버(200)와의 연결성을 상실한 단말(100)을 제외한 단말(100)로부터 제 2 세트의 파라미터에 대한 로컬 업데이트 값을 수신할 수 있다.For example, in step SS2, the
단계(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
단계(SS3)에서 프로세서(210)는 단계(SS2)에서 수신된 로컬 업데이트 값에 기반하여 글로벌 모델(220M)을 업데이트한다.In step SS3, the
단계(SS3)에서 프로세서(210)는 다음의 수학식 3에 의해 글로벌 모델(220M)을 업데이트할 수 있다.In step SS3, the
즉, 서버(200)는 K개의 단말(100)로부터 수신된 로컬 업데이트 값()으로부터 다음과 같이 t+1번째 라운드(round t+1)의 글로벌 모델을 결정한다.That is, the
여기서 는 k번째 단말(100)이 가지고 있는 로컬 데이터(120D)의 양이다. n은 K개의 단말(100)의 로컬 데이터(120D)의 양을 합산한 전체 로컬 데이터(120D)의 양을 의미한다.here is the amount of
실시예에 따른 연합 학습 방법은 단계(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
일 예에서 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
도 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
서버(200)가 단계(SS1)에서 전송한 글로벌 파라미터를 단말(100)이 단계(S1)에서 수신한다.The terminal 100 receives the global parameters transmitted by the
단말(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
서버(200)는 단계(SS2)에서 각 단말(100)로부터 로컬 업데이트 값을 수신하고 단계(SS3)을 수행하여 글로벌 모델을 업데이트한다.The
소정의 반복 횟수(라운드 T)에 도달하거나 또는 소정의 종료 조건을 만족할 때까지, 서버(200)는 업데이트된 글로벌 모델에 기반하여 단계(SS1)을 다시 실행한다.Until a predetermined number of iterations (round T) is reached or a predetermined end condition is satisfied, the
도 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
서버(200)는 글로벌 파라미터를 초기화(initialize)하고, 이하의 과정을 T번의 라운드 동안 반복(iteration)하여 실행한다.The
우선, 서버(200)는 K 개의 단말(100)을 선택하여 글로벌 파라미터 값()를 매개 인자로 전송한다.First, the
단말(100)은 수신된 글로벌 파라미터 값()에 대한 로컬 파라미터 값()을 결정하고, 로컬 업데이트 값()을 계산하여 서버(200)에게 전송한다.The terminal 100 receives the global parameter value ( ) for the local parameter value ( ) is determined, and the local update value ( ) is calculated and transmitted to the
각 단말(100)로부터 로컬 업데이트 값()을 수신한 서버(200)는 글로벌 파라미터 값()을 집계 및 업데이트한다.Local update values from each terminal 100 ( ), the
서버(200)는 업데이트한 글로벌 파라미터()를 다음 라운드에 참여하는 단말(100)에게 전송한다.The
전술한 본 발명의 일 실시예에 따른 방법은 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, 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.
상기 로컬 파라미터 값을 결정하는 단계는,
상기 단말에 의해, 상기 단말의 로컬 데이터의 양에 기반하여 상기 가중치를 결정하는 단계
를 포함하는,
연합 학습 방법.
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.
상기 로컬 업데이트 값을 결정하는 단계는,
상기 단말에 의해, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값의 차분값을 상기 로컬 업데이트 값으로 결정하는 단계
를 포함하는,
연합 학습 방법.
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.
상기 로컬 업데이트 값은 희소 행렬(sparse matrix) 또는 희소 벡터(sparse vector)로 표현되는,
연합 학습 방법.
According to claim 1,
The local update value is represented by a sparse matrix or sparse vector,
federated learning method.
상기 정규화항은 상기 글로벌 파라미터 값 및 상기 제 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.
상기 가중치는, 연합 학습이 진행되는 동안 모든 로컬 모델에 있어 동일하게 결정되거나 상기 단말의 로컬 데이터의 양에 기반하여 결정되는,
연합 학습 방법.
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.
상기 로컬 업데이트 값은, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값의 차분값에 따라 결정되는,
연합 학습 방법.
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.
상기 정규화항은 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값에 기반한 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.
상기 프로세서는,
상기 로컬 파라미터 값을 결정하기 위하여,
연합 학습이 진행되는 동안 모든 로컬 모델에 있어 동일하게 상기 가중치를 결정하거나 또는 상기 로컬 데이터의 양에 기반하여 상기 가중치를 결정하도록 구성되는,
단말.
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.
상기 프로세서는,
상기 로컬 업데이트 값을 결정하기 위하여,
상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값의 차분값을 상기 로컬 업데이트 값으로 결정하도록 구성되는,
단말.
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.
상기 로컬 업데이트 값은 희소 행렬 또는 희소 벡터로 표현되는,
단말.
According to claim 10,
The local update value is represented by a sparse matrix or sparse vector,
Terminal.
상기 정규화항은 상기 글로벌 파라미터 값 및 상기 제 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.
상기 프로세서는,
연합 학습이 진행되는 동안 모든 로컬 모델에 있어 동일하게 상기 가중치를 결정하거나 상기 단말의 로컬 데이터의 양에 기반하여 상기 가중치를 결정하도록 구성되는,
서버.
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.
상기 로컬 업데이트 값은, 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값의 차분값에 따라 각 단말에 의해 결정되는,
서버.
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.
상기 정규화항은 상기 글로벌 파라미터 값 및 상기 로컬 파라미터 값에 기반한 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.
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)
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)
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 |
-
2021
- 2021-06-23 KR KR1020210081600A patent/KR102679861B1/en active IP Right Grant
Patent Citations (3)
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)
Title |
---|
"On In-network learning. A Comparative Study with Federated and Split Learning", arXiv.org, 2021.04.30. * |
Cited By (4)
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 |