연합학습/추론 성능

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

FedTensor 2025. 12. 1. 11:41

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 상황입니다. 하지만 현실에서는 다음과 같은 Non-IID 상황이 빈번합니다.

  • 레이블 편향 (Label Skew): 병원은 '암 환자' 데이터가 많고, 일반 의원은 '감기 환자' 데이터가 많은 경우.
  • 특징 편향 (Feature Skew): 동일한 '고양이' 사진이라도 어떤 사용자는 흑백 사진만, 어떤 사용자는 컬러 사진만 보유한 경우.

2.2. 기존 FedAvg의 한계

표준 알고리즘인 FedAvg는 일반적으로 로컬에서 Cross Entropy(CE) 손실 함수를 사용합니다. CE는 다수 클래스(Majority Class)에 의해 손실 값이 지배되는 경향이 있습니다.

  • 데이터가 많은 클래스(Easy Examples)가 전체 Gradient를 압도함.
  • 데이터가 적은 희귀 클래스(Hard Examples)는 학습이 제대로 이루어지지 않음.
  • 결과적으로 글로벌 모델의 성능이 저하됨.

3. 핵심 원리: Cross Entropy에서 Focal Loss로

FedFocal의 핵심은 로컬 업데이트 단계에서 손실 함수를 수정하는 것입니다.

3.1. Cross Entropy (CE)

일반적인 분류 문제에서 사용하는 손실 함수입니다. ($p_t$: 모델이 정답 클래스라고 예측한 확률)

$$CE(p_t) = -\log(p_t)$$

3.2. Focal Loss (FL)

FedFocal이 채택한 손실 함수입니다. CE 앞에 Modulating Factor $(1-p_t)^\gamma$를 추가합니다.

$$FL(p_t) = -\alpha_t (1 - p_t)^\gamma \log(p_t)$$

  • $(1 - p_t)^\gamma$ (Modulating Factor):
    • 쉬운 예제 ($p_t \approx 1$): 모델이 정답을 확신하면 $(1-p_t)$가 0에 가까워져 손실(Loss)이 0으로 수렴합니다. 즉, 이미 잘 아는 데이터는 학습에 영향을 덜 줍니다.
    • 어려운 예제 ($p_t \approx 0$): 모델이 틀리거나 확신이 없으면 가중치가 1에 가까워져 손실이 그대로 유지됩니다.
  • $\gamma$ (Focusing Parameter): 쉬운 예제에 대한 가중치를 얼마나 줄일지 결정합니다. ($\gamma > 0$, 일반적으로 2 사용)
  • $\alpha_t$ (Balance Variant): 클래스 간의 빈도 불균형을 직접적으로 보정하는 가중치입니다.

4. FedFocal의 작동 메커니즘

FedFocal은 단순히 로컬에서 Focal Loss를 쓰는 것을 넘어, 연합학습 프레임워크 안에서 다음과 같이 작동합니다.

  1. Global Distribution Initialization: (선택적) 서버는 초기에 클라이언트들의 메타데이터(클래스 분포 등)를 통해 대략적인 $\alpha$ 값을 설정할 수 있습니다.
  2. Local Training (Client Side):
    • 각 클라이언트는 서버로부터 글로벌 모델을 받습니다.
    • Focal Loss를 사용하여 로컬 데이터를 학습합니다.
    • 이때, 해당 클라이언트 내에서 데이터가 적은 클래스(Hard Samples)는 높은 Loss를 유발하여 Gradient 업데이트에 큰 영향을 줍니다.
  3. Aggregation (Server Side):
    • 서버는 클라이언트들의 업데이트(가중치)를 수집합니다.
    • FedFocal 방식에 따라 단순히 데이터 개수 비례(FedAvg)가 아니라, 각 클라이언트의 학습 난이도(Loss 크기 등)를 반영하여 가중 병합하기도 합니다. (변형된 FedFocal 전략들)

5. FedAvg vs FedProx vs FedFocal vs Astraea 비교

특성 FedAvg FedProx FedFocal Astraea
주요 목적 통신 효율성, 일반적인 병합 시스템/통계적 이질성 해결 클래스 불균형 및 분류하기 어려운 샘플 집중 학습 데이터 불균형 해소 (Self-balancing)
핵심 기법 단순 가중 평균 Proximal Term (근접 항) 추가 Focal Loss 함수 사용 Data Augmentation (데이터 증강) 및 중재자
Non-IID 대응 취약함 로컬 모델의 편향(Drift) 방지 희소 데이터의 Loss 가중치 증가 부족한 클래스 데이터를 생성/변형하여 균형 맞춤
수식 특징 $L_{CE}$ $L_{CE} + \frac{\mu}{2}\lVert w - w^t \rVert^2$ $-\alpha_t(1-p_t)^\gamma \log(p_t)$ (알고리즘적 접근: Augmentation Logic)

6. 장점과 한계

  • 장점 (Pros)
    1. 불균형 데이터 강건성: 특정 클래스의 데이터가 매우 적거나 없는 Non-IID 환경에서 강한 성능을 보입니다.
    2. Hard Example Mining: 학습이 어려운 케이스를 자동으로 선별하여 학습 효율을 높입니다.
    3. 유연성: 모델 구조를 변경하지 않고 손실 함수만 교체하여 적용할 수 있어 구현이 용이합니다.
  • 한계 (Cons)
    1. 하이퍼파라미터 튜닝: $\gamma$ (Focusing parameter)와 $\alpha$ 값을 데이터 특성에 맞게 세밀하게 조정해야 합니다. 잘못 설정하면 학습이 불안정해질 수 있습니다.
    2. 수렴 속도: 쉬운 예제의 가중치를 낮추기 때문에, 학습 초기에 전반적인 수렴 속도가 약간 느려질 수 있습니다.

7. 결론

FedFocal은 데이터가 각 클라이언트에 불균등하게 퍼져 있는 현실적인 연합학습 환경, 특히 의료 영상 분석이나 이상 탐지(Anomaly Detection)와 같이 특정 클래스 데이터가 희소한 분야에서 매우 효과적인 전략입니다.