Multi-Task Federated Learning for Personalised
Deep Neural Networks in Edge Computing
**contributon**: **使用特殊的network設計來幫助Personalised**
此篇主要觀點是,在傳統的FL目標是要訓練"一個"GLOBAL MODEL,然而作者認為在現實中,共同訓練的目標應該是 「借助其他人的data以及運算能力來幫助自己訓練一個符合local data的local model」。
因此在基於non-iid、multi-task與Personalised 以及 communication efficiency的議題下,作者提出一個可以套用現有FL algorithm的框架來改善以上議題。
此外基於前述目標是optimize local model,提出了User model Accuracy(UA)的metric來衡量algorithm好壞(傳統是以global accuracy作為衡量方式)。
**技巧**:
1. **private Batch-Normalisation(BN) layers**
在傳統目標所要建立的DNN模型中(好幾層layers),將BN layer夾雜在原有的模型間,並且在FL進行"local model update"時這些private BN並不會一同update而只有原有DNN layers的hyperparemeter會。
[好處]:
1. Personalised: 這些不會上傳並存於local的private BN可以作為personalizated的手段,保證了local client再加入FL的同時也可以得到一個符合local的model(因為這些layer不會像類似FedAvg那樣被平均而失去原有特徵)
2. private: 因為沒有update到server,因此可以更加的保障privacy
3. storage efficiency: Batch-Normalisation所需要的hyperparemeter相比傳統layer較少,因此相比其他personalizated FL祇有更好的storage efficiency
NOTE: paper - *K for the Price of 1: Parameter-efficient Multi-task and Transfer Learning* showed that **Batch Normalisation (BN) layers** can act as model patches for MTL in the centralised setting.
NOTE: paper - *K for the Price of 1: Parameter-efficient Multi-task and Transfer Learning* have previously shown that adding small **per-task ‘patch’ layers** to DNNs improved their
performance in MTL scenarios. Patches are therefore a good
candidate for training personalised models for clients

2. **momentum-based optimisation strategie (such as Adam)**
引入此種optimisation strategies來替代常見的SDG-based optimisation strategies,作者提到此能有效的減少communication round進而增加convergence speed
NOTE: 除了model的hyperparameter,還會多一個optimization variable(每個layer有一個對應)
**ALGORITHM**:
其中得LocalUpdate、GlobalModelUpdate和GlobalOptimUpdate是可以依據現有FL algorithm而做調整:
1. LocalUpdate: 就是傳統FL中的local model trianing
例如: FedAvg的minibatch SDG;和FedAdam的SGD
3. GlobalModelUpdate: update到server並aggregate
例如: FedAvg的weighted average aggregate;和FedAdam的adam
3. GlobalOptimUpdate: 此篇提出方式(沒有很懂),主要是用上面提到的optimization variable來更新
有中比較特別對應到其所提到private BN(personalization layer)步驟13~18。13~15將訓練好的model中private(personalization layer)以及global model分離出來並將private存於local。16~18則是把global model傳給server(patchIdxs是指personalization layer的hyperparameter)
