高雨佳 王鵬飛 劉 亮 馬華東
1 (北京郵電大學計算機學院(國家示范性軟件學院) 北京 100876)
2 (智能通信軟件與多媒體北京市重點實驗室(北京郵電大學) 北京 100876)
3 (北京郵電大學人工智能學院 北京 100876)
(gaoyujia@bupt.edu.cn)
聯邦學習[1]作為一種分布式機器學習框架,客戶端可以在不向服務器傳輸數據的情況下進行全局模型訓練,它解決了數據分散和數據隱私的問題. 與單獨工作的個體相比,聯邦學習通過客戶端和服務器的協作訓練,獲得了更好的機器學習性能. 同時,可控制的傳輸間隔降低了通信負載,對于時間敏感的任務,如醫療監測[2]和流量預測[3],聯邦學習可以顯著減少訓練延遲. 這種方法可以在具有相似數據特征和分布的客戶群體中很好地工作. 但是,在許多應用程序場景中,客戶端的數據集在分布、數量和概念[4]上可能不同,因此有一些限制. 這使得粗糙的全局協作在不考慮單個客戶端數據屬性的情況下無法獲得良好的性能. 因此,在全局協同訓練的基礎上,為每個客戶并行訓練個性化模型就變得十分必要.
這種將個性化融入到聯邦學習的方式被稱為個性化聯邦學習[5]. 常用的方法是取一個統一初始值(如全局模型),在本地訓練過程中對其進行微調,以實現對客戶端數據特征的適應性[6-7]. 由于通常情況下,一個模型不能適用于所有客戶端,這種方式缺乏靈活性,難以解決客戶的異質性問題. 同時,全局模型的粗融合也會影響全局模型的性能. 為此,我們希望探索一種更優的方式 ,為每個客戶端提供不同的協作關系. 具體來講,促進具有相似特征和數據分布的客戶端之間的協作,并疏遠具有廣泛不同特征的客戶端之間的協作. 因此,對于給定的客戶端,如何自動提取與其類似的客戶端,是一個具有挑戰的問題. 此外,對于服務器-客戶端框架,需要設計合理的協作訓練方法.
為了解決以上問題,本文提出了一種個性化聯邦學習框架FedAMN,如圖1 所示. 和傳統聯邦學習架構一樣,FedAMN 是由1 個服務器和多個客戶端組成的. 不同在于,FedAMN 在每個客戶端均分布部署了一個注意力增強元學習網絡(attention-enhanced meta-learning network,AMN),來實現客戶端間協作關系的生成.AMN 以客戶端的模型參數作為輸入特征,學習一個元模型來分析不同客戶端的相似程度,它可以自動篩選對目標客戶端有益的模型參數信息,從而提升客戶端個性化模型的性能. 這種方法利用客戶端的本地數據進行元模型和本地個性化模型的訓練,解決了元模型缺乏監督信號而難以訓練的問題. 并且因為數據不需要上傳至服務器,客戶端的數據隱私可以得到保護.

