KR102390553B1 - Federated learning method and system - Google Patents

Federated learning method and system Download PDF

Info

Publication number
KR102390553B1
KR102390553B1 KR1020210016897A KR20210016897A KR102390553B1 KR 102390553 B1 KR102390553 B1 KR 102390553B1 KR 1020210016897 A KR1020210016897 A KR 1020210016897A KR 20210016897 A KR20210016897 A KR 20210016897A KR 102390553 B1 KR102390553 B1 KR 102390553B1
Authority
KR
South Korea
Prior art keywords
model
model parameter
parameter
compressed
machine learning
Prior art date
Application number
KR1020210016897A
Other languages
Korean (ko)
Inventor
강준혁
이영준
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Application granted granted Critical
Publication of KR102390553B1 publication Critical patent/KR102390553B1/en

Links

Images

Classifications

    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/42
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Security & Cryptography (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)

Abstract

Disclosed are a method and system for associated learning. The method for associated learning according to one embodiment comprises: a step of training a machine learning model; a step of compressing a first model parameter of the machine learning model; a step of transmitting the compressed first model parameter to a parameter server; a step of receiving a generated general model parameter based on the compressed model parameter in the parameter server; a step of obtaining a second model parameter by restoring the general model parameter; and a step of initializing the machine learning model based on the second model parameter. Therefore, the present invention is capable of providing a technology that protects personal information.

Description

연합 학습 방법 및 시스템{FEDERATED LEARNING METHOD AND SYSTEM}FEDERATED LEARNING METHOD AND SYSTEM

아래 개시는 연합 학습 방법 및 시스템에 관한 것이다.The disclosure below relates to a federated learning method and system.

휴대 전화, 웨어러블 기기 및 자율 주행 차량과 같이 다량의 데이터를 생성하는 스마트 디바이스의 폭발적인 증가로 인해 높은 연산량을 만족시키기 위한 클라우드 컴퓨팅 및 엣지 컴퓨팅이 이용되고 있다.Cloud computing and edge computing are being used to satisfy a high amount of computation due to the explosive increase in smart devices that generate a large amount of data, such as mobile phones, wearable devices, and autonomous vehicles.

종래의 기술들인 클라우드 컴퓨팅 및 엣지 컴퓨팅 방법은 클라이언트의 로컬 데이터를 타 클라이언트로 보내면서 생기는 개인정보 노출에 대한 우려가 발생한다.Cloud computing and edge computing methods, which are conventional technologies, raise concerns about personal information exposure caused by sending local data of a client to another client.

종래의 클라우드 컴퓨팅 방식은 스마트 디바이스로부터 데이터를 파라미터로 전송할 때 많은 데이터 양으로 인해 네트워크 통신 병목현상이 발생한다.In the conventional cloud computing method, when transmitting data from a smart device as a parameter, a network communication bottleneck occurs due to a large amount of data.

종래의 엣지 컴퓨팅 연구에서는 클라이언트의 위치에 따라 실시간으로 컴퓨팅이 가능한 엣지 디바이스를 연결해 컴퓨팅 소스를 공유하는 엣지 컴퓨팅 방법이 있다. 다만, 이러한 방법도 클라이언트의 기계 학습 성능이 클라우드 컴퓨팅에 비해 떨어진다는 단점이 있다.In the conventional edge computing research, there is an edge computing method in which a computing source is shared by connecting an edge device capable of computing in real time according to the location of a client. However, this method also has a disadvantage in that the client's machine learning performance is inferior to that of cloud computing.

위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.The background art described above is possessed or acquired by the inventor in the process of deriving the disclosure of the present application, and cannot necessarily be said to be a known technology disclosed to the general public prior to the present application.

아래 실시예들은 연합 학습에 있어, 네트워크 통신 병목 현상을 완화하고, 개인 정보를 보호할 수 있는 기술을 제공할 수 있다.The following embodiments may provide a technology capable of alleviating a network communication bottleneck and protecting personal information in federated learning.

다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical tasks are not limited to the above-described technical tasks, and other technical tasks may exist.

일 실시예에 따른 학습 방법은, 기계 학습 모델을 학습하는 단계와, 상기 기계 학습 모델의 제1 모델 파라미터를 압축하는 단계와, 압축된 상기 제1 모델 파라미터를 파라미터 서버로 전송하는 단계와, 상기 파라미터 서버에서 압축된 모델 파라미터에 기초하여 생성한 일반 모델 파라미터를 수신하는 단계와, 상기 일반 모델 파라미터를 복원하여 제2 모델 파라미터를 획득하는 단계와, 상기 제2 모델 파라미터에 기초하여 상기 기계 학습 모델을 초기화하는 단계를 포함한다.A learning method according to an embodiment includes the steps of: learning a machine learning model; compressing a first model parameter of the machine learning model; and transmitting the compressed first model parameter to a parameter server; Receiving a general model parameter generated based on the compressed model parameter from a parameter server, restoring the general model parameter to obtain a second model parameter, and the machine learning model based on the second model parameter Including the step of initializing.

상기 압축하는 단계는, 뉴럴 네트워크를 통해 상기 제1 모델 파라미터를 압축하는 단계를 포함할 수 있다.The compressing may include compressing the first model parameter through a neural network.

상기 일반 모델 파라미터는, 상기 파라미터 서버가 수신한 복수의 압축된 모델 파라미터의 성분 별 평균에 기초하여 생성될 수 있다.The general model parameter may be generated based on an average for each component of a plurality of compressed model parameters received by the parameter server.

상기 성분 별 평균은, 동일한 인덱스의 성분들 중 0이 아닌 성분들의 평균일 수 있다.The average for each component may be an average of non-zero components among components of the same index.

상기 획득하는 단계는, 뉴럴 네트워크를 통해 상기 제2 모델 파라미터를 획득하는 단계를 포함할 수 있다.The acquiring may include acquiring the second model parameter through a neural network.

상기 제1 모델 파라미터 및 상기 제2 모델 파라미터는, 1차원 벡터일 수 있다.The first model parameter and the second model parameter may be a one-dimensional vector.

일 실시예에 따른 학습 방법은, 복수의 클라이언트로부터 압축된 모델 파라미터들을 수신하는 단계와, 상기 압축된 모델 파라미터들의 성분 별 평균에 기초하여 일반 모델 파라미터를 생성하는 단계와, 상기 일반 모델 파라미터를 상기 복수의 클라이언트로 전송하는 단계를 포함한다.The learning method according to an embodiment includes the steps of: receiving compressed model parameters from a plurality of clients; generating a general model parameter based on an average of each component of the compressed model parameters; and transmitting to a plurality of clients.

상기 성분 별 평균은, 동일한 인덱스의 성분들 중 0이 아닌 성분들의 평균일 수 있다.The average for each component may be an average of non-zero components among components of the same index.

생성하는 단계는, 상기 압축된 모델 파라미터들 중 일부를 선택하는 단계와, 상기 일부에 기초하여 상기 일반 모델 파라미터를 생성하는 단계를 포함할 수 있다.The generating may include selecting some of the compressed model parameters and generating the general model parameters based on the some.

