高慧敏 楊 磊 朱軍龍 張明川 吳慶濤*
①(河南科技大學信息工程學院 洛陽 471023)
②(中信重工機械股份有限公司信息技術管理中心 洛陽 471003)
隨著移動互聯網和物聯網的快速發展,越來越多的數據由網絡中的邊緣設備產生和存儲。利用機器學習技術,這些分散的數據集通常被用于模型訓練,但這種集中式訓練方式在將物聯網設備產生的數據傳輸到云端或者中心服務器的過程中面臨著諸多挑戰,例如能量和帶寬限制,通信效率和隱私問題等。為解決上述問題,2016年谷歌學者提出了一個新的機器學習范式,即聯邦學習[1],它聯合多個用戶在云或中心服務器的協調下訓練一個預測模型,同時用戶之間不用交換數據,這在一定程度上保護了用戶數據的隱私性。不同于去中心化的多節點協作學習[2],聯邦學習與分布式學習中的參數服務器具有相同的架構,但是聯邦學習中的用戶對本地數據具有絕對的自治權限,可以自主決定是否參與和退出模型訓練,而且數據之間可能有著不同的分布。此外,分布式學習一般在數據中心進行并行訓練,通信代價相對較小。而聯邦學習中的邊緣設備一般依賴互聯網,其通信代價會更高[3]。面對這些新的問題,聯邦學習提供了一個有效的解決方案,并被廣泛應用到不同的領域,例如移動邊緣網絡[4]、健康醫療[5]和智能交通系統[6]等。
通信開銷不僅是聯邦學習的一個研究熱點,同時也是一個亟待解決的問題。在每一輪的模型訓練中,云端或中心服務器將當前的全局模型下發給參與訓練的客戶端;之后,這些客戶端在本地執行多步隨機梯度下降后生成本地模型;最后再將本地模型發送到云端或中心服務器。其中,通信開銷主要是由客戶端和云端或中心服務器之間經過網絡連接傳輸模型參數產生。在實際場景中,隨著網絡中終端設備的增多、模型參數維度的增大,客戶端向中心服務器發送信息時會遭受嚴重的網絡時延和有限帶寬的限制。
為了緩解客戶端和云端或中心服務器之間的通信壓力,減少傳輸的比特數是一個有效的方法,并由此延伸出許多新的壓縮方法,例如通過稀疏[7]或者量化[8,9]梯度更新或者模型更新,或者將二者結合[10]使用。這類方法在保證一定模型精確度的基礎上,減少了客戶端之間的通信成本,因而在具有高維模型參數的深度學習領域有著廣泛的應用。Li等人[11]提出加速壓縮梯度下降算法,加快模型收斂的同時,節約了通信開銷。分別針對同構和異構數據,Haddadpour等人[12]研究了一類通信有效的優化算法,并引入了梯度追蹤方案減少客戶端之間由于數據異構而產生的殘差,該方法得到了更好的通信復雜度和更精確的收斂速率。
上述方法只考慮在每輪通信中減少傳輸的信息量,而通信的次數并沒有改變。在實際訓練中,連續發送的模型之間可能并沒有較大的變化,這樣頻繁的通信是一種資源的浪費。近年來,在多智能體系統,研究人員利用事件觸發機制[13,14]減少智能體之間不必要的通信,緩解網絡中的通信壓力。其中,如何設計觸發機制是關鍵,以保證算法能夠收斂,并達到減少通信開銷的目的。Hsieh等人[15]利用梯度衡量更新的重要性,進而消除不重要的通信,其閾值設置為迭代次數平方根的倒數。文獻[14]利用模型參數之間的差異確定節點的觸發時刻,不同于分段參數的閾值調度方案[16],其閾值與學習率和神經網絡參數的數量有關。
為了降低聯邦學習中客戶端和中心服務器之間的通信代價,本文引入事件觸發的通信機制,當連續更新的本地模型之間變化較大時,客戶端的通信行為受到觸發并將模型差異壓縮后發送給中心服務器,中心服務器將收到的信息聚合后執行新一輪全局模型更新。分別在不同目標函數特征條件下,本文證明了所提方法(Federated learning w ith Event-T riggered comm unication,FedET)的收斂性,并給出了相應的理論分析。最后通過仿真實驗驗證了所提方法的可行性和有效性。
在以數據為驅動的機器學習特別是深度學習中,分散的數據被收集到云端或數據中心進行模型訓練。在這個過程中,數據的傳輸不僅受到不同網絡環境特別是有限帶寬的制約,而且面臨著隱私泄露和被惡意篡改的風險。為了解決上述問題,基于數據不出本地,聯邦學習聯合多個用戶學習一個共享模型,進而在網絡邊緣實現分布式機器學習。本文考慮由一個中心服務器和n個客戶端組成的系統模型,每個客戶端i擁有自己的本地數據Di,其中{1,2,...,n}表示客戶端的集合,如圖1所示,中心服務器給每個客戶端分發當前的全局模型。在此基礎上,客戶端通過執行多步隨機梯度下降生成本地模型,并將其上傳到中心服務器。然后,中心服務器聚合所有客戶端上傳的模型參數,更新產生下一輪的全局模型。在中心服務器的協調下,重復以上過程,這些客戶端通過協作方式解決以下有限和形式的優化問題