Fig.1 Framework illustration of FedAMN圖1 FedAMN 框架示意圖
具體來講,給定一個目標客戶端,AMN 通過注意力機制,利用其他客戶端的本地模型參數分析之間的相似性,訓練元模型. 用元模型計算的注意力分數構建一個新的注意力增強模型,實現客戶端個性與共享的平衡. 通過這樣的設計,可以增強訓練的靈活性,滿足對客戶任務精準決策的需求. 同時,為了減少AMN 帶來的額外的計算量增加,我們設計了一種漸進式的訓練模式. 在開始的通信輪次中,僅對客戶端的本地模型進行訓練,當全局模型準確率達到穩定后,AMN 再加入訓練. 在原本的客戶模型基礎上,進一步提升個性化模型的效果. 并且,考慮到客戶端需要同時訓練AMN 和客戶端的本地基礎網絡,提出了一種交替訓練的策略,以端到端的方式對2個網絡進行訓練,最終實現客戶端的個性化注意力增強模型的生成.
為了證明FedAMN 的有效性,我們在2 個基準數據集和8 種基準方法上進行了大量實驗. 與現有最先進的個性化聯邦學習方法相比,我們的方法分別提高了至少3.39%和2.45%的模型性能. 此外,為了證明AMN 中注意力機制的有效性,我們對AMN 的雙層網絡結構進行了消融實驗,并在真實世界數據集上,對AMN 各層的注意力分數進行了可視化分析實驗.最后,設計了不同數據分布和數據特征的客戶端中的對比實驗,探究客戶端異質性對訓練的影響.
總的來說,本文的貢獻有3 方面:
1) 將個性化聯邦學習中的協作關系生成問題形式化為一個分布式元學習網絡訓練任務,并設計了一種注意力增強元學習網絡(AMN)來解決客戶端的本地模型的個性化問題;
2) 提出了FedAMN 框架,采用漸進式的訓練模式,緩解AMN 引入帶來的計算量增加問題,以交替訓練的策略實現客戶端個性化注意力增強模型的生成;
3) 對不同推理任務進行大量實驗,證明我們的方法顯著優于現有最先進的個性化聯邦學習基線方法,并可以應用于許多具有隱私性的分布式數據個性化建模場景.
本文的工作受到個性化聯邦學習和元學習的思想啟發,下面我們對這2 個領域的現有工作進行簡要回顧.
一般來說,現有的個性化聯邦學習方法[5]可以分為3 大類,分別是本地微調方法、模型正則化方法和多任務學習方法.
在本地微調方法中,每個客戶端接收一個全局模型,并使用其本地數據和多個梯度下降步驟對其進行調優. 例如,PMF[8]為用戶本地模型的較高層設計了2 個個人適配器(個人偏差、個人過濾器),可以用客戶信息對全局模型進行微調.FedPer[9]提出了一種基礎+個性化層的方法,只對基礎層進行協同訓練.在模型正則化方法中,文獻[10]在本地模型和全局模型的距離上增加了一個正則項,并使用一個混合參數來控制它們之間的加權比例. 文獻[11]提出了一種知識精餾的方法來實現個性化,將正則化應用于本地模型和全局模型之間的預測. 這些本地微調方法的局限性在于,它們使用統一的全局模型進行個性化設置,不能為異構數據客戶端上的大量潛在任務提供靈活的個性化建模. 文獻[12]提出了一種分層異構聯邦學習方法將全局模型拆分為適配不同客戶端資源的子模型序列,提升建模效果. 聯邦多任務學習方法[13]將每個客戶機的優化視為一個新任務,它解決了通信約束、離散和容錯問題,這些問題主要集中在凸模型上. 但是由于該方法對強對偶性的剛性要求,當客戶采用非凸深度學習模型時,該方法就不再保證適用. 文獻[14]提出使用注意力函數來測量模型參數之間的差異,它在服務器上為每個客戶端維護了一個個性化云模型,通過傳遞個性化云模型實現信息的傳遞. 盡管注意力函數對客戶端之間的成對協作進行了建模,但它是使用模型參數作為評估標準,難以對客戶端之間的動態協作關系進行識別,在當客戶端模型異構不穩定時,難以對個性化云模型進行準確地融合.
元學習是近年來研究的熱點. 由于它能夠在有限的訓練數據下很好地泛化,因此被廣泛應用于少樣本學習[15]、強化學習[16]、遷移學習[17]等領域. 例如,文獻[18]引入了一種記憶增強神經網絡,用于在沒有災難性干擾的情況下利用新數據重新學習模型.文獻[19]使用了一個元損失函數來存儲不同環境的信息. 文獻[20]提出了一個元翻譯模型,該模型可以快速適應具有有限訓練樣本的新領域翻譯任務. 最近,元學習也被用于個性化聯邦學習. 文獻[21-22]從經驗的角度研究了模型不可知論元學習(MAML)類型方法與聯邦學習的不同組合. 找到一個初始的全局模型,使當前或新的客戶端能夠通過執行1 個或幾個步驟的梯度下降輕松地適應本地數據集. 文獻[23]把元學習看作是對一系列損失的在線學習,每個損失函數都會得到單個任務中的上界. 文獻[21-23]所提的方法可以被認為屬于1.1 節中提到的本地微調方法.
與現有的工作不同,在本文中我們設計了AMN,它以細粒度的視角,利用基于注意力機制的神經網絡來學習客戶端之間的協作關系,并利用客戶端的本地數據作為監督信號來訓練網絡. 該方法可以為客戶端實現自適應的協作關系生成,并且被證明在客戶端數據是異構的情況下特別有效.
為了方便闡述,首先給出問題定義. 在一個個性化聯邦學習系統中,有n個客戶端連接到服務器. 每個客戶端具有相同類型的基礎網絡f(·),客戶端的模型參數集合W={w1,w2,…,wn}表示,其中wi∈R1×d為客戶端i的模型參數. 服務器收集客戶端上傳的模型參數,通過聚合算法維護一個全局模型wg∈R1×d. 通過傳輸wg和W實現客戶端的協同訓練. 對于每個客戶端,我們定義目標函數為F(wi)=L(f(wi);Di),其中Di表示客戶端i的本地數據集,L(·)是損失函數.
由于客戶端的數據集是異構的,我們的目標是在不公開客戶端數據集的情況下,分析客戶端本地模型參數之間的相似性,并構建細粒度的協作關系,以提升f(wi)的性能. 本文提出的AMN 可以被定義為GΘ(wg,W),其中 Θ為元模型參數. 此時,個性化聯邦學習的優化目標定義為
其中 λ為正則化系數. 優化目標可以利用元網絡和客戶端的基礎網絡共同調節wi,考慮到大多數深度學習網絡的復雜性,很難得到W和 Θ的最優解. 我們采用梯度下降技術和交替訓練策略來解決這個雙層優化問題.
圖1 展示了FedAMN 的整體框架設計,它由1 個服務器和多個客戶端組成. 客戶端的數據由客戶自己收集,通常為邊緣傳感器收集,具有客戶端的個性化特征. 為了保護客戶隱私,服務器與客戶端僅通過上傳本地模型參數wi和下載全局模型參數wg以及參數集合W實現協同訓練,并不會對本地數據進行傳輸.
服務器的主要功能為:
1) 收集客戶端的模型參數,構成客戶模型參數集合W;
2) 使用聚類算法(如k-means[24]或mean-shift[25]算法)將參數集合劃分為k個簇;
3)根據全局聚合算法計算全局模型參數wg.
在功能2)中,聚類算法的意義在于降低引入A MN 而帶來的額外數據傳輸量,同時最大限度地減少模型參數傳輸造成的潛在隱私泄露風險. 該操作對客戶進行了粗分類,為之后元學習網絡的自適應的協作關系選擇提供基礎. 在實際操作中,k值由網絡傳輸量限制要求決定,理想情況為k=1(即全部客戶端在同一個簇中,不對模型參數集進行劃分). 客戶端只會下載包含自己模型參數的簇Wk?W. 當任務對網絡傳輸量的限制較高時,可以通過增大k的取值降低單個通信輪次中的傳輸量.k的取值越大,每個客戶端接收到的模型參數簇就越小,單個通信輪次的傳輸量就越小.k值的選擇標準為選取傳輸限制內可以實現訓練的最小值. 為了簡化描述,后文我們均以k=1 為例對FedAMN 進行說明,并以W表示客戶端接收到的模型參數簇.
在功能3)中,全局聚合算法是指現有的聯邦學習模型聚合算法,如FedAvg[1]及一些變體. 通過引入全局模型,AMN 可以引入全局信息作為個性化模型的補充,并為客戶端的模型訓練提供一個軟啟動.
客戶端的主要功能為:
1) 收集客戶數據,并對數據進行預處理,構建本地數據集;
2) 從服務器下載客戶端的模型參數集合W(或聚類后的客戶模型參數集合子集Wk)和全局模型參數wg;
3) 利用本地數據集訓練客戶端的基礎網絡;
4) 交替訓練基礎網絡和元網絡;
5) 上傳本地模型參數.
由于AMN 的訓練會引入額外的計算量,為了快速啟動,我們采用漸進式的訓練策略. 在訓練初期,僅使用全局模型實現客戶端間的協同訓練,當客戶端的本地模型達到穩定或達到設置好的訓練閾值p時,AMN 再加入訓練. 訓練閾值p的設定是為了防止本地模型因數據量較少等原因導致不收斂時,依然可以引入AMN 的另一個限制條件.p的取值可以根據任務實際情況設定,設置為本地模型得到充分訓練的最小通信輪次.
下面我們對AMN 的具體結構進行描述,再介紹FedAMN 的訓練流程.
我們發現,現有的聯邦學習方法通常利用全局模型作為信息傳輸的載體,但在客戶端數據異構的情況下,單一的全局模型難以解決客戶的異質性問題. 同時,模型的粗融合也會影響全局模型的性能.而在模型訓練過程中,具有相似特征和數據分布的客戶端通常會相互提供更多的有益信息. 因此,我們期望提出一個元模型,通過簡單的訓練就可以自適應地發現相似客戶端間的協作關系,以促進模型訓練. 同時減少具有不同特征的其他客戶端對模型訓練的負面影響. 基于以上需求,我們設計了一種分布部署在每個客戶端中的元學習網絡,實現客戶端間協作關系的自動生成. 該網絡被稱為AMN.
AMN 以客戶端的基礎網絡模型參數作為輸入特征,代表客戶數據特性. 并根據參數集合學習一個元模型來分析不同客戶端的相似性. 為了實現模型參數的自動融合,受到文獻[26]的啟發,我們使用注意力機制實現客戶端模型權重的自動分配. 該機制的基本思想是查詢q和鍵值矩陣K之間的相關性,可以被表示為
其中d是比例因子,避免公式內積的值過大.
具體來講,AMN 的網絡結構如圖2 所示,第1 層以客戶端模型參數集合W為鍵值,客戶端的本地模型wi為查詢,利用注意力機制自動分析目標客戶端與其他客戶端的相似性,并使用加權分數對W進行聚合. 第1 層可以過濾掉對目標客戶端沒有幫助的其他客戶端的模型參數. 第2 層以第1 層的輸出、全局模型為鍵值,以wi為查詢,從而對它們進行融合,實現客戶個性和共性的平衡.

