`SplitFed`의 첫번째 포스팅입니다.
서론
SplitFed (SFL)은 Federated Learning (FL)과 Split Learning (SL)을 결합한 방법론입니다. 이 내용은 호주 연방과학산업연구기구(CSIRO)에서 출판한 논문에 등장합니다. 사실 이 논문의 결과는 그리 만족스럽지 않았습니다. 결과 부분을 보고 이 논문에 대한 리뷰를 할지 말지 고민이 많았던 논문입니다. 그럼에도 불구하고 논문을 읽다 보니, 구조적으로 활용 가능하거나 여러 개념을 조립하여 적용할 수 있을 것 같아 결국 끝까지 읽게 되었습니다. 이 논문에서는 새로운 구조의 제시와 프라이버시 보호 방법에 중점을 두고 있지만, 오늘은 이 논문의 구조에 대해서만 집중하여 포스트를 작성하려 합니다.
SplitFed
SplitFed는 Federated Learning (FL)과 Split Learning (SL)을 결합하여 여러 클라이언트가 원시 데이터를 공유하지 않고도 협업할 수 있도록 하는 방법론입니다. 이 두 가지 방법론은 각각 구조적인 결함을 가지고 있습니다.
먼저 FL의 경우, 연산 부담이 불균형하게 분배된다는 문제가 있습니다. 서버는 넘치는 연산 능력을 가지고 있지만, 그 역할은 단순히 가중평균을 계산하는 데 그칩니다. 반면 클라이언트는 상대적으로 연산 능력이 부족하지만, 해야 할 일은 딥러닝(Deep Learning, DL)을 수행하는 것입니다. 이로 인해 연산 측면에서 균형이 맞지 않습니다.
한편, SL은 학습 과정에서 모든 레이어가 관여하여 업데이트를 시키기 때문에 학습 과정이 너무 순차적이어서(overhead) 학습 속도가 매우 느리다는 단점이 있습니다. 이는 CPU 스케줄링에서 Round Robin 방식과 유사하게, 각 단계가 차례로 처리되어야 하는 구조로 인해 발생합니다.
이러한 두 가지 단점을 보완하기 위해 제안된 방법이 바로 SplitFed입니다. 이 방법은 FL과 SL처럼 매우 단순한 아이디어를 바탕으로 합니다.
'통계 & 머신러닝 > 연합학습' 카테고리의 다른 글
[SplitFed] 결과 (0) | 2024.08.11 |
---|---|
[SplitFed] 구조 (0) | 2024.08.11 |
[Split Learning] 결과 (0) | 2024.08.11 |
[Split Learning] 응용 구조 (0) | 2024.08.11 |
[Split Learning] 기본 구조 (0) | 2024.08.11 |