일 실시예에 따른 연합 학습을 수행하는 전자 장치는, 인스트럭션들을 포함하는 메모리와, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는, 기계 학습 모델을 학습하고, 기계 학습 모델을 학습하고, 상기 기계 학습 모델의 제1 모델 파라미터를 압축하고, 압축된 상기 제1 모델 파라미터를 파라미터 서버로 전송하고, 상기 파라미터 서버에서 압축된 모델 파라미터에 기초하여 생성한 일반 모델 파라미터를 수신하고, 상기 일반 모델 파라미터를 복원하여 제2 모델 파라미터를 획득하고, 상기 제2 모델 파라미터에 기초하여 상기 기계 학습 모델을 초기화한다.An electronic device for performing federated learning according to an embodiment includes a memory including instructions and a processor for executing the instructions, and when the instructions are executed by the processor, the processor generates a machine learning model learning, learning the machine learning model, compressing the first model parameters of the machine learning model, sending the compressed first model parameters to the parameter server, and generating based on the compressed model parameters in the parameter server Receive a general model parameter, restore the general model parameter to obtain a second model parameter, and initialize the machine learning model based on the second model parameter.

상기 프로세서는, 상기 압축하는 단계는, 뉴럴 네트워크를 통해 상기 제1 모델 파라미터를 압축할 수 있다.In the compressing, the processor may compress the first model parameter through a neural network.

상기 일반 모델 파라미터는, 상기 파라미터 서버가 수신한 복수의 압축된 모델 파라미터의 성분 별 평균에 기초하여 생성될 수 있다.The general model parameter may be generated based on an average for each component of a plurality of compressed model parameters received by the parameter server.

상기 성분 별 평균은, 동일한 인덱스의 성분들 중 0이 아닌 성분들의 평균일 수 있다.The average for each component may be an average of non-zero components among components of the same index.

상기 프로세서는, 뉴럴 네트워크를 통해 상기 제2 모델 파라미터를 획득할 수 있다.The processor may acquire the second model parameter through a neural network.

상기 제1 모델 파라미터 및 상기 제2 모델 파라미터는, 1차원 벡터일 수 있다.The first model parameter and the second model parameter may be a one-dimensional vector.

일 실시예에 따른 연합 학습을 수행하는 서버는, 인스트럭션들을 포함하는 메모리와, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는, 복수의 클라이언트로부터 압축된 모델 파라미터들을 수신하고, 상기 압축된 모델 파라미터들의 성분 별 평균에 기초하여 일반 모델 파라미터를 생성하고, 상기 일반 모델 파라미터를 상기 복수의 클라이언트로 전송한다.A server for performing federated learning according to an embodiment includes a memory including instructions and a processor for executing the instructions, and when the instructions are executed by the processor, the processor is compressed from a plurality of clients Received model parameters, generate a general model parameter based on the component-by-component average of the compressed model parameters, and transmit the general model parameter to the plurality of clients.

상기 성분 별 평균은, 동일한 인덱스의 성분들 중 0이 아닌 성분들의 평균일 수 있다.The average for each component may be an average of non-zero components among components of the same index.

상기 프로세서는, 상기 압축된 모델 파라미터들 중 일부를 선택하고, 상기 일부에 기초하여 상기 일반 모델 파라미터를 생성할 수 있다.The processor may select some of the compressed model parameters and generate the general model parameters based on the portions.

도 1은 일 실시예에 따른 연합 학습 방법을 개념적으로 설명하기 위한 도면이다.
도 2는 연합 학습 방법을 상세히 설명하기 위한 도면이다.
도 3a 은 연합 학습 방법의 업데이트 동작을 설명하기 위한 도면이고, 도 3b는 업데이트 동작의 흐름도이다.
도 4a는 연합 학습 방법의 실행 동작을 설명하기 위한 도면이고, 도 4b는 실행 동작의 흐름도이다.
도 5a는 연합 학습 방법의 다운로드 동작을 설명하기 위한 도면이고, 도 5b는 다운로드 동작의 흐름도이다.
도 6은 일 실시예에 따른 연합 학습 시스템을 나타낸다.
1 is a diagram for conceptually explaining a federated learning method according to an embodiment.
2 is a diagram for explaining in detail a method of associative learning.
3A is a diagram for explaining an update operation of the federated learning method, and FIG. 3B is a flowchart of the update operation.
4A is a diagram for explaining an execution operation of the federated learning method, and FIG. 4B is a flowchart of the execution operation.
5A is a diagram for explaining a download operation of the federated learning method, and FIG. 5B is a flowchart of the download operation.
6 shows a federated learning system according to an embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be changed and implemented in various forms. Accordingly, the actual implementation form is not limited to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit described in the embodiments.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various elements, these terms should be interpreted only for the purpose of distinguishing one element from another. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected to” another component, it may be directly connected or connected to the other component, but it should be understood that another component may exist in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not

이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same components are assigned the same reference numerals regardless of the reference numerals, and overlapping descriptions thereof will be omitted.

도 1은 일 실시예에 따른 연합 학습 방법을 개념적으로 설명하기 위한 도면이다.1 is a diagram for conceptually explaining a federated learning method according to an embodiment.

연합 학습 방법(10)은 파라미터 서버(parameter server; 100)의 조정 하에 클라이언트(client; 150)가 로컬 데이터를 기반으로 학습한 기계 학습 모델을 중앙으로 취합 후 실행(execute)하여 최적화된 일반 모델(General Model)을 클라이언트(150)에게 다운로드하는 학습 방법일 수 있다.The federated learning method 10 is an optimized general model ( General Model) may be a learning method for downloading to the client 150 .

연합 학습 방법(10)은 다수의 디바이스를 포함하는 통신 환경에 적용될 수 있다. 연합 학습 방법(10)은 파라미터 서버(100)가 클라이언트(150)로부터 기계 학습 모델을 획득하고, 획득한 기계 학습 모델에 기초하여 생성한 일반 모델을 클라이언트(150)에게 지속적으로 배포함으로써 클라이언트(150)의 기계 학습 모델의 성능을 최대한 높이면서, 클라이언트(150)의 사생활 침해를 방지할 수 있다.The federated learning method 10 may be applied to a communication environment including a plurality of devices. In the federated learning method 10 , the parameter server 100 acquires a machine learning model from the client 150 , and continuously distributes a general model generated based on the acquired machine learning model to the client 150 . ), while maximizing the performance of the machine learning model, it is possible to prevent invasion of privacy of the client 150 .

복수의 클라이언트(150)들은 로컬 에포크(local epoch)만큼 기계 학습 모델을 학습시키고, 학습된 각각의 기계 학습 모델들을 파라미터 서버(100)에서 취합 후 글로벌 일반 학습 모델이 생성하여 복수의 클라이언트(150)들에 전송되는 동작이 에포크(global epoch)만큼 수행될 수 있다.A plurality of clients 150 train a machine learning model by a local epoch, and after collecting each learned machine learning model in the parameter server 100, a global general learning model is generated and a plurality of clients 150 An operation transmitted to the epochs may be performed as many as epochs (global epoch).