Fig.2 Structure illustration of AMN network圖2 AMN 網絡結構示意圖
因此,AMN 的優化過程可以表示為
在FedAMN 中,我們引入額外的元學習網絡AMN 進行個性化聯邦學習,因此在每個通信輪次中,客戶端需要共同訓練基礎網絡f(·)和元學習網絡G(·). 這2 個網絡之間具有復雜的依賴關系,具體來講,元學習網絡的輸出會成為基礎網絡的模型參數,基礎網絡的參數又會作為元學習網絡的輸入. 為了更好地訓練這2 個網絡,FedAMN 采用漸進式的訓練模式,緩解AMN 引入帶來的計算量增加問題. 以交替訓練的策略實現客戶端個性化注意力增強模型的生成.
FedAMN 需要客戶端和服務器配合完成協作訓練,算法1 詳細說明了在服務器進行的模型的收集與聚合過程. 算法2 描述了在客戶端進行的基礎網絡和元學習網絡的交替訓練策略. 客戶端和服務器通過傳輸模型參數實現信息交換. 下面,我們對客戶端中進行的漸進式交替訓練模式進行介紹.
算法1.模型的收集與聚合(服務器).
輸入:客戶端的本地模型參數集合W={w1,w2,…,wn},聚類參數k;
輸出:全局模型參數wg.
① 初始化wg;
② 發送wg至各客戶端;
③ fort=1, 2, … do
④ 等待接收客戶端的模型參數集合
W={w1,w2,…,wn};
⑤ 對W進行聚類,得到k個簇
W1,W2,…,Wk;
⑥ 根據全局模型聚合算法計算全局模型參數wg;
⑦ 將Wj∈{W1,W2,…,Wk}和wg發送給對應客戶端;
⑧ if 達到停止訓練條件
⑨ break;
⑩ end if
?t=t+1;
? end for
? returnwg.
算法2.基礎網絡和元學習網絡的交替訓練策略(客戶端).
輸入:全局模型參數wg,對應的模型參數集合簇Wj,漸進式訓練閾值p;
輸出:客戶端本地模型參數wi.
①初始化wi和 Θi;
② fort=1, 2, … do
③ 從服務器下載Wj和wg;
④ forepoch=1, 2, … do
⑤ ift<pthen
? end for
? end if
? if 達到停止訓練條件
? break;
? end if
?t=t+1;
? 上傳wi至服務器;
? end for
? end for
? returnwi.
在開始的通信輪次中,客戶端只負責訓練基礎網絡. 該方式與通常的聯邦學習訓練方式相同,在這里不做專門描述. 當本地模型達到穩定或設定的閾值后,AMN 與基礎網絡交替訓練.圖3 為客戶端i中AMN 的訓練方式. 首先,在AMN 網絡訓練階段,為了調整其可學習參數 Θi,我們需要將其輸出嵌入到基礎網絡中,作為基礎網絡的模型參數. 固定該參數,利用客戶端的本地數據集計算梯度,并回傳梯度對AMN 參數進行調整. 該過程可以表示為

