AI: 연합학습 및 프라이버시 – Federated Averaging
ㅁ 연합학습 및 프라이버시
ㅇ 정의:
여러 개별 디바이스나 클라이언트가 로컬 데이터를 외부로 전송하지 않고, 각자 학습한 모델 파라미터(가중치)만 중앙 서버로 전송하여 평균화하는 방식의 연합학습 기법.
ㅇ 특징:
– 데이터 프라이버시 보호: 원본 데이터는 로컬에 유지
– 통신 효율성: 전체 데이터 전송 대신 모델 파라미터만 공유
– 비동기적/동기적 학습 가능
– 데이터 분포가 IID가 아닐 경우 성능 저하 가능
ㅇ 적합한 경우:
– 모바일 기기, IoT 센서 등 데이터가 분산되어 있고 전송이 제한적인 환경
– 개인정보 보호가 중요한 의료, 금융 서비스
ㅇ 시험 함정:
– Federated Averaging은 데이터를 중앙 서버로 모으는 방식이 아님 (X)
– 모델 파라미터 평균화는 단순 가중치 평균이 아닌, 각 클라이언트 데이터 크기에 비례한 가중 평균임 (O)
– 모든 클라이언트가 동일한 데이터 분포를 가진다고 가정하지 않음 (O)
ㅇ 시험 대비 “패턴 보기” 예시:
– “Federated Averaging은 로컬 데이터를 중앙 서버로 전송하여 학습한다.” → X
– “클라이언트별 학습 결과를 데이터 크기에 따라 가중 평균하여 중앙 모델을 갱신한다.” → O
– “연합학습은 항상 IID 데이터 분포를 가정한다.” → X
ㅁ 추가 학습 내용
Federated Averaging(FedAvg)은 Google이 2016년경 제안한 알고리즘으로, E-step(로컬 학습)과 M-step(중앙 평균화)을 반복하는 구조를 가진다.
수식은 w_{t+1} = Σ_{k=1}^K (n_k / n) * w_t^k 형태이며, 여기서 n_k는 클라이언트 k의 데이터 수, n은 전체 데이터 수를 의미한다.
통신 효율성을 위해 각 클라이언트는 로컬에서 여러 Epoch 동안 학습한 후 파라미터를 전송한다.
한계점으로는 데이터 불균형(Non-IID) 문제, 통신 지연, 일부 클라이언트 실패 시 모델 품질 저하 가능성이 있다.
이를 개선하기 위해 FedProx, Scaffold, FedNova 등 Non-IID 환경 대응 알고리즘이 제안되었다.
시험에서는 FedAvg 절차인 로컬 학습 → 파라미터 전송 → 중앙 평균화 → 모델 배포의 순서를 묻거나, 중앙집중식 학습과의 차이점을 비교하는 문제가 자주 출제된다.