WO2021230449A1 - 연합 학습을 위한 전자 장치를 제어하는 방법 및 디바이스 - Google Patents

연합 학습을 위한 전자 장치를 제어하는 방법 및 디바이스 Download PDF

Info

Publication number
WO2021230449A1
WO2021230449A1 PCT/KR2020/016832 KR2020016832W WO2021230449A1 WO 2021230449 A1 WO2021230449 A1 WO 2021230449A1 KR 2020016832 W KR2020016832 W KR 2020016832W WO 2021230449 A1 WO2021230449 A1 WO 2021230449A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
electronic device
server
electronic devices
differential information
Prior art date
Application number
PCT/KR2020/016832
Other languages
English (en)
French (fr)
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 삼성전자 주식회사
Publication of WO2021230449A1 publication Critical patent/WO2021230449A1/ko
Priority to US17/986,519 priority Critical patent/US20230076024A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • G06N3/098Distributed learning, e.g. federated learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Definitions

  • the requesting to transmit the first data includes receiving a first public key from a first electronic device among the plurality of electronic devices, and receiving a second public key from a second electronic device among the plurality of electronic devices.
  • Receiving a public key broadcasting the first public key and the second public key, receiving a first shared key from the first electronic device, and receiving a second shared key from the second electronic device and unicasting the first shared key to the second electronic device, and unicasting the second shared key to the first electronic device, wherein the first shared key is transmitted to the first electronic device.
  • a server disclosed as a technical means for achieving the above technical problem includes a communication interface, a memory for storing one or more instructions, and a processor for executing the instructions, wherein the processor executes the instructions, whereby the plurality of electronic devices request, to each of the above, to transmit first data used for refining the central artificial intelligence model, and control the communication interface to receive first data from at least one electronic device among the plurality of electronic devices.
  • the processor transmits identification information about the electronic device that has transmitted the first data to the first electronic device
  • the first electronic device transmits the identification information of the first differential information protection data from the first electronic device to the first electronic device.
  • controlling the communication interface to receive information on the total, identification information on the electronic device that has transmitted the first data, and differential information correction data of the first electronic device generated based on the weight of the first electronic device, and , the second differential information protection data, wherein the sum of the first differential information protection data to be received from the plurality of electronic devices is modified by the differential information modification data to be received from the electronic devices that the server has transmitted the first data may be the same value as the sum of .
  • the first shared key includes at least a portion of a secret key of the first electronic device
  • the second shared key includes at least a portion of a secret key of the second electronic device
  • the processor includes: Receive first data including third masking data generated using the first secret key from the first electronic device, and receive the first data including fourth masking data generated using the second secret key from the second electronic device Receive 2 data, receive first shared secret data generated based on the first shared key to remove the third masking data from the second electronic device, and receive, from the first electronic device, the fourth In order to remove the masking data, the second shared secret data generated based on the second shared key may be received.
  • FIG. 2 is a flowchart of a method for exchanging data between an electronic device and a server, according to an exemplary embodiment.
  • FIG. 9 is a diagram illustrating that a server receives data from each of a plurality of electronic devices except for an electronic device that has been disconnected, according to an exemplary embodiment.
  • first and second may be used to describe various components, but the components should not be limited by the terms.
  • the above terms may be used for the purpose of distinguishing one component from another.
  • first data and the second data are described in this specification, they are only used to distinguish different data, and thus should not be limited thereto.
  • the server 20 may use the received central AI update data to refine the core AI model 29 built in the server 20 .
  • the first electronic device 10a may randomly generate masking data.
  • the second electronic device 10b includes the public key of the first electronic device 10a, the public key of the third electronic device 10c, and the second electronic device 10b.
  • Masking data may be generated based on the secret key of the electronic device 10b.
  • the server 20 may identify an electronic device that has not transmitted first data among a plurality of electronic devices. Alternatively, the server 20 may identify an electronic device that has transmitted the first data among a plurality of electronic devices.
  • the server 20 may transmit data requesting to transmit the second data to at least one electronic device that has transmitted the first data.
  • the server 20 includes information related to the electronic device that has transmitted the first data (eg, identification information) or information related to the electronic device that has not transmitted the first data (eg, identification information).
  • data may be transmitted to a plurality of electronic devices that have transmitted the first data.
  • the server 20 may transmit a list of electronic devices that have not transmitted the first data or a list of electronic devices that have transmitted the first data to a plurality of electronic devices that have transmitted the first data.
  • the server 20 may transmit a list generated based on public keys received from a plurality of electronic devices.
  • the data unicast from the server 20 may include data requesting data used to update the central artificial intelligence model 29 . That is, when the server 20 unicasts the received shared keys to each of the plurality of electronic devices 10a, 10b, 10c, information about the updated weights of the artificial intelligence models 19a, 19b, 19c Data requesting to transmit the included vector data may be transmitted to the plurality of electronic devices 10a, 10b, and 10c.
  • the server 20 unicasts information on the connection state of the plurality of electronic devices 10a , 10b to the plurality of electronic devices 10a and 10b connected to the server 20 .
  • each of the electronic devices 10a and 10b may generate second data including differential information correction data that is a difference value between the second differential information protection data and the first differential information protection data.
  • the server 20 uses the first data received in step 370 and the second data received from the plurality of electronic devices 10a and 10b, and the plurality of electronic devices 10a and 10b to which the differential information protection data is added. , 10c) of the private data can be obtained.
  • the first electronic device 10a may generate a first public key 540 including identification information of the first electronic device 10a and a weight value of the first electronic device 10a.
  • the second electronic device 10b may generate a second public key 550 including identification information of the second electronic device 10b and a weight value of the second electronic device 10b.
  • the third electronic device 10c may generate a third public key 560 including identification information of the third electronic device 10c and a weight value of the third electronic device 10c.
  • the processor 13 may perform the function of the artificial intelligence model described above with reference to FIGS. 1 to 10 by executing the software module stored in the memory 17 .
  • the server 20 may include a communication unit 25 , a DB 27 , and a processor 23 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

개시된 실시예들은 연합 학습을 수행하는 전자 장치 및 서버와 이들의 제어방법에 관한 것이다. 개시된 서버가 중앙(core) 인공지능 모델을 갱신하는 방법은 복수의 전자 장치들의 각각으로, 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계, 상기 복수의 전자 장치들 중에서 적어도 하나의 전자 장치로부터 제1 데이터를 수신하는 단계, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별하는 단계, 상기 식별 결과에 기초하여 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치로 제2 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계, 상기 제1 데이터를 송신한 전자 장치로부터 제2 데이터를 수신하는 단계 및 상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 인공지능 모델을 갱신하는 단계를 포함하고, 상기 제1 데이터는 상기 복수의 전자 장치들의 각각의 프라이빗 데이터를 보호하기 위한 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하고, 상기 제2 데이터는 상기 식별 결과에 기초하여 상기 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 포함할 수 있다.

Description