Fig.3 Training method of meta-learning network AMN in client i圖3 客戶端i 中元學習網絡AMN 的訓練方式
算法2 中用Wj表示模型參數集合簇. 如3.1 節中服務器的功能2)的描述,在后文我們統一用W表示該概念,即k=1 時的狀態. 之后,利用訓練好的GΘi(wg,W)得到注意力增強模型參數watt. 以watt作為基礎網絡的初始值,對基礎網絡進行訓練,得到最終的客戶端的個性化模型參數wi,該過程可以表示為
此時的wi即為該通信輪次中的客戶端的個性化模型.
上文的描述中僅對單個客戶端的AMN 訓練方式進行了說明. 若考慮全部客戶端,我們可以得到FedAMN 的全局優化目標為
為了對H(W,Θ)進行優化,以一個通信輪次為例,FedAMN 中客戶端的訓練流程為:
1) 從服務器下載W和wi.
2) 當通信輪次小于訓練閾值p時,用F(wi)訓練客戶端的基礎網絡,以獲得穩定的本地模型,梯度下降過程表示為
最后,對更新后的本地模型進行微調,得到最終的個性化模型
3) 當通信輪次大于訓練閾值后,使用AMN 網絡的輸出更新客戶端本地模型
并對更新后的本地模型進行微調,得到最終的個性化模型
當通信輪次大于設定值或客戶模型收斂時循環停止,此時客戶端的本地模型作為最終的客戶個性化模型. 該過程與算法2 中的描述相對應.
在FedAMN 中,客戶端承擔了更多的計算量,服務器僅承擔模型的聚合、存儲、傳輸等功能. 這種情況下,FedAMN 允許客戶在不泄露自己數據的情況下獲取更多有益信息,減少了由于本地數據量小而導致的模型過擬合問題,并最大程度地消除了客戶數據異質性帶來的模型負遷移問題. 因此,每個客戶端的模型準確率可以明顯高于傳統聯邦學習方法以及單機訓練方法.
為了驗證FedAMN 的普適性和有效性,本文實驗數據集采用聯邦學習中普遍采用的基準數據集VMNIST 和真實世界中的空氣質量數據集W&A China.
V-MNIST 數據集由6 種常用的手寫字體識別數據集組成,分別是MNIST[27]、MNIST 加旋轉、MNIST加噪聲背景、MNIST 加圖像背景、MNIST 加旋轉和圖像背景、Fashion MNIST[28]. 每個數據集都是10 分類任務. 為了模擬聯邦學習場景下客戶端的個性化數據,我們將這6 個數據集采用獨立同分布的隨機抽樣方法,每個數據集按照原始數據量等比分布分為3 個子集. 6 個數據集中,共72 795 個樣本被劃分為18 個子數據集,每個數據集由同一個數據的子集組成,用于模擬18 個客戶端的本地數據集.
W&A China 數據集由中國國家環境監測中心和國家氣象中心發布①http://www.cnemc.cn,https://www.ncdc.noaa.gov,包含2017 年1 月1 日至2017 年12 月31 日在全國4 個直轄市(北京、天津、上海、重慶)中的42 個監測站點按小時采集的共23 萬條環境數據. 每條數據包含13 種特征元素,分別為溫度、壓力、濕度、風向、風速、站號、收集時間和6 種主要空氣質量污染物的濃度. 其中根據中國環境空氣質量標準(AAQS)[29],可以按照PM 2.5 的濃度將空氣質量分為5 個等級. 我們采用的任務為使用過去48 h的歷史數據對未來的空氣質量進行預測. 由于城市和周邊環境的差異性,每個監測站點的數據分布是異構的,參考真實世界的設置,在實驗中,每個站點都被認為是獨立,用于模擬42 個客戶端的本地數據集.
不同的基礎網絡會顯著影響FedAMN 以及基線方法的性能,我們對2 個數據集采用了2 種不同的經典基礎網絡. 對于V-MNIST,我們用AlexNet[30]進行圖像分類任務建模,AlexNet 是由5 個卷積層和3 個全連接層組成的卷積神經網絡. 優化器為SGD,學習率設置為0.02,使用多標簽交叉熵損失函數. 每個通信輪次中的epoch設置為1,批樣本數量設置為32.對于W&A China 數據集,我們構建了一個2 層的門控循環單元網絡(GRU)[31],每層128 個隱藏單元作為基礎網絡,用于時間序列推理任務. 將結果通過全連通層輸出,并與真值進行比較,得到預測精度. 優化器為SGD,初始學習率設置為0.01,使用多標簽交叉熵損失函數. 每個通信輪次中的epoch設置為2,批樣本數量設置為32.
本文采用分類準確率和分類精確率作為對比各種方法的評價指標. 由于本文研究的是客戶端模型的建模效果,因此使用客戶端的本地測試集進行測試,最終結果為全部參與訓練的客戶端的測試結果的平均值. 對于聯邦學習和個性化聯邦學習方法,我們分別對V-MNIST 和W&A China 數據集分別設置最大通信輪次為150 和175.在該輪次內,選取在驗證集中表現最佳的個性化模型或全局模型,用于結果的測試.
全部實驗均在PyTorch1.5.0 下進行. 運行在一個4 Tesla-P100 卡GPU 服務器中,搭載Ubuntu 16.04.7 操作系統,CPU 為Intel?Xeon?E5-2620,128 GB 內存. 為了模擬實際情況下遠程客戶端的傳輸開銷,采用基于socket 包的TCP 協議進行面向連接的可靠傳輸.
在本節中,我們將FedAMN 與8 種基線方法進行比較,分別是客戶端單機訓練、FedSGD、FedAvg[1]、FedProx[32]、 FedPer[9]、 FedHealth[33]、 聯邦遷移學習(FTL)[5]和FedAMP[14]. 其中FedSGD,FedAvg,FedProx是聯邦學習方法,FedPer,FedHealth,FTL,FedAMP 是個性化聯邦學習方法.
表1 顯示了不同基線方法與FedAMN 在相同設置下的分類準確率. 可以看出,當客戶端之間沒有協作關系時,單機訓練可以達到一個基礎的分類準確率.2 個數據集代表了不同客戶差異性下的任務性能.在V-MNIST 數據集中,基線聯邦學習方法除了FedSGD 之外,FedAvg 和FedProx 均帶來了分類準確率的提升. 這是由于圖像識別任務比較復雜,有限的本地數據不足以提供必要的信息,此時客戶間的協作訓練非常重要. 而在W&A China 數據集中,3 種聯邦學習方法的效果均弱于單機訓練. 因為W&A China 是真實世界數據集,各城市間環境差異性大,此時使用聯邦學習方法反而會造成性能下降. 并且根據實驗結果我們發現,在2 個數據集中,聯邦學習方法的性能都顯著低于個性化聯邦學習. 與FedAMN相比,FedAvg 的平均分類準確率在V-MNIST 和W&A China 數據集中分別低了2.9 個百分點和11.59個百分點. 這是由于客戶端數據分布差異性導致的,說明了在聯邦學習訓練中構建客戶個性化模型的必要性.

