지난 글 `[Split Learning] 기본 구조`에서 이어지는 내용입니다.
U-shape 구조
이 방법이 적합하게 적용될 수 있는 분야 중 하나는 의료 데이터, 특히 임상 정보를 다룰 때입니다. 의료 데이터는 원시 데이터뿐만 아니라 라벨(label)도 매우 민감한 자료이기 때문에, 라벨을 숨길 필요가 있습니다. SL에서는 라벨도 공유해야 한다는 부담이 있지만, 이는 간단한 방법으로 해결할 수 있습니다. 아래와 같이 구조를 변경하여 학습을 진행하면 됩니다.
Vanilla 구조에서 라벨을 client에 남겨두고, 모델의 가장 끝단 정보를 client와 주고받으며 업데이트를 수행합니다. 물론 client와 server 간의 통신이 거의 두 배가 되겠지만, 민감한 정보를 완전히 노출하지 않는다는 점에서 큰 장점이 있습니다. 또한 다수의 client 대신 병원이나 학교처럼 소수의 client가 있는 경우, 이러한 구조가 더욱 적합할 수 있습니다.
Multimodal 구조
SL은 원시 데이터를 공유하지 않는 상태에서도 멀티모달리티(multimodality)를 고려할 수 있습니다. 사실, 중간 층(layer)을 연결하는 방식으로 멀티모달리티를 반영할 수 있는데, 이는 SL에 매우 적합한 방식으로 보입니다. 예를 들어, client에서 보내는 cut layer를 server-side에서 결합(fusion)하면 되는 것입니다.
Multiple Clients 구조
SL의 기본 구조는 위와 같습니다. 그러나 위의 내용은 모두 단일 client의 경우에 해당하며, 이를 다수의 client로 확장하여 일반화하면 다음과 같은 절차가 이루어집니다.
- 하나의 client에 대해 SL을 진행합니다.
- 다음 client가 데이터를 보낼 준비가 되면, 이전 client의 snapshot(weight)을 다음 client로 전달합니다.
- 이때 전달되는 대상이 server라면 중앙 집중화된 모드(centralized mode)가 되고, 전달되는 대상이 다음 client라면 피어 투 피어 모드(peer-to-peer mode)가 됩니다.
- 모든 client가 학습에 참여할 수 있도록 1&2 과정을 반복합니다.
다수의 client에 대한 SL과 기존의 FL과의 가장 큰 차이점은 바로 학습이 순차적(sequential)으로 이루어진다는 점입니다. 이로 인해 SL의 학습 속도는 매우 느려질 수 있습니다. 하지만 논문에 따르면, 모든 자료를 하나의 머신에 모아 학습하는 기존 방법과 유사한 성능을 낼 수 있다고 주장하고 있습니다. 이는 모든 층을 학습에 참여시킴으로써 가능한 것으로 보이며, 다른 논문들에서도 SL과 관련된 성능 향상의 주요 아이디어로 언급되고 있습니다.
'통계 & 머신러닝 > 연합학습' 카테고리의 다른 글
[SplitFed] 개념 (0) | 2024.08.11 |
---|---|
[Split Learning] 결과 (0) | 2024.08.11 |
[Split Learning] 기본 구조 (0) | 2024.08.11 |
[연합학습 기본] 결과 (0) | 2024.08.06 |
[연합학습 기본] 예시를 통한 핵심 개념 및 작동 원리 확인 (0) | 2024.08.06 |