圖1 聯邦學習的系統架構
其中,向量x表示維度是d的模型參數,f i:Rd→R為局部代價函數,通常定義為第i個 客戶端上數據樣本的期望損失,表示為:fi(x)=Ez~P i[L i(x,z)],這里L i是關于z的樣本損失函數,它評估給定模型參數x的性能好壞,其中z是服從概率分布為Pi的隨機變量,i∈{1,2,...,n}。一般來說,當Pi=P j時,稱客戶端i和j之間的數據是獨立同分布的。當P i=P j時,稱客戶端i和j之間的數據是非獨立同分布或者異質的。
本文用 Rd表示d維實向量空間。‖·‖表示歐氏范數,‖·‖1表 示?1范數。gi表示第i個客戶端在模型參數x處的全梯度?f(x,D i),簡寫為?f i(x)。表示第i個客戶端在模型參數x處的隨機梯度?f(x,ξi),其中ξi?D i是采樣的最小批數據樣本。分別表示第i個 客戶端在模型參數處的梯度和隨機梯度估計,其中k表示全局模型的迭代次數,h是本地模型的迭代次數。E [·]表示條件期望。
考慮到網絡中有限帶寬的限制,本節提出Fed-ET算法解決式(1)中的優化問題。該算法是一個通信有效的聯邦學習算法,它利用事件觸發的通信策略,結合壓縮技術,減小客戶端和中心服務器之間的通信負擔。
為了減少客戶端與中心服務器之間的通信,每個客戶端i∈{1,2,...,n}需要維持本地更新xi的一個估計,并根據事件觸發機制將信息壓縮后上傳至中心服務器。假定所提出的算法運行K次全局模型更新,也即客戶端和中心服務器總的通信輪數。由于聯邦學習中客戶端的模型聚合是在同步環境下進行的,定義模型參數的聚合時刻集合為{0,τ,...,Kτ},與文獻[8,12]中設定類似,τ表示每個客戶端本地模型更新的次數。此外,由于采樣是在固定次數的局部迭代之后進行的,可知采樣周期是離散的,而且文中給出至少τ倍采樣周期的事件間隔的下界,因此Zeno現象在本文的設置中不會出現。
FedET算法的偽代碼如算法1所示。在有中心的聯邦學習架構中,首先中心服務器將全局模型的初始值x0下發給每個客戶端,設置,允許每個客戶端在第1輪和中心服務器通信。第k次更新時,每個客戶端i通過隨機采樣本地數據計算梯度估計值,然后本地模型參數基于隨機梯度下降進行τ次迭代得到參數向量,如算法1中第(4)~(6)行所示。在完成該輪次的本地計算之后,利用事件觸發機制,每個客戶端計算當前模型和最近一次發送的模型之間的差異ei(k),定義為
其中,η是客戶端的本地學習率,,k ∈,其中=0,集合表示第i個客戶端觸發時刻的集合。如果滿足觸發條件,則客戶端發送壓縮后的模型差異給中心服務器,并更新本地模型的估計,如算法1中第(9)和(10)行所示。否則客戶端i和中心服務器在本輪不進行通信。最后,中心服務器按照下式更新下一輪的全局模型,
其中,γ是中心服務器上的學習率,C(·)是隨機壓縮算子。
為了進一步分析算法的性能,首先介紹函數光滑性和隨機梯度假設[17]及本文要用到的假設條件。
假設1對于代價函數f i(·):Rd →R,如果存在常數L>0,對任意的向量x1,x2∈Rd,不等式
成立,則稱函數f i(·)滿 足利普希茨條件,常數L被稱為利普希茨常數。本文假設f*是函數f(x)的最優值。
假設2對于每一個i∈{1,2,...,n},參數σ>0,隨機梯度,若式(5)成立,
假設3對于隨機壓縮算子C(·),參數ω>0。對于輸入向量u∈Rd,若式(6)成立,
則稱隨機壓縮算子C(·)是無偏的,其方差隨著輸入向量范數的平方而變化。
假設4對于函數f(x),參數μ>0,如果對任意的x∈Rd,不等式成立,則稱函數f(x)滿足PL(Polyak-?ojasiew icz)條件。
事實上,根據文獻[18]可知,任意μ-強凸函數都滿足PL條件。
假設5對于函數f(x),參數μ>0,對任意的x,y ∈Rd,如果不等式
成立,則稱函數f(x)是μ-強凸的。
假設6對于序列{αk},假設αk=m0/(k+1)δ,其中m0>0是參數,δ≥1/4。
假設2是關于隨機梯度的常見假設。假設3是采用壓縮方法的文獻[8,11]中常用的條件。假設6中的δ在不同的目標函數下取值范圍不同,注1給出了說明。本文的結果都是在假設它們成立的前提下得到的。
本節給出以下3個主要結論,其詳細證明見第5節。首先針對非凸的目標函數,當本地學習率η和全局學習率γ滿足一定的條件,利用函數的光滑性,下面的定理給出了算法的收斂性。
定理1如果假設1—假設3、假設6均成立,學習率γ和η滿足
則K次迭代后,梯度范數平方的平均值有界,且滿足
其中,f*?f(x*)是 函數在最優點x*處的函數值,x0是模型參數的初始值,M0表示