Table 1 Classification Accuracy of Different Methods表1 不同方法的分類準確率 %
在個性化聯邦學習方法中,FedPer,FedHealth,FTL屬于本地微調方法,FedAMP 屬于多任務學習方法.FedAMP 在基線方法中的性能表現最佳. 相對于FedAMP,FedAMN 在2 個數據集的分類準確率分別提升了2.72 個百分點和2.04 個百分點. 可以看出,與現有方法相比,引入AMN 可以顯著降低數據分布差異較大對模型建立帶來的負面影響.
表2 顯示了不同基線方法在相同設置下的分類精確率. 分類精確率描述了在預測為正的樣本中有多少是真正的正樣本,體現了模型的查準率. 在VMNIST 數據集中,分類精確率和分類準確率表現相似. 在W&A China 數據集中聯邦學習方法的分類精確率出現了大幅度下降. 這是因為V-MNIST 是基準數據集,不同類別樣本的數量幾乎分布均勻,而W&A China 是真實世界數據集. 通常,在類別不平衡分類問題中,模型的分類精確率更低. 城市中空氣質量差的樣本明顯少于空氣質量好的樣本,在此種情況下,對于樣本較少的類別(如5 級污染)查準率會更低. 盡管如此,FedAMN 相較于其他基線方法依然表現出更好的分類效果. 與最優的聯邦學習方法FedProx 相比,FedAMN 的分類精確率在2 個數據集中分別提升了6.49 個百分點和17.56 個百分點. 與最優的個性化聯邦學習方法FedAMP 相比,FedAMN 的分類精確率分別提升了2.45 個百分點和1.55 個百分點.

