연합 학습 (Federated Learning)

컴퓨터과학·AI
한 줄 정의: 여러 기기나 기관에 흩어진 데이터를 한곳에 모으지 않고, 각자 로컬에서 모델을 학습한 뒤 그 결과만 합쳐 하나의 모델을 만드는 분산 학습 방식입니다.

쉽게 풀면

여러 병원이 협력해서 더 좋은 진단 AI를 만들고 싶지만, 환자 개인정보가 담긴 원본 데이터를 서로 주고받을 수는 없다고 해봅시다. 연합 학습에서는 각 병원이 자기 데이터로 각자 모델을 조금씩 학습시킨 다음, "원본 데이터"가 아니라 "학습으로 조정된 모델의 내용(가중치 변화량)"만 중앙 서버로 보냅니다. 중앙 서버는 여러 병원에서 온 이 결과들을 평균 내어 하나의 더 똑똑한 모델을 만들고, 다시 각 병원에 나눠줍니다. 이 과정을 반복하면 데이터 자체는 한 번도 병원 밖으로 나가지 않으면서도 여러 곳의 데이터를 활용한 효과를 얻을 수 있습니다.

왜 중요한가

개인정보보호 규제가 강화되고 데이터 소유권에 대한 인식이 높아지면서, 원본 데이터를 옮기지 않고도 여러 주체가 협력해 모델을 학습시킬 수 있는 연합 학습은 프라이버시 보호 머신러닝(privacy-preserving machine learning)이라는 큰 연구 흐름의 핵심 축이 되었습니다. 의료, 금융처럼 데이터를 외부와 공유하기 어려운 산업뿐 아니라, 스마트폰처럼 수많은 기기에 흩어진 데이터를 활용해야 하는 모바일·엣지 컴퓨팅 분야에서도 실용적인 해법으로 주목받고 있습니다.

논문에서는 이렇게 쓰입니다

"본 연구는 5개 의료기관의 데이터를 직접 공유하지 않고 연합 학습(federated learning)을 통해 폐렴 진단 모델을 학습하였으며, 중앙집중식 학습 대비 유사한 성능을 달성했다."

이 문장은 여러 기관의 원본 데이터를 모으지 않고도, 각 기관에서 학습한 결과만 합쳐서 중앙집중식 학습과 비슷한 성능의 모델을 만들었다는 뜻입니다.

"수백만 대의 스마트폰에서 수집되는 키보드 입력 데이터를 이용한 다음 단어 예측 모델을 연합 학습으로 학습시킨 결과, 사용자 데이터를 서버로 전송하지 않고도 예측 정확도를 지속적으로 개선할 수 있었다."

이 문장은 모바일 기기 분야에서 연합 학습이 개인의 입력 기록을 서버로 보내지 않으면서도 전체 사용자에게 도움이 되는 예측 모델을 만드는 데 쓰인다는 것을 보여줍니다.

"여러 은행 간 사기거래 탐지 모델을 연합 학습으로 공동 구축한 결과, 각 은행이 단독으로 학습한 모델보다 탐지 재현율이 향상되었으나, 참여 기관 수가 늘어날수록 통신 오버헤드가 증가하는 한계가 확인되었다."

이 문장은 금융 분야에서 여러 기관이 데이터를 공유하지 않고도 협력해 더 나은 탐지 성능을 얻을 수 있음을 보여주는 동시에, 참여 기관이 많아질 때 발생하는 실질적인 비용 문제를 함께 언급하고 있습니다.

조금 더 깊게 보면

연합 학습에서 가장 널리 쓰이는 기본 알고리즘은 각 참여자의 모델 가중치를 데이터 크기에 비례해 평균 내는 방식(FedAvg)이며, 이후 참여자 간 데이터 분포 차이(non-IID)나 통신 효율성 문제를 개선하기 위한 다양한 변형 알고리즘이 제안되어 왔습니다. 또한 모델 가중치 자체에서도 원본 데이터의 일부 정보가 역으로 유추될 수 있다는 우려 때문에, 차분 프라이버시(differential privacy)나 안전한 다자간 계산(secure multi-party computation) 같은 추가적인 프라이버시 보호 기법을 함께 적용하는 연구도 활발히 이루어지고 있습니다.

주의할 점

연합 학습은 개인정보를 보호할 수 있지만, 기기마다 데이터의 양과 성격이 크게 다른 경우(비독립동일분포, non-IID) 학습이 불안정해지거나 느려질 수 있습니다. 또한 각 기기와 서버 간의 통신 비용도 별도로 고려해야 하며, 전이학습과는 "데이터를 모으지 않고 학습한다"는 점에서 구분됩니다.

관련 용어