1. 개요
연합학습의 가장 큰 난제는 클라이언트(기관)마다 데이터 분포가 다른 Non-IID(Non-Independent and Identically Distributed) 상황입니다. 중앙 서버가 원본 데이터를 볼 수 없는 보안 제약 하에서, 서버는 클라이언트들이 전송하는 모델 업데이트의 기하학적, 통계적 특성을 분석하여 이질성을 간접적으로 정량화할 수 있습니다.
2. 서버 측 이질성 정량화 방법론
2.0. 전제: 모델 업데이트의 정의와 등가성
본 문서에서 언급하는 '모델 업데이트'는 구체적인 구현(FedAvg, FedSGD 등)에 따라 다음 세 가지 중 하나일 수 있으나, 이질성 정량화의 본질은 동일합니다.
- 파라미터 ($w_t$): 학습이 완료된 로컬 모델의 가중치 자체
- 파라미터 차이 ($\Delta w$): 글로벌 모델과의 차이 ($w_t - w_{global}$)
- 그래디언트 ($\nabla L$): 손실 함수의 기울기
물리학적/수학적 등가성: 이들은 선형 관계에 있습니다. 학습률을 $\eta$라고 할 때, $\Delta w \approx -\eta \cdot \nabla L$의 관계가 성립합니다. 따라서 벡터의 방향을 분석하는 코사인 유사도나, 분산을 분석하는 SVD 기법은 스칼라 배($-\eta$)나 평행 이동(Shift by $w_{global}$)을 고려하면 수학적으로 등가입니다. 편의상 이하 설명에서는 이를 통칭하여 업데이트 벡터 $u$로 표기합니다.
방법 1: 그래디언트/가중치 발산(Divergence) 분석
가장 직관적인 방법으로, 각 클라이언트의 업데이트 벡터가 글로벌 모델의 업데이트 방향과 얼마나 다른지를 측정합니다.
1) 코사인 유사도 기반 (Directional Analysis)
클라이언트의 로컬 업데이트 벡터와 글로벌 업데이트 벡터(또는 평균 벡터) 사이의 각도를 측정합니다.
- 정량화 지표: $Sim(u_i, u_{avg}) = \frac{u_i \cdot u_{avg}}{||u_i|| ||u_{avg}||}$
- $u_i$: 클라이언트 $i$의 업데이트 벡터 (파라미터인 경우 $w_i - w_{global}$로 변환하여 사용)
- $u_{avg}$: 해당 라운드의 평균 업데이트 벡터
- 해석: 값이 1에 가까울수록 IID에 가깝고, 값이 낮거나 음수라면 해당 클라이언트의 데이터 분포가 전체 분포와 크게 다르거나(Non-IID), 적대적(Adversarial)임을 의미합니다.
2) 유클리드 거리 기반 (Magnitude Analysis)
업데이트 벡터 간의 직선 거리를 측정합니다.
- 정량화 지표: $Dist(u_i, u_{global}) = ||u_i - u_{global}||_2$
- 해석: 거리가 멀수록 해당 클라이언트가 로컬 최적점(Local Minimum)으로 강하게 끌려가고 있음을 의미하며, 이는 데이터 분포의 편향을 시사합니다. (파라미터 $w$를 직접 사용하는 경우에도 클라이언트 간의 거리는 동일하게 유지됩니다.)
방법 2: 업데이트 행렬의 스펙트럼 분석 (SVD 활용)
물리학의 고유값 문제와 유사하게, 클라이언트들의 업데이트 벡터들을 모아 행렬을 만들고, 이 행렬의 주성분을 분석합니다.
- 구체적 과정:
- 라운드 $t$에 참여한 $K$개 클라이언트의 업데이트 벡터($u$)를 $d$차원으로 펼칩니다.
- 이를 모아 $K \times d$ 크기의 행렬 $G$를 구성합니다.
- 행렬 $G$에 대해 특이값 분해(SVD)를 수행하여 특이값(Singular Values, $\sigma$)들을 추출합니다.
- 정량화 지표: 특이값들의 분포 (예: $\sigma_1 / \sum \sigma_i$ 또는 유효 랭크)
- 해석:
- IID 상황: 모든 클라이언트가 비슷한 방향을 가리키므로 첫 번째 특이값($\sigma_1$)이 매우 크고 나머지는 작습니다 (Rank-1 근사).
- Non-IID 상황: 업데이트 방향이 제각각이므로, 특이값들이 넓게 퍼지며 행렬의 유효 랭크(Effective Rank)가 높아집니다. 이 랭크 값을 이질성의 척도로 사용할 수 있습니다.
방법 3: 클라이언트 제어 변수 (Control Variates) 모니터링
SCAFFOLD와 같은 알고리즘을 사용하는 경우, 알고리즘 내부 변수를 활용하여 이질성을 측정할 수 있습니다.
- 개념: SCAFFOLD는 '클라이언트 드리프트(Client Drift)'를 보정하기 위해 각 클라이언트마다 제어 변수 $c_i$와 글로벌 제어 변수 $c$를 유지합니다.
- 정량화 지표: $Drift_i = ||c_i - c||$
- 해석: $c_i$는 클라이언트 $i$의 데이터 분포가 글로벌 분포에서 얼마나 벗어나 있는지를 나타내는 벡터입니다. 이 벡터의 크기(Norm) 자체가 시스템이 학습한 해당 기관의 이질성 점수가 됩니다. 이는 별도의 연산 없이 알고리즘 과정 중에 자연스럽게 얻어집니다.
방법 4: Fisher Information Matrix (FIM) 근사 (심화)
곡률(Curvature) 정보를 활용하는 방법입니다.
- 개념: 모델 파라미터 공간에서 손실 함수(Loss Landscape)의 곡률은 데이터 분포에 민감합니다.
- 과정: 클라이언트로부터 그래디언트의 제곱합(또는 대각 Hessian 근사값)을 추가로 전송받습니다. (보안 집계 필요)
- 정량화 지표: 클라이언트 간 FIM 대각 성분의 불일치도(Discrepancy).
- 해석: 특정 파라미터에 대해 어떤 클라이언트는 민감하게 반응하고(높은 곡률), 어떤 클라이언트는 둔감하다면(낮은 곡률), 이는 해당 특징(Feature)에 대한 데이터 분포가 상이함을 의미합니다.
2.5. 정량화 방법론 비교 요약
| 구분 | 방법 1: 발산 분석 (Divergence) | 방법 2: 스펙트럼 분석 (SVD) | 방법 3: 제어 변수 (Control Variates) | 방법 4: Fisher Information (FIM) |
| 핵심 지표 | 코사인 유사도, 유클리드 거리 | 특이값 분포($\sigma$), 유효 랭크 | 드리프트 벡터 크기 ($Drift_i$) | FIM 대각 성분 불일치도 |
| 연산 복잡도 (서버) | 낮음 ($O(d)$) 단순 벡터 연산 |
높음 ($O(K \cdot d^2)$) 행렬 분해 필요 |
중간 알고리즘 내재 (SCAFFOLD) |
매우 높음 2차 미분 근사 계산 필요 |
| 통신 비용 | 낮음 기본 모델 업데이트만 전송 |
낮음 기본 모델 업데이트만 전송 |
중간 제어 변수($c_i$) 추가 전송 필요 |
높음 Hessian 근사값 등 추가 정보 필요 |
| 보안 리스크 | 낮음 표준적인 보안 집계 적용 가능 |
낮음 표준적인 보안 집계 적용 가능 |
낮음 추가 변수도 암호화 가능 |
중간 곡률 정보 유출로 인한 간접 추론 가능성 |
| 특징 및 추천 | 가장 직관적이고 구현 용이. 초기 프로토타입에 적합. |
전체적인 상관관계 파악 가능. 클라이언트 수($K$)가 많을 때 유리. |
알고리즘에 통합되어 자연스러움. SCAFFOLD 도입 시 최적. |
가장 정밀한 분석 가능. 고성능/연구 목적에 적합. |
'연합학습 > 추론 성능' 카테고리의 다른 글
| Non-IID 환경을 위한 병합 전략: FedFocal (0) | 2025.12.01 |
|---|---|
| 연합학습 시 희소 데이터의 희석 문제 완화 방안 3가지 (0) | 2025.11.18 |
| Non-IID 환경을 위한 병합 전략: SCAFFOLD (0) | 2025.11.16 |
| Non-IID 환경을 위한 병합 전략: FedProx (0) | 2025.11.16 |
| Non-IID 환경을 위한 병합 전략 네 가지 (0) | 2025.11.16 |