Table 2 Classification Precision Rate of Different Methods表2 不同方法的分類精確率 %
此外,為了驗證FedAMN 在數據異構和本地模型異構情況下的訓練表現,我們對W&A China 數據集的數據和本地模型結構進行了調整,對比了不同方法的分類準確率.
在數據異構實驗中,原本的W&A China 數據集的每條樣本數據均包含13 種特征元素,我們對數據集中的每個站點均隨機去除其中的2 種特征. 此時,站點的數據特征元素為11 種,各站點的數據特征元素的種類并不相同,以此模擬數據異構的情況. 實驗結果如表3 所示,可以看出,在數據異構情況下,聯邦學習方法FedSGD,FedAvg,FedProx 相較于單機訓練的分類準確率分別下降了20.96 個百分點、14.78個百分點、13.34 個百分點. 這是由于數據異構情況下,全局模型并不能很好地實現信息傳遞,導致模型效果變差. 個性化聯邦學習方法FedPer 和FedHealth的分類準確率也略低于單機訓練. 此時,聯邦設置并不能帶來模型效果上的提升. 個性化聯邦學習方法FTL 達到了幾乎等同于單機訓練的效果. 在基線方法中只有FedAMP 可以達到略高于單機訓練的效果.而FedAMN 相較于單機訓練,分類準確率提升了4.36 個百分點,相較于表現最優的個性化聯邦學習方法FedAMP 的分類準確率提升了3.52 個百分點. 該結果表明FedAMN 在數據異構情況下相較于其他基線方法,可以更好地實現個性化建模.

