연합학습 (Federated Learning)
고급연합학습 (Federated Learning)는 AI 문맥에서 자주 등장하는 개념입니다. 이 페이지는 고급 난이도로 연합학습 (Federated Learning)의 뜻과 쓰임을 빠르게 이해할 수 있도록 정리한 AI 용어사전 항목입니다.
연합학습 (Federated Learning)를 처음 보는 독자도 헷갈리지 않도록 정의와 맥락를 한 페이지에 묶었습니다. 아래 설명을 먼저 읽고, 이어서 연결된 개념과 글까지 보면 이해가 훨씬 빨라집니다.
연합학습 (Federated Learning)은 원시 데이터를 중앙 서버로 전송하지 않고, 각 기기나 기관에서 로컬로 모델을 학습시킨 뒤 모델 가중치(업데이트)만 중앙으로 전달하여 통합하는 분산 학습 방식입니다. Google이 2017년 처음 제안하였으며, 개인정보 보호에 강점이 있습니다.
동작 원리는 다음과 같습니다. 중앙 서버가 초기 모델을 배포하면, 수천·수백만 개의 기기가 각자 로컬 데이터로 모델을 업데이트합니다. 기기들은 데이터가 아닌 그래디언트(기울기 정보)만 중앙으로 보내고, 서버는 이를 집계하여 전체 모델을 개선합니다. 스마트폰의 키보드 예측 모델(Gboard)이 대표적 실용 사례입니다.
의료·금융처럼 데이터 공유가 법적으로 제한된 분야에서 특히 유용합니다. 다른 병원들이 환자 데이터를 공유하지 않고도 함께 질병 예측 모델을 개선할 수 있습니다. 다만 통신 비용 증가와 각 기기의 데이터 분포 불균형이 풀어야 할 과제로 남아 있습니다.
각 학교가 학생 성적표를 공유하지 않고도 '어떤 교수법이 효과적인지'를 함께 학습하는 것과 같습니다. 데이터는 각자 가지고 있고, 배운 결과(모델 업데이트)만 공유합니다.
연합학습의 집계 알고리즘 중 가장 널리 쓰이는 것은 FedAvg(Federated Averaging)입니다. 각 클라이언트 기기가 보내온 모델 가중치를 참여 데이터 샘플 수에 비례하여 가중 평균하는 방식입니다. 단순하지만 실제로 잘 작동하며, Google이 2017년 논문 'Communication-Efficient Learning of Deep Networks from Decentralized Data'에서 제안했습니다. 이후 FedProx, SCAFFOLD 등 개선된 알고리즘도 나왔습니다.
연합학습에는 두 가지 주요 유형이 있습니다. 수평 연합학습(Horizontal FL)은 각 기관이 같은 종류의 특성(feature)을 가진 데이터를 서로 다른 샘플에 대해 보유한 경우입니다. 스마트폰 사용자 각각이 같은 형태의 입력 데이터를 가지는 상황이 대표적입니다. 반면 수직 연합학습(Vertical FL)은 같은 사용자에 대해 서로 다른 기관이 서로 다른 종류의 데이터를 가진 경우입니다. 예를 들어 은행은 금융 거래 데이터를, 병원은 같은 사람의 건강 데이터를 가진 상황에서 이 둘을 합쳐 학습하는 방식입니다.
연합학습이 개인정보를 완전히 보호한다는 것은 오해입니다. 그래디언트에서 원본 데이터를 역추론하는 그래디언트 반전 공격(Gradient Inversion Attack)이 연구로 확인되었습니다. 이 문제를 완화하기 위해 차등 프라이버시(Differential Privacy)나 안전한 집계(Secure Aggregation) 같은 기법을 연합학습에 결합하는 방향으로 연구가 이어지고 있습니다.
실제 적용 사례를 보면, 삼성과 Apple은 스마트폰 키보드의 다음 단어 예측 모델에 연합학습을 적용하여 사용자의 입력 기록을 서버에 전송하지 않고 모델을 지속적으로 개선합니다. 의료 분야에서는 미국 국립암연구소(NCI)가 여러 병원의 환자 데이터를 연합학습 방식으로 학습시켜 암 진단 모델의 정확도를 높인 사례가 있습니다.
연합학습의 주요 한계는 통신 비용 외에도 데이터 이질성(data heterogeneity) 문제입니다. 참여 기기마다 데이터 분포가 크게 다를 경우, 단순 평균만으로는 전체를 잘 대표하는 모델을 만들기 어렵습니다. 예를 들어 일부 병원은 노인 환자 데이터가 대부분이고, 다른 병원은 소아 환자 데이터가 대부분이라면, 집계된 모델이 두 집단 모두에서 잘 작동하도록 설계하는 것이 쉽지 않습니다. 이 문제는 개인화 연합학습(Personalized Federated Learning) 연구로 대응하고 있습니다.
연합학습은 GDPR, 개인정보 보호법 등 데이터 규제가 강화될수록 중요성이 더 커지는 기술입니다. 데이터를 이동하지 않고 학습 결과만 공유하는 방식은 규제 준수와 협업 학습을 동시에 가능하게 합니다. 앞으로 엣지 AI, IoT 기기, 자율주행차 등 분산된 환경에서의 AI 학습이 늘어날수록 연합학습의 활용 범위도 넓어질 것입니다.
연합학습 구현을 위한 오픈소스 프레임워크도 여러 가지가 있습니다. Google이 공개한 TensorFlow Federated(TFF)와 Meta의 FedML, 그리고 Flower(flwr) 프레임워크가 널리 쓰입니다. Flower는 특히 PyTorch와 TensorFlow를 모두 지원하고 실제 분산 환경에서의 실험을 쉽게 설정할 수 있어 연구자들 사이에서 인기가 높습니다. 이런 프레임워크를 사용하면 복잡한 분산 통신 로직 없이 연합학습 실험을 시작할 수 있습니다.
연합학습을 도입하기 전에 고려해야 할 현실적인 질문이 있습니다. 참여 기기나 기관의 네트워크 연결이 안정적인지, 기기마다 컴퓨팅 성능 차이가 얼마나 큰지, 데이터 분포가 얼마나 이질적인지 등을 먼저 평가해야 합니다. 연합학습이 항상 중앙 집중식 학습보다 나은 것은 아닙니다. 데이터를 한 곳에 모을 수 있는 상황이라면 중앙 집중식 학습이 더 간단하고 성능도 좋은 경우가 많습니다. 연합학습은 데이터 공유가 불가능하거나 법적으로 제한될 때 선택하는 방법입니다.