연합 학습을 위한 전자 장치를 제어하는 방법 및 디바이스
본 개시는 연합 학습을 위한 전자 장치 및 전자 장치의 제어 방법에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
기계학습은 서버가 복수개의 전자 장치들로부터 RAW 데이터 또는 전처리가 적용된 학습 데이터를 수신하고, 수신된 데이터를 이용하여 서버에 구축(build)된 인공지능 모델을 훈련하는 클라우드 기계학습이 주로 수행되었다.
클라우드 기계학습이 좀 더 발전된 연합 학습(federated learning)도 수행되고 있다.
연합 학습은 복수개의 전자 장치들의 각각에 저장된 학습 데이터를 이용하여, 복수의 전자 장치들의 각각이 복수의 전자 장치들의 각각에 구축된 인공지능 모델을 훈련하고, 갱신된 인공지능 모델의 변동 사항에 관한 정보만이 서버에게 전송되는 기계학습을 의미한다. 서버에 구축된 중앙(core) 인공지능 모델은 클라우드로 전송된 인공지능 모델의 변동 사항에 관한 정보를 이용하여 갱신(refine)된다. 또한, 서버에 구축된 중앙 인공지능 모델이 갱신된 사항은 복수의 전자 장치들의 각각에 전송됨으로써, 복수의 전자 장치들의 각각에 구축된 인공지능 모델도 갱신된다.
연합 학습은 원본 데이터가 클라우드로 직접 전송되지 않기 때문에, 복수의 전자 장치들의 각각의 사용자의 개인정보를 보호할 수 있는 효과가 존재한다. 하지만, 복수개의 전자 장치들의 일부가 데이터를 전송하는 도중에 서버와 연결이 끊어짐(drop out)으로 인해서, 연결이 끊어진 전자 장치의 사용자의 개인 정보가 유출될 수 있는 문제점이 존재한다.
본 개시는 연합 학습을 수행하는 전자 장치를 제어하는 방법 및 전자 장치에 관한 것이다.
개시된 일 실시예는 연합 학습을 수행하는 전자 장치가 인공지능 모델의 변동 사항에 관한 정보를 서버에게 전송하는 방법에 관한 것이다.
또한, 개시된 다른 실시예는 연합 학습을 수행하는 전자 장치가 서버에게 전송하는 인공지능 모델의 변동 사항에 관한 정보를 생성하는 방법에 관한 것이다.
본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 서버가 전자 장치로부터 인공지능 모델의 변동 사항에 관한 정보를 획득하는 방법에도 유추 적용될 수 있다.
또한, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된 서버가 상기 서버에 구축된(build) 중앙(core) 인공지능 모델을 갱신하는 방법은, 상기 중앙 인공지능 모델과 연합 학습(federated learning)을 수행하는 복수의 전자 장치들의 각각으로, 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계, 상기 복수의 전자 장치들 중에서 적어도 하나의 전자 장치로부터 제1 데이터를 수신하는 단계, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별하는 단계, 상기 식별 결과에 기초하여 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치로 제2 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계, 상기 제1 데이터를 송신한 전자 장치로부터 제2 데이터를 수신하는 단계 및 상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 인공지능 모델을 갱신하는 단계를 포함하고, 상기 제1 데이터는 상기 복수의 전자 장치들의 각각의 프라이빗 데이터를 보호하기 위한 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하고, 상기 제2 데이터는 상기 식별 결과에 기초하여 상기 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 포함할 수 있다.
또한, 상기 제1 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계는, 상기 복수의 전자 장치들의 각각으로부터 상기 복수의 전자 장치들의 각각의 식별 정보를 수신하는 단계, 상기 수신된 식별 정보들에 기초하여 노이즈 레벨(noise level)을 설정하는 단계 및 상기 노이즈 레벨에 관한 정보를 상기 복수의 전자 장치들로 전송하는 단계를 포함하고, 상기 제1 차등 정보 보호 데이터는, 상기 노이즈 레벨에 기초하여 상기 복수의 전자 장치들의 각각으로부터 생성되는 것일 수 있다.
또한, 상기 노이즈 레벨에 관한 정보는, 상기 복수의 전자 장치들로부터 수신될 제1 차등 정보 보호 데이터들의 총합에 관한 정보를 포함하고, 상기 제1 데이터를 수신하는 단계는, 상기 복수의 전자 장치들 중에서 제1 전자 장치로부터, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보 및 상기 제1 전자 장치의 가중치 값에 기초하여 생성한, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 수신하는 단계를 포함할 수 있다.
또한, 상기 제2 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계는, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보를 상기 제1 전자 장치로 전송하는 단계를 포함하고, 상기 제2 데이터를 수신하는 단계는, 상기 제1 전자 장치로부터, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보 및 상기 제1 전자 장치의 가중치에 기초하여 생성한 상기 제1 전자 장치의 차등 정보 수정 데이터를 수신하는 단계를 포함하고, 상기 복수의 전자 장치들로부터 수신될 제1 차등 정보 보호 데이터의 총합은 상기 서버가 상기 제1 데이터를 송신한 전자 장치들로부터 수신할 차등 정보 수정 데이터에 의해서 수정되는, 상기 제2 차등 정보 보호 데이터의 총합과 동일한 값일 수 있다.
또한, 상기 제2 데이터를 수신하는 단계는, 상기 제1 전자 장치로부터, 상기 제1 전자 장치의 제2 차등 정보 보호 데이터와 상기 제1 전자 장치의 제1 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터를 수신하는 단계를 포함할 수 있다.
또한, 상기 제1 데이터를 전송할 것을 요청하는 단계는, 상기 복수의 전자 장치들 중에서 제1 전자 장치로부터 제1 공개키를 수신하고, 상기 복수의 전자 장치들 중에서 제2 전자 장치로부터 수신된 제2 공개키를 수신하는 단계, 상기 제1 공개키 및 상기 제2 공개키를 브로드캐스트하는 단계, 상기 제1 전자 장치로부터 제1 공유키를 수신하고, 상기 제2 전자 장치로부터 제2 공유키를 수신하는 단계 및 상기 제1 공유키를 상기 제2 전자 장치로 유니캐스트 하고, 상기 제2 공유키를 상기 제1 전자 장치로 유니캐스트하는 단계를 포함하고, 상기 제1 공유키는 상기 제1 전자 장치의 제1 프라이빗 데이터를 보호하기 위한 제1 마스킹 데이터의 적어도 일부를 포함하고, 상기 제2 공유키는 상기 제2 전자 장치의 제2 프라이빗 데이터를 보호하기 위한 제2 마스킹 데이터의 적어도 일부를 포함하고, 상기 제1 데이터를 수신하는 단계는, 상기 제1 전자 장치로부터 상기 제1 마스킹 데이터가 포함된 제1 데이터를 수신하고, 상기 제2 전자 장치로부터 상기 제2 마스킹 데이터가 포함된 제1 데이터를 수신하는 단계를 포함하고, 상기 제2 데이터를 수신하는 단계는, 상기 제2 전자 장치로부터, 상기 제1 마스킹 데이터를 제거하기 위하여 상기 제1 공유키에 기초하여 생성된 제1 공유 비밀 데이터를 수신하고, 상기 제1 전자 장치로부터, 상기 제2 마스킹 데이터를 제거하기 위하여 상기 제2 공유키에 기초하여 생성된 제2 공유 비밀 데이터를 수신하는 단계를 포함할 수 있다.
또한, 상기 제1 공유키는 상기 제1 전자 장치의 비밀키의 적어도 일부를 포함하고, 상기 제2 공유키는 상기 제2 전자 장치의 비밀키의 적어도 일부를 포함하고, 상기 제1 데이터를 수신하는 단계는, 상기 제1 전자 장치로부터, 제1 비밀키를 이용하여 생성된 제3 마스킹 데이터가 포함된 제1 데이터를 수신하고, 상기 제2 전자 장치로부터, 제2 비밀키를 이용하여 생성된 제4 마스킹 데이터가 포함된 제2 데이터를 수신하는 단계를 포함하고, 상기 제2 데이터를 수신하는 단계는, 상기 제2 전자 장치로부터, 상기 제3 마스킹 데이터를 제거하기 위하여 상기 제1 공유키에 기초하여 생성된 제1 공유 비밀 데이터를 수신하고, 상기 제1 전자 장치로부터, 상기 제4 마스킹 데이터를 제거하기 위하여 상기 제2 공유키에 기초하여 생성된 제2 공유 비밀 데이터를 수신하는 단계를 포함할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된 서버는, 통신 인터페이스, 하나 이상의 명령어들을 저장하는 메모리, 상기 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 명령어들을 실행함으로써, 상기 복수의 전자 장치들의 각각으로, 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하고, 상기 복수의 전자 장치들 중에서 적어도 하나의 전자 장치로부터 제1 데이터를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별하고, 상기 식별 결과에 기초하여 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치로 제2 데이터를 전송할 것을 요청하고, 상기 제1 데이터를 송신한 전자 장치로부터 제2 데이터를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 인공지능 모델을 갱신하고, 상기 제1 데이터는 상기 복수의 전자 장치들의 각각의 프라이빗 데이터를 보호하기 위한 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하고, 상기 제2 데이터는 상기 식별 결과에 기초하여 상기 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 포함할 수 있다.
또한, 상기 프로세서는, 상기 복수의 전자 장치들의 각각으로부터 상기 복수의 전자 장치들의 각각의 식별 정보를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 수신된 식별 정보들에 기초하여 노이즈 레벨(noise level)을 설정하고, 상기 노이즈 레벨에 관한 정보를 상기 복수의 전자 장치들로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 제1 차등 정보 보호 데이터는, 상기 노이즈 레벨에 기초하여 상기 복수의 전자 장치들의 각각으로부터 생성되는 것일 수 있다.
또한, 상기 노이즈 레벨에 관한 정보는, 상기 복수의 전자 장치들로부터 수신될 제1 차등 정보 보호 데이터의 총합에 관한 정보를 포함하고, 상기 프로세서는, 상기 복수의 전자 장치들 중에서 제1 전자 장치로부터, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보 및 상기 제1 전자 장치의 가중치에 기초하여 생성한, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 수신하도록 상기 통신 인터페이스를 제어할 수 있다.
또한, 상기 프로세서는, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보를 상기 제1 전자 장치로 전송하고, 상기 제1 전자 장치로부터, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보 및 상기 제1 전자 장치의 가중치에 기초하여 생성한 상기 제1 전자 장치의 차등 정보 수정 데이터를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 복수의 전자 장치들로부터 수신될 제1 차등 정보 보호 데이터의 총합은 상기 서버가 제1 데이터를 송신한 전자 장치들로부터 수신할 차등 정보 수정 데이터에 의해서 수정되는, 상기 제2 차등 정보 보호 데이터의 총합과 동일한 값일 수 있다.
또한, 상기 프로세서는, 상기 제1 전자 장치로부터, 상기 제1 전자 장치의 제2 차등 정보 보호 데이터와 상기 제1 전자 장치의 제1 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터를 수신하도록 상기 통신 인터페이스를 제어할 수 있다.
또한, 상기 프로세서는, 상기 복수의 전자 장치들 중에서 제1 전자 장치로부터 제1 공개키를 수신하고, 상기 복수의 전자 장치들 중에서 제2 전자 장치로부터 수신된 제2 공개키를 수신하고, 상기 제1 공개키 및 상기 제2 공개키를 브로드캐스트하고, 상기 제1 전자 장치로부터 제1 공유키를 수신하고, 상기 제2 전자 장치로부터 제2 공유키를 수신하고, 상기 제1 공유키를 상기 제2 전자 장치로 유니캐스트 하고, 상기 제2 공유키를 상기 제1 전자 장치로 유니캐스트하도록, 상기 통신 인터페이스를 제어하고, 상기 제1 공유키는 상기 제1 전자 장치의 제1 프라이빗 데이터를 보호하기 위한 제1 마스킹 데이터의 적어도 일부를 포함하고, 상기 제2 공유키는 상기 제2 전자 장치의 제2 프라이빗 데이터를 보호하기 위한 제2 마스킹 데이터의 적어도 일부를 포함하고, 상기 프로세서는, 상기 제1 전자 장치로부터 상기 제1 마스킹 데이터가 포함된 제1 데이터를 수신하고, 상기 제2 전자 장치로부터 상기 제2 마스킹 데이터가 포함된 제2 데이터를 수신하고, 상기 제2 전자 장치로부터, 상기 제1 마스킹 데이터를 제거하기 위하여 상기 제1 공유키에 기초하여 생성된 제1 공유 비밀 데이터를 수신하고, 상기 제1 전자 장치로부터, 상기 제2 마스킹 데이터를 제거하기 위하여 상기 제2 공유키에 기초하여 생성된 제2 공유 비밀 데이터를 수신할 수 있다.
또한, 상기 제1 공유키는 상기 제1 전자 장치의 비밀키의 적어도 일부를 포함하고, 상기 제2 공유키는 상기 제2 전자 장치의 비밀키의 적어도 일부를 포함하고, 상기 프로세서는, 상기 제1 전자 장치로부터 제1 비밀키를 이용하여 생성된 제3 마스킹 데이터가 포함된 제1 데이터를 수신하고, 상기 제2 전자 장치로부터 제2 비밀키를 이용하여 생성된 제4 마스킹 데이터가 포함된 제2 데이터를 수신하고, 상기 제2 전자 장치로부터 상기 제3 마스킹 데이터를 제거하기 위하여 상기 제1 공유키에 기초하여 생성된 제1 공유 비밀 데이터를 수신하고, 상기 제1 전자 장치로부터, 상기 제4 마스킹 데이터를 제거하기 위하여 상기 제2 공유키에 기초하여 생성된 제2 공유 비밀 데이터를 수신할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 서버에 구축된(build) 중앙 인공지능 모델과 연합 학습(ferderated learning)을 수행하는 복수의 전자 장치들 중에서 제1 전자 장치가 연합 학습을 수행하는 방법은 상기 서버로부터 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하는 데이터를 수신하는 단계, 상기 서버로, 상기 제1 전자 장치의 프라이빗 데이터를 보호하기 위한 상기 제1 전자 장치의 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하는, 상기 제1 전자 장치의 제1 데이터를 전송하는 단계, 상기 서버로부터 상기 제1 전자 장치의 제2 데이터를 전송할 것을 요청하는 데이터를 수신하는 단계, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별한 결과에 기초하여, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 상기 제1 전자 장치의 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 생성하는 단계, 상기 서버로, 상기 제1 전자 장치의 차등 정보 수정 데이터를 포함하는 상기 제1 전자 장치의 제2 데이터를 전송하는 단계를 포함할 수 있다.
또한, 상기 제1 데이터를 전송할 것을 요청하는 데이터를 수신하는 단계는, 상기 복수의 전자 장치들의 각각의 식별 정보에 기초하여 설정된 노이즈 레벨에 관한 정보를 수신하는 단계를 포함하고, 상기 노이즈 레벨에 관한 정보는, 상기 서버가 상기 복수의 전자 장치들로부터 수신할 제1 차등 정보 보호 데이터들의 총합에 관한 정보를 포함하고, 상기 제1 데이터를 전송하는 단계는, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보 및 상기 제1 전자 장치의 가중치에 기초하여 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 생성하는 단계 및 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 포함하는 상기 제1 전자 장치의 제1 데이터를 상기 서버로 전송하는 단계를 포함할 수 있다.
또한, 상기 제2 데이터를 전송할 것을 요청하는 데이터를 수신하는 단계는, 상기 서버로부터, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보를 수신하는 단계를 포함하고, 상기 제2 데이터를 전송하는 단계는, 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보 및 상기 제1 전자 장치의 가중치에 기초하여 상기 제1 전자 장치의 차등 정보 수정 데이터를 생성하는 단계를 포함하고, 상기 서버가 상기 복수의 전자 장치들로부터 수신할 제1 차등 정보 보호 데이터의 총합은 상기 서버가 상기 복수의 전자 장치들로부터 수신할 차등 정보 수정 데이터에 의해서 수정되는 제2 차등 정보 보호 데이터의 총합과 동일한 값일 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된 제1 전자 장치는, 통신 인터페이스, 하나 이상의 명령어들을 저장하는 메모리, 상기 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 명령어들을 실행함으로써, 상기 서버로부터 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하는 데이터를 수신하고, 상기 서버로, 상기 제1 전자 장치의 프라이빗 데이터를 보호하기 위한 상기 제1 전자 장치의 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하는, 상기 제1 전자 장치의 제1 데이터를 전송하고, 상기 서버로부터 상기 제1 전자 장치의 제2 데이터를 전송할 것을 요청하는 데이터를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별한 결과에 기초하여, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 상기 제1 전자 장치의 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 생성하고, 상기 서버로, 상기 제1 전자 장치의 차등 정보 수정 데이터를 포함하는 상기 제1 전자 장치의 제2 데이터를 전송하도록 상기 통신 인터페이스를 제어할 수 있다.
또한, 상기 프로세서는, 상기 제1 데이터를 전송할 것을 요청하는 데이터를 수신하고, 상기 복수의 전자 장치들의 각각의 식별 정보에 기초하여 설정된 노이즈 레벨에 관한 정보를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 노이즈 레벨에 관한 정보는 상기 서버가 상기 복수의 전자 장치들로부터 수신할 제1 차등 정보 보호 데이터들의 총합에 관한 정보를 포함하고, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보 및 상기 제1 전자 장치의 가중치에 기초하여 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 생성하고, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 포함하는 상기 제1 전자 장치의 제1 데이터를 상기 서버로 전송하도록 상기 통신 인터페이스를 제어할 수 있다.
또한, 상기 프로세서는, 상기 서버로부터, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보 및 상기 제1 전자 장치의 가중치에 기초하여 상기 제1 전자 장치의 차등 정보 수정 데이터를 생성하고, 상기 서버가 상기 복수의 전자 장치들로부터 수신할 제1 차등 정보 보호 데이터의 총합은 상기 서버가 상기 복수의 전자 장치들로부터 수신할 차등 정보 수정 데이터에 의해서 수정되는 제2 차등 정보 보호 데이터의 총합과 동일한 값일 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 컴퓨터로 읽을 수 있는 기록매체는 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 것일 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 기록매체에 저장된 어플리케이션은 개시된 방법의 실시예들 중에서 적어도 하나의 기능을 실행시키기 위한 것일 수 있다.
도 1은 복수의 전자 장치와 서버가 연합 학습을 수행하는 방법의 예시를 설명하는 도면이다.
도 2는 일 실시예에 따른, 전자 장치와 서버가 데이터를 교환하는 방법의 순서도이다.
도 3은 일 실시예에 따른, 복수의 전자 장치들과 서버가 데이터를 교환하는 방법의 순서도이다.
도 4는 일 실시예에 따른, 복수의 전자 장치들과 서버가 데이터를 교환하는 방법의 순서도이다.
도 5는 일 실시예에 따른, 서버가 복수의 전자 장치들의 공개키를 브로드캐스팅(broadcasting)하는 것을 나타낸 것이다.
도 6은 일 실시예에 따른, 복수의 전자 장치들이 서버로 차등 정보 보호 데이터를 전송하는 것을 나타낸 것이다.
도 7은 일 실시예에 따른, 복수의 전자 장치들이 차등 정보 보호 데이터를 수정하는 것을 나타낸 것이다.
도 8은 일 실시예에 따른, 서버가 복수의 전자 장치들의 공유키를 유니캐스팅(unicasting)하는 것을 나타낸 것이다.
도 9는 일 실시예에 따른, 서버가 연결이 끊어진 전자 장치를 제외한 복수의 전자 장치들의 각각으로부터 데이터를 수신하는 것을 나타낸 것이다.
도 10은 일 실시예에 따른, 서버가 수신된 데이터들로부터 차등 정보 보호 데이터가 가산된 프라이빗 데이터의 합을 획득하는 것을 나타낸 것이다.
도 11은 일 실시예에 따른, 전자 장치의 블록도이다.
도 12는 일 실시예에 따른, 전자 장치에 포함된 메모리의 소프트웨어 모듈을 나타내는 블록도이다.
도 13은 일 실시예에 따른, 서버의 블록도이다.
도 14는 일 실시예에 따른, 서버에 포함된 메모리의 소프트웨어 모듈을 나타내는 블록도이다.
본 명세서는 본 발명의 권리범위를 명확히 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 실시할 수 있도록, 본 발명의 원리를 설명하고, 실시예들을 개시한다. 개시된 실시예들은 다양한 형태로 구현될 수 있다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부'(part, portion)라는 용어는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있으며, 실시예들에 따라 복수의 '부'가 하나의 요소(unit, element)로 구현되거나, 하나의 '부'가 복수의 요소들을 포함하는 것도 가능하다. 이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
또한, 본 명세서에서 사용되는 “제1” 또는 “제2” 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들면, 본 명세서에서는 제1 데이터, 제2 데이터를 기재하였으나, 이는 서로 다른 데이터임을 구분하기 위해서 사용한 것일 뿐이므로, 이에 의해서 한정되어서는 안 된다.
이하에서는 도면을 참조하여 실시 예들을 상세히 설명한다.
도 1은 복수의 전자 장치와 서버가 연합 학습을 수행하는 방법의 예시를 설명하는 도면이다. 도 1은 세개의 전자 장치들(10a, 10b, 10c)이 도시되었지만, 이는 설명의 편의를 위한 것일 뿐, 이에 제한되지 않는다. 또한, 도 1은 하나의 서버(20)가 도시되었지만, 이는 설명의 편의를 위한 것일 뿐, 이에 제한되지 않는다. 일 실시예에 따르면, 클라우드 서비스를 제공하기 위한 복수개의 서버들이 서버(20)로 통칭될 수 있다.
도 1을 참조하면, 전자 장치(10a, 10b, 10c)는 네트워크를 통해서 서버(20)와 데이터를 송수신 할 수 있는 모바일 장치(예를 들면, 스마트폰, 태블릿PC 등), 범용 컴퓨터(PC, Personal Computer)와 같은 연산 장치를 포함할 수 있다.
또한, 전자 장치(10a, 10b, 10c)는 사물 인터넷(ioT, internet of Things) 장치, 다양한 사물 인터넷 장치 및 서버(20)와 연결되는 홈 허브 장치(예를 들면, 라우터, 대화형 인공지능 스피커 등)를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(10a, 10b, 10c)는 인공지능 모델(19a, 19b, 19c)이 구축된 모바일 장치(예를 들면, 스마트폰, 태블릿PC 등), 범용 컴퓨터(PC, Personal Computer), 서버(Server)와 같은 연산 장치를 포함할 수 있다.
일 실시예에 따르면, 서버(20)는 적어도 하나의 전자 장치(10a, 10b, 10c)와 데이터를 송수신할 수 있다. 서버(20)는 수신된 데이터를 데이터 베이스에 저장할 수 있다. 또한, 서버(20)는 수신된 데이터를 이용하여 다양한 연산을 수행할 수 있다. 예를 들면, 서버(20)는 수신된 학습 데이터를 이용하여 서버(20)에 구축된 중앙 인공지능 모델(29)을 갱신(refine)할 수 있다.
개시된 실시예들의 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
개시된 인공지능 모델은 학습 데이터로서 입력된 복수의 텍스트 데이터 및 이미지 데이터를 소정의 기준에 의해 학습함으로써 생성된 것일 수 있다. 인공지능 모델은 입력된 데이터에 대응하여, 학습된 기능을 수행함으로써 결과 데이터를 생성하고, 결과 데이터를 출력할 수 있다.
또한, 개시된 인공지능 모델은 적어도 하나의 기능을 수행하도록 학습된(trained) 복수개의 인공지능 모델을 포함할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 학습 데이터를 획득하여 인공지능 모델(19a, 19b, 19c)을 갱신(refine)하는 데 이용할 수 있다. 복수의 전자 장치들(10a, 10b, 10c)의 각각은 서버(20)로부터 중앙 인공지능 모델(29)을 갱신하기 위한 데이터를 송신할 것을 요청받은 것에 대응하여, 중앙 인공지능 갱신 데이터를 서버(20)로 전송할 수 있다. 중앙 인공지능 갱신 데이터는 서버(20)가 중앙 인공지능 모델(29)을 갱신하는데 이용하는, 복수의 전자 장치들(10a, 10b, 10c)의 각각으로부터 서버(20)로 전송된 데이터를 의미한다.
예를 들면, 전자 장치(10a, 10b, 10c)는 인공지능 모델(19a, 19b, 19c)을 갱신하는데 이용한 학습 데이터를 중앙 인공지능 갱신 데이터로서 서버(20)로 전송할 수 있다.
다른 예를 들면, 전자 장치(10a, 10b, 10c)는 갱신된 인공지능 모델(19a, 19b, 19c)의 변동 사항에 관한 정보(예를 들면, 인공지능 모델(19a, 19b, 19c)의 갱신된 가중치에 관한 정보)를 중앙 인공지능 갱신 데이터로서 서버(20)로 전송할 수 있다.
일 실시예에 따르면, 서버(20)는 수신된 중앙 인공지능 갱신 데이터를 이용하여 서버(20)에 구축된 중앙(core) 인공지능 모델(29)을 갱신(refine)할 수 있다.
예를 들면, 서버(20)는 전자 장치(10a, 10b, 10c)로부터 수신된 RAW 데이터 또는 전처리가 적용된 학습 데이터를 이용하여 서버에 구축(build)된 중앙 인공지능 모델(29)을 갱신하는 클라우드 기계학습을 수행할 수 있다.
다른 예를 들면, 서버(20)는 전자 장치(10a, 10b, 10c)로부터 수신된 인공지능 모델(19a, 19b, 19c)의 변동 사항에 관한 정보(예를 들면, 인공지능 모델의 갱신된 가중치에 관한 정보)를 포함하는 중앙 인공지능 갱신 데이터를 이용하여 중앙 인공지능 모델(29)을 갱신하는 연합 학습(federated learning)을 수행할 수 있다.
일 실시예에 따르면, 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)의 각각과 연결된 상태인지 여부를 식별할 수 있다. 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)의 각각과 주기적으로 연결 상태를 확인하기 위한 데이터를 송수신함으로써, 연결 상태를 식별할 수 있다. 즉, 서버(20)는 서버(20)와 연결이 끊어진(drop out) 전자 장치를 식별할 수 있다.
일 실시예에 따르면, 서버(20)는 연결이 끊어진 전자 장치를 제외한 복수의 전자 장치들로 학습 데이터를 송신할 것을 다시 요청할 수 있다. 서버(20)는 연결 중인 복수의 전자 장치들로 연결이 끊어진 전자 장치에 관한 정보에 기초하여, 수정된 중앙 인공지능 갱신 데이터를 전송할 것을 요청할 수 있다. 또는, 서버(20)는 연결 중인 복수의 전자 장치들에 관한 정보에 기초하여, 서버(20)와 연결중인 복수의 전자 장치들로 수정된 중앙 인공지능 갱신 데이터를 전송할 것을 요청할 수 있다. 서버(20)는 수정된 중앙 인공지능 갱신 데이터를 이용하여 인공지능 모델(29)을 갱신할 수 있다.
일 실시예에 따르면, 서버(20)는 중앙 인공지능 모델(29)이 갱신된 가중치에 관한 정보를 복수의 전자 장치들(10a, 10b, 10c)로 전송할 수 있다. 복수의 전자 장치들(10a, 10b, 10c)의 각각은 서버(20)로부터 수신된 정보를 이용하여 복수의 전자 장치들(10a, 10b, 10c)의 각각의 인공지능 모델(19a, 19b, 19c)을 갱신할 수 있다.
도 2는 일 실시예에 따른, 전자 장치와 서버가 데이터를 교환하는 방법의 순서도이다. 도 2의 제1 데이터 및 제2 데이터는 서버(20)에 구축된(build) 중앙(core) 인공지능 모델을 갱신(refine)하는데 이용되는 데이터가 포함된 데이터를 의미한다. 즉, 도 2의 제1 데이터 및 제2 데이터는 도 1을 참조하여 위에서 설명된 중앙 인공지능 갱신 데이터를 포함할 수 있다. 전자 장치(10)는 제1 데이터 및 제2 데이터를 벡터 데이터(vector-type data)로 생성할 수 있다.
도 2를 참조하면, 서버(20)는 중앙 인공지능 모델(29)이 구축될 수 있다. 서버(20)는 중앙 인공지능 모델(29)을 갱신하기 위해서 전자 장치(10)와 연합 학습(federated learning)을 수행할 수 있다.
연합 학습은 복수개의 전자 장치들(10a, 10b, 10c)의 각각이 복수개의 전자 장치들(10a, 10b, 10c)의 각각에 구축된 인공지능 모델(19a, 19b, 19c)을 갱신하고, 갱신된 인공지능 모델(19a, 19b, 19c)의 변동 사항에 관한 정보를 서버(20)가 중앙 인공지능 모델(29)을 갱신하는데 이용하는 기계학습을 의미한다.
서버(20)는 도 2에 개시된 단계들의 각각마다, 복수의 전자 장치들(10a, 10b, 10c)의 각각과 연결된 상태인지 여부를 식별할 수 있다. 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)의 각각으로부터 수신한 복수의 전자 장치들(10a, 10b, 10c)의 식별 정보에 기초하여, 복수의 전자 장치들(10a, 10b, 10c)의 각각과 주기적으로 연결 상태를 확인하기 위한 데이터를 송수신할 수 있다.
단계 210을 참조하면, 서버(20)는 전자 장치(10)로 중앙 인공지능 갱신 데이터가 포함된 제1 데이터를 전송할 것을 전자 장치(10)로 요청할 수 있다.
일 실시예에 따르면, 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)의 각각으로부터 복수의 전자 장치들(10a, 10b, 10c)의 각각의 가중치 값(weight value)이 포함된 식별 정보를 수신할 수 있다.
전자 장치(10)의 가중치 값(weight value)은 중앙 인공지능 모델(29)을 갱신하는데 이용되는, 전자 장치(10)에서 생성된 프라이빗 데이터의 중요도를 의미한다. 전자 장치(10)의 가중치 값은 전자 장치(10)에 구축된 인공지능 모델이 학습된 횟수에 관련된 정보를 포함할 수 있다.
일 실시예에 따르면, 중앙 인공지능 갱신 데이터는 전자 장치(10a, 10b, 10c)에 구축된 인공지능 모델(19a, 19b, 19c)을 갱신하는데 이용된 학습 데이터를 포함할 수 있다.
일 실시예에 따르면, 중앙 인공지능 갱신 데이터는 갱신된(refined) 인공지능 모델(19a, 19b, 19c)의 변동 사항에 관한 정보를 포함할 수 있다. 인공지능 모델(19a, 19b, 19c)의 변동 사항에 관한 정보는 인공지능 모델(19a, 19b, 19c)의 신경망 레이어들의 가중치들 중에서 갱신된 가중치에 관한 정보를 포함할 수 있다.
일 실시예 따르면, 서버(20)는 전자 장치(10a, 10b, 10c)로 프라이빗 데이터로서, 인공지능 모델(19a, 19b, 19c)의 갱신된 가중치에 관한 정보를 포함하는 벡터 데이터를 전송할 것을 요청할 수 있다. 프라이빗 데이터(private data)는 인공지능 모델(19a, 19b, 19c)의 신경망 레이어들의 가중치들 중에서 갱신된 가중치에 관한 정보를 의미한다.
일 실시예에 따르면, 서버(20)가 전자 장치(10)로 전송하는 데이터는 서버(20)가 설정한 노이즈 레벨에 관한 정보를 포함할 수 있다. 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)의 각각으로부터 수신된 식별 정보에 기초하여 노이즈 레벨을 설정할 수 있다.
노이즈 레벨은 복수의 전자 장치들(10a, 10b, 10c)의 차등 정보 보호 데이터들의 총합을 나타내기 위한 정보이다. 일 실시예에 따르면, 서버(20)는 가우시안 노이즈의 분산값을 결정하는데 이용되는 상수(constant number)를 노이즈 레벨로 설정할 수 있다.
차등 정보 보호 데이터는 전자 장치의 프라이빗 데이터가 특정되지 않도록, 차등 정보 보호 방식(differential privacy)으로 프라이빗 데이터를 보호하는 데이터를 의미한다. 일 실시예에 따르면, 차등 정보 보호 데이터는 가우시안 노이즈를 포함하는 벡터 데이터일 수 있다.
단계 220을 참조하면, 서버(20)는 전자 장치(10)로부터 제1 데이터를 수신할 수 있다.
일 실시예에 따르면, 전자 장치(10)는 프라이빗 데이터(private data)가 특정되지 않도록, 프라이빗 데이터에 차등 정보 보호 데이터(differential privacy protection data)가 가산된 제1 데이터를 서버(20)로 전송할 수 있다. 차등 정보 보호 데이터는 단계 210에서 전자 장치(10)가 서버(20)로부터 수신한 노이즈 레벨에 관한 정보에 기초하여 생성된 것일 수 있다.
일 실시예에 따르면, 제1 전자 장치(10a)는 제1 전자 장치(10a)가 복수의 전자 장치들(10a, 10b, 10c)의 가중치 값의 총합, 제1 전자 장치(10a)의 가중치 값 및 서버(20)가 설정한 노이즈 레벨에 기초하여 제1 전자 장치(10a)의 제1 차등 정보 보호 데이터를 생성할 수 있다. 제1 전자 장치(10a)는 제1 차등 정보 보호 데이터를 벡터 데이터(vector-type data)로 생성할 수 있다.
서버(20)는 노이즈 레벨에 기초하여, 복수의 전자 장치들(10a, 10b, 10c)로부터 수신된, 차등 정보 보호 데이터가 가산된 프라이빗 데이터들의 합을 이용하여 중앙 인공지능 모델(29)을 갱신할 수 있다.
일 실시예에 따르면, 전자 장치(10)는 프라이빗 데이터(private data)가 특정되지 않도록, 마스킹 데이터가 가산된 프라이빗 데이터가 포함된 제1 데이터를 서버(20)로 전송할 수 있다.
마스킹 데이터는 전자 장치(10)의 프라이빗 데이터가 특정되지 않도록, 프라이빗 데이터를 보호하는 데이터로서, 전자 장치(10)가 소정의 규칙에 따라서 생성한 데이터를 의미한다.
예를 들면, 제1 전자 장치(10a)는 마스킹 데이터를 임의(random)로 생성할 수 있다. 다른 예를 들면, 복수의 전자 장치들(10a, 10b, 10c)중에서 제2 전자 장치(10b)는 제1 전자 장치(10a)의 공개키, 제3 전자 장치(10c)의 공개키 및 제2 전자 장치(10b)의 비밀키에 기초하여 마스킹 데이터를 생성할 수 있다.
공개키(public key)는 연합 학습을 수행하는 전자 장치(10)가 외부 장치(예를 들면, 다른 전자 장치, 서버)에 연합 학습을 수행하는 장치에 해당함을 나타내는 데이터를 의미한다. 공개키는 연합 학습을 수행하는 복수의 전자 장치들의 각각의 식별 정보를 포함할 수 있다.
비밀키(secure key)는 마스킹 데이터를 생성하는데 이용하기 위해서 전자 장치(10)가 소정의 규칙에 따라서 생성한 데이터를 의미한다. 비밀키는 공개키와 함께 생성된 것일 수 있다.
일 실시예에 따르면, 전자 장치(10)는 차등 정보 보호 데이터, 마스킹 데이터 및 프라이빗 데이터가 모두 포함된 제1 데이터를 서버(20)로 전송할 수 있다.
단계 230을 참조하면, 서버(20)는 복수의 전자 장치들 중에서 제1 데이터를 송신하지 않은 전자 장치를 식별할 수 있다. 또는, 서버(20)는 복수의 전자 장치들 중에서 제1 데이터를 송신한 전자 장치를 식별할 수 있다.
일 실시예에 따르면, 서버(20)는 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들에 대한 리스트를 생성할 수 있다. 서버(20)는 복수의 전자 장치들로부터 수신한 공개키에 기초하여 리스트를 생성할 수 있다. 서버(20)는 리스트에 포함된 복수의 전자 장치들 중에서 서버(20)와 연결이 끊어진 전자 장치를 식별할 수 있다. 서버(20)는 서버(20)와 연결이 끊어진 전자 장치를 식별함으로써, 제1 데이터를 송신하지 않은 전자 장치를 식별할 수 있다.
일 실시예에 따르면, 서버(20)는 단계 210이 완료된 시각으로부터 소정의 시간 동안 제1 데이터를 송신한 전자 장치 및 송신하지 않은 전자 장치를 식별할 수 있다. 서버(20)는 제1 데이터를 송신하지 않은 전자 장치에게로 연결 상태를 확인하기 위한 데이터를 송신할 수 있다. 이 경우, 서버(20)는 제1 데이터를 송신할 것을 재요청할 수 있다. 서버(20)는 제1 데이터를 송신하지 않은 전자 장치를 서버(20)와의 연결이 끊어진(drop out) 전자 장치로 식별할 수 있다.
단계 240을 참조하면, 서버(20)는 제2 데이터를 전송할 것을 전자 장치(10)에게 요청할 수 있다.
일 실시예에 따르면, 서버(20)는 제1 데이터를 전송한 적어도 하나의 전자 장치로 제2 데이터를 전송할 것을 요청하는 데이터를 전송할 수 있다. 이 경우, 서버(20)는 제1 데이터를 송신한 전자 장치에 관련된 정보(예를 들면, 식별 정보) 또는 제1 데이터를 송신하지 않은 전자 장치에 관련된 정보(예를 들면, 식별 정보)를 포함하는 데이터를 제1 데이터를 전송한 복수의 전자 장치로 전송할 수 있다. 예를 들면, 서버(20)는 제1 데이터를 송신하지 않은 전자 장치에 대한 리스트 또는 제1 데이터를 송신한 전자 장치에 대한 리스트를 제1 데이터를 전송한 복수의 전자 장치로 전송할 수 있다. 서버(20)는 복수의 전자 장치들로부터 수신한 공개키들에 기초하여 생성된 리스트를 전송할 수 있다.
일 실시예에 따르면, 서버(20)는 노이즈 레벨을 변경하고, 변경된 노이즈 레벨에 관련된 정보를 제1 데이터를 송신한 복수의 전자 장치들로 전송할 수 있다.
단계 250을 참조하면, 서버(20)로 제1 데이터를 전송한 전자 장치(10)는 서버(20)의 요청에 대응하여, 제2 데이터를 생성할 수 있다.
일 실시예에 따르면, 전자 장치(10)는 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 포함하는 제2 데이터를 생성할 수 있다. 예를 들면, 제1 전자 장치는 서버(20)로 제1 데이터를 송신한 복수의 전자 장치들의 가중치 값의 총합, 제1 전자 장치의 가중치 값에 기초하여, 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 생성할 수 있다. 제1 전자 장치는 차등 정보 수정 데이터를 벡터 데이터(vector-type data)로 생성할 수 있다.
일 실시예에 따르면, 전자 장치(10)는 제1 차등 정보 보호 데이터와 제2 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터가 포함된 제2 데이터를 생성할 수 있다.
일 실시예에 따르면, 전자 장치(10)는 단계 240에서 서버가 새롭게 설정한 노이즈 레벨에 기초하여, 제2 차등 정보 보호 데이터를 생성할 수 있다. 예를 들면, 제1 전자 장치는 서버(20)로 제1 데이터를 송신한 복수의 전자 장치들의 가중치 값의 총합, 제1 전자 장치의 가중치 값 및 새롭게 설정된 노이즈 레벨에 기초하여 제2 차등 정보 보호 데이터를 생성할 수 있다. 제1 전자 장치는 제2 차등 정보 보호 데이터를 벡터 데이터(vector-type data)로 생성할 수 있다.
단계 260을 참조하면, 서버(20)는 전자 장치(10)로부터 제2 데이터를 수신할 수 있다.
일 실시예에 따르면, 전자 장치(10)는 제2 차등 정보 보호 데이터와 제1 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터가 포함된 제2 데이터를 서버(20)로 전송할 수 있다.
일 실시예에 따르면, 제1 차등 정보 보호 데이터와 제2 차등 정보 보호 데이터는 동일한 노이즈 레벨에 기초하여 생성된 것이므로, 단계 260의 복수의 전자 장치들의 각각의 제2 차등 정보 보호 데이터들의 총합(예를 들면, 가우시안 노이즈의 총합의 분포)은 단계 220에서 서버(20)가 복수의 전자 장치들의 각각으로부터 수신할 제1 차등 정보 보호 데이터들의 총합(예를 들면, 가우시안 노이즈의 총합의 분포)과 같을 수 있다.
일 실시예에 따르면, 제2 차등 정보 보호 데이터는 단계 240에서 변경된 노이즈 레벨에 기초하여 생성된 것 일 수 있다. 이 경우, 단계 260에서 서버(20)가 복수의 전자 장치들의 각각으로부터 수신할 제2 차등 정보 보호 데이터들의 총합은 단계 220에서 서버(20)가 복수의 전자 장치들의 각각으로부터 수신할 제1 차등 정보 보호 데이터들의 총합과 같지 않을 수 있다. 전자 장치(10)는 제2 차등 정보 보호 데이터가 가산된 프라이빗 데이터가 포함된 제2 데이터를 서버(20)로 전송할 수 있다.
단계 270을 참조하면, 서버(20)는 수신된 제1 데이터 및 제2 데이터를 이용하여 중앙 인공지능 모델(29)을 갱신할 수 있다.
일 실시예에 따르면, 서버(20)는 복수의 전자 장치로부터 수신된 차등 정보 보호 데이터가 가산된 프라이빗 데이터의 합을 이용하여 중앙 인공지능 모델(29)을 갱신할 수 있다.
일 실시예에 따르면, 서버(20)는 복수의 전자 장치로부터 수신한 제2 데이터들을 이용하여 마스킹 데이터의 합을 제거함으로써, 차등 정보 보호 데이터가 가산된 복수의 전자 장치들의 프라이빗 데이터의 합을 획득할 수 있다.
도 2에 개시된 실시예에 따르면, 복수의 전자 장치들 중에서 일부가 서버로 데이터를 전송하는 도중에 연결이 끊어진 경우에도 서버(20)는 중앙 인공지능 모델(29)을 갱신할 수 있다. 또한, 전자 장치(10)로부터 전송되는 데이터로부터 개인정보가 유출되지 않는다.
도 3은 일 실시예에 따른, 복수의 전자 장치들(10a, 10b, 10c)과 서버(20)가 데이터를 교환하는 방법을 나타낸 순서도이다. 단계 310 내지 350은 도 2의 단계 210을 구체화한 것이고, 단계 360 및 370은 도 2의 단계 220을 구체화한 것이다. 도 3의 제1 데이터는 도 1을 참조하여 위에서 설명된 중앙 인공지능 갱신 데이터를 포함할 수 있다.
도 3을 참조하면, 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)과 연합 학습을 위한 네트워크를 생성할 수 있다. 서버(20)는 도 3에 개시된 단계들의 각각마다, 복수의 전자 장치들(10a, 10b, 10c)의 각각과 연결된 상태인지 여부를 식별할 수 있다.
단계 310을 참조하면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 서버(20)로 공개키를 전송할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각의 공개키는 복수의 전자 장치들(10a, 10b, 10c)의 각각의 식별 정보 및 복수의 전자 장치들(10a, 10b, 10c)의 각각의 가중치 값을 포함할 수 있다.
단계 320을 참조하면, 서버(20)는 수신한 공개키들을 복수의 전자 장치들(10a, 10b, 10c)의 각각으로 브로드캐스트(broadcast) 할 수 있다.
일 실시예에 따르면, 서버(20)는 수신한 공개키들을 이용하여 브로드캐스트 데이터를 생성할 수 있다.
일 실시예에 따르면, 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)의 각각으로부터 수신한 공개키들에 기초하여 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)에 대한 리스트를 생성할 수 있다. 서버(20)는 공개키들을 포함하는 브로드캐스트 데이터를 리스트에 포함된 복수의 전자 장치들(10a, 10b, 10c)의 각각으로 전송할 수 있다.
일 실시예에 따르면, 브로드캐스트 데이터는 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)의 각각의 가중치 값에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 브로드캐스트 데이터는 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)의 가중치 값의 총합에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 브로드캐스트 데이터는 서버(20)가 설정한 노이즈 레벨에 관한 정보를 포함할 수 있다.
단계 330을 참조하면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 공유키를 생성할 수 있다. 공유키는 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)이 상호간에 공유하는 데이터를 의미한다. 예를 들면, 제1 전자 장치(10a)는 제2 전자 장치(10b)에게 전달될 제1 공유키와 제3 전자 장치(10c)에게 전달될 제2 공유키를 생성할 수 있다.
일 실시예에 따르면, 공유키는 전자 장치의 비밀키의 부분 데이터 및 전자 장치의 마스킹 데이터의 부분 데이터를 포함할 수 있다.
일 실시예에 따르면, 공유키는 유니캐스트(unicast)되도록 공유키가 전달될 전자 장치의 식별 정보를 포함할 수 있다. 예를 들면, 제1 공유키는 제2 전자 장치(10b)의 식별 정보를 포함할 수 있다. 제2 공유키는 제3 전자 장치(10c)의 식별 정보를 포함할 수 있다.
단계 340을 참조하면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 서버(20)로 공유키를 전송할 수 있다.
단계 350을 참조하면, 서버(20)는 수신된 공유키들의 각각에 포함된 식별 정보에 기초하여 공유키들을 유니캐스트 할 수 있다.
일 실시예에 따르면, 서버(20)로부터 유니캐스트되는 데이터는 중앙 인공지능 모델(29)을 갱신하는데 이용되는 데이터를 요청하는 데이터를 포함할 수 있다. 즉, 서버(20)는 수신된 공유키들을 복수의 전자 장치들(10a, 10b, 10c)의 각각으로 유니캐스트 할 때, 인공지능 모델(19a, 19b, 19c)의 갱신된 가중치에 관한 정보를 포함하는 벡터 데이터를 전송할 것을 요청하는 데이터를 복수의 전자 장치들(10a, 10b, 10c)로 송신할 수 있다.
단계 360을 참조하면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 유니캐스트된 공유키에 기초하여 중앙 인공지능 모델(29)을 갱신하는데 이용되는 제1 데이터를 생성할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 프라이빗 데이터를 포함하는 벡터 데이터를 제1 데이터로 생성할 수 있다. 예를 들면, 제1 전자 장치(10a)는 제1 전자 장치(10a)에 구축된 인공지능 모델(19a)의 갱신된 가중치에 관한 정보를 프라이빗 데이터로서 포함하는 벡터 데이터를 생성할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각이 생성한 제1 데이터는 프라이빗 데이터가 특정되는 것을 방지하기 위한 차등 정보 보호 데이터가 포함될 수 있다. 예를 들면, 제1 전자 장치(10a)는 서버(20)가 설정한 노이즈 레벨에 관한 정보에 기초하여 제1 차등 정보 보호 데이터를 생성할 수 있다. 제1 전자 장치(10a)는 제1 차등 정보 보호 데이터를 포함하는 제1 데이터를 생성할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각이 생성한 제1 데이터는 프라이빗 데이터가 특정되는 것을 방지하기 위한 마스킹 데이터가 포함될 수 있다. 예를 들면, 제1 전자 장치(10a)는 소정의 규칙에 따라서 생성한 마스킹 데이터를 포함하는 제1 데이터를 생성할 수 있다. 다른 예를 들면, 제1 전자 장치(10a)는 제1 전자 장치(10a)의 비밀키, 제2 전자 장치(10b)의 공개키 및 제3 전자 장치(10c)의 공개키에 기초하여 마스킹 데이터를 생성할 수 있다.
단계 370을 참조하면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 제1 데이터를 서버(20)로 전송할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 단계 360에서 생성한 제1 데이터를 서버(20)로 전송할 수 있다. 서버(20)는 수신된 제1 데이터들에 포함된 복수의 전자 장치들(10a, 10b, 10c)의 프라이빗 데이터들의 합을 이용하여 중앙 인공지능 모델(29)을 갱신할 수 있다. 서버(20)는 차등 정보 보호 데이터가 가산된 프라이빗 데이터들의 합을 이용하여 중앙 인공지능 모델(29)을 갱신하기 때문에, 복수의 전자 장치들(10a, 10b, 10c)의 각각의 프라이빗 데이터가 특정되지 않는다.
한편, 도 3을 참조하면, 서버(20)와 연결된 복수의 전자 장치들(10a, 10b, 10c) 중에서 일부 전자 장치는 서버(20)와 연결이 끊어질 수 있다.
예를 들면, 제3 전자 장치(10c)는 서버(20)를 통해서 제1 전자 장치(10a) 및 제2 전자 장치(10b)와 공유키를 교환한 후, 제1 데이터를 서버(20)로 전송하기 전에 서버(20)와 연결이 끊어질 수 있다. 서버(20)와 연결이 끊어진 제3 전자 장치(10c)는 서버(20)로 제1 데이터를 전송하지 못한다.
서버(20)는 서버(20)에 연결된 복수의 전자 장치들(10a, 10b, 10c)의 모두로부터 획득한 제1 데이터들을 합산한 데이터로부터 프라이빗 데이터들의 합을 획득할 수 있다. 서버(20)는 연결이 끊어진 제3 전자 장치(10c)로부터 제1 데이터를 획득하지 못했기 때문에, 수신된 제1 데이터들을 합산한 데이터는 서버가 설정한 노이즈 레벨에 대응하는 차등 정보 보호 데이터를 포함하지 못한다. 또한, 서버(20)는 제1 데이터의 합으로부터 마스킹 데이터를 제거할 수 없다. 따라서, 서버(20)는 중앙 인공지능 모델(29)을 갱신할 수 없는 문제점이 존재한다.
도 4는 일 실시예에 따른, 복수의 전자 장치들과 서버가 데이터를 교환하는 방법의 순서도이다. 단계 410은 도 2의 단계 240을 구체화한 것이고, 단계 420은 도 2의 단계 250을 구체화한 것이고, 단계 430은 도 2의 단계 260을 구체화한 것이다. 도 4의 제2 데이터는 도 1을 참조하여 위에서 설명된 중앙 인공지능 갱신 데이터를 포함할 수 있다.
단계 410을 참조하면, 서버(20)는 서버(20)에 연결된 복수의 전자 장치들(10a, 10b)로 복수의 전자 장치들(10a, 10b, 10c)의 연결 상태에 관한 정보를 유니캐스트 할 수 있다.
일 실시예에 따르면, 서버(20)는 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c) 중에서 제1 데이터를 전송한 전자 장치(10a, 10b)에 관련된 정보 또는 제1 데이터를 전송하지 않은 전자 장치(10c)에 관련된 정보를 제1 데이터를 전송한 복수의 전자 장치들(10a, 10b)로 유니캐스트 할 수 있다. 예를 들면, 서버(20)는 제2 전자 장치(10b)의 식별 정보 및 제2 전자 장치의 가중치 값을 포함하는 정보를 제1 전자 장치(10a)로 유니캐스트 할 수 있다. 다른 예를 들면, 서버(20)는 제3 전자 장치(10c)의 식별 정보 및 제3 전자 장치의 가중치 값을 포함하는 정보를 제1 전자 장치(10a) 및 제2 전자 장치(10b)로 유니캐스트 할 수 있다.
일 실시예에 따르면, 서버(20)는 서버(20)로 제1 데이터를 전송한 복수의 전자 장치들(10a, 10b)로 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)에 대한 리스트를 유니캐스트 할 수 있다. 리스트는 서버(20)로 제1 데이터를 전송한 복수의 전자 장치들(10a, 10b)의 식별 정보 및 가중치 값을 포함할 수 있다. 또한, 리스트는 서버(20)로 제1 데이터를 전송하지 않은 전자 장치(10c) 의 식별 정보 및 가중치 값을 포함할 수 있다.
일 실시예에 따르면, 서버(20)로부터 유니캐스트되는 데이터는 제2 데이터를 전송하도록 요청하는 데이터를 포함할 수 있다. 예를 들면, 서버(20)는 제1 데이터를 전송한 복수의 전자 장치들(10a, 10b)로 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 포함하는 제2 데이터를 전송할 것을 요청하는 데이터를 유니캐스트 할 수 있다.
일 실시예에 따르면, 서버(20)는 노이즈 레벨을 새롭게 설정하고, 설정된 노이즈 레벨에 관한 정보를 제1 데이터를 전송한 복수의 전자 장치들(10a, 10b)로 유니캐스트 할 수 있다. 예를 들면, 서버(20)는 서버(20)로 제1 데이터를 전송한 복수의 전자 장치들(10a, 10b)의 식별 정보에 기초하여 노이즈 레벨을 새롭게 설정할 수 있다.
단계 420을 참조하면, 복수의 전자 장치들(10a, 10b)은 제2 데이터를 생성할 수 있다.
일 실시예에 따르면, 전자 장치들(10a, 10b)의 각각은 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정할 수 있다. 예를 들면, 제1 전자 장치(10a)는 서버(20)로 제1 데이터를 송신한 복수의 전자 장치들(10a, 10b)의 가중치 값의 총합, 제1 전자 장치(10a)의 가중치 값에 기초하여 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정할 수 있다. 복수의 전자 장치들(10a, 10b)의 제2 차등 정보 보호 데이터들의 총합(예를 들면, 가우시안 노이즈의 총합의 분포)은 서버(20)가 복수의 전자 장치들(10a, 10b, 10c)으로부터 수신할 제1 차등 정보 보호 데이터들의 총합(예를 들면, 가우시안 노이즈의 총합의 분포)과 같을 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각이 생성한 제2 데이터는 마스킹 데이터를 제거하는데 이용되는 공유 비밀 데이터를 포함할 수 있다. 공유 비밀 데이터는 복수의 전자 장치들(10a, 10b, 10c)의 각각이 생성한 마스킹 데이터를 제거하기 위해서, 복수의 전자 장치들(10a, 10b, 10c)이 서로 공유한 복수의 전자 장치들(10a, 10b, 10c)의 각각의 마스킹 데이터의 부분 데이터 및 비밀키의 부분 데이터를 의미한다. 예를 들면, 제1 전자 장치(10a)는 제2 전자 장치(10b)의 비밀키의 부분 데이터, 제3 전자 장치(10c)의 비밀키의 부분 데이터를 포함하는 공유 비밀 데이터를 생성할 수 있다. 또한, 제1 전자 장치(10a)는 제2 전자 장치(10b)의 마스킹 데이터의 부분 데이터 및 제3 전자 장치(10c)의 마스킹 데이터의 부분 데이터를 포함하는 공유 비밀 데이터를 생성할 수 있다.
일 실시예에 따르면, 전자 장치들(10a, 10b)의 각각은 제2 차등 정보 보호 데이터와 제1 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터를 포함하는 제2 데이터를 생성할 수 있다.
일 실시예에 따르면, 전자 장치들(10a, 10b)의 각각은 서버가 새롭게 설정한 노이즈 레벨에 기초하여 제2 차등 정보 보호 데이터를 생성할 수 있다. 전자 장치들(10a, 10b)의 각각은 제2 차등 정보 보호 데이터가 가산된 프라이빗 데이터를 포함하는 제2 데이터를 생성할 수 있다. 도 3의 단계 360과 유사하므로, 중복되는 내용은 생략한다.
단계 430을 참조하면, 복수의 전자 장치들(10a, 10b)은 제2 데이터를 서버(20)로 전송할 수 있다.
일 실시예 따르면, 복수의 전자 장치들(10a, 10b)의 각각은 제2 차등 정보 보호 데이터와 제1 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터를 포함하는 제2 데이터를 서버(20)로 전송할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b)의 각각은 제2 차등 정보 보호 데이터가 가산된 프라이빗 데이터를 포함하는 제2 데이터를 서버(20)로 전송할 수 있다.
서버(20)는 단계 370에서 수신된 제1 데이터 및 복수의 전자 장치들(10a, 10b)로부터 수신한 제2 데이터를 이용하여, 차등 정보 보호 데이터가 가산된 복수의 전자 장치들(10a, 10b, 10c)의 프라이빗 데이터들의 합을 획득할 수 있다.
일 실시예에 따르면, 서버(20)는 제2 데이터들로부터 제2 차등 정보 보호 데이터와 제1 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터를 제1 데이터들의 합에 가산할 수 있다. 서버(20)는 차등 정보 수정 데이터가 가산된 제1 데이터들의 합을 이용하여 중앙 인공지능 모델(29)을 갱신할 수 있다.
일 실시예에 따르면, 서버(20)는 제1 데이터들의 합으로부터 제1 데이터들의 각각에 포함된 마스킹 데이터들의 합을 제거할 수 있다. 예를 들면, 서버(20)는 제1 데이터들에 포함된 복수의 전자 장치들(10a, 10b, 10c)의 공유 비밀 데이터로부터 복수의 전자 장치들(10a, 10b, 10c)의 마스킹 데이터 및 연결이 끊어진 전자 장치(10c)의 비밀키를 복원할 수 있다. 서버(20)는 복원된 비밀키를 이용하여 마스킹 데이터를 제1 데이터들의 합으로부터 감산할 수 있다.
도 3 및 도 4에 개시된 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)이 서버로 데이터를 전송하는 도중에 연결이 끊어진 전자 장치가 존재하는 경우에도 개인정보가 유출되지 않고, 중앙 인공지능 모델(29)을 갱신하기 위한 벡터 데이터가 획득될 수 있다.
도 5는 일 실시예에 따른, 서버가 복수의 전자 장치들의 공개키를 브로드캐스팅(broadcasting)하는 것을 나타낸 것이다. 도 5는 도 3의 단계 310 및 320을 도식화한 것이다.
도 5를 참조하면, 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)의 각각은 인공지능 모델(19a, 19b, 19c)이 구축된 것일 수 있다. 복수의 전자 장치들(10a, 10b, 10c)의 각각은 인공지능 모델(19a, 19b, 19c)의 신경망 레이어들의 가중치들 중에서 갱신된 가중치에 관한 정보를 의미하는 프라이빗 데이터(510, 520, 530)를 생성할 수 있다. 복수의 전자 장치들(10a, 10b, 10c)의 각각은 프라이빗 데이터(510, 520, 530)를 서버로 전송하기 위해서, 서버(20)와 네트워크를 형성해야 한다.
도 5를 참조하면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 서버(20)와 네트워크를 형성하기 위해서, 공개키(540, 550, 560)를 생성하여 서버(20)로 전송한다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 복수의 전자 장치들(10a, 10b, 10c)의 각각의 식별 정보 및 복수의 전자 장치들(10a, 10b, 10c)의 각각의 가중치 값을 포함하는 공개키(540, 550, 560)를 생성할 수 있다.
예를 들면, 제1 전자 장치(10a)는 제1 전자 장치(10a)의 식별 정보 및 제1 전자 장치(10a)의 가중치 값을 포함하는 제1 공개키(540)를 생성할 수 있다. 제2 전자 장치(10b)는 제2 전자 장치(10b)의 식별 정보 및 제2 전자 장치(10b)의 가중치 값을 포함하는 제2 공개키(550)를 생성할 수 있다. 제3 전자 장치(10c)는 제3 전자 장치(10c)의 식별 정보 및 제3 전자 장치(10c)의 가중치 값을 포함하는 제3 공개키(560)를 생성할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 서버(20)로 공개키(540, 550, 560)를 전송할 수 있다.
도 5를 참조하면, 서버(20)는 수신한 공개키들(540, 550, 560)을 복수의 전자 장치들(10a, 10b, 10c)의 각각으로 브로드캐스트(broadcast) 할 수 있다.
일 실시예에 따르면, 서버(20)는 수신한 공개키들(540, 550, 560)을 이용하여 브로드캐스트 데이터를 생성할 수 있다. 예를 들면, 서버(20)는 제1 전자 장치(10a)의 공개키(540)를 이용하여 제1 전자 장치(10a)의 식별 정보 및 가중치 값을 포함하는 제1 브로드캐스트 데이터(570)를 생성할 수 있다. 서버(20)는 제2 전자 장치(10b)의 공개키(550)를 이용하여 제2 전자 장치(10b)의 식별 정보 및 가중치 값을 포함하는 제2 브로드캐스트 데이터(580)를 생성할 수 있다. 서버(20)는 제3 전자 장치(10c)의 공개키(560)를 이용하여 제3 전자 장치(10c)의 식별 정보 및 가중치 값을 포함하는 제3 브로드캐스트 데이터(590)를 생성할 수 있다.
일 실시예에 따르면, 서버(20)는 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)의 가중치 값의 총합에 대한 정보를 포함하는 브로드캐스트 데이터(570, 580, 590)를 생성할 수 있다. 예를 들면, 서버(20)는 제1 전자 장치(10a)의 공개키(540), 제2 전자 장치(10b)의 공개키(550), 제3 전자 장치(10c)의 공개키(560)로부터 획득된 제1 전자 장치(10a)의 가중치 값, 제2 전자 장치(10b)의 가중치 값, 제3 전자 장치(10c)의 가중치 값의 총합을 획득 할 수 있다. 서버(20)는 획득된 가중치 값의 총합에 관한 정보를 포함하는 제1 브로드캐스트 데이터(570), 제2 브로드캐스트 데이터(580) 및 제3 브로드캐스트 데이터(590)를 생성할 수 있다.
일 실시예에 따르면, 서버(20)는 서버(20)가 설정한 노이즈 레벨에 관한 정보를 포함하는 브로드캐스트 데이터(570, 580, 590)를 생성할 수 있다. 노이즈 레벨은 복수의 전자 장치들(10a, 10b, 10c)의 차등 정보 보호 데이터들의 총합을 나타내기 위한 정보이다.
일 실시예에 따르면, 서버(20)는 차등 정보 보호 데이터인 가우시안 노이즈의 분산을 결정하는데 이용되는 상수(constant number)를 노이즈 레벨로 설정할 수 있다.
Figure PCTKR2020016832-appb-img-000001
Figure PCTKR2020016832-appb-img-000002
는 가우시안 노이즈를 의미하고,
Figure PCTKR2020016832-appb-img-000003
는 표준편차를 의미한다. 표준편차
Figure PCTKR2020016832-appb-img-000004
의 제곱은 분산 값이다.
표준편차
Figure PCTKR2020016832-appb-img-000005
는 수학식 2와 같이 정의될 수 있다.
Figure PCTKR2020016832-appb-img-000006
c는 벡터가 갖는 최대값을 의미하고, n은 전자 장치들의 가중치 값의 합을 의미하고, Z는 노이즈 상수를 의미한다.
일 실시예에 따르면, 서버(20)는 노이즈 상수 Z의 값을 노이즈 레벨로 설정할 수 있다. 서버(20)는 표준편차
Figure PCTKR2020016832-appb-img-000007
의 값을 노이즈 레벨로 설정할 수 있다.
일 실시예에 따르면, 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)로부터 수신된 식별 정보에 기초하여 노이즈 레벨을 설정할 수 있다. 예를 들면, 서버(20)는 식별 정보에 기초하여 서버(20)와 연결된 복수의 전자 장치들(10a, 10b, 10c)의 개수에 기초하여 표준편차
Figure PCTKR2020016832-appb-img-000008
및/또는 노이즈 상수 Z의 값을 결정할 수 있다. 다른 예를 들면, 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)의 가중치 값의 총합에 기초하여 가우시안 노이즈의 표준편차
Figure PCTKR2020016832-appb-img-000009
및/또는 노이즈 상수 Z의 값을 결정할 수 있다. 다른 예를 들면, 서버(20)는 서버(20)와 연결된 복수의 전자 장치들(10a, 10b, 10c)의 개수로 가중치 값의 총합을 나눈 값에 기초하여 표준편차
Figure PCTKR2020016832-appb-img-000010
및/또는 노이즈 상수 Z의 값을 결정할 수 있다.
서버(20)가 복수의 전자 장치들로부터 수신된 식별 정보에 기초하여 노이즈 레벨을 설정함으로써 복수의 전자 장치들(10a, 10b, 10c)의 프라이빗 데이터에 대한 보안이 강화될 수 있다.
일 실시예에 따르면, 서버(20)는 복수의 전자 장치들(10a, 10b, 10c)의 각각으로부터 수신한 공개키들에 기초하여 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)에 대한 리스트를 생성할 수 있다. 서버(20)는 리스트에 포함된 복수의 전자 장치들(10a, 10b, 10c)의 각각으로 브로드캐스트 데이터(570, 580, 590)를 전송 할 수 있다. 또한, 서버(20)는 리스트를 포함하는 브로드캐스트 데이터(570, 580, 590)를 복수의 전자 장치(10a, 10b, 10c)의 각각으로 전송할 수 있다.
도 6은 일 실시예에 따른, 복수의 전자 장치들이 서버로 차등 정보 보호 데이터를 전송하는 것을 나타낸 것이다.
도 6을 참조하면, 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c)의 각각은 중앙 인공지능 갱신 데이터(610, 620, 630)를 서버(20)로 전송할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 인공지능 모델(19a, 19b, 19c)의 신경망 레이어들의 가중치들 중에서 갱신된 가중치에 관한 정보를 의미하는 프라이빗 데이터(611, 621, 631) 및 프라이빗 데이터(611, 621, 631)를 보호하는 차등 정보 보호 데이터(613, 623, 633)를 포함하는 중앙 인공지능 갱신 데이터(610, 620, 630)를 생성할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 프라이빗 데이터(611, 621, 631)를 보호하는 차등 정보 보호 데이터(613, 623, 633)를 생성할 수 있다. 예를 들면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 교란(Perturbation)을 위해서 프라이빗 데이터(611, 621, 631)에 가산되는 소정의 노이즈를 차등 정보 보호 데이터(613, 623, 633)로서 생성할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 신뢰 구간내의 특정 분포의 노이즈를 차등 정보 보호 데이터(613, 623, 633)로서 생성할 수 있다. 예를 들면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 가우시안 노이즈를 차등 정보 보호 데이터(613, 623, 633)로서 생성할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 서버(20)로부터 수신한 노이즈 레벨에 관한 정보에 기초하여 차등 정보 보호 데이터(613, 623, 633)를 생성할 수 있다. 예를 들면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 서버(20)가 설정한 가우시안 노이즈의 노이즈 상수 및/또는 표준편차 값에 기초하여 가우시안 노이즈를 차등 정보 보호 데이터(613, 623, 633)로서 생성할 수 있다. 구체적으로, 제1 전자 장치(10a)는 수학식 3과 같이 제1 전자 장치(10a)의 가중치 값 및 제2 전자 장치(10b)의 가중치 값 및 제3 전자 장치(10c)의 가중치 값의 비율에 기초하여, 가우시안 노이즈(613)를 획득할 수 있다. 제2 전자 장치(10b)의 가우시안 노이즈(623) 및 제3 전자 장치의 가우시안 노이즈(633)도 유사하게 획득될 수 있다.
Figure PCTKR2020016832-appb-img-000011
Figure PCTKR2020016832-appb-img-000012
는 전자 장치의 가우시안 노이즈를 의미하고, n 은 복수의 전자 장치들의 가중치 값의 함을 의미하고, w i는 전자 장치의 가중치 값을 의미하고,
Figure PCTKR2020016832-appb-img-000013
는 표준편차를 의미한다.
한편, 도 6을 참조하면, 연합 학습을 수행하는 복수의 전자 장치들(10a, 10b, 10c) 중에서 적어도 하나(10c)가 서버(20)와 연결이 끊어질 수 있다. 예를 들면, 제3 전자 장치(10c)는 서버(20)와 연결이 끊어졌기 때문에 중앙 인공지능 갱신 데이터(630)를 서버(20)로 전송하지 못한다.
따라서, 서버(20)가 수신된 데이터(610, 620)의 합은 서버가 설정한 노이즈 레벨에 대응하는 차등 정보 보호 데이터를 포함하지 못한다. 따라서, 서버(20)는 중앙 인공지능 모델(29)을 갱신할 수 없는 문제점이 존재한다. 그러므로 서버(20)는 서버(20)로 데이터(610, 620)를 전송한 복수의 전자 장치들(10a, 10b)로 차등 정보 보호 데이터를 수정하여 전송할 것을 요청할 수 있다.
도 7은 일 실시예에 따른, 복수의 전자 장치들이 차등 정보 보호 데이터를 수정하는 것을 나타낸 것이다.
도 7을 참조하면, 서버(20)와 연결된 복수의 전자 장치들(10a, 10b)의 각각은 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 서버(20)로 전송할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b)의 각각은 서버(20)와 연결된 전자 장치들(10a, 10b)에 관련된 정보에 기초하여 제1 차등 정보 보호 데이터(713, 723)를 제2 차등 정보 보호 데이터(715, 725)로 수정할 수 있다. 예를 들면, 제1 전자 장치(10a)는 제1 전자 장치(10a)의 가중치 값 및 제2 전자 장치(10b)의 가중치 값의 비율에 기초하여, 제1 가우시안 노이즈(713)를 제2 가우시안 노이즈(715)로 수정할 수 있다. 다른 예를 들면, 제1 전자 장치(10a)는 서버(20)와 연결된 복수의 전자 장치들(10a, 10b)의 가중치 값의 총합 및 제1 전자 장치(10a)의 가중치 값에 기초하여, 수학식 4와 같이 제1 가우시안 노이즈(713)를 제2 가우시안 노이즈(715)로 수정할 수 있다. 제2 전자 장치(10b)의 제1 가우시안 노이즈(723)도 유사하게 제2 가우시안 노이즈(725)로 수정될 수 있다.
Figure PCTKR2020016832-appb-img-000014
Figure PCTKR2020016832-appb-img-000015
는 전자 장치의 가우시안 노이즈를 의미하고, n '은 서버(20)와 연결된 복수의 전자 장치들(10a, 10b)의 가중치 값의 합을 의미하고, w i는 전자 장치의 가중치 값을 의미하고,
Figure PCTKR2020016832-appb-img-000016
는 서버가 새롭게 설정한 표준편차를 의미한다.
수학식 2를 참조하면, 표준편차는 서버(20)와 연결된 복수의 전자 장치들(10a, 10b)의 가중치 값의 합인 n '에 반비례한다. 따라서, 제3 전자 장치(10c)가 서버(20)와 연결이 끊어짐으로 인해서, 서버가 설정했던 표준편차
Figure PCTKR2020016832-appb-img-000017
는 서버가 새롭게 설정한 표준편차
Figure PCTKR2020016832-appb-img-000018
로 변경된다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b)의 각각은 서버(20)와 연결이 끊어진 전자 장치(10c)에 관련된 정보에 기초하여 제1 차등 정보 보호 데이터(713, 723)를 제2 차등 정보 보호 데이터(715, 725)로 수정할 수 있다. 예를 들면, 제1 전자 장치(10a)는 복수의 전자 장치들(10a, 10b, 10c)의 가중치 값의 총합으로부터 제3 전자 장치(10c)의 가중치 값을 감산한 값에 기초하여 제1 차등 정보 보호 데이터(713)를 제2 차등 정보 보호 데이터(723)로 수정할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 제1 차등 정보 보호 데이터들(713, 723, 733)의 총합(예를 들면, 가우시안 노이즈의 총합의 분포)은 서버(20)에 연결된 복수의 전자 장치들(10a, 10b)의 제2 차등 정보 보호 데이터들(715, 725)의 총합(예를 들면, 가우시안 노이즈의 총합의 분포)과 같을 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b)의 각각은 서버(20)가 새롭게 설정한 노이즈 레벨에 기초하여 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정할 수 있다. 예를 들면, 제1 전자 장치(10a)는 서버(20)가 새롭게 설정한 표준편차 값/ 노이즈 상수, 서버(20)와 연결된 복수의 전자 장치들(10a, 10b)의 가중치 값의 총합 및 제1 전자 장치(10a)의 가중치 값에 기초하여, 제1 가우시안 노이즈(713)를 제2 가우시안 노이즈(723)로 수정할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b)의 각각은 제2 차등 정보 보호 데이터와 제1 차등 정보 보호 데이터의 차분 값인 차등 정보 수정 데이터를 포함하는 데이터를 서버(20)로 전송할 수 있다.
도 8은 일 실시예에 따른, 서버가 복수의 전자 장치들의 공유키를 유니캐스팅(unicasting)하는 것을 나타낸 것이다. 도 8은 단계 350을 도식화 한 것이다.
도 8을 참조하면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 공유키(871, 872, 881, 882, 891, 892)를 생성하여 서버(20)로 전송할 수 있다. 구체적으로, 제1 전자 장치(10a)는 제2 전자 장치(10b) 및 제3 전자 장치(10c)의 각각과 공유할 공유키들(871, 872)을 생성할 수 있다. 제2 전자 장치(10b)는 제1 전자 장치(10a) 및 제3 전자 장치(10c)의 각각과 공유할 공유키들(881, 882)을 생성할 수 있다. 제3 전자 장치(10b)는 제1 전자 장치(10a) 및 제2 전자 장치(10b)와 공유할 공유키들(891, 892)을 생성할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 마스킹 데이터(840, 850, 860)로부터 마스킹 데이터의 부분 데이터들(841, 851, 861, 842, 852, 862, 843, 853, 863)을 생성할 수 있다. 복수의 전자 장치들(10a, 10b, 10c)의 각각은 마스킹 데이터의 부분 데이터들(841, 851, 861, 842, 852, 862, 843, 853, 863)의 일부가 중첩되도록 마스킹 데이터의 부분 데이터들(841, 851, 861, 842, 852, 862, 843, 853, 863)을 생성할 수 있다. 마스킹 데이터의 부분 데이터들(841, 851, 861, 842, 852, 862, 843, 853, 863)은 서버(20)에 의해서 마스킹 데이터가 복원될 수 있도록, 소정의 규칙에 따라서 생성된 것일 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 비밀키(810, 820, 830)로부터 비밀키의 부분 데이터들(811, 821, 831, 812, 822, 832)을 생성할 수 있다. 복수의 전자 장치들(10a, 10b, 10c)의 각각은 비밀키의 부분 데이터들(811, 821, 831, 812, 822, 832)의 일부가 중첩되도록 비밀키의 부분 데이터들(811, 821, 831, 812, 822, 832)을 생성할 수 있다. 비밀키의 부분 데이터들(811, 821, 831, 812, 822, 832)은 서버(20)에 의해서 비밀키가 복원될 수 있도록, 소정의 규칙에 따라서 생성된 것일 수 있다.
일 실시예에 따르면, 공유키는 전자 장치의 비밀키의 부분 데이터 및 전자 장치의 마스킹 데이터의 부분 데이터 중에서 적어도 하나를 포함할 수 있다. 예를 들면, 제1 전자 장치(10a)는 제1 전자 장치(10a)의 비밀키(810)의 부분 데이터(811, 812) 및 제1 전자 장치(10a)의 마스킹 데이터(840)의 부분 데이터(841, 842)를 포함하는 공유키(871, 872)를 생성할 수 있다. 제2 전자 장치(10b)는 제2 전자 장치(10b)의 비밀키(820)의 부분 데이터(821, 822) 및 제2 전자 장치(10b)의 마스킹 데이터(850)의 부분 데이터(851, 852)를 포함하는 공유키(881, 882)를 생성할 수 있다. 제3 전자 장치(10c)는 제3 전자 장치(10c)의 비밀키(830)의 부분 데이터(831, 832) 및 제3 전자 장치(10c)의 마스킹 데이터(860)의 부분 데이터(861, 862)를 포함하는 공유키(891, 892)를 생성할 수 있다.
일 실시예에 따르면, 공유키는 목적지 정보(target information)을 포함할 수 있다. 예를 들면, 제1 전자 장치(10a)가 제2 전자 장치(10b)와 공유하기 위해서 생성한 제1 공유키(871)는 목적지 정보로 제2 전자 장치(10b)의 식별 정보를 포함할 수 있다.
서버(20)는 복수의 전자 장치들(10a, 10b, 10c)로부터 수신한 공유키들(871, 872, 881, 882, 891, 892)을 복수의 전자 장치들(10a, 10b, 10c)의 각각으로 유니캐스트(unicast) 할 수 있다.
일 실시예에 따르면, 서버(20)는 공유키들(871, 872, 881, 882, 891, 892)에 포함된 목적지 정보에 기초하여 공유키를 유니캐스트 할 수 있다.
도 9는 일 실시예에 따른, 서버가 연결이 끊어진 전자 장치를 제외한 복수의 전자 장치들의 각각으로부터 데이터를 수신하는 것을 나타낸 것이다.
도 9를 참조하면, 복수의 전자 장치들(10a, 10b, 10c)의 각각은 중앙 인공지능 모델(29)을 갱신하기 위해 중앙 인공지능 갱신 데이터(910, 920, 930)를 서버(20)로 전송할 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)이 전송하는 데이터(910, 920, 930)은 프라이빗 데이터(911, 921, 931), 제1 마스킹 데이터(912, 922, 932), 제2 마스킹 데이터(913, 923, 933), 차등 정보 보호 데이터(914, 924, 934) 및 공유 비밀 데이터(915, 925, 935)를 포함할 수 있다. 예를 들면, 제1 전자 장치(10a)는 제1 전자 장치(10a)의 프라이빗 데이터(911), 제1 전자 장치(10a)의 제1 마스킹 데이터(912), 제1 전자 장치(10a)의 제2 마스킹 데이터(913), 제1 전자 장치(10a)의 차등 정보 보호 데이터(914) 및 제1 전자 장치(10a)의 공유 비밀 데이터(915)를 포함하는 데이터(910)를 서버(20)로 전송할 수 있다
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)는 제1 마스킹 데이터(912, 922, 932)를 생성할 수 있다. 제1 마스킹 데이터(912, 922, 932)는 프라이빗 데이터가 특정되지 않도록 프라이빗 데이터를 보호하는 데이터로서, 복수의 전자 장치들(10a, 10b, 10c)의 각각이 소정의 규칙에 따라서 임의(random)로 생성한 것일 수 있다.
일 실시예에 따르면, 복수의 전자 장치들(10a, 10b, 10c)는 제2 마스킹 데이터(913, 923, 933)를 생성할 수 있다. 제2 마스킹 데이터(913, 923, 933)는, 프라이빗 데이터가 특정되지 않도록 프라이빗 데이터를 보호하는 데이터로서, 복수의 전자 장치들(10a, 10b, 10c)의 각각이 비밀키 및 공개키에 기초하여 생성할 것일 수 있다. 예를 들면, 제2 전자 장치(10b)는 제2 전자 장치(10b)의 비밀키, 제1 전자 장치(10a)의 공개키 및 제3 전자 장치(10c)의 공개키에 기초하여 제2 마스킹 데이터(923)를 생성할 수 있다. 구체적으로, 제2 전자 장치(10b)는 제1 전자 장치(10a)의 공개키와 제2 전자 장치(10b)의 비밀키를 연산한 값(예를 들면 제1 전자 장치의 공개키를 제2 전자 장치의 비밀키로 제곱한 값)을 감산하고, 제3 전자 장치(10c)의 공개키와 제2 전자 장치(10b)의 비밀키를 연산한 값(예를 들면 제3 전자 장치의 공개키를 제2 전자 장치의 비밀키로 제곱한 값)을 가산하는 제2 마스킹 데이터(923)를 생성할 수 있다.
한편, 도 9를 참조하면, 서버(20)와 연결이 끊어진 전자 장치(10c)는 중앙 인공지능 모델(29)을 갱신하기 위한 데이터(930)를 서버(20)로 전송할 수 없다. 서버(20)는 복수의 전자 장치들(10a, 10b) 로부터 수신된 데이터들의 합으로부터 마스킹 데이터의 합을 제거할 수 있다.
데이터(930)가 전송되지 않았기 때문에, 서버(20)는 데이터들(910, 920)로부터 차등 정보 보호 데이터가 가산된 프라이빗 데이터(911, 921)의 합을 획득해야 한다. 구체적인 방법은 도 10을 참조하여, 아래에서 설명한다.
도 10은 일 실시예에 따른, 서버가 수신된 데이터들로부터 차등 정보 보호 데이터가 가산된 프라이빗 데이터의 합을 획득하는 것을 나타낸 것이다.
도 10을 참조하면, 서버(20)는 수신된 데이터(1010, 1020)으로부터 정보 보호 데이터(1050)가 가산된 프라이빗 데이터들의 합(1030)을 획득할 수 있다. 데이터들(1010, 1020)의 각각은 프라이빗 데이터, 마스킹 데이터, 비밀키, 차등 정보 보호 데이터 및 공유 비밀 데이터를 포함할 수 있다.
도 7을 참조하여 위에서 살펴본 바와 같이, 서버(20)는 연결이 끊어진 제3 전자 장치(10c)를 식별할 수 있다. 서버(20)는 제3 전자 장치(10c)에 관한 정보 또는 서버(20)에 연결된 복수의 전자 장치들(10a, 10b)에 관한 정보를 서버(20)에 연결된 복수의 전자 장치들(10a, 10b)로 전송할 수 있다. 복수의 전자 장치들(10a, 10b)의 각각은 제3 전자 장치(10c)에 관한 정보(예를 들면, 제3 전자 장치의 식별 정보, 제3 전자 장치의 가중치 값 등)에 기초하여, 차등 정보 보호 데이터를 수정할 수 있다. 복수의 전자 장치들(10a, 10b)의 각각은 차등 정보 보호 데이터를 수정하는데 이용되는, 차등 정보 수정 데이터를 서버(20)로 전송할 수 있다.
일 실시예에 따르면, 서버(20)는 수신된 데이터(1010, 1020)으로부터 제1 마스킹 데이터(1040)를 제거할 수 있다. 서버(20)는 수신된 데이터(1010, 1020)에 포함된 공유 비밀 데이터들로부터 제1 마스킹 데이터의 부분 데이터들(1081)을 획득할 수 있다. 서버(20)는 제1 마스킹 데이터의 부분 데이터들(1081)로부터 제1 마스킹 데이터를 복원할 수 있다. 서버(20)는 복원된 제1 마스킹 데이터(1080)를 이용하여 데이터들(1010, 1020)의 합으로부터 제1 마스킹 데이터(1040)를 제거할 수 있다.
일 실시예에 따르면, 서버(20)는 수신된 데이터(1010, 1020)로부터 제2 마스킹 데이터(1060)를 제거할 수 있다. 서버(20)는 수신된 데이터(1010, 1020)에 포함된 공유 비밀 데이터들로부터 비밀키의 부분 데이터들(1071)을 획득할 수 있다. 서버(20)는 비밀키의 부분 데이터들(1071)로부터 서버(20)와 연결이 끊어진 전자 장치(10c)의 비밀키를 복원할 수 있다. 서버(20)는 복원된 비밀키를 이용하여 제2 마스킹 데이터(1070)를 복원할 수 있다. 서버(20)는 복원된 제2 마스킹 데이터(1070)를 이용하여 데이터들(1010, 1020)의 합으로부터 제2 마스킹 데이터(1060)를 제거할 수 있다.
서버(20)는 수신된 데이터(1010, 1020)로부터 마스킹 데이터(1040, 1060) 를 제거함으로써, 차등 정보 보호 데이터(1050)가 가산된 프라이빗 데이터들의 합(1030)을 획득할 수 있다. 서버(20)는 차등 정보 보호 데이터(1050)가 가산된 프라이빗 데이터들의 합(1030)을 이용하여 중앙 인공지능 모델(29)을 갱신할 수 있다.
도 11은 일 실시예에 따른, 전자 장치의 블록도이다.
도 11을 참조하면, 전자 장치(10)는, 사용자 입력부(11), 출력부(12), 프로세서(13), 통신부(15) 및 메모리(17)를 포함할 수 있다. 그러나, 도 11에 도시된 구성 요소 모두가 전자 장치(10)의 필수 구성 요소인 것은 아니다. 도 11에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(10)가 구현될 수도 있고, 도 11에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(10)가 구현될 수도 있다.
사용자 입력부(11)는, 사용자가 전자 장치(10)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(11)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 터치스크린, 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(11)는 도 1 내지 도 10을 참조하여 설명한 실시예들을 전자 장치(10)가 수행하기 위해 필요한 사용자 입력을 수신할 수 있다.
출력부(12)는 전자 장치(10)에서 처리되는 정보를 출력한다. 출력부(12)는 도 1 내지 도 10을 참조하여 설명한 실시예들에 관련된 정보를 출력할 수 있다.
프로세서(13)는, 통상적으로 전자 장치(10)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(13)는, 메모리(17)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 사용자 입력부(11), 출력부(12), 통신부(15), 메모리(17) 등을 전반적으로 제어할 수 있다. 예를 들면, 프로세서(13)는 서버(20)와의 데이터를 송수신하기 위해서 통신부(15)를 제어할 수 있다.
프로세서(13)는 범용적으로 이용되는 적어도 하나의 프로세서일 수 있다. 또한, 프로세서(13)는 인공지능 모델의 기능을 수행하기 위해서 제작된 적어도 하나의 프로세서를 포함할 수 있다. 프로세서(13)는 인공지능 모델이 새로운 학습 데이터를 학습하도록 일련의 인스트럭션를 실행할 수 있다.
프로세서(13)는 메모리(17)에 저장된 소프트웨어 모듈을 실행함으로써, 도 1 내지 도 10을 참조하여 위에서 설명한 인공지능 모델의 기능을 수행할 수 있다.
예를 들면, 프로세서(13)는 프라이빗 데이터 획득 모듈(17a)을 실행함으로써, 전자 장치(10)에 구축된 인공지능 모델의 신경망 레이어들의 가중치들 중에서 갱신된 가중치에 관한 정보인 프라이빗 데이터를 획득할 수 있다. 프로세서(13)는 획득한 프라이빗 데이터를 포함하는 벡터 데이터를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(13)는 공개키 생성 모듈(17b)을 실행함으로써, 전자 장치(10)가 외부 장치(예를 들면, 다른 전자 장치, 서버)에 연합 학습을 수행하는 장치에 해당함을 나타내는 데이터인 공개키를 생성할 수 있다. 프로세서(13)는 전자 장치(10)의 식별 정보를 포함하는 공개키를 생성할 수 있다. 프로세서(13)는 프라이빗 데이터의 중요도를 의미하는 전자 장치(10)의 가중치 값을 포함하는 공개키를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(13)는 공유키 생성 모듈(17c)을 실행함으로써, 연합 학습을 수행하는 다른 전자 장치와 공유하는 데이터인 공유키를 생성할 수 있다. 프로세서(13)는 전자 장치(10)의 비밀키의 부분 데이터 및 전자 장치(10)의 마스킹 데이터의 부분 데이터를 포함하는 공유키를 생성할 수 있다. 프로세서(13)는 공유키가 전달될 전자 장치의 식별 정보가 포함된 공유키를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(13)는 차등 정보 보호 데이터 생성 모듈(17d)을 실행함으로써, 프라이빗 데이터가 특정되지 않도록, 차등 정보 보호 방식(differential privacy)으로 프라이빗 데이터를 암호화하는 데이터인 차등 정보 보호 데이터(예를 들면, 가우시안 노이즈)를 생성할 수 있다. 프로세서(13)는 전자 장치(10)의 가중치 값, 전자 장치(10)와 연합 학습을 수행하는 복수의 전자 장치들의 가중치 값의 총합 및 서버(20)로부터 수신한 노이즈 레벨에 기초하여 차등 정보 보호 데이터를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(13)는 메모리(17)에 저장된 인스트럭션을 실행함으로써, 중앙 인공지능 갱신 데이터를 생성할 수 있다. 프로세서(13)는 전자 장치(10)의 프라이빗 데이터, 마스킹 데이터, 차등 정보 보호 데이터 및 공유 비밀 데이터를 포함하는 중앙 인공지능 갱신 데이터를 벡터 데이터로 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(13)는 메모리(17)에 저장된 인스트럭션을 실행함으로써, 차등 정보 보호 데이터를 수정하는데 이용되는 차등 정보 수정 데이터를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
통신부(15)는, 전자 장치(10)가 다른 장치(미도시) 및 서버(20)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 장치(미도시)는 전자 장치(10)와 같은 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다.
메모리(17)는, 프로세서(13)의 처리 및 제어를 위한 적어도 하나의 인스트럭션 및 적어도 하나의 프로그램을 저장할 수 있고, 전자 장치(10)로 입력되거나 전자 장치(10)로부터 출력되는 데이터를 저장할 수도 있다.
메모리(17)는 램(RAM, Random Access Memory) SRAM(Static Random Access Memory)과 같이 일시적으로 데이터를 저장하는 메모리 및 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크과 같이 비일시적으로 데이터를 저장하는 데이터 스토리지 중에서 적어도 하나의 타입의 저장매체를 포함할 수 있다.
도 12는 일 실시예에 따른, 전자 장치에 포함된 메모리의 소프트웨어 모듈을 나타내는 블록도이다.
도 12를 참조하면, 메모리(17)는 도 1 내지 도 10를 참조하여 위에서 설명한 실시예를 전자 장치(10)가 수행하기 위한 인스터럭션이 포함된 소프트웨어 모듈로서, 프라이빗 데이터 획득 모듈(17a), 공개키 생성 모듈(17b), 공유키 생성 모듈(17c) 및 차등 정보 보호 데이터 생성 모듈(17d)을 포함할 수 있다. 그러나, 도 12에 도시된 소프트웨어 모듈보다 많은 소프트웨어 모듈에 의해 전자 장치(10)가 서버(20)와 연합 학습을 수행할 수 있고, 도 12에 도시된 소프트웨어 모듈보다 적은 소프트웨어 모듈에 의해 전자 장치(10)가 서버(20)와 연합 학습을 수행할 수도 있다.
예를 들면, 프라이빗 데이터 획득 모듈(17a)에 포함된 인스트럭션을 프로세서(13)가 실행함으로써, 전자 장치(10)는 전자 장치(10)에 구축된 인공지능 모델의 신경망 레이어들의 가중치들 중에서 갱신된 가중치에 관한 정보인 프라이빗 데이터를 획득할 수 있다. 전자 장치(10)는 획득한 프라이빗 데이터를 포함하는 벡터 데이터를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 공개키 생성 모듈(17b)에 포함된 인스트럭션을 프로세서(13)가 실행함으로써, 전자 장치(10)는 전자 장치(10)가 외부 장치(예를 들면, 다른 전자 장치, 서버)에 연합 학습을 수행하는 장치에 해당함을 나타내는 데이터인 공개키를 생성할 수 있다. 전자 장치(10)는 전자 장치(10)의 식별 정보를 포함하는 공개키를 생성할 수 있다. 전자 장치(10)는 프라이빗 데이터의 중요도를 의미하는 전자 장치(10)의 가중치 값을 포함하는 공개키를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 공유키 생성 모듈(17c)에 포함된 인스트럭션을 프로세서(13)가 실행함으로써, 전자 장치(10)는 연합 학습을 수행하는 다른 전자 장치와 공유하는 데이터인 공유키를 생성할 수 있다. 전자 장치(10)는 전자 장치(10)의 비밀키의 부분 데이터 및 전자 장치(10)의 마스킹 데이터의 부분 데이터를 포함하는 공유키를 생성할 수 있다. 전자 장치(10)는 공유키가 전달될 전자 장치의 식별 정보가 포함된 공유키를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 차등 정보 보호 데이터 생성 모듈(17d)에 포함된 인스트럭션을 프로세서(13)가 실행함으로써, 전자 장치(10)는 프라이빗 데이터가 특정되지 않도록, 차등 정보 보호 방식(differential privacy)으로 프라이빗 데이터를 암호화하는 데이터인 차등 정보 보호 데이터(예를 들면, 가우시안 노이즈)를 생성할 수 있다. 전자 장치(10)는 전자 장치(10)의 가중치 값, 전자 장치(10)와 연합 학습을 수행하는 복수의 전자 장치들의 가중치 값의 총합 및 서버(20)로부터 수신한 노이즈 레벨에 기초하여 차등 정보 보호 데이터를 생성할 수 있다. 또한, 전자 장치(10)는 차등 정보 보호 데이터를 수정하는데 이용되는 차등 정보 수정 데이터를 생성할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
도 13은 일 실시예에 따른, 서버의 블록도이다.
일부 실시예에 따른 서버(20)는 통신부(25), DB(27) 및 프로세서(23)를 포함할 수 있다.
통신부(25)는 서버(20)가 전자 장치(10)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다.
DB(27)는 전자 장치(10)로부터 수신한 데이터를 저장할 수 있다. DB(27)는 전자 장치(10)와 연합 학습을 수행하기 위한 데이터 및 프로그램을 저장할 수 있다. DB(27)는 중앙 인공지능 모델(29)을 백업한 데이터를 저장할 수 있다. DB(27)는 중앙 인공지능 모델(29)을 갱신한 히스토리를 저장할 수 있다.
프로세서(23)는 통상적으로 서버(20)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(23)는, 서버(20)의 메모리(26)에 저장된 프로그램들을 실행함으로써, DB(27) 및 통신부(25) 등을 전반적으로 제어할 수 있다. 프로세서(23)는 프로그램들을 실행함으로써, 도 1 내지 도 10을 참조하여 설명한 서버(20)의 동작을 수행할 수 있다.
예를 들면, 프로세서(23)는 브로드캐스팅 모듈(26a)을 실행함으로써, 복수의 전자 장치들로부터 수신한 공개키를 복수의 전자 장치들로 브로드캐스트 할 수 있다. 프로세서(23)는 복수의 전자 장치들의 각각의 가중치 값에 대한 정보, 노이즈 레벨에 관한 정보를 포함하는 브로드캐스트 데이터를 생성할 수 있다. 프로세서(23)는 생성된 브로드캐스트 데이터를 복수의 전자 장치들로 전송할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(23)는 유니캐스팅 모듈(26b)을 실행함으로써, 복수의 전자 장치들로부터 수신한 공유키들의 각각을 유니캐스트 할 수 있다. 프로세서(23)는 공유키에 포함된 공유키가 전달될 전자 장치의 식별 정보에 기초하여 공유키를 유니캐스트 할 수 있다. 프로세서(23)는 유니캐스트 할 때, 복수의 전자 장치들의 각각으로 프라이빗 데이터가 포함된 벡터데이터를 전송할 것을 요청하는 데이터를 전송할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(23)는 전자 장치 식별 모듈(26c)을 실행함으로써, 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들과의 연결 상태를 식별할 수 있다. 프로세서(23)는 복수의 전자 장치들의 각각과 주기적으로 연결 상태를 확인하기 위한 데이터를 송수신하도록 통신부(25)를 제어할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(23)는 차등 정보 보호 데이터 연산 모듈(26d)을 실행함으로써, 차등 정보 보호 데이터들의 총합을 나타내는 노이즈 레벨을 설정할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 프로세서(23)는 인공지능 모델 갱신 모듈(26e)을 실행함으로써, 복수의 전자 장치들로부터 수신한 중앙 인공지능 갱신 데이터로부터 차등 정보 보호 데이터가 가산된 프라이빗 데이터들의 합을 획득할 수 있다. 프로세서(23)는 중앙 인공지능 갱신 데이터로부터 마스킹 데이터를 감산할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
도 14는 일 실시예에 따른, 서버에 포함된 메모리의 소프트웨어 모듈을 나타내는 블록도이다.
도 14를 참조하면, 메모리(26)는 도 1 내지 도 10를 참조하여 위에서 설명한 실시예를 서버(20)가 수행하기 위한 소프트웨어 모듈로서, 브로드캐스팅 모듈(26a), 유니캐스팅 모듈(26b), 전자 장치 식별 모듈(26c), 차등 정보 보호 데이터 연산 모듈(26d) 및 인공지능 모델 갱신 모듈(26e)을 포함할 수 있다. 그러나, 도 14에 도시된 소프트웨어 모듈보다 많은 소프트웨어 모듈에 의해 서버(20)가 전자 장치(10)와 연합 학습을 수행할 수 있고, 도 14에 도시된 소프트웨어 모듈보다 적은 소프트웨어 모듈에 의해 서버(20)가 전자 장치(10)와 연합 학습을 수행할 수도 있다.
예를 들면, 브로드캐스팅 모듈(26a)에 포함된 인스트럭션을 프로세서(23)가 실행함으로써, 서버(20)는 복수의 전자 장치들로부터 수신한 공개키를 복수의 전자 장치들로 브로드캐스트 할 수 있다. 서버(20)는 복수의 전자 장치들의 각각의 가중치 값에 대한 정보, 노이즈 레벨에 관한 정보를 포함하는 브로드캐스트 데이터를 생성할 수 있다. 서버(20)는 생성된 브로드캐스트 데이터를 복수의 전자 장치들로 전송할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 유니캐스팅 모듈(26b)에 포함된 인스트럭션을 프로세서(23)가 실행함으로써, 서버(20)는 복수의 전자 장치들로부터 수신한 공유키들의 각각을 유니캐스트 할 수 있다. 서버(20)는 공유키에 포함된 공유키가 전달될 전자 장치의 식별 정보에 기초하여 공유키를 유니캐스트 할 수 있다. 서버(20)는 유니캐스트 할 때, 복수의 전자 장치들의 각각으로 프라이빗 데이터가 포함된 벡터데이터를 전송할 것을 요청하는 데이터를 전송할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 전자 장치 식별 모듈(26c)에 포함된 인스트럭션을 프로세서(23)가 실행함으로써, 서버(20)는 서버(20)와 연합 학습을 수행하는 복수의 전자 장치들과의 연결 상태를 식별할 수 있다. 서버(20)는 복수의 전자 장치들의 각각과 주기적으로 연결 상태를 확인하기 위한 데이터를 송수신할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 차등 정보 보호 데이터 연산 모듈(26d)에 포함된 인스트럭션을 프로세서(23)가 실행함으로써, 서버(20)는 차등 정보 보호 데이터들의 총합을 나타내는 노이즈 레벨을 설정할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
다른 예를 들면, 인공지능 모델 갱신 모듈(26e)에 포함된 인스트럭션을 프로세서(23)가 실행함으로써, 서버(20)는 복수의 전자 장치들로부터 수신한 중앙 인공지능 갱신 데이터로부터 차등 정보 보호 데이터가 가산된 프라이빗 데이터들의 합을 획득할 수 있다. 서버(20)는 중앙 인공지능 갱신 데이터로부터 마스킹 데이터를 감산할 수 있다. 도 1 내지 도 10을 참조하여 위에서 설명한 실시예와 중복되는 내용은 생략한다.
한편 도 1 내지 도 14를 참조하여 개시된 실시예에 따르면, 서버(20)와 연합 학습을 수행하는 전자 장치(10)가 서버(20)와 연결이 끊어진 경우에도, 전자 장치(10)의 프라이빗 데이터에 대한 보안이 유지될 수 있다.
따라서, 개시된 실시예들은 개인의 프라이버시에 관련된 데이터를 이용하여 연합 학습을 수행하는 서비스에 이용될 수 있다. 예를 들면, 개시된 실시예는 개인의 신체 데이터 (예를 들면, 신장, 체중, 혈압, 맥박, 등)을 이용하여 연합 학습을 수행하는 서비스에 이용될 수 있다. 다른 예를 들면, 개시된 실시예는 개인의 의료 데이터 (예를 들면, 의료 영상, 질병 내역, 약물 처방 내역, 진료 내역 등)을 이용하여 연합 학습을 수행하는 서비스에 이용될 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.