Table 3 Classification Accuracy of Different Methods in the Heterogeneity Cases on W&A China Dataset表3 不同方法在W&A China 數據集中不同異構情況下的分類準確率 %
在模型異構實驗中,我們對不同站點采用不同的本地模型. 具體來講,不同站點依然采用2 層GRU作為基礎網絡. 但在北京和天津的站點中,每層GRU包含128 個隱藏單元,上海和重慶的站點每層GRU包含256 個隱藏單元,以此模擬本地模型異構的情況. 對于聯邦設置中的模型聚合操作,我們僅對模型中重疊的參數進行加權平均,得出不同基線方法下的分類準確率. 實驗結果如表3 所示,可以看出模型異構對于基線方法均有較大影響,尤其是聯邦學習方法,分類準確率相較于單機訓練至少下降了30.62個百分點. 這是由于不同模型結構下的全局模型難以聚合,對于結構不同的部分無法實現加權平均. 個性化聯邦學習由于有模型微調的功能,準確率略有上升,但基線方法的分類準確率依然均低于單機訓練,其中表現最好的FedAMP 的分類準確率相較于單機訓練降低了0.56 個百分點. FedAMN 是實驗中效果最佳的方法,相較于單機訓練,其分類準確率提升了1.94 個百分點,相較于FedAMP 分類準確率提升了2.5 個百分點. 這是由于FedAMP 可以促進具有相似特征和數據分布的客戶端之間的協作,并疏遠具有廣泛不同特征的客戶端之間的協作,從而緩解模型異構導致的模型融合效果差的情況.
AMN 網絡的引入增加了客戶端的訓練開銷,同時增加了客戶端和服務器之間的通信開銷. 為了評估FedAMN 對各項資源的消耗,我們對不同方法的總訓練時間進行了測試.
實驗如表4 所示,ToAcc@70 表示不同方法的分類準確率第1 次達到70%所花費的訓練時間,ToAcc@80 表示不同方法的分類準確率第1 次達到80%所花費的訓練時間. 數值越小表示訓練越快,資源消耗越小. 可以看出,單機訓練方法、聯邦學習方法和個性化聯邦學習方法所需的訓練時間依次遞增. 由于FedAMN 需要額外訓練AMN 網絡,因此在ToAcc@70和ToAcc@80 情況下所花費的訓練時間是最長的. 相較于分類準確率最高的基線方法FedAMP,FedAMN的訓練時間在ToAcc@70 和ToAcc@80 中分別增加了6.7%和2.8%. 盡管FedAMN 的訓練時間相對較長,但它所帶來的模型分類準確率提升是更大的. 這使得FedAMN 更加適合對模型效果要求更高、對訓練時間要求較為寬松的任務.

Table 4 Classification Accuracy of Different Methods in W&A China Dataset and Required Training Time表4 不同方法在W&A China 數據集中的分類準確率以及所需的訓練時間
在FedAMN 中我們引入AMN 來對客戶端模型參數進行融合,2 層網絡結構分別承擔了不同的作用. 為了進一步說明2 層網絡設計的必要性,我們通過消融實驗來說明訓練過程中各層對結果的影響.為了便于對比,我們對AMN 進行分解,增加了3 種變體來進行實驗:
1)FTL. 優化目標與FedAMN 相同,但客戶端不加入AMN 網絡,僅利用全局模型來協助客戶實現個性化模型的訓練.
2) FedAMN-1 層. 客戶端部署的AMN 網絡僅包含第1 層結構,即對W進行融合處理.
3) FedAMN-2 層. 客戶端部署的AMN 網絡僅包含第2 層結構. 由于此時沒有第1 層,因此只使用本地模型和全局模型作為網絡輸入.
4) FedAMN.具備完整2 層AMN 結構的個性化聯邦學習訓練.
FedAMN 及其3 種變體方法在2 個數據集上的分類準確率和分類精確率結果如圖4 所示. 可以看出,FTL 方法的表現最弱,FedAMN-1 層和FedAMN-2 層略優于FTL,但弱于FedAMN. AMN 的加入使得客戶端分類準確率在2 個數據集上相較于FTL 分別提升了3.59 個百分點和2.65 個百分點. 同時,我們發現AMN 中第1 層比第2 層為客戶端個性化建模帶來了更多的好處. 因為第1 層可以調整客戶間有益信息的比例,過濾相似度更弱的客戶端. 但盡管第2 層的益處略低于第1 層,全局模型信息的加入仍然帶來進一步的性能提升. 所以AMN 的2 層結構代表了不同層面的信息融合,兩者的結合可以在模型共性和個性間達到動態平衡,為客戶間協作關系的刻畫提供更全面的幫助.

Fig.4 Ablation experiments of FedAMN and its three variants on two data sets圖4 FedAMN 及其3 種變體在2 個數據集上的消融實驗
為了對AMN 中注意力機制的有效性進行分析,我們以W&A China 數據集為例,對AMN 的2 層結構分別進行了可視化實驗. 如圖5 所示,c1~c9為9 個隨機選取的位于北京和上海的空氣質量監測站點. 其中c5和c9位于上海,其他的位于北京.圖5(a)(b)為通信輪次為2 時的AMN 可視化結果,圖5(c)(d)為通信輪次為50 時的AMN 可視化結果. 網格的顏色越淺,代表相關性越強,注意力分數越高. 可以看出,在通信輪次為2 時,AMN 的第1 層中每個客戶端的注意力權重都趨向平均,第2 層的也相差不大(除了c5因為是上海的站點,具有和其他站點更加不同的特點,watt得到更高的注意力分數). 說明AMN 在訓練初期并不能得到很好的訓練,實現客戶模型相關性的判斷. 在通信輪次為50 時,同一個城市的客戶端相互得到了更高的注意力分數. 第2 層中的watt所占比例顯著增加.c5和c9也給予對方最高的注意力分數.

Fig.5 Results of attention score visualization for two-layer structure of AMN under different communication rounds圖5 不同通信輪次下AMN 的2 層結構中的注意力分數可視化結果

