일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Analysis
- Federated Learning
- ML
- OoDD
- ordered dropout
- Agnostic FL
- Open Set Recognition
- 연합학습
- convergence
- Fairness
- value shaping
- deep learning
- 기계학습
- free rider
- FedAvg
- q-FFL
- OSR
- q-FedAvg
- data maximization
- 머신러닝
- Federated Transfer Learning
- FedProx
- DP
- OOD
- Machine learning
- FL
- 딥러닝
- PPML
- 개인정보
- Differential Privacy
- Today
- Total
Federated Learning
3. Horizontal FL과 Vertical FL 본문
이번 시간에는 연합학습의 또 다른 구분인 Horizontal Federated Learning과 Vertical Federated Learning에 관해서 알아보고, 이전 시간에 살펴 본 Cross-Silo FL, Cross-Device FL과 어떠한 관련이 있는지에 관해서도 살펴보겠습니다. (이전 글 보기)
1. Horizontal Federated Learning과 Vertical Federated Learning
오른쪽의 도식이 앞서 언급한 두 가지를 잘 설명해줍니다. [1] 여기에서 label은 data sample에 관한 ID 정보이며, A, B의 두 client 로부터 model 학습을 진행하는 상황을 가정하겠습니다.
우선, (a) 그림은 Horizontal FL(혹은 Horizontal Partitioning, Example-Partitioned)의 경우입니다. [1, 2] sample이 어디로부터 왔는지는 딱히 관심 없고, 어떠한 feature 자체에 관한 분석을 통해서 무언가를 예측하고자 할 때에 사용됩니다. 따라서 우리가 분석하고자 하는 feature를 가진 모든 sample을 학습에 사용하며(이 sample이 어떠한 device에 속해 있는지, 누구의 data인지는 중요하지 않습니다), 이전 글에서 언급한 희귀병 분석이 Horizontal FL의 대표적인 예시입니다.
다음으로, (b) 그림은 Vertical FL(혹은 Vertical Partitioning, Feature-Partitioned)에 관한 설명입니다. [1, 2] 특정 ID(즉, label)에 관한 예측이 필요한 경우에 사용되며, 따라서 특정 ID에 관한 정보가 담겨 있는 data는 모두 이용하여 학습을 진행합니다. 많은 경우, 동일한 ID를 가진 data라고 하더라도 device 출처에 따라 feature가 다를 수 있습니다. Vertical FL의 예시로는 여러 병원으로부터 수합한 특정 환자의 진료 기록에 기반한 진단, 다양한 가게로부터 수집한 특정 고객에 관한 데이터에 기반한 개인화 추천 등이 있습니다.
2. Cross-Silo FL, Cross-Device FL과의 관계
Cross-Device FL의 경우, Vertical FL을 사용할 이유가 없습니다. (즉, 일반적으로는 Horizontal FL로 사용합니다.) 이유는 간단한데, 나에 관한 정보가 내 핸드폰이 아니라 다른 사람의 핸드폰에 있을 가능성이 극히 낮기 때문입니다. 다시 말해, 다른 client가 동일한 ID에 관한 정보를 갖고 있을 일이 잘 없죠. 또한, 불특정 다수가 참여하는 Cross-Device FL의 특성 상, 처음 등장하는 client가 많이 존재하는데, 이들에 관한 정보는 전혀 학습되지 않은 상황이기 때문에 적절한 prediction을 수행하기 어렵습니다. 이 역시 Cross-Device FL에서 Vertical FL을 사용하지 않는 이유이며, 따라서 특수한 목적이 있지 않는 이상 Cross-Device FL은 Horizontal FL로 구현합니다.
Cross-Silo FL의 경우, Horizontal FL과 Vertical FL 모두 사용 가능합니다. 다만, 주의해야 할 사항이 하나 있는데, 비록 Cross-Device FL보다 제약이 적긴 하지만 그래도 연합학습이기 때문에 각 client가 가진 data 자체에는 접근할 수 없습니다. 따라서, 연합학습 체계를 구축할 때에 Horizontal FL과 Vertical FL 중 무엇을 사용할 것인지 미리 선택을 해야 합니다. 다시 말해, repartitioning은 불가능합니다. [2]
3. Federated Transfer Learning
한편, 위에서 살펴 본 도식에서, 빨간색 점선 박스에 포함되지 않는 부분(feature나 label을 client 간 공유하지 않는 data)은 어떠한 경우에도 분석에 활용되지 못하는 data입니다. 이러한 data도 적절하게 분석에 활용할 수 있는 방법이 있는지에 관해서도 꾸준하게 연구가 진행되고 있으며, 이러한 연구 분야를 Federated Transfer Learning이라고 부릅니다. 오른쪽 도식의 (c) 그림은 Vertical FL에서 FTL을 이용하여 B client만 가지고 있는 sample을 추가적으로 학습에 활용하는 과정을 표현한 것입니다. [1] Horizontal FL에서도 비슷한 방식으로 FTL을 이용할 수 있으며, 일반적으로 사용되는 전이학습(Transfer Learning)과 유사점이 많음을 알 수 있습니다.
이번 포스트에서는 Horizontal FL, Vertical FL, 그리고 FTL에 관해서 알아보았습니다. 다음 포스트에서는 기초적인 수준에서 연합학습이 작동되는 방식을 이야기하려고 합니다. 복잡한 수식 등은 paper review 포스트에서 다루도록 하고, 최대한 입문 수준에서 관련 내용을 다룰 것입니다.
참고문헌
'Federated Learning > Fundamentals' 카테고리의 다른 글
2. Cross-Silo FL과 Cross-Device FL (2) | 2022.07.05 |
---|---|
1. 분산학습과 연합학습 (1) | 2022.07.03 |
0. 참고자료 (0) | 2022.07.02 |