下面定理主要對滿足PL條件的函數進行分析,而任意μ-強凸函數都滿足PL條件,故只需分析滿足PL條件的函數的收斂性即可。
定理2如果假設1—假設4和假設6成立,或者假設1—假設3和假設5、假設6成立,且δ>。全局學習率γ和本地學習率η滿足式(8),則不等式(10)成立
其中,f*表示最優值f(x*),x0是模型參數的初始值,M0表示





本節對所提出的基于事件觸發的聯邦優化算法FedET進行測試和性能評估,并通過圖像多級分類任務的仿真實驗與FedAvg[1]和FedPAQ[8]進行對比。仿真實驗主要使用MNIST[19]和Fashion MNIST[20]這兩個具有代表性的數據集。其中,MNIST是手寫數字集,包含0~9 10個類別。Fashion MNIST包含10個類別服裝的正面圖片。每個數據集都包含60 000個訓練數據和10 000個測試數據。
為了模擬真實世界中多方聯合學習的場景,每次實驗假設10個客戶端在中心服務器的協作下聯合學習。本文使用PyTorch[21]作為分布式機器學習訓練庫,并基于Python3來實現文中所提出的算法。實驗環境是:Intel i7-7500U CPU@2.70 GHz的計算機,包含一塊NV IDIA GeForce 940MX GPU。針對MNIST數據集和Fashion MNIST數據集,本文使用卷積神經網絡CNN作為訓練模型,該模型包含兩個卷積層、兩個最大池化層、1個全連接層和最后的softmax輸出層,使用ReLU作為激活函數。
實驗假設所有客戶端使用相同的網絡模型,客戶端之間的數據均衡且服從獨立同分布:數據被隨機打亂之后,每個客戶端獲得6000個訓練樣本。每個客戶端通過本地數據來訓練神經網絡模型,也就是權和偏置,初始學習率設定為0.01,數據最小批大小為64,本地迭代次數為5。實驗采用文獻[8]中的壓縮方法,將模型從32位浮點量化為8位整數。閾值選取方法和文獻[14]中相同,閾值m0=v0N p,v0是參數,通過選擇不同的v0可以改變m0的大小,N p表示神經網絡模型參數總的個數。為了深入理解閾值對算法性能的影響,這里分別選取3個不同的閾值進行實驗,閾值T1,T2,T3分別為0.00005Np,0.00009Np,0.00018Np。
圖2是MNIST數據集上的實驗結果。從圖2(a)觀察到,在訓練前期,對于較小的閾值T1,其損失曲線(藍色)波動較大,這是由于客戶端和中心服務之間頻繁的通信引起的。同理,對于較大的閾值T3,客戶端和中心服務器之間信息交流相對較少,其訓練損失曲線(紅色)波動較小。閾值T2的訓練損失曲線位于二者之間,在訓練后期,雖然不同閾值情況下訓練損失曲線最后均趨于穩定,但是從測試精度和迭代次數關系圖2(b)不難看出,相對于較小的閾值T1和較大的閾值T3,閾值T2下的模型具有更高的精度值。從圖2(c)通信開銷角度來說,當客戶端與中心服務器信息交流較少時,雖然通信開銷較少,但是無法達到理想的精度;客戶端與中心服務器之間充分交流雖然能保證精度,但是會造成大量的通信開銷;適當的信息傳輸,如閾值T2情況下,可以以較少的通信代價最大程度的提高精度??偟膩碚f,閾值較小時,需要昂貴的通信代價來換取算法的精度,而閾值較大時,通信開銷減小,但算法精度又較差。因此,選擇合適的閾值才能達到精度和通信之間最好的權衡。