Claims (20)

  1. 서버가 상기 서버에 구축된(build) 중앙(core) 인공지능 모델을 갱신하는 방법에 있어서,
    상기 중앙 인공지능 모델과 연합 학습(federated learning)을 수행하는 복수의 전자 장치들의 각각으로, 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계;
    상기 복수의 전자 장치들 중에서 적어도 하나의 전자 장치로부터 제1 데이터를 수신하는 단계;
    상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별하는 단계;
    상기 식별 결과에 기초하여 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치로 제2 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계;
    상기 제1 데이터를 송신한 전자 장치로부터 제2 데이터를 수신하는 단계; 및
    상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 인공지능 모델을 갱신하는 단계를 포함하고,
    상기 제1 데이터는 상기 복수의 전자 장치들의 각각의 프라이빗 데이터를 보호하기 위한 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하고,
    상기 제2 데이터는 상기 식별 결과에 기초하여 상기 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 제1 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계는,
    상기 복수의 전자 장치들의 각각으로부터 상기 복수의 전자 장치들의 각각의 식별 정보를 수신하는 단계;
    상기 수신된 식별 정보들에 기초하여 노이즈 레벨(noise level)을 설정하는 단계; 및
    상기 노이즈 레벨에 관한 정보를 상기 복수의 전자 장치들로 전송하는 단계를 포함하고,
    상기 제1 차등 정보 보호 데이터는,
    상기 노이즈 레벨에 기초하여 상기 복수의 전자 장치들의 각각으로부터 생성되는 것인,
    방법.
  3. 제2항에 있어서,
    상기 노이즈 레벨에 관한 정보는,
    상기 복수의 전자 장치들로부터 수신될 제1 차등 정보 보호 데이터들의 총합에 관한 정보를 포함하고,
    상기 제1 데이터를 수신하는 단계는,
    상기 복수의 전자 장치들 중에서 제1 전자 장치로부터, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보 및 상기 제1 전자 장치의 가중치 값에 기초하여 생성한, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 수신하는 단계를 포함하는,
    방법.
  4. 제3항에 있어서,
    상기 제2 데이터를 전송할 것을 요청하는 데이터를 전송하는 단계는,
    상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보를 상기 제1 전자 장치로 전송하는 단계를 포함하고,
    상기 제2 데이터를 수신하는 단계는,
    상기 제1 전자 장치로부터, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보 및 상기 제1 전자 장치의 가중치에 기초하여 생성한 상기 제1 전자 장치의 차등 정보 수정 데이터를 수신하는 단계를 포함하고,
    상기 복수의 전자 장치들로부터 수신될 제1 차등 정보 보호 데이터의 총합은 상기 서버가 상기 제1 데이터를 송신한 전자 장치들로부터 수신할 차등 정보 수정 데이터에 의해서 수정되는, 상기 제2 차등 정보 보호 데이터의 총합과 동일한 값인,
    방법.
  5. 제4항에 있어서,
    상기 제2 데이터를 수신하는 단계는,
    상기 제1 전자 장치로부터, 상기 제1 전자 장치의 제2 차등 정보 보호 데이터와 상기 제1 전자 장치의 제1 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터를 수신하는 단계를 포함하는,
    방법.
  6. 제1항에 있어서,
    상기 제1 데이터를 전송할 것을 요청하는 단계는,
    상기 복수의 전자 장치들 중에서 제1 전자 장치로부터 제1 공개키를 수신하고, 상기 복수의 전자 장치들 중에서 제2 전자 장치로부터 수신된 제2 공개키를 수신하는 단계;
    상기 제1 공개키 및 상기 제2 공개키를 브로드캐스트하는단계;
    상기 제1 전자 장치로부터 제1 공유키를 수신하고, 상기 제2 전자 장치로부터 제2 공유키를 수신하는 단계; 및
    상기 제1 공유키를 상기 제2 전자 장치로 유니캐스트 하고, 상기 제2 공유키를 상기 제1 전자 장치로 유니캐스트하는 단계를 포함하고,
    상기 제1 공유키는
    상기 제1 전자 장치의 제1 프라이빗 데이터를 보호하기 위한 제1 마스킹 데이터의 적어도 일부를 포함하고,
    상기 제2 공유키는
    상기 제2 전자 장치의 제2 프라이빗 데이터를 보호하기 위한 제2 마스킹 데이터의 적어도 일부를 포함하고,
    상기 제1 데이터를 수신하는 단계는,
    상기 제1 전자 장치로부터 상기 제1 마스킹 데이터가 포함된 제1 데이터를 수신하고, 상기 제2 전자 장치로부터 상기 제2 마스킹 데이터가 포함된 제1 데이터를 수신하는 단계;를 포함하고,
    상기 제2 데이터를 수신하는 단계는,
    상기 제2 전자 장치로부터, 상기 제1 마스킹 데이터를 제거하기 위하여 상기 제1 공유키에 기초하여 생성된 제1 공유 비밀 데이터를 수신하고, 상기 제1 전자 장치로부터, 상기 제2 마스킹 데이터를 제거하기 위하여 상기 제2 공유키에 기초하여 생성된 제2 공유 비밀 데이터를 수신하는 단계를 포함하는,
    방법.
  7. 제6항에 있어서,
    상기 제1 공유키는
    상기 제1 전자 장치의 비밀키의 적어도 일부를 포함하고,
    상기 제2 공유키는
    상기 제2 전자 장치의 비밀키의 적어도 일부를 포함하고,
    상기 제1 데이터를 수신하는 단계는,
    상기 제1 전자 장치로부터, 제1 비밀키를 이용하여 생성된 제3 마스킹 데이터가 포함된 제1 데이터를 수신하고, 상기 제2 전자 장치로부터, 제2 비밀키를 이용하여 생성된 제4 마스킹 데이터가 포함된 제2 데이터를 수신하는 단계;를 포함하고,
    상기 제2 데이터를 수신하는 단계는,
    상기 제2 전자 장치로부터, 상기 제3 마스킹 데이터를 제거하기 위하여 상기 제1 공유키에 기초하여 생성된 제1 공유 비밀 데이터를 수신하고, 상기 제1 전자 장치로부터, 상기 제4 마스킹 데이터를 제거하기 위하여 상기 제2 공유키에 기초하여 생성된 제2 공유 비밀 데이터를 수신하는 단계를 포함하는,
    방법.
  8. 서버에 구축된(build) 중앙 인공지능 모델과 연합 학습(ferderated learning)을 수행하는 복수의 전자 장치들 중에서 제1 전자 장치가 연합 학습을 수행하는 방법에 있어서,
    상기 서버로부터 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하는 데이터를 수신하는 단계;
    상기 서버로, 상기 제1 전자 장치의 프라이빗 데이터를 보호하기 위한 상기 제1 전자 장치의 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하는, 상기 제1 전자 장치의 제1 데이터를 전송하는 단계;
    상기 서버로부터 상기 제1 전자 장치의 제2 데이터를 전송할 것을 요청하는 데이터를 수신하는 단계;
    상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별한 결과에 기초하여, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 상기 제1 전자 장치의 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 생성하는 단계;
    상기 서버로, 상기 제1 전자 장치의 차등 정보 수정 데이터를 포함하는 상기 제1 전자 장치의 제2 데이터를 전송하는 단계를 포함하는,
    방법.
  9. 제8항에 있어서,
    상기 제1 데이터를 전송할 것을 요청하는 데이터를 수신하는 단계는,
    상기 복수의 전자 장치들의 각각의 식별 정보에 기초하여 설정된 노이즈 레벨에 관한 정보를 수신하는 단계를 포함하고,
    상기 노이즈 레벨에 관한 정보는,
    상기 서버가 상기 복수의 전자 장치들로부터 수신할 제1 차등 정보 보호 데이터들의 총합에 관한 정보를 포함하고,
    상기 제1 데이터를 전송하는 단계는,
    상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보 및 상기 제1 전자 장치의 가중치에 기초하여 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 생성하는 단계; 및
    상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 포함하는 상기 제1 전자 장치의 제1 데이터를 상기 서버로 전송하는 단계를 포함하는,
    방법.
  10. 제9항에 있어서,
    상기 제2 데이터를 전송할 것을 요청하는 데이터를 수신하는 단계는,
    상기 서버로부터, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보를 수신하는 단계를 포함하고,
    상기 제2 데이터를 전송하는 단계는,
    상기 제1 차등 정보 보호 데이터의 총합에 관한 정보, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보 및 상기 제1 전자 장치의 가중치에 기초하여 상기 제1 전자 장치의 차등 정보 수정 데이터를 생성하는 단계를 포함하고,
    상기 서버가 상기 복수의 전자 장치들로부터 수신할 제1 차등 정보 보호 데이터의 총합은 상기 서버가 상기 복수의 전자 장치들로부터 수신할 차등 정보 수정 데이터에 의해서 수정되는 제2 차등 정보 보호 데이터의 총합과 동일한 값인,
    방법.
  11. 복수의 전자 장치들과 연합 학습을 수행하는 중앙 인공지능 모델이 구축된 서버에 있어서,
    통신 인터페이스;
    하나 이상의 명령어들을 저장하는 메모리;
    상기 명령어들을 실행하는 프로세서를 포함하고,
    상기 프로세서는 상기 명령어들을 실행함으로써,
    상기 복수의 전자 장치들의 각각으로, 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하고, 상기 복수의 전자 장치들 중에서 적어도 하나의 전자 장치로부터 제1 데이터를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별하고,
    상기 식별 결과에 기초하여 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치로 제2 데이터를 전송할 것을 요청하고, 상기 제1 데이터를 송신한 전자 장치로부터 제2 데이터를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 인공지능 모델을 갱신하고,
    상기 제1 데이터는 상기 복수의 전자 장치들의 각각의 프라이빗 데이터를 보호하기 위한 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하고,
    상기 제2 데이터는 상기 식별 결과에 기초하여 상기 제1 차등 정보 보호 데이터를 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 포함하는,
    서버.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 복수의 전자 장치들의 각각으로부터 상기 복수의 전자 장치들의 각각의 식별 정보를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 수신된 식별 정보들에 기초하여 노이즈 레벨(noise level)을 설정하고,
    상기 노이즈 레벨에 관한 정보를 상기 복수의 전자 장치들로 전송하도록 상기 통신 인터페이스를 제어하고,
    상기 제1 차등 정보 보호 데이터는,
    상기 노이즈 레벨에 기초하여 상기 복수의 전자 장치들의 각각으로부터 생성되는 것인,
    서버.
  13. 제12항에 있어서,
    상기 노이즈 레벨에 관한 정보는,
    상기 복수의 전자 장치들로부터 수신될 제1 차등 정보 보호 데이터의 총합에 관한 정보를 포함하고,
    상기 프로세서는,
    상기 복수의 전자 장치들 중에서 제1 전자 장치로부터, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보 및 상기 제1 전자 장치의 가중치에 기초하여 생성한, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 수신하도록 상기 통신 인터페이스를 제어하는,
    서버.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보를 상기 제1 전자 장치로 전송하고, 상기 제1 전자 장치로부터, 상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보 및 상기 제1 전자 장치의 가중치에 기초하여 생성한 상기 제1 전자 장치의 차등 정보 수정 데이터를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 복수의 전자 장치들로부터 수신될 제1 차등 정보 보호 데이터의 총합은 상기 서버가 제1 데이터를 송신한 전자 장치들로부터 수신할 차등 정보 수정 데이터에 의해서 수정되는, 상기 제2 차등 정보 보호 데이터의 총합과 동일한 값인,
    서버.
  15. 제14항에 있어서,
    상기 프로세서는,
    상기 제1 전자 장치로부터, 상기 제1 전자 장치의 제2 차등 정보 보호 데이터와 상기 제1 전자 장치의 제1 차등 정보 보호 데이터의 차분값인 차등 정보 수정 데이터를 수신하도록 상기 통신 인터페이스를 제어하는,
    서버.
  16. 제11항에 있어서,
    상기 프로세서는,
    상기 복수의 전자 장치들 중에서 제1 전자 장치로부터 제1 공개키를 수신하고, 상기 복수의 전자 장치들 중에서 제2 전자 장치로부터 수신된 제2 공개키를 수신하고, 상기 제1 공개키 및 상기 제2 공개키를 브로드캐스트하고, 상기 제1 전자 장치로부터 제1 공유키를 수신하고, 상기 제2 전자 장치로부터 제2 공유키를 수신하고, 상기 제1 공유키를 상기 제2 전자 장치로 유니캐스트 하고, 상기 제2 공유키를 상기 제1 전자 장치로 유니캐스트하도록, 상기 통신 인터페이스를 제어하고,
    상기 제1 공유키는 상기 제1 전자 장치의 제1 프라이빗 데이터를 보호하기 위한 제1 마스킹 데이터의 적어도 일부를 포함하고,
    상기 제2 공유키는 상기 제2 전자 장치의 제2 프라이빗 데이터를 보호하기 위한 제2 마스킹 데이터의 적어도 일부를 포함하고,
    상기 프로세서는,
    상기 제1 전자 장치로부터 상기 제1 마스킹 데이터가 포함된 제1 데이터를 수신하고, 상기 제2 전자 장치로부터 상기 제2 마스킹 데이터가 포함된 제2 데이터를 수신하고, 상기 제2 전자 장치로부터, 상기 제1 마스킹 데이터를 제거하기 위하여 상기 제1 공유키에 기초하여 생성된 제1 공유 비밀 데이터를 수신하고, 상기 제1 전자 장치로부터, 상기 제2 마스킹 데이터를 제거하기 위하여 상기 제2 공유키에 기초하여 생성된 제2 공유 비밀 데이터를 수신하는,
    서버.
  17. 제16항에 있어서,
    상기 제1 공유키는 상기 제1 전자 장치의 비밀키의 적어도 일부를 포함하고,
    상기 제2 공유키는 상기 제2 전자 장치의 비밀키의 적어도 일부를 포함하고,
    상기 프로세서는,
    상기 제1 전자 장치로부터 제1 비밀키를 이용하여 생성된 제3 마스킹 데이터가 포함된 제1 데이터를 수신하고, 상기 제2 전자 장치로부터 제2 비밀키를 이용하여 생성된 제4 마스킹 데이터가 포함된 제2 데이터를 수신하고, 상기 제2 전자 장치로부터 상기 제3 마스킹 데이터를 제거하기 위하여 상기 제1 공유키에 기초하여 생성된 제1 공유 비밀 데이터를 수신하고, 상기 제1 전자 장치로부터, 상기 제4 마스킹 데이터를 제거하기 위하여 상기 제2 공유키에 기초하여 생성된 제2 공유 비밀 데이터를 수신하는,
    서버.
  18. 서버에 구축된(build) 중앙 인공지능 모델과 연합 학습(ferderated learning)을 수행하는 복수의 전자 장치들 중에서 제1 전자 장치에 있어서,
    통신 인터페이스;
    하나 이상의 명령어들을 저장하는 메모리;
    상기 명령어들을 실행하는 프로세서를 포함하고,
    상기 프로세서는 상기 명령어들을 실행함으로써,
    상기 서버로부터 상기 중앙 인공지능 모델을 갱신(refine)하는데 이용되는 제1 데이터를 전송할 것을 요청하는 데이터를 수신하고, 상기 서버로, 상기 제1 전자 장치의 프라이빗 데이터를 보호하기 위한 상기 제1 전자 장치의 제1 차등 정보 보호 데이터(differential privacy protection data)를 포함하는, 상기 제1 전자 장치의 제1 데이터를 전송하고, 상기 서버로부터 상기 제1 전자 장치의 제2 데이터를 전송할 것을 요청하는 데이터를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치를 식별한 결과에 기초하여, 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 상기 제1 전자 장치의 제2 차등 정보 보호 데이터로 수정하는데 이용되는, 차등 정보 수정 데이터를 생성하고,
    상기 서버로, 상기 제1 전자 장치의 차등 정보 수정 데이터를 포함하는 상기 제1 전자 장치의 제2 데이터를 전송하도록 상기 통신 인터페이스를 제어하는, 제1 전자 장치.
  19. 제18항에 있어서,
    상기 프로세서는,
    상기 제1 데이터를 전송할 것을 요청하는 데이터를 수신하고, 상기 복수의 전자 장치들의 각각의 식별 정보에 기초하여 설정된 노이즈 레벨에 관한 정보를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 노이즈 레벨에 관한 정보는 상기 서버가 상기 복수의 전자 장치들로부터 수신할 제1 차등 정보 보호 데이터들의 총합에 관한 정보를 포함하고,
    상기 제1 전자 장치가 상기 제1 차등 정보 보호 데이터의 총합에 관한 정보 및 상기 제1 전자 장치의 가중치에 기초하여 상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 생성하고,
    상기 제1 전자 장치의 제1 차등 정보 보호 데이터를 포함하는 상기 제1 전자 장치의 제1 데이터를 상기 서버로 전송하도록 상기 통신 인터페이스를 제어하는,
    제1 전자 장치.
  20. 제19항에 있어서,
    상기 프로세서는,
    상기 서버로부터, 상기 복수의 전자 장치들 중에서 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 제1 차등 정보 보호 데이터의 총합에 관한 정보, 상기 제1 데이터를 송신한 전자 장치에 관한 식별 정보 및 상기 제1 전자 장치의 가중치에 기초하여 상기 제1 전자 장치의 차등 정보 수정 데이터를 생성하고,
    상기 서버가 상기 복수의 전자 장치들로부터 수신할 제1 차등 정보 보호 데이터의 총합은 상기 서버가 상기 복수의 전자 장치들로부터 수신할 차등 정보 수정 데이터에 의해서 수정되는 제2 차등 정보 보호 데이터의 총합과 동일한 값인,
    제1 전자 장치.
