일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Open Set Recognition
- Federated Transfer Learning
- Fairness
- Agnostic FL
- 연합학습
- q-FFL
- PPML
- FedProx
- 기계학습
- data maximization
- 개인정보
- Analysis
- convergence
- OOD
- ordered dropout
- value shaping
- Differential Privacy
- OoDD
- Machine learning
- ML
- free rider
- 머신러닝
- deep learning
- DP
- FedAvg
- OSR
- q-FedAvg
- Federated Learning
- FL
- 딥러닝
- Today
- Total
Federated Learning
1. 분산학습과 연합학습 본문
연합학습(Federated Learning, FL)을 처음 접하면 "그래서 그게 분산학습(Distributed Learning, DL)과 어떻게 다른 건데?"라는 생각을 할 수 있습니다. 이번 게시글에서는 우선적으로 연합학습을 정의할 것입니다. 그다음, 분산학습과 연합학습이 어떻게 다른지, 그리고 그 결과 연합학습에는 추가적으로 어떠한 해결해야 할 문제점이 존재하는지에 관해서 알아보겠습니다. 각각의 문제점에 대해서는 자세히 다루지 않을 것이며, 별도의 포스팅으로 이야기할 계획입니다.
우선, 사람들이 정의하는 연합학습이 무엇인지 한 번 확인해봅시다.
We advocate an alternative that leaves the training data distributed on the mobile devices, and learns a shared model by aggregating locally-computed updates. We term this decentralized approach Federated Learning. [1]
Federated learning (FL) is a machine learning setting where many clients collaboratively train a model under the orchestration of a central server, while keeping the training data decentralized. [2]
Unlike in traditional centralized learning where models are trained using large datasets stored in a central server, in federated learning, the training data remains distributed over a large number of clients, which may be phones, network sensors, hospitals, or alternative local information sources. A centralized model (referred to as server model) is then trained without ever transmitting client data over the network, thereby ensuring a basic level of privacy. [3]
정리하자면, 연합학습은 각 device가 고유한 data를 가지고 model의 학습을 진행한 후, 중앙 서버가 device들로부터 (data가 아니라) 학습 결과를 수집하여 model의 update를 진행하는 시스템입니다. 중앙에서 data를 나눠주는 분산학습과의 차이점은 바로 여기에 있습니다. 첫째, data의 이동이 불가능하다. 둘째, 여러 device가 학습에 참여한다. 그렇다면, 이러한 차이점이 어떠한 문제점을 만들어낼까요?
1. IID(Independent, Identically Distributed) Condition
분산학습의 경우, 우리가 data를 알맞게 나누어준다면 얼마든지 IID Condition을 충족시킬 수 있습니다. 하지만 연합학습의 경우, 각각의 device에 담겨 있는 data를 이동하지 않고 사용해야 하므로 IID Condition이 높은 확률로 충족되지 않습니다. 이를 대하는 방식이 크게 두 가지로 나뉘는데, 하나는 이러한 Non-IID Condition을 완화 혹은 완벽히 해결하여 원래의 model(data가 한 곳에 모인 상태에서 학습된다면 만들어질 model)로 올바르게 converge 하도록 하는 방법을 연구하는 것입니다. 다른 하나는, 오히려 이러한 환경 때문에 특정 device에는 그 device 고유의 특성이 담겨 있다는 점을 고려하여 Personalisation을 시도하는 것입니다. (추천 시스템 분야에서 이러한 접근을 하고 있는 것 같습니다.) 물론 두 접근이 완전히 별개의 것은 아니며, 얼마든지 함께 수행될 수 있습니다.
2. Privacy Preserving
분산학습의 경우 애초에 중앙에서 data를 각 device에 나누어주기 때문에 privacy에 관련하여 신경 쓸 것이 없습니다. 외부에 data가 노출되지만 않으면 됩니다. 하지만 연합학습의 경우 "이론적으로는" 중앙 서버가 개별 device에 담긴 data를 확인할 수 없어야 합니다...만 아직 애로사항이 많습니다. 서버와 device 간에 data를 직접적으로 주고 받을 수는 없기 때문에, 가중치와 같은 model의 학습 결과를 주고 받는데, 이 정보만 가지고도 원본 data를 완벽하게, 적어도 그것에 준하는 수준으로 복원할 수 있다는 것이 현재의 중론입니다. 즉, 만일 중앙 서버 관리자가 악의를 가지고 있다면 얼마든지 원본 data를 확인할 수 있다는 것입니다.
이를 대하는 방법 역시 크게 두 가지로 나뉘고 있는 상황입니다. 하나는 Differential Privacy, Homomorphic Encryption과 같은 기존의 Privacy Preserving 방법들을 이용하는 것으로, 연합학습 시스템 상에 추가적인 보안장치를 걸어주자는 접근 방식입니다. 다른 하나는 Machine Learning의 관점에서 접근하는 것으로, Machine Unlearning이 대표적입니다. Unlearning은 model에서 특정한 부분에 관한 학습 결과를 제거하고자 하는 방법론으로, 해당 방식을 통하여 개인정보와 관련된 학습 내용을 지우고자 하는 시도가 이루어지고 있습니다.
한편, 중앙 서버를 없애려고 하는 시도도 나오고 있는데, 블록체인 기술을 접목한 Decentralised Federated Learning 등이 예시입니다. 이 경우에는 중앙 서버와의 통신 대신, 주변의 다른 device와 가중치를 비교, 갱신하는 방식으로 model의 update를 진행합니다. 즉, 특정 시기 $t$에서 각 device마다 model의 현황이 다를 수도 있습니다.
3. Communication Cost
분산학습 시스템은 일반적으로 한 공간 안에서 이루어집니다. 동일 기기 안의 GPU $0$번, $1$번, $2$번, ... $(n - 1)$번에게 비슷한 양의 일을 시키는 방식이죠. 하지만 연합학습은 여러 개의 서로 다른 device가 함께 작업하는 방식이며, 따라서 학습 결과를 주고 받는 과정에서 Communication Cost를 고려해야 할 필요가 있습니다. (이를 고려할 필요 없는 분산학습의 경우 Computation Cost를 우선적으로 판단합니다.) 이 Communication Cost는 당연히 참가하는 device의 수가 늘어날수록, 서버와 device 간의 거리가 멀어질수록, 그리고 model이 크고 무거울수록 증가하게 될 것이며, 이를 해결하기 위하여 한 round 당 학습에 참여하는 device의 개수를 조절하는 방식, Model Compression을 적용하는 방식, 여러 번 학습한 결과를 모아 한 번에 통신하는 방식 등 다양한 해결 방법이 연구되고 있습니다.
이외에도 현재 해결해야 할 문제점이 다양하게 존재하지만, 여기에서부터는 어떠한 연합학습 체계가 구성되어 있는지에 따라 그 차이가 다소 존재합니다. 다음 포스팅에서는 연합학습의 두 갈래인 Cross-Silo FL과 Cross-Device FL에 관한 이야기가 진행될 예정이며, 각 체계는 어떠한 추가적인 문제점을 가지고 있는지에 관해서도 확인해 볼 것입니다.
참고문헌
[1] https://arxiv.org/abs/1602.05629
'Federated Learning > Fundamentals' 카테고리의 다른 글
3. Horizontal FL과 Vertical FL (0) | 2022.07.08 |
---|---|
2. Cross-Silo FL과 Cross-Device FL (2) | 2022.07.05 |
0. 참고자료 (0) | 2022.07.02 |