---
# System prepended metadata

title: '[JJG+22] Multi-Task Federated Learning for Personalised Deep Neural Networks in Edge Computing'

---

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
    ![螢幕擷取畫面 (283)](https://hackmd.io/_uploads/Bkka_RHSa.png)

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)
![螢幕擷取畫面 (284)](https://hackmd.io/_uploads/SkdDjk8rp.png)
