연합학습/추론 성능

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

FedTensor 2025. 11. 18. 16:07

연합학습(FL)은 데이터를 중앙 서버로 전송하지 않고, 각 클라이언트(예: 디바이스, 지역)에서 로컬 모델을 학습한 뒤 모델 파라미터(또는 그래디언트)만 서버로 전송하여 전역 모델을 갱신하는 분산 학습 방식입니다. 이는 데이터 프라이버시를 강력하게 보호할 수 있는 장점이 있습니다.

 

하지만 데이터가 이질적(Non-IID)인 환경, 특히 특정 지역이나 클라이언트가 매우 적지만 중요한 '희소 데이터'를 보유한 경우, 심각한 문제가 발생합니다. 가장 널리 쓰이는 FedAvg (Federated Averaging) 알고리즘은 각 클라이언트의 데이터 '양'에 비례하여 가중 평균을 내기 때문입니다.

 

문제 상황: 99%의 클라이언트가 '일반 데이터'를, 1%의 클라이언트가 '희소하지만 중요한 지역 데이터'를 가졌다고 가정해봅시다. FedAvg를 사용하면, 1%의 희소 데이터에서 학습된 중요한 패턴은 99%의 일반 데이터 모델에 의해 사실상 '무시'되거나 '희석'되어 전역 모델에 거의 반영되지 못합니다.

 

이러한 희소 데이터의 희석 문제를 완화하기 위한 3가지 주요 전략은 다음과 같습니다.

1. FedProx: 로컬 학습 안정화 및 규제 (Local Training Stabilization)

설명:

FedProx는 이질적인(Non-IID) 데이터 환경에서 연합학습의 안정성을 높이기 위해 제안된 방식입니다. 핵심 아이디어는 각 클라이언트가 로컬 모델을 학습할 때, '근접 항(Proximal Term)'이라는 규제(regularization)를 손실 함수에 추가하는 것입니다.

이 근접 항은 로컬 모델의 파라미터가 직전 라운드의 전역 모델 파라미터로부터 너무 멀리 벗어나지 않도록 제어하는 역할을 합니다.

희석 문제 완화 방안:

희소 데이터를 가진 클라이언트는 데이터가 부족하기 때문에 로컬 학습 과정이 불안정하거나, 해당 데이터에 과적합(overfitting)될 수 있습니다. 이 경우, 전역 모델과 너무 동떨어진(divergent) 모델 업데이트를 생성하게 되며, 이는 전역 모델 병합 시 불안정성을 야기하거나 무시될 수 있습니다.

 

FedProx는 로컬 모델이 전역 모델의 '궤도'에서 크게 벗어나지 않도록 강제합니다. 이를 통해 희소 데이터에서 학습된 내용이 과도하게 발산하는 것을 막고, 보다 안정적이고 점진적으로 전역 모델에 기여할 수 있도록 돕습니다. 즉, 로컬 모델의 '개성'을 약간 억제하는 대신, 그 기여가 병합 과정에서 '수용'될 수 있도록 만들어 희석의 부작용을 줄입니다.

2. 가중치 기반 동적 병합 (Weighted / Attentional Aggregation)

설명:

FedAvg의 근본적인 문제는 데이터 '양'이라는 단일 기준으로 모델을 병합하는 데 있습니다. 이 전략은 데이터 양이 아닌, 데이터의 '중요도' 또는 '기여도'에 따라 병합 가중치를 동적으로 조정하는 방식입니다.

 

예를 들어, FedFocal과 같은 기법은 현재 전역 모델이 잘 해결하지 못하는(즉, 로컬 손실(loss)이 높은) 클라이언트에게 더 높은 가중치를 부여합니다.

희석 문제 완화 방안:

특정 지역의 희소 데이터는 종종 일반적인 전역 모델이 잘 예측하지 못하는 '어렵고 독특한' 데이터일 가능성이 높습니다. 이로 인해 해당 클라이언트의 로컬 손실은 다른 일반 클라이언트보다 높게 나타날 수 있습니다.

 

이때 손실이 높다는 이유로(즉, 전역 모델이 이 문제를 못 풀고 있다는 신호로) 해당 클라이언트의 모델 업데이트에 더 높은 가중치를 부여하면, 서버는 이 '희소하지만 중요한' 정보에 더 집중하게 됩니다. 데이터가 적다는 이유로 목소리가 묻히는 것이 아니라, '해결해야 할 중요한 문제를 가진' 목소리로 증폭되어 전역 모델에 반영되므로 희석 문제를 정면으로 완화할 수 있습니다.

3. 클러스터링 및 개인화 연합학습 (Clustering & Personalized FL)

설명:

이 전략은 '하나의 만능' 전역 모델을 만드는 것이 최선이 아닐 수도 있다는 전제에서 출발합니다. 희소 데이터의 특성이 너무 독특하여 일반 모델과 융합되기 어렵다면, 이를 분리하는 것이 낫다는 접근입니다.

  • 클러스터링 (Clustering): 서버가 클라이언트들의 모델 업데이트 유사성을 분석하여, 비슷한 데이터 분포(및 희소성)를 가진 클라이언트들끼리 그룹(클러스터)을 짓습니다. (예: '일반 사용자' 클러스터, 'A지역 희소 데이터' 클러스터).
  • 개인화 (Personalization): 각 클라이언트가 '공통' 기본 모델(Base Model)과 '개인' 맞춤형 모델(Personalized Model)을 따로 갖도록 구조화합니다. (예: FedPer). 서버에는 공통 부분만 전송하여 병합하고, 개인 모델은 로컬에 유지하며 해당 지역의 특화된 희소 데이터를 집중적으로 학습시킵니다.

희석 문제 완화 방안:

  • 클러스터링: 희소 데이터 클라이언트는 더 이상 수많은 '일반' 클라이언트 그룹에 의해 희석되지 않습니다. 자신과 비슷한 소수의 클러스터 내에서만 모델을 병합하므로, 고유한 특성이 보존된 '준-전역 모델'을 갖게 됩니다.
  • 개인화: 희소한 지역 데이터의 핵심 정보는 '개인' 모델 부분에 학습됩니다. 이 부분은 아예 병합 대상이 아니므로 '희석' 자체가 원천적으로 불가능합니다. 전역 모델은 일반적인 지식을, 개인 모델은 지역적/희소 지식을 맡아 완벽히 분리하여 문제를 해결합니다.

요약

전략 핵심 아이디어 희석 완화 원리
1. FedProx 로컬 학습 시 전역 모델과의 '거리'를 규제 희소 데이터 모델의 과도한 발산(divergence)을 막아, 안정적이고 수용 가능한 업데이트를 생성
2. 가중치 기반 병합 데이터 '양'이 아닌 '중요도'(예: 손실)로 가중치 부여 전역 모델이 못 푸는 '어려운' 희소 데이터의 목소리를 증폭시켜 반영
3. 클러스터링 / 개인화 '하나의 모델'을 포기하고, 그룹화 또는 분리 희소 데이터를 별도 클러스터로 묶거나, 아예 병합에서 제외되는 '개인 모델'에 학습시켜 희석을 원천 차단