연합 학습 방법(10)은 클라이언트(150)의 로컬 데이터가 교환 및/또는 전송되지 않고, 클라이언트(150)의 기계 학습 모델의 모델 파라미터(Model Parameter)가 파라미터 서버(100)로 전송됨으로써 개인정보 누출을 방지할 수 있다.In the federated learning method 10, the local data of the client 150 is not exchanged and/or transmitted, and the model parameter of the machine learning model of the client 150 is transmitted to the parameter server 100, thereby leaking personal information. can prevent

연합 학습 방법(10)은 클라이언트(150)의 기계 학습 모델의 모델 파라미터를 압축하여 모델에 업데이트함으로써 네트워크 통신 병목 현상을 완화시킬 수 있다.The federated learning method 10 may alleviate the network communication bottleneck by compressing and updating the model parameters of the machine learning model of the client 150 to the model.

파라미터 서버(100)는 전송된 압축된 모델 파라미터에 기초하여 최적화된 일반 모델을 성분 별 평균 계산 방식(element-wise averaging)을 통해 생성할 수 있고, 클라이언트(150)는 최적화된 일반 모델을 다운로드할 수 있다.The parameter server 100 may generate an optimized general model through element-wise averaging based on the transmitted compressed model parameters, and the client 150 may download the optimized general model. can

도 2는 연합 학습 방법을 상세히 설명하기 위한 도면이다.2 is a diagram for explaining in detail a method of associative learning.

클라이언트(150)는 로컬 데이터(예를 들어, 이미지 데이터(image data))를 이용하여 기계 학습 모델을 학습시킬 수 있다. 예를 들어, 클라이언트(150)는 로컬 에포크(local epoch)만큼 기계 학습 모델을 학습할 수 있다. 학습이 완료된 기계 학습 모델의 모델 파라미터는 압축될 수 있다. 압축된 모델 파라미터(Compressed Model Parameters)는 파라미터 서버(100)로 전송될 수 있다. 복수의 클라이언트(150)들의 로컬 학습, 압축 및 전송 동작은 업데이트(update) 동작일 수 있다.The client 150 may train the machine learning model using local data (eg, image data). For example, the client 150 may learn the machine learning model by local epochs. The model parameters of the machine learning model for which training is completed may be compressed. Compressed model parameters may be transmitted to the parameter server 100 . Local learning, compression, and transmission operations of the plurality of clients 150 may be update operations.

파라미터 서버(100)는 클라이언트(150)로부터 수신한 압축된 모델 파라미터에 기초하여 일반 모델(General model)을 생성할 수 있다. 일반 모델의 모델 파라미터를 일반 모델 파라미터라고 지칭하도록 한다. 파라미터 서버(100)는 복수의 클라이언트(150) 중 무작위로 선택된 일부 클라이언트(150)로부터 수신한 압축된 모델 파라미터들의 조합인 조합 모델(Combined model)에 기초하여 일반 모델 파라미터를 생성할 수 있다. 파라미터 서버(100)는 성분 별 평균 계산 방식(element-wise averaging)을 통해 일반 모델 파라미터를 생성할 수 있다. 파라미터 서버(100)의 일반 모델 생성 동작은 실행(execute) 동작일 수 있다.The parameter server 100 may generate a general model based on the compressed model parameters received from the client 150 . The model parameters of the general model are referred to as general model parameters. The parameter server 100 may generate general model parameters based on a combined model that is a combination of compressed model parameters received from some randomly selected clients 150 among the plurality of clients 150 . The parameter server 100 may generate general model parameters through element-wise averaging. The general model creation operation of the parameter server 100 may be an execute operation.

클라이언트(150)는 파라미터 서버(100)로부터 일반 모델 파라미터를 수신할 수 있다. 클라이언트(150)는 일반 모델 파라미터를 복원하여 기계 학습 모델의 모델 파라미터를 획득할 수 있다. 즉, 클라이언트(150)는 최적화된 일반 모델 파라미터를 기계 학습 모델에 적합하도록 복원하여 기계 학습 모델을 초기화(initialization)할 수 있다. 클라이언트(150)의 일반 모델 파라미터 수신, 기계 학습 모델 파라미터의 복원 및 기계 학습 모델 초기화 동작은 다운로드(download) 동작일 수 있다.The client 150 may receive the general model parameters from the parameter server 100 . The client 150 may obtain the model parameters of the machine learning model by restoring the general model parameters. That is, the client 150 may initialize the machine learning model by restoring the optimized general model parameters to be suitable for the machine learning model. The general model parameter reception, machine learning model parameter restoration, and machine learning model initialization operations of the client 150 may be download operations.

도 3a 은 연합 학습 방법의 업데이트 동작을 설명하기 위한 도면이고, 도 3b는 업데이트 동작의 흐름도이다.3A is a diagram for explaining an update operation of the federated learning method, and FIG. 3B is a flowchart of the update operation.

클라이언트(150)는 로컬 데이터에 기초하여 기계 학습 모델을 학습시킬 수 있다(310). 클라이언트(150)는 로컬 에포크만큼 학습이 진행되었는지 확인할 수 있고(320), 학습이 완료된 기계 학습 모델의 모델 파라미터를 압축시킬 수 있다(330).The client 150 may train a machine learning model based on local data ( 310 ). The client 150 may check whether learning has progressed as much as the local epoch ( 320 ), and may compress the model parameters of the machine learning model on which the learning is completed ( 330 ).

모델 파라미터의 압축은 수학식 1과 같이 나타낼 수 있다. 수학식 1에서 i는 특정 클로벌 에포크를 나타내고, k는 특정 클라이언트(150)를 나타내고,

Figure 112021015285457-pat00001
은 클라이언트(150)의 모델 파라미터를 나타내고,
Figure 112021015285457-pat00002
는 압축된 모델 파라미터를 나타낸다.The compression of the model parameters can be expressed as Equation (1). In Equation 1, i represents a specific global epoch, k represents a specific client 150,
Figure 112021015285457-pat00001
represents the model parameters of the client 150,
Figure 112021015285457-pat00002
represents the compressed model parameters.

Figure 112021015285457-pat00003
Figure 112021015285457-pat00003

모델 파라미터는 1차원 구조의 벡터일 수 있다. 클라이언트(150)는 모델 파라미터의 정보를 유지하면서 압축하기 위해 1차원 벡터 구조를 반영할 수 있는 뉴럴 네트워크를 인코더로 이용하여 모델 파라미터를 압축할 수 있다. 클라이언트(150)는 인코더로 컨벌루션 네트워크(Convolutional neural network(CNN))을 이용하여 모델 파라미터를 압축할 수 있다. 예를 들어, CNN은 Imagenet, CIFAR-10 및 CIFAR-100일 수 있으며, 공개된 데이터셋으로 사전 학습된(pretrained) 두 개의 1차원 컨벌루션 레이어(1D convolutional layer(Conv1D)) 및 맥스풀링 레이어(Maxpooling layer)를 포함할 수 있다.The model parameter may be a vector of a one-dimensional structure. The client 150 may compress the model parameters by using a neural network capable of reflecting a one-dimensional vector structure as an encoder in order to compress the model parameters while maintaining information. The client 150 may compress model parameters using a convolutional neural network (CNN) as an encoder. For example, the CNN may be Imagenet, CIFAR-10, and CIFAR-100, and two one-dimensional convolutional layers (1D convolutional layer (Conv1D)) and Maxpooling layers pretrained with a public dataset. layer) may be included.