Fig.6 Effect of changing the number of sites in different cities for collaborative training on the accuracy of observed client圖6 不同城市及站點數量情況下的聯邦訓練對觀測客戶準確率的影響
2 組對比實驗表明,在訓練的早期,本地模型的訓練不夠充分,AMN 的加入并不能帶來很好的效果. 然而,在訓練的后期階段,可以很好地利用AMN,將相似的客戶端分組通過分配高注意力分數來加強協作.這也說明了漸進式訓練方式的必要性.
為了更好地探究客戶端異質性對訓練的影響,在本節中,我們對FedAMN 和其他基線方法在不同城市及站點數量情況下的分類準確率進行了測評.W&A China 數據集中包含中國4 個直轄市(北京、天津、上海、重慶)中的42 個監測站. 我們選取北京的1 個站點作為觀測客戶,依次加入北京、天津、上海、重慶的另外3 個站點進行聯邦訓練,再測量觀測客戶的分類準確率. 通過調整協同訓練過程中參與城市和站點數量,比較不同個性化聯邦學習方法對單個客戶分類準確率的影響,以檢驗模型在面對數據異構情況下的訓練表現是否良好. FedHealth 需要在服務器上構造源域數據集,在城市感知應用場景下難以實現,因此并未參與測試. 該實驗中的對比方法采用聯邦學習方法FedAvg 和個性化聯邦學習方法FedPer,FTL,FedAMP.
實驗結果如6 所示,當只有觀測客戶獨自參與訓練時,可以等同于單機訓練,分類準確率為73.01 個百分點. 隨著不同城市站點的依次加入,觀測站點的分類準確率出現改變. 比較明顯的是當加入3 個北京站點后,所有方法的分類準確率都出現了不同程度的上升. 而隨著天津站點的加入,FedAvg 的分類準確率出現了明顯下降. 此時,城市間站點的異構性對全局模型的影響初步顯現,作為依賴全局模型實現模型優化的聯邦學習方法,FedAvg 無法處理這種異構性,因此觀測客戶的分類準確率維持在較低水平. 而個性化聯邦學習方法都在不同程度上有效處理此種程度的異質性. 當上海和重慶站點加入后,所有方法在觀測客戶上的分類準確率均有下降. 這是由于北京和天津在地理上更為接近,2 個城市具有相似的空氣質量趨勢,而上海和重慶作為南方城市,氣候條件與北方差異較大,此時將它們放在一起訓練會造成分類準確率下降. 盡管如此,FedAMN 仍然保持了最優的效果. 和次優方法FedAMP 相比,上海和重慶的站點加入訓練后的分類準確率分別提升了1.67 個百分點和2.34 個百分點. 和聯邦學習方法FedAvg 相比,上海和重慶站點加入訓練后的分類準確率分別提升了10.94 個百分點和9.14 個百分點. 這表明AMN 的加入可以自動學習客戶間相似性,在面對客戶間嚴重的數據異構問題時具有更強的健壯性和有效性.
在個性化聯邦學習訓練過程中,由于客戶端數據的隱私性,現有的方法難以細粒度地提取客戶端特征,并定義它們之間的協作關系. 同時,數據異質情況下,全局模型的粗融合也會影響最終建模的性能效果. 更優的方式 ,是為每個客戶端提供不同的協作關系. 具體來講,促進具有相似特征和數據分布的客戶端之間的協作,并疏遠具有廣泛不同特征的客戶之間的協作. 因此,對于給定的客戶端,如何自動提取與其類似的客戶端,是一個具有挑戰的問題. 此外,對于服務器-客戶端框架,需要設計合理的協作訓練方法.
為此,本文將個性化聯邦學習中的協作關系刻畫問題形式化為一個分布式元學習網絡訓練任務,并設計了一種注意力增強元學習網絡(AMN)來解決客戶端本地模型的個性化問題,有效地實現客戶端個性與共性的權衡. 并提出了FedAMN 框架,將AMN 分布部署在客戶端進行個性化模型訓練. 考慮到客戶端需要同時訓練AMN 和本地網絡,我們設計了漸進式的交替訓練策略,以端到端的方式對2 個網絡進行訓練,緩解了元學習網絡引入帶來的計算量增加問題. 最終實現客戶端的個性化注意力增強模型的生成. 為了證明FedAMN 的有效性,我們在2個基準數據集和8 種基準方法上進行了大量實驗,相較于現有表現最優的個性化聯邦學習方法,我們的方法在2 個數據集中平均分別提升了3.39%和2.45%的模型性能.
在未來的工作中,我們會繼續研究FedAMN 中的模型壓縮問題,以期進一步減少服務器和客戶端之間的通信開銷,實現個性化聯邦學習技術在智能感知場景中的應用.
作者貢獻聲明:高雨佳提出了方法思路與實驗方案,完成實驗并撰寫論文;王鵬飛提供理論指導、研究思路分析及論文修改意見;劉亮和馬華東提供理論分析和技術指導,提出論文修改意見并最終審核.