`FedProx`의 첫번째 포스팅입니다.
등장 배경
이 논문은 기존의 연합학습에서의 이질성(Heterogeneity)을 해결하기 위해 등장한 방법론입니다. 여기서의 이질성은 크게 두가지로, client의 device와 같은 환경이 다름을 나타내는 `system heterogeneity` 와 client의 데이터의 분포가 다름을 나타내는 `statistical heterogeneity` (NON-IID와 거의 같은 개념) 로 나뉩니다. `FedProx`는 `FedAVG` 다음 시점에 등장한 방법론으로 보다 일반화된 방법을 제시합니다.
FedAVG에서의 문제점
그렇다면 기존의 방법론에서 구체적으로 어떤 문제점이 있을까요?
우선 기존의 방법에서 `local epoch`는 전반적인 수렴에 영향을 끼칩니다. 예를들어, `local epoch`가 증가면 local의 계산량은 늘어나지만, 비교적 communication cost는 줄어들어 수렴 속도는 빨라질 수 있습니다. 하지만, `local objective` $F_k$가 서로 `이질적인` 경우, `local epoch`가 늘어날 수 록 각 client가 `global objective`보다 `local objective` 로 수렴할 가능성이 커져 결국 수렴을 방해하게 됩니다.
또한 `epoch`수가 크면 클 수록, `system heterogeneity` 때문에 학습이 미쳐 완료되지 못한 client가 생기게 되며, 학습에서 탈락하게 됩니다. 결국 이로인해 연합학습에 사용되는 client를 샘플링하는 과정에서 편향이 있게 됩니다.
정리 하자면, 기존의 `FedAVG` 방법에서 `statistical heterogeneity` 가 큰 상황에 대해 성능의 향상 및 수렴에 부정적인 영향을 미치며, `system heterogeneity`로 인해 각 client의 device가 다름으로 전부 완료될때 까지 기다리자니, 너무 오래걸리고, 또 먼저 학습이 완료된 client만 사용하여 모델을 업데이트하자니 발생할 다른 문제에 대하여 고려해야 한다는 문제점이 생깁니다. 이러한 문제를 해결하기위해 `FedProx`는 `local epoch`수를 네트워크의 특성에 따라 변동 가능하도록 허용합니다.
`FedProx`는 구체적으로 이러한 문제에 대하여 `Objective Function`에 `proximal term`을 추가하는 방법으로 해결한다고 하니 다음 포스팅에서 확인하도록 하겠습니다.
참조
https://arxiv.org/pdf/1812.06127
'통계 & 머신러닝 > 연합학습' 카테고리의 다른 글
[SplitFed] 결과 (0) | 2024.08.11 |
---|---|
[SplitFed] 구조 (0) | 2024.08.11 |
[SplitFed] 개념 (0) | 2024.08.11 |
[Split Learning] 결과 (0) | 2024.08.11 |
[Split Learning] 응용 구조 (0) | 2024.08.11 |