1차원 컨볼루션 레이어는 컨벌루션 마스크(convolutional mask) 및 공유 가중치(shared weights)를 통해 모델 파라미터의 특징(feature)을 추출할 수 있다. 1차원 컨볼루션 레이어 가 중첩됨으로써 더 복잡한 특징들이 추출될 수 있다. 압축된 모델 파라미터(

Figure 112021015285457-pat00004
)는 추출된 특징들에 기초하여 맥스풀링 레이어를 통해 생성될 수 있다. 맥스 풀링 레이어는 마스크로 가려진 공간에서 가장 큰 값을 추출함으로써, 복잡도(complexity)를 낮추며 병진 불변성(translational invariance)을 보장할 수 있다.The one-dimensional convolutional layer may extract features of model parameters through a convolutional mask and shared weights. By superimposing one-dimensional convolutional layers, more complex features can be extracted. compressed model parameters (
Figure 112021015285457-pat00004
) may be generated through the maxpooling layer based on the extracted features. The max pooling layer can reduce complexity and guarantee translational invariance by extracting the largest value from a space covered by a mask.

첫번째 1차원 컨벌루션 레이어에 모델 파라미터가 입력될 수 있고, 1차원 컨벌루션 레이어는 1*5의 컨벌루션 마스크(convolutional mask)를 사용하여 로우 레벨 특징(low level feature)들을 추출할 수 있다. 예를 들어, 로우 레벨 특징은 기계 학습 모델의 두 레이어 사이 상호관계 및 연관성을 포함할 수 있다.A model parameter may be input to the first 1D convolutional layer, and the 1D convolutional layer may extract low level features using a 1*5 convolutional mask. For example, low-level features may include correlations and associations between two layers of a machine learning model.

두번째 1차원 컨벌루션 레이어는 1*5의 컨벌루션 마스크를 사용하여 하이 레벨 특징(high level feature)들을 추출할 수 있ㄷ다. 예를 들어, 하이 레벨 특징은 로우 레벨 특징에 기초하여 추론할 수 있는 특징들로써, 입력 데이터로부터 추출된 모델 파라미터의 공간적 분포 패턴을 포함할 수 있다.The second one-dimensional convolutional layer can extract high level features using a 1*5 convolution mask. For example, high-level features are features that can be inferred based on low-level features, and may include a spatial distribution pattern of model parameters extracted from input data.

마지막 레이어는 1*2 맥스 풀링(max pooling)을 수행할 수 있다. 맥스 불링은 1*n 마스크 내에서 최대값 하나를 남김으로써, 데이터의 크기를 줄여 복잡도를 낮추고, 선형적으로 약간 이동된 데이터를 동일 데이터로 인식할 수 있도록 하여 병진 불변성을 보장할 수 있다.The last layer may perform 1*2 max pooling. By leaving one maximum value in the 1*n mask, max bulling reduces the size of data to reduce complexity, and allows linearly slightly shifted data to be recognized as the same data to ensure translational invariance.

클라이언트(150)는 압축된 모델 파라미터를 파라미터 서버(100)로 전송할 수 있다(340).The client 150 may transmit the compressed model parameters to the parameter server 100 ( 340 ).

도 4a는 연합 학습 방법의 실행 동작을 설명하기 위한 도면이고, 도 4b는 실행 동작의 흐름도이다.4A is a diagram for explaining an execution operation of the federated learning method, and FIG. 4B is a flowchart of the execution operation.

파라미터 서버(100)는 압축된 모델 파라미터들에 기초하여 최적화된 일반 모델을 생성할 수 있다. 파라미터 서버(100)는 클라이언트(150) 중 임의로 일부 클라이언트(150)를 선택하고, 선택된 클라이언트(150)로부터 수신한 압축된 모델 파라미터들에 기초하여 일반 모델을 생성할 수 있다.The parameter server 100 may generate an optimized general model based on the compressed model parameters. The parameter server 100 may randomly select some clients 150 among the clients 150 and generate a general model based on the compressed model parameters received from the selected clients 150 .

파라미터 서버(100)는 성분 별 평균 방식(Element-wise averaging)을 통해 일반 모델을 생성할 수 있다(450). 일반 모델의 일반 모델 파라미터는 수학식 2와 같이 표현될 수 있다. 수학식 2에서

Figure 112021015285457-pat00005
는 1*n 벡터인 일반 모델 파라미터이고,
Figure 112021015285457-pat00006
는 일반 모델 파라미터의 m번째 성분이고,
Figure 112021015285457-pat00007
는 k번째 클라이언트(150)로부터 수신한 압축된 모델 파라미터의 m 번째 성분이고,
Figure 112021015285457-pat00008
는 선택된 모든 압축된 모델 파라미터의 m번째 인덱스의 성분 중 0이 아닌 성분의 개수이다. 수학식 2를 풀어서 정리하면 수학식 3과 같을 수 있다.The parameter server 100 may generate a general model through element-wise averaging ( 450 ). The general model parameter of the general model may be expressed as Equation (2). in Equation 2
Figure 112021015285457-pat00005
is the general model parameter which is a 1*n vector,
Figure 112021015285457-pat00006
is the mth component of the general model parameter,
Figure 112021015285457-pat00007
is the m-th component of the compressed model parameter received from the k-th client 150,
Figure 112021015285457-pat00008
is the number of non-zero components among the components of the m-th index of all selected compressed model parameters. By solving Equation 2 and rearranging it, Equation 3 may be the same.

Figure 112021015285457-pat00009
Figure 112021015285457-pat00009

Figure 112021015285457-pat00010
Figure 112021015285457-pat00010

파라미터 서버(100)는 성분 별 평균 방식(Element-wise averaging)을 통해 압축된 모델 파라미터를 성분 별로 0이 아닌 개수로 나누어 줌으로써, 입력 데이터에서 추출한 특징이 없는 성분을 효과적으로 배제하면서, 성분 별로 최적화된 일반 모델을 도출할 수 있다.The parameter server 100 divides the compressed model parameters by a non-zero number for each component through element-wise averaging, effectively excluding components without features extracted from the input data, while optimizing for each component. A general model can be derived.

도 5a는 연합 학습 방법의 다운로드 동작을 설명하기 위한 도면이고, 도 5b는 다운로드 동작의 흐름도이다.5A is a diagram for explaining a download operation of the federated learning method, and FIG. 5B is a flowchart of the download operation.