PCT/KR2020/016832 2020-05-13 2020-11-25 연합 학습을 위한 전자 장치를 제어하는 방법 및 디바이스 WO2021230449A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/986,519 US20230076024A1 (en) 2020-05-13 2022-11-14 Method and device for controlling electronic device for federated learning

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0057185 2020-05-13
KR1020200057185A KR20210138994A (ko) 2020-05-13 2020-05-13 연합 학습을 위한 전자 장치를 제어하는 방법 및 디바이스

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/986,519 Continuation US20230076024A1 (en) 2020-05-13 2022-11-14 Method and device for controlling electronic device for federated learning

Publications (1)

Publication Number Publication Date
WO2021230449A1 true WO2021230449A1 (ko) 2021-11-18

Family

ID=78524471

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/016832 WO2021230449A1 (ko) 2020-05-13 2020-11-25 연합 학습을 위한 전자 장치를 제어하는 방법 및 디바이스

Country Status (3)

Country Link
US (1) US20230076024A1 (ko)
KR (1) KR20210138994A (ko)
WO (1) WO2021230449A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102648588B1 (ko) * 2023-08-11 2024-03-18 (주)씨앤텍시스템즈 연합 학습 방법 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009532740A (ja) * 2006-04-05 2009-09-10 ロジオロジー, エルエルシー 連合学習システム
KR20190083845A (ko) * 2018-01-05 2019-07-15 삼성전자주식회사 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법
KR20190103090A (ko) * 2019-08-15 2019-09-04 엘지전자 주식회사 연합학습(Federated learning)을 통한 단말의 POI 데이터를 생성하는 모델의 학습방법 및 이를 위한 장치
KR20190103088A (ko) * 2019-08-15 2019-09-04 엘지전자 주식회사 연합학습을 통한 단말의 명함을 인식하는 방법 및 이를 위한 장치
US20190340534A1 (en) * 2016-09-26 2019-11-07 Google Llc Communication Efficient Federated Learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009532740A (ja) * 2006-04-05 2009-09-10 ロジオロジー, エルエルシー 連合学習システム
US20190340534A1 (en) * 2016-09-26 2019-11-07 Google Llc Communication Efficient Federated Learning
KR20190083845A (ko) * 2018-01-05 2019-07-15 삼성전자주식회사 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법
KR20190103090A (ko) * 2019-08-15 2019-09-04 엘지전자 주식회사 연합학습(Federated learning)을 통한 단말의 POI 데이터를 생성하는 모델의 학습방법 및 이를 위한 장치
KR20190103088A (ko) * 2019-08-15 2019-09-04 엘지전자 주식회사 연합학습을 통한 단말의 명함을 인식하는 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
US20230076024A1 (en) 2023-03-09
KR20210138994A (ko) 2021-11-22