圖2 不同閾值對算法性能的影響
為了證明基于事件觸發的聯邦優化算法的優勢,以下實驗對比了不同算法下的收斂速度、平均通信開銷和測試精度,包括聯邦平均Fed Avg和FedPAQ算法。圖3分別刻畫了在不同數據集上全局模型的平均訓練損失和迭代輪次之間的關系,其中圖3(a)是在MNIST數據集上的運行結果,可以看出FedET算法達到了和FedAvg和FedPAQ算法相似的收斂速度,雖然模型變化不大時客戶端和中心服務器不進行通信,但獨立同分布的數據特征使算法快速收斂。在Fashion MNIST數據集上有類似的結果,如圖3(b)所示。

圖3 訓練損失和迭代次數之間的關系
圖4顯示了客戶端和中心服務器之間上行鏈路中平均累計通信開銷和訓練損失值的變化關系。從圖4(a)可以觀察到,當達到最小損失時,FedAvg的通信比特數最多,FedPAQ次之,FedET的通信代價最少。這是由于算法分別采取了不同的通信有效技術引起的。FedAvg算法中客戶端向中心服務器發送整個模型參數,FedPAQ算法將模型之間的差異壓縮后上傳給中心服務器,而FedET使用壓縮和事件觸發機制,和前兩個算法相比分別節約了64%和10%左右的通信。在Fashion MNIST數據集上的實驗結果如圖4(b)所示,當達到0.2的訓練損失值時,FedET分別比FedAvg,FedPAQ節約了75%和35%左右的通信量。

圖4 訓練損失和通信量之間的關系
測試精度是衡量模型泛化性能的一個重要指標。圖5刻畫了測試集上全局模型的預測精度在平均累計通信開銷下的變化趨勢。從MNIST數據集上的實驗結果圖5(a)不難看出,當達到大約99%的精度時,Fed ET使用最少的通信比特值,Fash ion MNIST數據集上的實驗結果和上述結論是類似的,如圖5(b)所示。在資源有限的網絡環境下,事件觸發機制的使用降低了對通信帶寬的需求。兩個數據集上的實驗結果驗證了本文所提的聯邦優化算法FedET的可行性和有效性。
本文基于事件觸發機制提出一個通信有效的聯邦優化算法,用于解決聯邦學習中的通信開銷問題。該算法通過減少上行鏈路中客戶端到中心服務器不必要的信息傳輸,同時結合信息壓縮技術減少每輪發送的信息比特數,緩解聯邦學習中的通信瓶頸。在客戶端數據獨立同分布時,針對不同的目標函數特征,本文從理論上分析了所提算法的收斂性,并給出了相應的數學證明。最后,在MNIST和Fashion MNIST這兩個公共數據集上執行仿真實驗,結果表明,所提算法能在合適的閾值下達到與FedAvg和FedPAQ算法相似的精度,同時節約了通信成本。