클라이언트(150)는 파라미터 서버(100)로부터 수신한 일반 모델 파라미터를 복원하여 기계 학습 모델의 모델 파라미터를 획득할 수 있다(530). 모델 파라미터의 복원은 수학식 4과 같이 나타낼 수 있다. 수학식 4에서

Figure 112021015285457-pat00011
는 클라이언트(150)의 기계 학습 모델에 맞게 복원된 모델 파라미터일 수 있다.The client 150 may obtain the model parameters of the machine learning model by restoring the general model parameters received from the parameter server 100 ( 530 ). The restoration of the model parameters can be expressed as in Equation (4). in Equation 4
Figure 112021015285457-pat00011
may be a model parameter restored to fit the machine learning model of the client 150 .

Figure 112021015285457-pat00012
Figure 112021015285457-pat00012

클라이언트(150)는 파라미터 서버(100)에서 전송된 최적화된 일반 모델에 기초하여 기계 학습 모델의 모델 파라미터를 효과적으로 복원하기 위해서 1차원 구조의 벡터인 일반 모델 파라미터의 구조를 반영할 수 있는 트랜스포즈 컨벌루션 네트워크(Transposed Convolutional Neural Network(T-CNN))를 디코더로 이용하여 모델 파라미터를 복원할 수 있다. 디코더는 일반 모델 파라미터의 중요한 정보를 유지하면서 노이즈를 최소화하여 모델 파라미터를 복원할 수 있다. 예를 들어, 트랜스포즈 컨벌루션 네트워크는 Imagenet, CIFAR-10 및 CIFAR-10일 수 있으며, 공개된 데이터셋으로 사전 학습된(pretrained) 두 개의 트랜스포즈 1차원 컨벌루션 레이어(Transposed 1D convolutional layer(Transposed Conv1D)) 및 언풀링 레이어(Unpooling layer)를 포함할 수 있다.In order to effectively restore the model parameters of the machine learning model based on the optimized general model transmitted from the parameter server 100, the client 150 is a one-dimensional vector of the general model parameter, which is a transpose convolution that can reflect the structure of the parameter. Model parameters may be restored by using a Transposed Convolutional Neural Network (T-CNN) as a decoder. The decoder can restore the model parameters by minimizing noise while maintaining important information of the general model parameters. For example, the transposed convolutional network may be Imagenet, CIFAR-10, and CIFAR-10, and two transposed 1D convolutional layers (Transposed Conv1D) pretrained with a public dataset. ) and an unpooling layer.

언풀링 레이어는 일반 모델 파라미터의 성분 값을 유지하면서 노이즈 없이 벡터를 확장시킬 수 있다. 언풀링 레이어를 통해 확장된 벡터는 트랜스포즈 1차원 컨벌루션 레이어의 컨벌루션 마스크(convolutional mask) 및 공유 가중치(shared weights)를 통해 확장된 벡터의 핵심 특징에 기초하여 더 확장될 수 있다.The unpooling layer can expand the vector without noise while maintaining the component values of the general model parameters. The vector extended through the unpooling layer may be further extended based on key features of the vector extended through a convolutional mask and shared weights of the transposing one-dimensional convolutional layer.

트랜스포즈 1차원 컨벌루션 레이어(Transposed Conv1D)들이 중첩됨으로써 더 정교한 특징들로 벡터를 확장할 수 있다. 언풀링 레이어는 마스크로 값을 유지하면서 0을 추가함으로써 복잡도(complexity)를 최대한 높이지 않으며 병진 불변성(translational invariance)을 보장할 수 있다.By overlapping transposed one-dimensional convolutional layers (Transposed Conv1D), a vector can be extended with more sophisticated features. The unpooling layer can guarantee translational invariance without maximizing complexity by adding 0 while maintaining the value as a mask.

언풀링 레이어는 파라미터 서버(100)로부터 수신한 일반 모델 파라미터를 입력으로 받아 1*2 언풀링(Unpooling)을 수행할 수 있다. 언풀링은 1*n 마스크 내에서 최대값 하나 및 n-1개의 0을 추가하는 동작으로, 데이터의 크기를 늘려도 복잡도가 크게 증가하지 않으며 선형적으로 조금 이동된 데이터를 동일 데이터로 인식할 수 있게 하여 병진 불변성을 보장할 수 있다.The unpooling layer may receive a general model parameter received from the parameter server 100 as an input and perform 1*2 unpooling. Unpooling is the operation of adding one maximum value and n-1 zeros within a 1*n mask. Even if the data size is increased, the complexity does not increase significantly, and linearly slightly shifted data can be recognized as the same data. Thus, translational invariance can be guaranteed.

첫번째 트랜스포즈 1차원 컨벌루션 레이어(Transposed Conv1D)는 언풀링 레이어의 출력을 입력으로 받아, 1*5의 컨벌루션 마스크(convolutional mask)를 통해 스파스 특징(Sparse feature)으로 벡터를 확장시킬 수 있다. 예를 들어, 스파스 특징은 기계 학습 모델의 두 레이어 사이 상호관계 및 연관성을 포함할 수 있다.The first transposed one-dimensional convolutional layer (Transposed Conv1D) may receive the output of the unpooling layer as an input, and may expand the vector to a sparse feature through a 1*5 convolutional mask. For example, sparse features may include interrelationships and associations between two layers of a machine learning model.

두번째 트랜스포즈 1차원 컨벌루션 레이어(Transposed Conv1D)는 1*5의 컨벌루션 마스크를 통해 일반 레벨 특징을 추출할 수 있다. 일반 레벨 특징은 스파스 특징에서 추론할 수 있는 특징들로써, 데이터에서 추출된 모델 파라미터의 공간적 분포가 패턴을 포함할 수 있다.The second transposed one-dimensional convolutional layer (Transposed Conv1D) may extract general level features through a 1*5 convolution mask. The general level features are features that can be inferred from the sparse features, and the spatial distribution of model parameters extracted from data may include a pattern.

클라이언트(150)는 디코더에서 출력된 모델 파라미터로 기계 학습 모들을 초기화(Initialization)할 수 있다(520).The client 150 may initialize the machine learning models with the model parameters output from the decoder ( 520 ).

도 6은 일 실시예에 따른 연합 학습 시스템을 나타낸다.6 shows a federated learning system according to an embodiment.

연합 학습 시스템은 연합 학습 방법(10)을 수행할 수 있다. 연합 학습 시스템은 파라미터 서버(100) 및 클라이언트(150)를 포함할 수 있다. 도 6에서는 설명의 편의를 위해 하나의 클라이언트(150)만을 도시했지만, 연합 학습 시스템은 다수의 클라이언트(150)를 포함할 수 있다. 클라이언트(150)는 스마트폰, 웨어러블 장치, 자율 주행 차량과 같은 전자 장치일 수 있다.The federated learning system may perform the federated learning method 10 . The federated learning system may include a parameter server 100 and a client 150 . Although only one client 150 is illustrated in FIG. 6 for convenience of description, the federated learning system may include a plurality of clients 150 . The client 150 may be an electronic device such as a smart phone, a wearable device, or an autonomous vehicle.