Similar Documents

Publication Publication Date Title
WO2020149454A1 (ko) 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법
WO2019132518A1 (en) Image acquisition device and method of controlling the same
WO2015088179A1 (ko) 얼굴의 키 포인트들에 대한 포지셔닝 방법 및 장치
WO2022050652A1 (en) Method, apparatus, and computer readable storage medium for controlling account
WO2019124826A1 (ko) 펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법
WO2020209693A1 (ko) 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법
WO2020017902A1 (en) Method and apparatus for performing user authentication
WO2021177695A1 (en) Electronic device for providing transaction information and operating method thereof
WO2018076811A1 (zh) 数据分享方法、装置、存储介质及电子设备
WO2022075668A1 (ko) 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법
WO2022060149A1 (ko) 탈중앙화 네트워크를 이용하여 권리를 관리하는 전자 장치 및 이의 동작 방법
WO2018076829A1 (zh) 终端数据的处理方法、装置、系统、存储介质及服务器
WO2022158678A1 (ko) 하드웨어 보안 아키텍쳐를 이용하여 연합 학습을 수행하는 전자 장치 및 이를 이용한 연합 학습 방법
WO2021230449A1 (ko) 연합 학습을 위한 전자 장치를 제어하는 방법 및 디바이스
WO2017206867A1 (zh) 一种传感器的关闭方法、装置、存储介质及电子设备
WO2023182727A1 (en) Image verification method, diagnostic system performing same, and computer-readable recording medium having the method recorded thereon
WO2021167210A1 (ko) 서버, 전자 장치 및 그들의 제어 방법
WO2010147410A2 (en) Method and device for upgrading rights object that was stored in memory card
WO2018124464A1 (ko) 전자 장치 및 전자 장치의 검색 서비스 제공 방법
WO2017206866A1 (zh) 一种应用程序的关闭方法、装置、存储介质及电子设备
WO2023048537A1 (ko) 추천 콘텐트를 제공하는 서버 및 방법
WO2023229094A1 (ko) 행동 예측 방법 및 장치
WO2019117644A1 (ko) 등록 세션을 제어하기 위한 전자 장치 및 그의 동작 방법, 서버 및 그의 동작 방법
WO2020213885A1 (en) Server and control method thereof
WO2022065561A1 (ko) 문자열의 의도 분류 방법 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20934989

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20934989

Country of ref document: EP

Kind code of ref document: A1