이질적데이터 5

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

1. 개요FedFocal은 연합학습(Federated Learning) 환경, 특히 각 클라이언트가 보유한 데이터의 레이블 분포가 균일하지 않은 Non-IID(Label Skew) 상황을 해결하기 위해 제안된 기법입니다. 기존의 FedAvg가 사용하는 Cross Entropy(CE) 손실 함수 대신, Focal Loss를 도입하여 모델이 분류하기 쉬운 샘플(Easy Examples)보다는 분류하기 어려운 샘플(Hard Examples)이나 소수 클래스(Minority Class)에 더 집중하도록 유도합니다.2. 배경: 왜 FedFocal이 필요한가?2.1. 연합학습의 Non-IID 문제연합학습에서 이상적인 환경은 모든 클라이언트가 전체 데이터 분포와 유사한 데이터를 갖는 IID 상황입니다. 하지만 현실에..

연합학습 시 희소 데이터의 희석 문제 완화 방안 3가지

연합학습(FL)은 데이터를 중앙 서버로 전송하지 않고, 각 클라이언트(예: 디바이스, 지역)에서 로컬 모델을 학습한 뒤 모델 파라미터(또는 그래디언트)만 서버로 전송하여 전역 모델을 갱신하는 분산 학습 방식입니다. 이는 데이터 프라이버시를 강력하게 보호할 수 있는 장점이 있습니다. 하지만 데이터가 이질적(Non-IID)인 환경, 특히 특정 지역이나 클라이언트가 매우 적지만 중요한 '희소 데이터'를 보유한 경우, 심각한 문제가 발생합니다. 가장 널리 쓰이는 FedAvg (Federated Averaging) 알고리즘은 각 클라이언트의 데이터 '양'에 비례하여 가중 평균을 내기 때문입니다. 문제 상황: 99%의 클라이언트가 '일반 데이터'를, 1%의 클라이언트가 '희소하지만 중요한 지역 데이터'를 가졌다고 ..

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

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

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

FedProx(Federated Proximal)는 연합학습, 특히 데이터가 이질적인(Non-IID) 환경에서 발생하는 'Client Drift (클라이언트 편향)' 문제를 해결하기 위해 제안된 핵심적인 알고리즘입니다. FedAvg(표준 연합학습)의 직접적인 개선안으로, 로컬 학습 과정에 간단하면서도 효과적인 제약 사항을 추가한 것이 특징입니다.1. FedProx가 해결하려는 핵심 문제: Client Drift표준 FedAvg에서는 각 클라이언트가 서버로부터 글로벌 모델을 받아, 자신의 로컬 데이터로 여러 에포크(epoch) 동안 학습합니다.문제점: 만약 클라이언트 A(예: 숫자 '3' 이미지 만 보유)와 클라이언트 B(예: 숫자 '7' 이미지 만 보유)의 데이터가 매우 이질적이라면, 클라이언트 A의 로..

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

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