파라미터 서버(100)와 클라이언트(150)는 네트워크를 통해 데이터 통신을 수행할 수 있다. 네트워크는 통상적인 유선 및/또는 무선 통신 기술을 통해 접속 가능한 LAN(local area network) 및/또는 WAN(wide area network, 예를 들어 인터넷(Internet))일 수 있다.The parameter server 100 and the client 150 may perform data communication through a network. The network may be a local area network (LAN) and/or a wide area network (WAN, for example, the Internet) accessible through conventional wired and/or wireless communication technologies.

파라미터 서버(100)는 프로세서(650) 및 메모리(670)를 포함할 수 있고, 클라이언트(150)는 프로세서(610) 및 메모리(630)를 포함할 수 있다.The parameter server 100 may include a processor 650 and a memory 670 , and the client 150 may include a processor 610 and a memory 630 .

메모리(630 및 670)는 프로세서에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서의 동작 및/또는 프로세서의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memories 630 and 670 may store instructions (or programs) executable by the processor. For example, the instructions may include instructions for executing an operation of a processor and/or an operation of each component of the processor.

메모리(630 및 670)는 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다.The memories 630 and 670 may be implemented as a volatile memory device or a nonvolatile memory device.

휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.The volatile memory device may be implemented as dynamic random access memory (DRAM), static random access memory (SRAM), thyristor RAM (T-RAM), zero capacitor RAM (Z-RAM), or twin transistor RAM (TTRAM).

불휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Eelectronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.Nonvolatile memory devices include EEPROM (Electrically Erasable Programmable Read-Only Memory), Flash memory, MRAM (Magnetic RAM), Spin-Transfer Torque (STT)-MRAM (Spin-Transfer Torque (STT)-MRAM), Conductive Bridging RAM (CBRAM) , FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), Resistive RAM(RRAM), Nanotube RRAM(Nanotube RRAM), Polymer RAM(Polymer RAM(PoRAM)), Nano Floating Gate Memory (NFGM)), a holographic memory, a molecular electronic memory device, or an Insulator Resistance Change Memory.

메모리(630 및 670)는 뉴럴 네트워크에 포함된 연산이 수행될 행렬을 저장할 수 있다. 메모리(630 및 670)는 프로세서(610 및 650)가 처리하여 생성된 연산 결과를 저장할 수 있다.The memories 630 and 670 may store a matrix on which an operation included in the neural network is to be performed. The memories 630 and 670 may store operation results generated by processing by the processors 610 and 650 .

프로세서(610 및 650)는 메모리(630 및 670)에 저장된 데이터를 처리할 수 있다. 프로세서(610 및 650)는 메모리(630 및 670)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(610 및 650)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The processors 610 and 650 may process data stored in the memories 630 and 670 . Processors 610 and 650 may execute computer readable code (eg, software) stored in memories 630 and 670 and instructions issued by processors 610 and 650 .

프로세서(610 및 650)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The processors 610 and 650 may be hardware-implemented data processing devices having circuits having a physical structure for executing desired operations. For example, desired operations may include code or instructions included in a program.

예를 들어, 하드웨어로 구현된 데이터 처리 장치는 중앙 처리 장치(central processing unit), 그래픽 처리 장치(graphics processing unit), 신경망 처리 장치(neural processing unit), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing unit implemented in hardware may include a central processing unit, a graphics processing unit, a neural network processing unit, a multi-core processor, It may include a multiprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA).

파라미터 서버(100) 및 클라이언트(150)가 수행하는 연합 학습 방법은 각각의 프로세서(610 및 650)를 통해 수행되는 것으로 이해되어야 하며, 연학 학습 방법은 도 1 내지 도 5b를 참조하여 상세히 설명하였으므로 중복되는 설명은 생략하도록 한다.It should be understood that the federated learning method performed by the parameter server 100 and the client 150 is performed through each of the processors 610 and 650, and since the federated learning method has been described in detail with reference to FIGS. 1 to 5B, overlapping The description will be omitted.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, the apparatus, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA) array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using a general purpose computer or special purpose computer. The processing device may execute an operating system (OS) and a software application running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in a computer-readable recording medium.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination, and the program instructions recorded on the medium are specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. may be Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or a plurality of software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those of ordinary skill in the art may apply various technical modifications and variations based thereon. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (19)

