abstract
- split learning은 relay based training 이므로 FL 보다 느리다
→ FL에서는 client 들이 평행하게 gradient update를 한 후 한번에 server에 올려 aggregate 하지만 split learning 에서는 client 별로 sequential 하게 forward와 backprop을 반복해야하기 때문이다
Intro
- Federated Learning : global model architecture == local model architecture
- 장점 : parallel 한 training을 가능하게 한다
- 단점 : 각 client 들이 full ML을 돌려야 한다
- Split learing : Neural Network 를 client 와 server부분으로 잘라서 client의 local training data로 따로 training 시킨다
- 장점 : client 단에서 computation load를 줄일 수 있으며 privacy 측면에서도 model 이 쪼개져있어 유리하다
- 단점 : 한번에 하나의 client 만 서버와 engage하기 때문에 client 증가시 많은 overhead를 유발한다
- SFL : FL 보다 나은 model privacy + SL 보다 빠른 학습속도 + SL 과 비슷한 성능
Background
- cut layer : server와 client 를 구분하는 network 잘린 부분
- smahsed data : 잘린 부분을 통해 전송되는 activation
- DP(differential privacy) : privacy 정도를 나타내기 위한 metric
Proposed Framework
_Overall structure
- FL 의 장점인 parallel procesisng과 SL 의 장점인 network splitting 을 혼용
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/599c74fb-cc0a-45c3-aa06-143dcff1cc47/Untitled.png)
- client 단에서 local Fed server를 두어 parallel computation을 시키면서 이를 업데이트 한다 (이 computation은 크지 않기 때문에 local edge boundary 에서 진행될 수 있다고 한다)
1) client side에서 NN 밑단의 forward pass 를 진행
2) main server에서 모든 client gradient 받은 후 각각에 대한 backprop 진행
3) 여기서 계산한 backprop gradient를 FedAvg 시켜서 main server 모델을 업데이트
4) client는 main server로부터 받은 gradient를 Fed server로 보내 FedAvg 시켜 local global model을 얻음
5) local global model은 일정 주기로 client 들에게 전송 후 동기화 됨
- gradient를 전송하는 과정에서 DP mechanism을 통한 gradient private 화가 진행됨
- 위의 과정으로 진행할 경우 SFLV1
- SFLV2 는 server side에서 client order를 랜덤으로 고른 후 server model이 매번 forward-backward operation 에 의해 update된다 (FedAvg 하지 않고)
- Data label sharing 조건에 따라 만약 이전 논문의 (b) 와 같은 setting 이라면 client 단에서 초기 network layer와 label 추정하는 last layer들을 갖고 있고 server에서 중간값들을 처리하게 될 것이다 (server에 label 이 없으므로) // 하지만 이 논문에서는 (a) 와 같은 구조를 바탕으로 한다
client, server 단에서의 data privacy 를 위한 추가 method + cost analysis 는 나중에 자세히 보도록!
Experiments
- 모든 실험이 uniformly distributed 한 환경에서 진행되었다
Implementation
https://github.com/chandra2thapa/SplitFed-When-Federated-Learning-Meets-Split-Learning
논문을 읽고 든 생각
RL + split learning 을 할 경우 개념은 RL + split learning + FL 처럼 생각해야하며 그 이유는 RL 구조는 split 되어 있지만 central server의 network 는 FL 처럼 들어온 gradient를 처리할 것이기 때문이다
client의 local training data는 observation, env과의 interaction(reward 등) 을 포함한다고 볼 수 있다
→ 그렇다면 critic 은 각 client가 갖고있고 global policy를 만드는 것이 좋은 방법일까..?
만약 RL을 통해 SFL 스러운 접근을 할 수 있다면 Medical 분야에서는 정확성이 중요하기 때문에 오히려 더 좋은 방향일 것이다!
향 후 이 논문을 non iid dataset 에 대해 돌려보고 RL 이 non iid 문제를 해결한다면 좋은 논문이 될 수 있을 것!