KR20230063629A - 합의 기반의 연합 학습 방법 - Google Patents
합의 기반의 연합 학습 방법 Download PDFInfo
- Publication number
- KR20230063629A KR20230063629A KR1020210148886A KR20210148886A KR20230063629A KR 20230063629 A KR20230063629 A KR 20230063629A KR 1020210148886 A KR1020210148886 A KR 1020210148886A KR 20210148886 A KR20210148886 A KR 20210148886A KR 20230063629 A KR20230063629 A KR 20230063629A
- Authority
- KR
- South Korea
- Prior art keywords
- clients
- parameters
- learning
- client
- parameter
- Prior art date
Links
- 230000013016 learning Effects 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000003062 neural network model Methods 0.000 claims abstract description 49
- 238000012795 verification Methods 0.000 claims description 53
- 230000035045 associative learning Effects 0.000 abstract 2
- 238000010200 validation analysis Methods 0.000 abstract 2
- 238000012360 testing method Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명은 비잔틴(Byzantine) 공격을 방지하기 위해, 클라이언트들의 합의에 기반하여 연합 학습을 수행하는 방법에 관한 것이다. 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 방법은 복수의 클라이언트에 신경망 모델의 글로벌 파라미터를 배포하는 단계, 상기 복수의 클라이언트에서 선별된 학습 클라이언트로부터 상기 신경망 모델에 대한 학습 파라미터를 각각 수집하는 단계, 상기 수집된 학습 파라미터에 기초하여 후보 파라미터를 선정하는 단계, 상기 복수의 클라이언트에서 선별된 검증 클라이언트에 상기 후보 파라미터를 송신하는 단계, 상기 검증 클라이언트로부터 상기 글로벌 파라미터와 상기 후보 파라미터에 대한 상기 신경망 모델의 성능 비교값을 수신하는 단계 및 상기 성능 비교값에 기초하여 상기 글로벌 파라미터를 상기 후보 파라미터로 갱신하는 단계를 포함하는 것을 특징으로 한다.
Description
본 발명은 비잔틴(Byzantine) 공격을 방지하기 위해, 클라이언트들의 합의에 기반하여 연합 학습을 수행하는 방법에 관한 것이다.
연합 학습(federated learning)은 다수의 클라이언트와 하나의 서버가 협력하여 단일의 글로벌 모델을 학습하는 방법을 의미한다.
도 1을 참조하면, 연합 학습 방법 하에서, 각 클라이언트들(Client 1, 2, …, n)은 서버로부터 신경망 모델을 다운로드한 후 각자 자신의 데이터를 사용하여 신경망 모델을 학습시키고, 학습된 파라미터(를 서버에 업로드한다. 한편, 서버는 클라이언트들로부터 수집된 파라미터를 취합(aggregation)하여 기존의 파라미터를 갱신하고, 갱신된 글로벌 파라미터()를 클라이언트들에 배포(broadcast)한다.
이러한 연합 학습 방법은 서버가 각 클라이언트의 데이터를 수집하지 않으므로 데이터 보안에 유리하고, 모델 학습을 위한 리소스를 분산하게 되므로 학습 효율성이 높아 최근 그 적용 분야가 확대되고 있다.
다만, 도 2를 참조하면, 이러한 연학 학습에서 클라이언트 중 일부가 공격자(attacker)인 경우 악의적으로 변조된 파라미터를 서버에 업로드함으로써, 서버가 오염된(polluted) 글로벌 파라미터를 생성 및 배포하도록 하는 비잔틴(Byzantine) 공격이 발생할 수 있다.
기존에는 비잔틴 공격을 방어하기 위하여, 클라이언트들로부터 수집된 파라미터의 평균값을 글로벌 파라미터로 선정하는 FedAVG 방식이나, 수집된 파라미터의 중간값을 글로벌 파라미터로 선정하는 Median 방식, 수집된 파라미터의 최대값 및 최소값을 제외하고 나머지의 평균값을 글로벌 파라미터로 선정하는 Trimmed-mean 방식 기반의 연합 학습이 이용되고 있다.
그러나, 기존의 방식으로는 공격자의 파라미터 변조 정도가 매우 큰 경우 또는 클라이언트들 중 공격자가 다수 포함된 경우의 비잔틴 공격을 방어할 수 없다는 문제점이 있다.
본 발명은 클라이언트들의 합의에 기반하여 글로벌 파라미터를 갱신하는 연합 학습 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 파라미터를 학습하는 클라이언트와 학습된 파라미터를 검증하는 클라이언트를 전체 클라이언트에서 무작위로 선별하여 연합 학습을 수행하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 방법은 복수의 클라이언트에 신경망 모델의 글로벌 파라미터를 배포하는 단계, 상기 복수의 클라이언트에서 선별된 학습 클라이언트로부터 상기 신경망 모델에 대한 학습 파라미터를 각각 수집하는 단계, 상기 수집된 학습 파라미터에 기초하여 후보 파라미터를 선정하는 단계, 상기 복수의 클라이언트에서 선별된 검증 클라이언트에 상기 후보 파라미터를 송신하는 단계, 상기 검증 클라이언트로부터 상기 글로벌 파라미터와 상기 후보 파라미터에 대한 상기 신경망 모델의 성능 비교값을 수신하는 단계 및 상기 성능 비교값에 기초하여 상기 글로벌 파라미터를 상기 후보 파라미터로 갱신하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 글로벌 파라미터를 배포하는 단계는 상기 신경망 모델과 상기 신경망 모델에 적용되는 상기 글로벌 파라미터를 배포하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 파라미터를 수집하는 단계는 상기 복수의 클라이언트 중 적어도 하나의 학습 클라이언트를 무작위로 선별하는 단계 및 상기 학습 클라이언트로부터 상기 학습 파라미터를 수집하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 후보 파라미터를 선정하는 단계는 상기 학습 파라미터의 중간값, 평균값, 절사평균값 중 어느 하나를 상기 후보 파라미터로 선정하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 후보 파라미터를 송신하는 단계는 상기 복수의 클라이언트 중 적어도 하나의 검증 클라이언트를 무작위로 선별하는 단계 및 상기 검증 클라이언트에 상기 후보 파라미터를 송신하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 클라이언트와 상기 검증 클라이언트는 중복되지 않는 것을 특징으로 한다.
일 실시예에서, 상기 검증 클라이언트를 무작위로 선별하는 단계는 상기 복수의 클라이언트에서 상기 학습 클라이언트를 제외한 적어도 하나의 클라이언트 군을 식별하는 단계 및 상기 클라이언트 군에서 상기 검증 클라이언트를 무작위로 선별하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 성능 비교값을 수신하는 단계는 상기 글로벌 파라미터에 대한 상기 신경망 모델의 성능과 상기 후보 파라미터에 대한 상기 신경망 모델의 성능의 비교 결과에 따라 이진화된 상기 성능 비교값을 수신하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 글로벌 파라미터를 상기 후보 파라미터로 갱신하는 단계는 상기 검증 클라이언트 중 과반의 검증 클라이언트에서 동일하게 생성된 성능 비교값에 따라 상기 글로벌 파라미터를 상기 후보 파라미터로 갱신하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 갱신된 글로벌 파라미터를 상기 복수의 클라이언트에 배포하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명은 클라이언트들의 합의에 기반하여 글로벌 파라미터를 갱신함으로써, 공격자의 악의적인 파라미터 변조가 발생하더라도 글로벌 파라미터를 선정함에 있어서 파라미터가 얼마나 변조되었는지를 반영하지 않고 하나의 검증 의견(opinion)으로만 반영할 수 있어 비잔틴 공격에 강인한 장점이 있다.
또한, 본 발명은 파라미터를 학습하는 클라이언트와 학습된 파라미터를 검증하는 클라이언트를 전체 클라이언트에서 무작위로 선별함으로써, 일부 공격자에 의해 변조된 파라미터가 글로벌 파라미터 선정에 반영될 확률을 낮출 수 있고, 파라미터 검증의 객관성을 확보할 수 있다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1은 연합 학습을 설명하기 위한 도면.
도 2는 연합 학습 하에서 발생하는 비잔틴 공격을 설명하기 위한 도면.
도 3은 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 시스템을 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 방법을 도시한 순서도.
도 5는 한 라운드 내에서 합의 기반의 연합 학습을 위한 서버와 클라이언트의 동작을 순차 도시한 도면.
도 6은 기존의 연합 학습과 본 발명의 연합 학습 하에서 비잔틴 공격 성공 확률을 도시한 그래프.
도 7은 비잔틴 공격이 없을 때 종래 기술과 본 발명의 연합 학습 테스트 정확도를 도시한 그래프.
도 8은 비잔틴 공격이 있을 때 종래 기술과 본 발명의 연합 학습 테스트 정확도를 도시한 그래프.
도 2는 연합 학습 하에서 발생하는 비잔틴 공격을 설명하기 위한 도면.
도 3은 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 시스템을 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 방법을 도시한 순서도.
도 5는 한 라운드 내에서 합의 기반의 연합 학습을 위한 서버와 클라이언트의 동작을 순차 도시한 도면.
도 6은 기존의 연합 학습과 본 발명의 연합 학습 하에서 비잔틴 공격 성공 확률을 도시한 그래프.
도 7은 비잔틴 공격이 없을 때 종래 기술과 본 발명의 연합 학습 테스트 정확도를 도시한 그래프.
도 8은 비잔틴 공격이 있을 때 종래 기술과 본 발명의 연합 학습 테스트 정확도를 도시한 그래프.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
본 명세서에서 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것으로, 특별히 반대되는 기재가 없는 한, 제1 구성요소는 제2 구성요소일 수도 있음은 물론이다.
또한, 본 명세서에서 "상부 (또는 하부)" 또는 구성요소의 "상 (또는 하)"에 임의의 구성이 배치된다는 것은, 임의의 구성이 상기 구성요소의 상면 (또는 하면)에 접하여 배치되는 것뿐만 아니라, 상기 구성요소와 상기 구성요소 상에 (또는 하에) 배치된 임의의 구성 사이에 다른 구성이 개재될 수 있음을 의미할 수 있다.
또한, 본 명세서에서 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 상기 구성요소들은 서로 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 다른 구성요소가 "개재"되거나, 각 구성요소가 다른 구성요소를 통해 "연결", "결합" 또는 "접속"될 수도 있는 것으로 이해되어야 할 것이다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서, "A 및/또는 B" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, A, B 또는 A 및 B 를 의미하며, "C 내지 D" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, C 이상이고 D 이하인 것을 의미한다
본 발명은 비잔틴(Byzantine) 공격을 방지하기 위해, 클라이언트들의 합의에 기반하여 연합 학습을 수행하는 방법에 관한 것이다. 이하, 도 3 내지 도 8을 참조하여, 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 방법을 구체적으로 설명하도록 한다.
도 1 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 시스템(1)은 종래 연합 학습 시스템과 같이, 서버(10)와 해당 서버(10)에 접속된 복수의 클라이언트(20)를 포함할 수 있다. 서버(10)와 클라이언트(20)는 신경망(neural network) 모델을 공유하며, 서버(10)는 클라이언트(20)에서 학습된 파라미터에 기초하여 신경망 모델에 적용되는 글로벌 파라미터를 생성 및 배포할 수 있다.
이러한 연합 학습 방법은 서버(10)가 각 클라이언트(20)의 데이터를 수집하지 않으므로 데이터 보안에 유리하고, 모델 학습을 위한 리소스를 분산하게 되어 학습 효율성이 높은데 반해, 비잔틴 공격에 취약한 문제를 가지고 있다. 본 발명은 이러한 문제점을 해결하기 위한 방법에 관한 것이며, 후술되는 발명의 동작은 도 3에 도시된 서버(10)에서 수행될 수 있다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 합의 기반의 연합 학습 방법은 복수의 클라이언트(20)에 글로벌 파라미터를 배포하는 단계(S10), 학습 클라이언트로부터 학습 파라미터를 수집하는 단계(S20), 학습 파라미터에 기초하여 후보 파라미터를 선정하는 단계(S30), 검증 클라이언트에 후보 파라미터를 송신하는 단계(S40), 검증 클라이언트로부터 성능 비교값을 수신하는 단계(S50) 및 성능 비교값에 기초하여 글로벌 파라미터를 갱신하는 단계(S60)를 포함할 수 있다.
다만, 도 4에 도시된 합의 기반의 연합 학습 방법은 일 실시예에 따른 것이고, 발명을 이루는 각 단계들이 도 4에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 단계들이 부가, 변경 또는 삭제될 수 있다.
이하, 도 5를 참조하여, 도 4에 도시된 각 단계들을 구체적으로 설명하도록 하며, 이하에서는 단일 라운드(r)에 대한 발명의 동작을 설명하나 이는 매 라운드마다 반복될 수 있는 것으로 이해되어야 한다.
도 5를 참조하면, 발명의 동작 주기인 어느 한 라운드(r)가 시작되면 서버(10)는 복수의 클라이언트(Client 1 ~ m)에 신경망 모델의 글로벌 파라미터를 배포(broadcast)할 수 있다(S10).
서버(10)와 클라이언트(20)는 신경망 모델을 공유할 수 있고, 각 클라이언트(20)는 자신이 가진 훈련 데이터셋(training dataset)에 기초하여 신경망 모델을 학습시킬 수 있다. 이를 통해, 신경망 모델의 각 노드(node)에 적용되는 파라미터(가중치(weight), 편향(bias) 등)가 학습될 수 있다.
서버(10)는 각 클라이언트(20)의 학습 수행에 앞서 라운드별로 신경망의 파라미터를 초기 설정하기 위하여 글로벌 파라미터를 배포할 수 있고, 각 클라이언트(20)는 서버(10)에서 배포된 글로벌 파라미터를 신경망 모델의 초기 파라미터로 설정한 후 해당 신경망 모델을 학습시킬 수 있다.
한편, 최초 라운드에서는 클라이언트(20)에 신경망 모델이 설치되지 않을 수 있다. 이 경우, 서버(10)는 각 클라이언트(20)에 신경망 모델과, 해당 신경망 모델에 적용되는 글로벌 파라미터를 배포할 수 있다. 일 예에서, 서버(10)는 각 클라이언트(20)에 글로벌 파라미터가 기 적용된 신경망 모델을 배포할 수 있다.
이어서, 서버(10)는 복수의 클라이언트(20)에서 선별된 학습 클라이언트로부터 신경망 모델에 대한 학습 파라미터를 각각 수집할 수 있다(S20).
각 클라이언트(20)는 글로벌 파라미터가 적용된 신경망 모델을, 자신이 가진 훈련 데이터셋을 이용하여 학습시킬 수 있다. 학습 결과, 글로벌 파라미터는 학습 파라미터로 변경될 수 있고, 서버(10)는 복수의 클라이언트(20) 중에서 학습 클라이언트로부터 선택적으로 학습 파라미터를 수집할 수 있다.
이를 위해, 서버(10)는 복수의 클라이언트(20) 중 적어도 하나의 학습 클라이언트를 무작위로 선별하고, 선별된 학습 클라이언트로부터만 학습 파라미터를 수집할 수 있다.
구체적으로 도 5를 참조하면, 서버(10)는 글로벌 파라미터의 배포 이후, m개의 클라이언트 중 n개의 학습 클라이언트를 무작위로 선별할 수 있다. 이어서, 서버(10)는 n개의 학습 클라이언트에 파라미터 요청 신호를 송신할 수 있고, n개의 학습 클라이언트는 해당 요청 신호에 응답하여 자신이 학습한 학습 파라미터를 서버(10)에 송신할 수 있다.
이와 같이, 서버(10)는 전체 클라이언트(20) 중 무작위로 선별된 학습 클라이언트로부터만 선택적으로 파라미터를 수집하게 되므로, 클라이언트(20)에 섞여있는 공격자에 의해 변조된 파라미터를 수집할 확률을 낮출 수 있다.
학습 파라미터가 수집되면, 서버(10)는 이에 기초하여 후보 파라미터를 선정할 수 있다(S30). 여기서 후보 파라미터는 다음 라운드(r+1)에 글로벌 파라미터가 될 수 있는 파라미터일 수 있다.
앞서 설명한 바와 같이, 서버(10)가 선별된 학습 클라이언트로부터만 학습 파라미터를 수집한 경우에도, 학습 클라이언트 내 공격자가 포함될 수 있고, 공격자가 악의적으로 변조한 파라미터의 가중치를 낮추어야 할 필요가 있다. 이에 따라, 서버(10)는 수집된 학습 파라미터의 중간값(median), 평균값(mean), 절사평균값(trimmed-mean) 중 어느 하나를 후보 파라미터로 선정할 수 있다.
도 5를 예시로 설명하면, n개의 학습 클라이언트로부터 w1, w2, …, wn의 학습 파라미터가 수집된 경우, 서버(10)는 학습 파라미터들의 평균값, 즉 (w1+w2+…+wn)/n을 후보 파라미터로 선정할 수 있다.
후보 파라미터가 선정되면, 서버(10)는 복수의 클라이언트(20)에서 선별된 검증 클라이언트에 후보 파라미터를 송신할 수 있다(S40). 다시 말해, 서버(10)는 후보 파라미터를 전체 클라이언트(20)에 배포하기에 앞서, 후보 파라미터의 검증을 위하여 검증 클라이언트에만 선택적으로 후보 파라미터를 송신할 수 있다.
이를 위해, 서버(10)는 복수의 클라이언트(20) 중 적어도 하나의 검증 클라이언트를 무작위로 선별하고, 선별된 검증 클라이언트에만 후보 파라미터를 송신할 수 있다.
구체적으로 도 5를 참조하면, 서버(10)는 후보 파라미터 선정 이후, m개의 클라이언트 중 l개의 검증 클라이언트를 무작위로 선별할 수 있다. 이어서, 서버(10)는 l개의 검증 클라이언트에 후보 파라미터를 송신할 수 있다.
이어서, 서버(10)는 검증 클라이언트로부터 글로벌 파라미터와 후보 파라미터에 대한 신경망 모델의 성능 비교값을 수신할 수 있다(S50).
각 검증 클라이언트는 후보 파라미터를 수신한 후, 라운드(r) 최초에 서버(10)에서 배포된 글로벌 파라미터에 대한 신경망 모델의 성능과, 후보 파라미터에 대한 신경망 모델의 성능을 각각 계산할 수 있다. 여기서 계산되는 신경망 모델의 성능은 신경망 모델의 우열을 가릴 수 있는 임의의 지표를 포함할 수 있다.
검증 클라이언트는 글로벌 파라미터와 후보 파라미터 각각에 대해 계산된 신경망 모델의 성능을 비교하고, 비교 결과에 따른 성능 비교값을 생성할 수 있다.
예컨대, 검증 클라이언트는 테스트 데이터셋(test dataset)을 이용하여, 글로벌 파라미터와 후보 파라미터에 대한 신경망 모델의 테스트 정확도(test accuracy)를 계산할 수 있다. 여기서 데스트 데이터셋은 테스트 데이터와, 각 테스트 데이터에 대해 라벨링(labeling)된 라벨 데이터로 구성될 수 있고, 각 클라이언트(20)에 미리 저장되거나 서버(10)에서 클라이언트(20)로 배포될 수 있다.
구체적으로, 검증 클라이언트는 글로벌 파라미터와 후보 파라미터가 각각 적용된 신경망 모델에 테스트 데이터를 입력하고, 신경망 모델의 출력이 해당 테스트 데이터에 대한 라벨 데이터와 일치하는지 여부에 따라, 글로벌 파라미터와 후보 파라미터에 대한 신경망 모델의 테스트 정확도를 계산할 수 있다.
예를 들어, 100개의 테스트 데이터에 대한 신경망 모델의 출력 중 70개만이 각 테스트 데이터에 대한 라벨 데이터와 일치하는 경우, 검증 클라이언트는 테스트 정확도를 0.7로 계산할 수 있다.
검증 클라이언트는 글로벌 파라미터와 후보 파라미터 각각에 대한 신경망 모델의 테스트 정확도를 비교하여 성능 비교값을 생성할 수 있다. 구체적으로, 검증 클라이언트는 이진화된 성능 비교값을 생성할 수 있다. 예컨대, 글로벌 파라미터에 대한 신경망 모델의 테스트 정확도가 후보 파라미터에 대한 신경망 모델의 테스트 정확도보다 높은 경우 0과 1 또는 TRUE와 FALSE 중 어느 한 값을 성능 비교값으로 생성할 수 있고, 그 반대인 경우 0과 1 또는 TRUE와 FALSE 중 다른 한 값을 성능 비교값으로 생성할 수 있다.
즉, 검증 클라이언트는 현 라운드(r)의 글로벌 파라미터와 다음 라운드(r+1)에서 이용될 가능성이 있는 후보 파라미터 간의 성능을 비교하고, 비교 결과에 따라 성능 비교값을 생성할 수 있다.
전술한 바와 같이, 본 발명은 파라미터를 학습하는 클라이언트와 학습된 파라미터를 검증하는 클라이언트를 전체 클라이언트(20)에서 무작위로 선별함으로써, 일부 공격자에 의해 변조된 파라미터가 글로벌 파라미터 선정에 반영될 확률을 낮출 수 있고, 파라미터 검증의 객관성을 확보할 수 있다.
다만, 학습 클라이언트와 검증 클라이언트가 동일한 경우, 학습 클라이언트는 자신이 학습한 학습 파라미터를 검증하게 되므로 후보 파라미터에 대한 신경망 모델의 성능이 글로벌 파라미터에 대한 신경망 모델의 성능보다 항상 높을 수 있다.
이와 같은 편향 검증을 방지하기 위하여, 본 발명에서 학습 클라이언트와 검증 클라이언트는 중복되지 않을 수 있다.
이를 위해, 서버(10)는 검증 클라이언트를 선별함에 있어서, 복수의 클라이언트(20)에서 학습 클라이언트를 제외한 적어도 하나의 클라이언트 군을 식별하고, 해당 클라이언트 군에서 검증 클라이언트를 무작위로 선별할 수 있다.
다시 도 5를 참조하면, 서버(10)는 후보 파라미터 선정 이후, m개의 클라이언트 중에서 n개의 학습 클라이언트를 제외한 m-n개의 클라이언트 군을 식별할 수 있다. 이어서, 서버(10)는 m-n개의 클라이언트 군에서 l개의 검증 클라이언트를 무작위로 선별할 수 있다.
검증 클라이언트 선별 이후, 서버(10)가 후보 파라미터를 송신하고, 각 검증 클라이언트가 성능 비교값을 생성하는 방법은 앞서 설명한 것과 동일한 바 더 이상의 자세한 설명은 생략하도록 한다.
서버(10)는 각 검증 클라이언트로부터 성능 비교값을 수신할 수 있고, 성능 비교값에 기초하여 글로벌 파라미터를 후보 파라미터로 갱신할 수 있다(S60).
서버(10)는 개별 검증 클라이언트에서 생성된 성능 비교값을, 각 검증 클라이언트로부터 모두 수신할 수 있다. 서버(10)는 성능 비교값에 기초하여 글로벌 파라미터와 후보 파라미터에 대한 성능 간의 우열을 판단할 수 있고, 후보 파라미터에 대한 성능이 더 우등하다고 판단되면 글로벌 파라미터를 후보 파라미터로 갱신할 수 있다.
구체적으로, 서버(10)는 검증 클라이언트 중 과반의 검증 클라이언트에서 동일하게 생성된 성능 비교값에 따라 글로벌 파라미터를 후보 파라미터로 갱신할 수 있다. 예컨대, 성능 비교값은 이진화된 값일 수 있고, 후보 파라미터에 대한 신경망 모델의 성능이 글로벌 파라미터에 대한 신경망 모델의 성능보다 높은 경우를 나타내는 TRUE와, 그 반대인 경우를 나타내는 FALSE로 구성될 수 있다.
검증 클라이언트들 중 60%의 검증 클라이언트는 TRUE의 성능 비교값을 서버(10)에 송신할 수 있고, 40%의 검증 클라이언트는 FALSE의 성능 비교값을 서버(10)에 송신할 수 있다. 서버(10)는 과반의 검증 클라이언트에서 동일하게 생성된 TRUE를 식별할 수 있고, 이에 따라 글로벌 파라미터를 후보 파라미터로 갱신할 수 있다. 즉, 서버(10)는 후보 파라미터를 새로운 글로벌 파라미터로 설정할 수 있다.
반대로, 검증 클라이언트들 중 60%의 검증 클라이언트는 FALSE의 성능 비교값을 서버(10)에 송신할 수 있고, 40%의 검증 클라이언트는 TRUE의 성능 비교값을 서버(10)에 송신할 수 있다. 서버(10)는 과반의 검증 클라이언트에서 동일하게 생성된 FALSE를 식별할 수 있고, 이에 따라 글로벌 파라미터를 갱신하지 않을 수 있다. 즉, 서버(10)는 현 라운드(r)의 글로벌 파라미터를 그대로 유지할 수 있다.
서버(10)는 갱신된 글로벌 파라미터를 복수의 클라이언트(20)에 배포할 수 있다.
다시 도 5를 참조하면, 앞서 설명한 방법에 따라 서버(10)는 현 라운드(r)의 글로벌 파라미터를 후보 파라미터로 갱신하거나 갱신하지 않을 수 있다. 글로벌 파라미터가 갱신된 경우 서버(10)는 다음 라운드(r+1)에서 새로운 글로벌 파라미터를 m개의 모든 클라이언트에 배포할 수 있다. 반면에, 글로벌 파라미터가 갱신되지 않은 경우 서버(10)는 다음 라운드(r+1)에서 기존의 글로벌 파라미터를 m개의 모든 클라이언트에 재차 배포할 수 있다.
전술한 바와 같이 본 발명은 클라이언트(20)들의 합의에 기반하여 글로벌 파라미터를 갱신함으로써, 공격자의 악의적인 파라미터 변조가 발생하더라도 글로벌 파라미터를 선정함에 있어서 파라미터가 얼마나 변조되었는지를 반영하지 않고 하나의 검증 의견(opinion)으로만 반영할 수 있어 비잔틴 공격에 강인한 장점이 있다.
즉, 종래 방식에 의하면 공격자가 악의적으로 파라미터를 급격하게 변조시키는 경우, 기존에 가장 강인하다고 알려진 FedAVG 기반 연합 학습 방법에 의하더라도 글로벌 파라미터가 오염될 가능성이 높으나, 본 발명에 의하면 후보 파라미터가 오염되더라도 검증 클라이언트에서 이의 성능을 검증하여 글로벌 파라미터를 갱신하지 않게 됨으로써 공격 성공 확률을 급격히 낮출 수 있다.
도 6을 참조하면, 전술한 본 발명의 합의 기반의 연합 학습 방법(cc)과 종래의 연합 학습 방법의 비잔틴 공격 성공 확률을 시뮬레이션 한 결과, 종래의 연합 학습 방법에 따르면 클라이언트(20)들 중 20%만이 공격자이 경우에도 공격 성공률이 약 90%에 육박하는 반면에, 본 발명은 클라이언트(20)들 중 절반이 공격자인 경우에도 공격 성공률이 50% 미만인 것을 확인할 수 있다.
도 7을 참조하면, 클라이언트(20) 중 공격자가 없는 경우, 본 발명의 연합 학습 방법(Fed CC)은 종래 Median 방식을 적용한 연합 학습 방법보다 테스트 정확도가 높고, 기존의 가장 강인한(robustness) 모델이었던 FedAVG 방식을 적용한 연합 학습 방법과 동일한 수준의 테스트 정확도를 보이는 것을 확인할 수 있다.
도 8을 참조하면, 100개의 클라이언트(20) 중 20개의 클라이언트가 공격자인 경우, 본 발명의 연합 학습 방법(Fed CC)은 테스트 정확도에 있어서, 종래 Median 방식 및 FedAVG 방식에 비해 높은 성능을 나타내는 것을 확인할 수 있다.
이상과 같이 본 발명에 대해서 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시 예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상의 범위 내에서 통상의 기술자에 의해 다양한 변형이 이루어질 수 있음은 자명하다. 아울러 앞서 본 발명의 실시 예를 설명하면서 본 발명의 구성에 따른 작용 효과를 명시적으로 기재하여 설명하지 않았을 지라도, 해당 구성에 의해 예측 가능한 효과 또한 인정되어야 함은 당연하다.
Claims (10)
- 복수의 클라이언트에 신경망 모델의 글로벌 파라미터를 배포하는 단계;
상기 복수의 클라이언트에서 선별된 학습 클라이언트로부터 상기 신경망 모델에 대한 학습 파라미터를 각각 수집하는 단계;
상기 수집된 학습 파라미터에 기초하여 후보 파라미터를 선정하는 단계;
상기 복수의 클라이언트에서 선별된 검증 클라이언트에 상기 후보 파라미터를 송신하는 단계;
상기 검증 클라이언트로부터 상기 글로벌 파라미터와 상기 후보 파라미터에 대한 상기 신경망 모델의 성능 비교값을 수신하는 단계; 및
상기 성능 비교값에 기초하여 상기 글로벌 파라미터를 상기 후보 파라미터로 갱신하는 단계를 포함하는
합의 기반의 연합 학습 방법.
- 제1항에 있어서,
상기 글로벌 파라미터를 배포하는 단계는
상기 신경망 모델과 상기 신경망 모델에 적용되는 상기 글로벌 파라미터를 배포하는 단계를 포함하는
합의 기반의 연합 학습 방법.
- 제1항에 있어서,
상기 학습 파라미터를 수집하는 단계는
상기 복수의 클라이언트 중 적어도 하나의 학습 클라이언트를 무작위로 선별하는 단계; 및
상기 학습 클라이언트로부터 상기 학습 파라미터를 수집하는 단계를 포함하는
합의 기반의 연합 학습 방법.
- 제1항에 있어서,
상기 후보 파라미터를 선정하는 단계는
상기 학습 파라미터의 중간값, 평균값, 절사평균값 중 어느 하나를 상기 후보 파라미터로 선정하는 단계를 포함하는
합의 기반의 연합 학습 방법.
- 제1항에 있어서,
상기 후보 파라미터를 송신하는 단계는
상기 복수의 클라이언트 중 적어도 하나의 검증 클라이언트를 무작위로 선별하는 단계; 및
상기 검증 클라이언트에 상기 후보 파라미터를 송신하는 단계를 포함하는
합의 기반의 연합 학습 방법.
- 제1항에 있어서,
상기 학습 클라이언트와 상기 검증 클라이언트는 중복되지 않는
합의 기반의 연합 학습 방법.
- 제5항에 있어서,
상기 검증 클라이언트를 무작위로 선별하는 단계는
상기 복수의 클라이언트에서 상기 학습 클라이언트를 제외한 적어도 하나의 클라이언트 군을 식별하는 단계; 및
상기 클라이언트 군에서 상기 검증 클라이언트를 무작위로 선별하는 단계를 포함하는
합의 기반의 연합 학습 방법.
- 제1항에 있어서,
상기 성능 비교값을 수신하는 단계는
상기 글로벌 파라미터에 대한 상기 신경망 모델의 성능과 상기 후보 파라미터에 대한 상기 신경망 모델의 성능의 비교 결과에 따라 이진화된 상기 성능 비교값을 수신하는 단계를 포함하는
합의 기반의 연합 학습 방법.
- 제1항에 있어서,
상기 글로벌 파라미터를 상기 후보 파라미터로 갱신하는 단계는
상기 검증 클라이언트 중 과반의 검증 클라이언트에서 동일하게 생성된 성능 비교값에 따라 상기 글로벌 파라미터를 상기 후보 파라미터로 갱신하는 단계를 포함하는
합의 기반의 연합 학습 방법.
- 제1항에 있어서,
상기 갱신된 글로벌 파라미터를 상기 복수의 클라이언트에 배포하는 단계를 더 포함하는
합의 기반의 연합 학습 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210148886A KR20230063629A (ko) | 2021-11-02 | 2021-11-02 | 합의 기반의 연합 학습 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210148886A KR20230063629A (ko) | 2021-11-02 | 2021-11-02 | 합의 기반의 연합 학습 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230063629A true KR20230063629A (ko) | 2023-05-09 |
Family
ID=86409186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210148886A KR20230063629A (ko) | 2021-11-02 | 2021-11-02 | 합의 기반의 연합 학습 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230063629A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117557870A (zh) * | 2024-01-08 | 2024-02-13 | 之江实验室 | 基于联邦学习客户端选择的分类模型训练方法及*** |
-
2021
- 2021-11-02 KR KR1020210148886A patent/KR20230063629A/ko unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117557870A (zh) * | 2024-01-08 | 2024-02-13 | 之江实验室 | 基于联邦学习客户端选择的分类模型训练方法及*** |
CN117557870B (zh) * | 2024-01-08 | 2024-04-23 | 之江实验室 | 基于联邦学习客户端选择的分类模型训练方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200167366A1 (en) | Data processing method and device | |
CN107426165B (zh) | 一种支持密钥更新的双向安全云存储数据完整性检测方法 | |
CN110505241B (zh) | 一种网络攻击面检测方法及*** | |
US8826032B1 (en) | Systems and methods for network change discovery and host name resolution in storage network environments | |
US10073916B2 (en) | Method and system for facilitating terminal identifiers | |
CN101388056B (zh) | 一种预防恶意程序的方法、***及装置 | |
CN111162934B (zh) | 业务服务的测试方法和装置、存储介质、电子装置 | |
CN103023928A (zh) | 一种p2p节点匹配***及方法 | |
CN109376534B (zh) | 用于检测应用的方法和装置 | |
CN112631550A (zh) | 区块链随机数生成方法、装置、设备及计算机存储介质 | |
CN103119551A (zh) | 优化的恢复 | |
CN113469371B (zh) | 联邦学习方法和装置 | |
CN109413202B (zh) | 区块链交易信息的排序***及方法 | |
CN114008977A (zh) | 用于渗漏事件数据的siem***和方法 | |
KR20230063629A (ko) | 합의 기반의 연합 학습 방법 | |
CN104333614B (zh) | 终端识别的方法、装置及*** | |
CN109614521A (zh) | 一种高效的隐私保护子图查询处理方法 | |
Nidd et al. | Automated business application discovery | |
CN112561700A (zh) | 区块链中交易数据的存储方法、验证方法、及区块链*** | |
Govindan et al. | Pronet: Network trust assessment based on incomplete provenance | |
CN114567678B (zh) | 一种云安全服务的资源调用方法、装置及电子设备 | |
CN106302641A (zh) | 一种上传文件的方法、装置和*** | |
US20160292300A1 (en) | System and method for fast network queries | |
La Salle et al. | Joint modeling of hyperledger fabric and sybil attack: petri net approach | |
Salah et al. | Characterizing Graph-theoretic Properties of a large-scale DHT: Measurements vs. Simulations |