기계 학습 모델을 학습하는 단계;
상기 기계 학습 모델의 제1 모델 파라미터를 상기 기계 학습 모델에 포함된 복수의 1차원 컨볼루션 레이어에 입력하여 상기 복수의 1차원 컨볼루션 레이어의 1*5의 컨벌루션 마스크(convolutional mask) 및 공유 가중치(shared weights)를 사용하여 상기 제1 모델 파라미터의 특징(feature)을 추출하는 단계;
상기 제1 모델 파라미터의 특징에 기초하여 맥스풀링(max pooling layer)를 사용하여 압축된 제1 모델 파라미터를 생성하는 단계;
상기 압축된 제1 모델 파라미터를 파라미터 서버로 전송하는 단계;
상기 파라미터 서버에서 상기 압축된 제1 모델 파라미터에 기초하여 생성한 일반 모델 파라미터를 수신하는 단계;
상기 일반 모델 파라미터를 복원하여 제2 모델 파라미터를 획득하는 단계;
상기 제2 모델 파라미터에 기초하여 상기 기계 학습 모델을 초기화하는 단계
를 포함하고,
상기 특징은,
상기 기계 학습 모델에 포함된 복수의 1차원 컨볼루션 레이어 간의 상호관계 및 연관성을 포함하는 로우 레벨 특징; 및
상기 제1 모델 파라미터의 공간적 분포 패턴을 포함하는 하이 레벨 특징
을 포함하며,
상기 일반 모델 파라미터는,
상기 파라미터 서버가 수신한 상기 압축된 제1 모델 파라미터의 성분 별 평균에 기초하여 생성된 것이고,
상기 성분 별 평균은,
동일한 인덱스의 성분들 중 0이 아닌 성분들의 평균인 것인, 학습 방법.
training a machine learning model;
By inputting the first model parameter of the machine learning model into a plurality of one-dimensional convolutional layers included in the machine learning model, a 1*5 convolutional mask of the plurality of one-dimensional convolutional layers and a shared weight ( extracting a feature of the first model parameter using shared weights;
generating a compressed first model parameter using a max pooling layer based on a characteristic of the first model parameter;
transmitting the compressed first model parameter to a parameter server;
receiving a general model parameter generated based on the compressed first model parameter in the parameter server;
obtaining a second model parameter by restoring the general model parameter;
initializing the machine learning model based on the second model parameter
including,
The feature is
low-level features including correlations and associations between a plurality of one-dimensional convolutional layers included in the machine learning model; and
A high-level feature comprising a spatial distribution pattern of the first model parameter
includes,
The general model parameters are
It is generated based on the average for each component of the compressed first model parameter received by the parameter server,
The average for each component is,
The learning method, which is the average of non-zero components among the components of the same index.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 획득하는 단계는,
뉴럴 네트워크를 통해 상기 제2 모델 파라미터를 획득하는 단계
를 포함하는, 학습 방법.
According to claim 1,
The obtaining step is
obtaining the second model parameter through a neural network;
A learning method comprising:
제1항에 있어서,
상기 제1 모델 파라미터 및 상기 제2 모델 파라미터는,
1차원 벡터인, 학습 방법.
According to claim 1,
The first model parameter and the second model parameter are
A one-dimensional vector, a learning method.
복수의 클라이언트로부터 압축된 모델 파라미터들을 수신하는 단계;
상기 압축된 모델 파라미터들의 성분 별 평균에 기초하여 일반 모델 파라미터를 생성하는 단계;
상기 일반 모델 파라미터를 상기 복수의 클라이언트로 전송하는 단계
를 포함하고,
상기 압축된 모델 파라미터들은,
상기 복수의 클라이언트가 기계 학습 모델의 제1 모델 파라미터를 상기 기계 학습 모델에 포함된 복수의 1차원 컨볼루션 레이어에 입력하여 상기 복수의 1차원 컨볼루션 레이어의 1*5의 컨벌루션 마스크(convolutional mask) 및 공유 가중치(shared weights)를 사용하여 상기 제1 모델 파라미터의 특징(feature)을 추출하고, 상기 제1 모델 파라미터의 특징에 기초하여 맥스풀링(max pooling layer)를 사용하여 생성된 것이며,
상기 특징은,
상기 기계 학습 모델에 포함된 복수의 1차원 컨볼루션 레이어 간의 상호관계 및 연관성을 포함하는 로우 레벨 특징; 및
상기 제1 모델 파라미터의 공간적 분포 패턴을 포함하는 하이 레벨 특징
을 포함하며,
상기 성분 별 평균은,
동일한 인덱스의 성분들 중 0이 아닌 성분들의 평균인 것인, 학습 방법.
receiving compressed model parameters from a plurality of clients;
generating a general model parameter based on an average for each component of the compressed model parameters;
transmitting the general model parameters to the plurality of clients;
including,
The compressed model parameters are
The plurality of clients input the first model parameter of the machine learning model into a plurality of one-dimensional convolutional layers included in the machine learning model, and a 1*5 convolutional mask of the plurality of one-dimensional convolutional layers is obtained. and extracting a feature of the first model parameter using shared weights, and generated using a max pooling layer based on the feature of the first model parameter,
The feature is
low-level features including correlations and associations between a plurality of one-dimensional convolutional layers included in the machine learning model; and
A high-level feature comprising a spatial distribution pattern of the first model parameter
includes,
The average for each component is,
The learning method, which is the average of non-zero components among the components of the same index.
삭제delete 제7항에 있어서,
생성하는 단계는,
상기 압축된 모델 파라미터들 중 일부를 선택하는 단계; 및
상기 일부에 기초하여 상기 일반 모델 파라미터를 생성하는 단계
를 포함하는, 학습 방법.
8. The method of claim 7,
The steps to create are
selecting some of the compressed model parameters; and
generating the general model parameter based on the part;
A learning method comprising:
하드웨어와 결합되어 제1항, 제5항, 제6항, 제7항, 및 제9항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable recording medium in combination with hardware to execute the method of any one of claims 1, 5, 6, 7, and 9.
연합 학습을 수행하는 전자 장치에 있어서,
인스트럭션들을 포함하는 메모리; 및
상기 인스트럭션들을 실행하기 위한 프로세서
를 포함하고,
상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는,
기계 학습 모델을 학습하고,
상기 기계 학습 모델의 제1 모델 파라미터를 상기 기계 학습 모델에 포함된 복수의 1차원 컨볼루션 레이어에 입력하여 상기 복수의 1차원 컨볼루션 레이어의 1*5의 컨벌루션 마스크(convolutional mask) 및 공유 가중치(shared weights)를 사용하여 상기 제1 모델 파라미터의 특징(feature)을 추출하고,
상기 제1 모델 파라미터의 특징에 기초하여 맥스풀링(max pooling layer)를 사용하여 압축된 제1 모델 파라미터를 생성하고,
상기 압축된 상기 제1 모델 파라미터를 파라미터 서버로 전송하고,
상기 파라미터 서버에서 상기 압축된 제1 모델 파라미터에 기초하여 생성한 일반 모델 파라미터를 수신하고,
상기 일반 모델 파라미터를 복원하여 제2 모델 파라미터를 획득하고,
상기 제2 모델 파라미터에 기초하여 상기 기계 학습 모델을 초기화하며,
상기 특징은,
상기 기계 학습 모델에 포함된 복수의 1차원 컨볼루션 레이어 간의 상호관계 및 연관성을 포함하는 로우 레벨 특징; 및
상기 제1 모델 파라미터의 공간적 분포 패턴을 포함하는 하이 레벨 특징
을 포함하며,
상기 일반 모델 파라미터는,
상기 파라미터 서버가 수신한 상기 압축된 제1 모델 파라미터의 성분 별 평균에 기초하여 생성된 것이고,
상기 성분 별 평균은,
동일한 인덱스의 성분들 중 0이 아닌 성분들의 평균인 것인, 전자 장치.
An electronic device for performing federated learning, comprising:
a memory containing instructions; and
a processor for executing the instructions
including,
When the instructions are executed by the processor, the processor
train a machine learning model,
By inputting the first model parameter of the machine learning model into a plurality of one-dimensional convolutional layers included in the machine learning model, a 1*5 convolutional mask of the plurality of one-dimensional convolutional layers and a shared weight ( using shared weights) to extract a feature of the first model parameter,
generating a compressed first model parameter using a max pooling layer based on the characteristics of the first model parameter;
sending the compressed first model parameter to a parameter server;
receiving a general model parameter generated based on the compressed first model parameter from the parameter server;
recovering the general model parameters to obtain a second model parameter;
initialize the machine learning model based on the second model parameter;
The feature is
low-level features including correlations and associations between a plurality of one-dimensional convolutional layers included in the machine learning model; and
A high-level feature comprising a spatial distribution pattern of the first model parameter
includes,
The general model parameters are
It is generated based on the average for each component of the compressed first model parameter received by the parameter server,
The average for each component is
which is an average of non-zero components among components of the same index.
삭제delete 삭제delete 삭제delete 제11항에 있어서,
상기 프로세서는,
뉴럴 네트워크를 통해 상기 제2 모델 파라미터를 획득하는, 전자 장치.
12. The method of claim 11,
The processor is
The electronic device obtains the second model parameter through a neural network.
제11항에 있어서,
상기 제1 모델 파라미터 및 상기 제2 모델 파라미터는,
1차원 벡터인, 전자 장치.
12. The method of claim 11,
The first model parameter and the second model parameter are
A one-dimensional vector, an electronic device.
연합 학습을 수행하는 서버에 있어서,
인스트럭션들을 포함하는 메모리; 및
상기 인스트럭션들을 실행하기 위한 프로세서
를 포함하고,
상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는,
복수의 클라이언트로부터 압축된 모델 파라미터들을 수신하고,
상기 압축된 모델 파라미터들의 성분 별 평균에 기초하여 일반 모델 파라미터를 생성하고,
상기 일반 모델 파라미터를 상기 복수의 클라이언트로 전송하고,
상기 압축된 모델 파라미터들은,
상기 복수의 클라이언트가 기계 학습 모델의 제1 모델 파라미터를 상기 기계 학습 모델에 포함된 복수의 1차원 컨볼루션 레이어에 입력하여 상기 복수의 1차원 컨볼루션 레이어의 1*5의 컨벌루션 마스크(convolutional mask) 및 공유 가중치(shared weights)를 사용하여 상기 제1 모델 파라미터의 특징(feature)을 추출하고, 상기 제1 모델 파라미터의 특징에 기초하여 맥스풀링(max pooling layer)를 사용하여 생성된 것이며,
상기 특징은,
상기 기계 학습 모델에 포함된 복수의 1차원 컨볼루션 레이어 간의 상호관계 및 연관성을 포함하는 로우 레벨 특징; 및
상기 제1 모델 파라미터의 공간적 분포 패턴을 포함하는 하이 레벨 특징
을 포함하며,
상기 성분 별 평균은,
동일한 인덱스의 성분들 중 0이 아닌 성분들의 평균인 것인, 서버.
In the server for performing federated learning,
a memory containing instructions; and
a processor for executing the instructions
including,
When the instructions are executed by the processor, the processor
receiving compressed model parameters from a plurality of clients;
Generating a general model parameter based on the component-by-component average of the compressed model parameters,
sending the general model parameters to the plurality of clients;
The compressed model parameters are
The plurality of clients input the first model parameter of the machine learning model into a plurality of one-dimensional convolutional layers included in the machine learning model, and a 1*5 convolutional mask of the plurality of one-dimensional convolutional layers is obtained. and extracting a feature of the first model parameter using shared weights, and generated using a max pooling layer based on the feature of the first model parameter,
The feature is
low-level features including correlations and associations between a plurality of one-dimensional convolutional layers included in the machine learning model; and
A high-level feature comprising a spatial distribution pattern of the first model parameter
includes,
The average for each component is,
The server, which is the average of the non-zero components of the components of the same index.
삭제delete 제17항에 있어서,
상기 프로세서는,
상기 압축된 모델 파라미터들 중 일부를 선택하고,
상기 일부에 기초하여 상기 일반 모델 파라미터를 생성하는, 서버.
18. The method of claim 17,
The processor is
selecting some of the compressed model parameters,
and generate the general model parameter based on the part.
KR1020210016897A 2020-11-24 2021-02-05 Federated learning method and system KR102390553B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200159124 2020-11-24
KR20200159124 2020-11-24

Publications (1)

Publication Number Publication Date
KR102390553B1 true KR102390553B1 (en) 2022-04-27

Family

ID=81390183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210016897A KR102390553B1 (en) 2020-11-24 2021-02-05 Federated learning method and system

Country Status (1)

Country Link
KR (1) KR102390553B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224205A1 (en) * 2022-05-19 2023-11-23 (주)아크릴 Method for generating common model through artificial neural network model training result synthesis

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190032433A (en) * 2016-07-18 2019-03-27 난토믹스, 엘엘씨 Distributed machine learning systems, apparatus, and methods
KR20200089588A (en) * 2019-01-17 2020-07-27 삼성전자주식회사 Electronic device and method for controlling the electronic device thereof
KR102139740B1 (en) * 2017-06-09 2020-07-31 한국과학기술원 Electronic apparatus and method for optimizing of trained model
KR20200104959A (en) * 2019-02-27 2020-09-07 한국전력공사 Apparatus and method for compressing data in distributed deep-learning environment
KR20200120469A (en) * 2019-04-12 2020-10-21 삼성전자주식회사 Electronic device, Server and operating method for updating a artificial intelligence model
KR20200132627A (en) * 2019-05-16 2020-11-25 삼성전자주식회사 Neural network model apparatus and compressing method of neural network model

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190032433A (en) * 2016-07-18 2019-03-27 난토믹스, 엘엘씨 Distributed machine learning systems, apparatus, and methods
KR102139740B1 (en) * 2017-06-09 2020-07-31 한국과학기술원 Electronic apparatus and method for optimizing of trained model
KR20200089588A (en) * 2019-01-17 2020-07-27 삼성전자주식회사 Electronic device and method for controlling the electronic device thereof
KR20200104959A (en) * 2019-02-27 2020-09-07 한국전력공사 Apparatus and method for compressing data in distributed deep-learning environment
KR20200120469A (en) * 2019-04-12 2020-10-21 삼성전자주식회사 Electronic device, Server and operating method for updating a artificial intelligence model
KR20200132627A (en) * 2019-05-16 2020-11-25 삼성전자주식회사 Neural network model apparatus and compressing method of neural network model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224205A1 (en) * 2022-05-19 2023-11-23 (주)아크릴 Method for generating common model through artificial neural network model training result synthesis

Similar Documents

Publication Publication Date Title
US11030131B2 (en) Data processing performance enhancement for neural networks using a virtualized data iterator
US11875268B2 (en) Object recognition with reduced neural network weight precision
CN107977704B (en) Weight data storage method and neural network processor based on same
JP7231994B2 (en) Video interaction processing method, interaction processing device, learning method, learning device and computer program
US20210209444A1 (en) Depth concatenation using a matrix computation unit
US20190340510A1 (en) Sparsifying neural network models
CN108876864B (en) Image encoding method, image decoding method, image encoding device, image decoding device, electronic equipment and computer readable medium
US10917415B2 (en) Machine learning-based determination of program code characteristics
KR102247907B1 (en) Video   Compression   Detection   Reconfiguration   Method, system, electronic device and storage medium
KR102390553B1 (en) Federated learning method and system
US20230316080A1 (en) Sparsity masking methods for neural network training
JP7239116B2 (en) Image restoration method and apparatus
CN113424203A (en) Image processing apparatus and method of operating the same
US20200293865A1 (en) Using identity layer in a cellular neural network architecture
US11461645B2 (en) Initialization of memory networks
KR102336103B1 (en) Deep learning-based image deblurring method and apparartus performing the same
US20230419088A1 (en) Bundling hypervectors
KR20230059457A (en) Processing unit for processing multi-tasks
KR20240081554A (en) Method and apparatus of non-contrastive self-supervised learning using reconstruction regularizer
KR20230087342A (en) Apparatus and method of homomorphic encryption operation
KR20230000686A (en) Electronic device and controlling method of electronic device
KR20210079154A (en) Method and appauatus for initializing deep learning model using variance equalization
BR112018016884B1 (en) A NEURAL NETWORK SYSTEM IMPLEMENTED BY ONE OR MORE COMPUTERS AND ONE OR MORE NON-TRANSITORY MEANS OF ENCODED STORAGE

Legal Events

Date Code Title Description
GRNT Written decision to grant