scaffold 2

Non-IID 환경을 위한 병합 전략: SCAFFOLD

SCAFFOLD (Stochastic Controlled Averaging)는 연합학습(FL)에서 데이터 이질성(Non-IID)으로 인해 발생하는 'Client Drift (클라이언트 편향)' 문제를 해결하기 위한 매우 정교한 알고리즘입니다. FedProx가 로컬 모델이 멀리 벗어나는 것을 '억제'하는 방식이라면, SCAFFOLD는 각 클라이언트가 얼마나 편향되었는지를 '추정'하고 이를 '보정'하는, 더 적극적인 방식을 사용합니다.1. SCAFFOLD가 해결하려는 핵심 문제: 편향된 그래디언트데이터가 이질적(Non-IID)일 때, 각 클라이언트가 계산하는 로컬 그래디언트(모델이 나아가야 할 방향)는 글로벌 모델이 실제로 나아가야 할 방향(모든 데이터의 평균 방향)과 다릅니다.Client Drift의 원인..

Non-IID 환경을 위한 병합 전략 네 가지

연합학습(Federated Learning) 환경에서 데이터가 이질적(Non-IID)일 때 발생하는 클라이언트 편향(Client Drift) 현상은 큰 문제입니다. 이는 각 클라이언트의 로컬 모델이 자신의 데이터에 과적합되어, 이를 단순 평균(FedAvg)할 경우 글로벌 모델의 성능이 저하되는 현상을 말합니다. FedProx, FedFocal, SCAFFOLD, FedNova 는 이 문제를 각기 다른 방식으로 해결하려는 대표적인 병합(혹은 학습) 전략입니다.FedProx (Federated Proximal)FedProx는 클라이언트가 로컬 학습을 진행할 때, 글로벌 모델에서 너무 멀리 벗어나지 않도록 '제약'을 거는 방식입니다.핵심 아이디어: 로컬 손실 함수(Loss Function)에 '근접 항(Pro..