范紹帥,吳劍波,田輝
(北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,北京 100876)
隨著5G 技術(shù)在全球范圍內(nèi)的廣泛部署,工業(yè)界和學(xué)術(shù)界開始探索6G 網(wǎng)絡(luò)[1]。6G 網(wǎng)絡(luò)將集成通信和計(jì)算功能,采用先進(jìn)的人工智能技術(shù),向自動(dòng)駕駛、虛擬現(xiàn)實(shí)、智能工廠、智慧城市等典型應(yīng)用場(chǎng)景[2]提供萬物智聯(lián)服務(wù)。傳統(tǒng)的資源管理機(jī)制難以滿足6G 網(wǎng)絡(luò)的復(fù)雜需求,因此,基于智慧內(nèi)生和至簡網(wǎng)絡(luò)的下一代網(wǎng)絡(luò)成為廣泛研究的熱點(diǎn)。隨著物聯(lián)網(wǎng)的普及,各種服務(wù)對(duì)通信技術(shù)提出了更多更高的要求,這是目前5G 網(wǎng)絡(luò)無法支持的,而6G網(wǎng)絡(luò)有望推動(dòng)工業(yè)革命,支持物聯(lián)網(wǎng)新要求,其中無線分布式計(jì)算是6G 的使能技術(shù)[3]。聯(lián)邦學(xué)習(xí)作為一種分布式機(jī)器學(xué)習(xí)方法,能夠滿足6G 網(wǎng)絡(luò)的隱私保護(hù)和低時(shí)延需求[4],是構(gòu)建6G 物聯(lián)網(wǎng)系統(tǒng)的關(guān)鍵技術(shù)[5]。由于工業(yè)物聯(lián)網(wǎng)(IIoT,industrial Internet of things)的數(shù)據(jù)安全和快速數(shù)據(jù)分析及決策需求,聯(lián)邦學(xué)習(xí)有望應(yīng)用于工業(yè)物聯(lián)網(wǎng)場(chǎng)景中來訓(xùn)練機(jī)器學(xué)習(xí)模型[6]。然而,工業(yè)物聯(lián)網(wǎng)場(chǎng)景中存在資源可用性低的問題[7],如較低的計(jì)算能力、有限的帶寬和電池壽命,設(shè)備能力的異構(gòu)屬性[8]也加大了設(shè)備間的性能差距。但現(xiàn)有關(guān)于工業(yè)物聯(lián)網(wǎng)聯(lián)邦學(xué)習(xí)的研究大多未考慮電池能量有限等問題,導(dǎo)致可應(yīng)用場(chǎng)景有限。
工業(yè)物聯(lián)網(wǎng)場(chǎng)景下,當(dāng)設(shè)備數(shù)量龐大且分布密集時(shí),采用充電模式供電會(huì)導(dǎo)致布線復(fù)雜且降低工業(yè)節(jié)點(diǎn)的靈活性與可擴(kuò)展性,特別對(duì)于移動(dòng)工業(yè)設(shè)備而言,充電線無法滿足設(shè)備的移動(dòng)需求并且可能造成安全隱患,如工業(yè)機(jī)器人等[9]。因此,大量工業(yè)物聯(lián)網(wǎng)設(shè)備常常由有限尺寸的電池供電,與可充電模式不同,這嚴(yán)重限制了工業(yè)設(shè)備可用的能源供應(yīng)和使用壽命[10]。
關(guān)于聯(lián)邦學(xué)習(xí)的研究大多基于充電設(shè)備[11],不需要考慮設(shè)備的使用壽命。而基于電池供電設(shè)備進(jìn)行聯(lián)邦學(xué)習(xí)時(shí)[12],設(shè)備在訓(xùn)練中可能由于電池能量耗盡而離線,降低系統(tǒng)性能[13]。因此電池的長期能量調(diào)度和節(jié)能技術(shù)是電池供電工業(yè)物聯(lián)網(wǎng)高效聯(lián)邦學(xué)習(xí)的關(guān)鍵?,F(xiàn)有關(guān)于基于電池供電設(shè)備的聯(lián)邦學(xué)習(xí)的研究主要將電池壽命作為設(shè)備選擇指標(biāo)[7]或者調(diào)整部分訓(xùn)練參數(shù)以提高電池壽命[12,14-15],如訓(xùn)練批量大小、CPU 頻率等,較少對(duì)電池能量進(jìn)行整體調(diào)度與分配,缺少長期視角下對(duì)電池壽命的控制。關(guān)于能量調(diào)度的研究適用場(chǎng)景有限,例如文獻(xiàn)[16]根據(jù)電池電量和訓(xùn)練輪次分配能量,其中訓(xùn)練輪次為定值,忽略了實(shí)際場(chǎng)景下的總運(yùn)行時(shí)間限制,而訓(xùn)練時(shí)間為定值時(shí)難以在訓(xùn)練前確定訓(xùn)練輪次[6,17],難以將其有效擴(kuò)展至?xí)r間預(yù)算既定的工業(yè)物聯(lián)網(wǎng)場(chǎng)景中。因此基于電池供電設(shè)備的工業(yè)物聯(lián)網(wǎng)聯(lián)邦學(xué)習(xí)缺少整體性與系統(tǒng)性的能量調(diào)度與節(jié)能技術(shù)研究。
聯(lián)邦學(xué)習(xí)的多個(gè)優(yōu)化方向,如時(shí)間、成本和精度等難以兼顧[18],因此優(yōu)化目標(biāo)需要對(duì)此進(jìn)行權(quán)衡[19-26]。已有工作研究固定訓(xùn)練時(shí)間達(dá)到最大學(xué)習(xí)精度[22-25]的問題,但多數(shù)未考慮電池供電和無線傳輸對(duì)系統(tǒng)性能的影響。由于長期優(yōu)化求解復(fù)雜度隨時(shí)間增長呈指數(shù)級(jí)增大[26],因此可采用獨(dú)立迭代優(yōu)化的方法[27]簡化問題。同時(shí),為權(quán)衡訓(xùn)練時(shí)間和精度目標(biāo),加快學(xué)習(xí)速度,可引入學(xué)習(xí)效率[28-29]作為優(yōu)化目標(biāo)進(jìn)行資源管理。文獻(xiàn)[28]通過聯(lián)合批量選擇和通信資源分配以最大化學(xué)習(xí)效率;文獻(xiàn)[29]提出最大化學(xué)習(xí)效率的通信資源分配和數(shù)據(jù)選擇算法。
針對(duì)當(dāng)前研究所面臨的低資源可用環(huán)境下異構(gòu)設(shè)備電池能量、通信資源分配等資源優(yōu)化管理問題,本文提出一種針對(duì)電池供電工業(yè)物聯(lián)網(wǎng)下聯(lián)邦學(xué)習(xí)網(wǎng)絡(luò)的資源管理算法。本文考慮電池供電和無線傳輸對(duì)聯(lián)邦學(xué)習(xí)性能的影響,對(duì)設(shè)備資源、通信資源以及電池能量進(jìn)行聯(lián)合優(yōu)化管理,以求解電池供電工業(yè)物聯(lián)網(wǎng)設(shè)備固定訓(xùn)練時(shí)間達(dá)到最大學(xué)習(xí)精度的優(yōu)化問題。
本文的主要貢獻(xiàn)如下。
1)設(shè)計(jì)了一種針對(duì)電池供電工業(yè)物聯(lián)網(wǎng)設(shè)備的聯(lián)邦學(xué)習(xí)資源管理算法。該算法將長期優(yōu)化轉(zhuǎn)化為動(dòng)態(tài)逐輪優(yōu)化,考慮資源塊數(shù)目受限、無線信道干擾以及電池能量有限,提出以學(xué)習(xí)效率優(yōu)化為目標(biāo)的數(shù)學(xué)模型。將原優(yōu)化問題解耦為相互關(guān)聯(lián)的電池能量分配、設(shè)備資源分配和通信資源分配這3 個(gè)子問題分別進(jìn)行求解。
2)為解決學(xué)習(xí)效率優(yōu)化問題,利用粒子群優(yōu)化算法求解能耗預(yù)算下的最優(yōu)設(shè)備傳輸和計(jì)算資源分配策略,并推導(dǎo)出單輪全局損失函數(shù)變化的表達(dá)式,基于此獲得學(xué)習(xí)效率與通信資源分配的關(guān)系,進(jìn)而設(shè)計(jì)了一種資源塊迭代匹配算法以求解最優(yōu)通信資源分配策略。
3)提出一種電池能量分配策略,在給定設(shè)備資源和通信資源分配的條件下,估計(jì)訓(xùn)練輪次、根據(jù)時(shí)延篩選設(shè)備并調(diào)整設(shè)備CPU 頻率以進(jìn)行能量分配,確保設(shè)備在訓(xùn)練時(shí)間內(nèi)不會(huì)因電量耗盡而中斷訓(xùn)練。
4)仿真結(jié)果表明,本文算法能在訓(xùn)練時(shí)間內(nèi)使用電池供電設(shè)備獲得較好的學(xué)習(xí)性能,與基準(zhǔn)算法相比體現(xiàn)了本文算法的有效性。
本文所考慮的工業(yè)物聯(lián)網(wǎng)環(huán)境下的聯(lián)邦學(xué)習(xí)系統(tǒng)模型如圖1 所示,含有U個(gè)設(shè)備和一個(gè)服務(wù)器。設(shè)備與服務(wù)器間通過無線信道進(jìn)行上下行通信。
圖1 工業(yè)物聯(lián)網(wǎng)環(huán)境下的聯(lián)邦學(xué)習(xí)系統(tǒng)模型
由于所有本地模型都是通過無線網(wǎng)絡(luò)傳輸?shù)?,因此在無線網(wǎng)絡(luò)上部署聯(lián)邦學(xué)習(xí)模型時(shí)需要考慮無線因素對(duì)聯(lián)邦學(xué)習(xí)性能的影響。下面,分別從發(fā)送時(shí)延、能量損耗、傳輸成功概率等方面構(gòu)建無線模型。
1.1.1 發(fā)送時(shí)延
在所考慮的聯(lián)邦學(xué)習(xí)系統(tǒng)下,上行鏈路傳輸采用正交多址接入(OFDMA,orthogonal frequency division multiple access)技術(shù),OFDMA 技術(shù)在未來6G 無線網(wǎng)絡(luò)仍具有重要參考價(jià)值[30-31]。假設(shè)上行鏈路中M個(gè)資源塊組成了資源塊集合?,設(shè)備i第t輪訓(xùn)練將其本地聯(lián)邦學(xué)習(xí)模型參數(shù)通過資源塊n傳輸?shù)交?,其上行鏈路速率為[16-17]
其中,BUp為上行鏈路的單個(gè)資源塊帶寬,Pi,t為設(shè)備i第t輪的發(fā)送功率,In為信號(hào)在資源塊n上所受的干擾,N0為噪聲功率譜密度,hi為設(shè)備i到服務(wù)器的信道增益。
根據(jù)資源塊匹配方案,設(shè)備i第t輪訓(xùn)練上行鏈路速率為
其中,ri,n,t∈{0,1},ri,n,t=1為設(shè)備i第t輪訓(xùn)練使用資源塊n進(jìn)行參數(shù)傳輸,ri,n,t=0則相反,不使用資源塊n進(jìn)行參數(shù)傳輸。假設(shè)模型參數(shù)大小均為D,對(duì)應(yīng)設(shè)備i第t輪訓(xùn)練通過資源塊n的上行鏈路傳輸時(shí)延為
同樣地,設(shè)備i第t輪訓(xùn)練傳輸時(shí)延為
由于在上行鏈路中設(shè)備分配資源塊傳輸,帶寬資源緊張,而下行鏈路使用廣播傳輸,帶寬資源壓力小,因此下行時(shí)延波動(dòng)相對(duì)上行時(shí)延可忽略。定義cDown為下行鏈路速率,對(duì)應(yīng)下行時(shí)延為
設(shè)備在本地使用其計(jì)算資源訓(xùn)練本地模型。設(shè)備i第t輪訓(xùn)練的計(jì)算時(shí)延為[17-19]
其中,εi、Ki和?i分別為設(shè)備i一個(gè)樣本數(shù)據(jù)的大小、設(shè)備樣本數(shù)量和處理每位數(shù)據(jù)所需CPU 周期數(shù),fi,t為設(shè)備i第t輪訓(xùn)練時(shí)的CPU 頻率。
結(jié)合3 種時(shí)延,設(shè)備i第t輪訓(xùn)練的時(shí)延為
聯(lián)邦學(xué)習(xí)每輪訓(xùn)練時(shí)延取決于被選擇設(shè)備的最大時(shí)延,因此第t輪訓(xùn)練的時(shí)延為
1.1.2 能量損耗
假設(shè)聚合服務(wù)器有充足供電,因此不考慮服務(wù)器上的能耗,僅關(guān)注設(shè)備能耗。設(shè)備能耗包括設(shè)備本地訓(xùn)練以及無線傳輸能耗兩部分,因此設(shè)備i的能量損耗定義為[32]
1.1.3 傳輸成功概率
由于無線信道中存在干擾和噪聲,因此可能發(fā)生傳輸錯(cuò)誤。文獻(xiàn)[33]中給出了準(zhǔn)靜態(tài)衰落信道上的數(shù)據(jù)包傳輸系統(tǒng)的平均分組錯(cuò)誤率的表達(dá)式,給定瀑布閾值m,定義設(shè)備i第t輪訓(xùn)練在資源塊n的分組錯(cuò)誤率為
假設(shè)上行鏈路一個(gè)本地模型使用一個(gè)分組數(shù)據(jù)包進(jìn)行傳輸,且傳輸失敗不再重傳,因此設(shè)備i第t輪在資源塊n下傳輸本地模型的成功概率為
同時(shí),設(shè)備i第t輪訓(xùn)練傳輸本地模型的成功概率為。根據(jù)傳輸成功概率定義參數(shù)上傳是否成功的二元變量si,t為
其中,si,t=1代表上傳成功,si,t=0代表上傳失敗。
定義設(shè)備集合υ={1,2,…,U},設(shè)備i在本地收集的數(shù)據(jù)為Di=,i∈υ。設(shè)備i的樣本數(shù)量為Ki,設(shè)備訓(xùn)練樣本數(shù)量和為
假設(shè)數(shù)據(jù)dik的輸出為oik,設(shè)備i的輸出向量為Oi={oi1,oi2,…,oi2},i∈υ,對(duì)應(yīng)的本地聯(lián)邦學(xué)習(xí)模型為wi,通過無線信道發(fā)送給服務(wù)器。本地模型發(fā)送到服務(wù)器后將被整合成全局模型gt,發(fā)送回工業(yè)物聯(lián)網(wǎng)設(shè)備。因此考慮設(shè)備選擇和發(fā)送失敗的全局模型gt的更新表達(dá)式為
定義每個(gè)數(shù)據(jù)的損失函數(shù)為f(gt,d ik,oik),設(shè)備i的本地?fù)p失函數(shù)定義為本地?cái)?shù)據(jù)損失的均值
而全部設(shè)備的整體損失函數(shù)為全部設(shè)備本地?fù)p失的均值,定義為
為簡便起見,后文中將設(shè)備i第t輪訓(xùn)練的第k個(gè)數(shù)據(jù)的損失函數(shù)f(gt,dik,oik)簡寫為fi,k(gt)。
設(shè)備收到全局模型gt后,本地模型更新式為
其中,λ為學(xué)習(xí)率。進(jìn)一步地,全局模型損失函數(shù)的更新式為
其中,vt為不考慮設(shè)備選擇與傳輸失敗時(shí)的理想全局梯度和實(shí)際全局梯度之差,定義為
其中,實(shí)際全局模型梯度 ?F'(gt)為
針對(duì)電量有限設(shè)備在固定訓(xùn)練時(shí)間τ內(nèi)獲得最大學(xué)習(xí)精度的優(yōu)化問題,由于學(xué)習(xí)精度最大可轉(zhuǎn)化為全局模型損失值最小,優(yōu)化目標(biāo)可表示為
P1 表示在給定能耗預(yù)算下訓(xùn)練時(shí)間內(nèi)最小化全局損失函數(shù)。由于設(shè)備由電池供電,因此存在長期資源預(yù)算限制,如果設(shè)備能量耗盡將無法參與后續(xù)訓(xùn)練。為求解P1,需要知道訓(xùn)練時(shí)間內(nèi)總訓(xùn)練輪次W,而在訓(xùn)練前難以確定[6,17],且P1 是一個(gè)非線性規(guī)劃問題,求解復(fù)雜度隨著輪次W的增大呈指數(shù)級(jí)增長[26]。此外,時(shí)延Ti,t和發(fā)送狀態(tài)si,t隨著迭代輪次索引t不同而不同,且由于聯(lián)邦學(xué)習(xí)的迭代性質(zhì),全局模型與過去所有輪次的訓(xùn)練有關(guān)[24]。綜上,設(shè)備資源難以進(jìn)行長時(shí)間優(yōu)化。因此本文把長期電量預(yù)算劃分為每輪可用電量預(yù)算,并將學(xué)習(xí)效率[28-29]作為每輪優(yōu)化目標(biāo),旨在加速聯(lián)邦學(xué)習(xí)訓(xùn)練,快速最小化全局損失函數(shù)。
學(xué)習(xí)效率被定義為每輪全局損失衰減與時(shí)延之比,代表全局損失衰減率,即模型的學(xué)習(xí)速率。其中,第t輪全局損失衰減定義為第t–1 輪訓(xùn)練全局模型gt?1損失值F(gt?1)與第t輪損失值F(gt)之差,可表示為
因此,根據(jù)學(xué)習(xí)效率的定義,第t輪訓(xùn)練學(xué)習(xí)效率At可表示為
其中,Tt為第t輪訓(xùn)練時(shí)延。
本文進(jìn)行逐輪獨(dú)立迭代優(yōu)化,動(dòng)態(tài)求解第t輪最大化學(xué)習(xí)效率At問題。結(jié)合訓(xùn)練的約束條件,優(yōu)化問題P1 可轉(zhuǎn)化為
為量化無線傳輸對(duì)聯(lián)邦學(xué)習(xí)性能的影響,本文引入以下引理描述全局損失衰減有關(guān)傳輸成功率和設(shè)備調(diào)度的數(shù)學(xué)關(guān)系。
引理1在第t次訓(xùn)練中預(yù)期全局損失衰減ΔFt的下限為
其中,L是平滑參數(shù),設(shè)置其為學(xué)習(xí)率的倒數(shù),即[34-36];B是強(qiáng)凸參數(shù);E(?)是關(guān)于發(fā)射成功率的期望。
證明見附錄1。
考慮多維聯(lián)合變量求解的復(fù)雜性,本文將問題P2解耦為設(shè)備資源分配子問題、通信資源分配子問題、電池能量分配子問題,并采用變量迭代的方式[18-19,23]進(jìn)行求解,提高求解效率。首先,求解在已知能耗預(yù)算下的最優(yōu)CPU 頻率和發(fā)送功率,得到設(shè)備資源分配策略。其次,在已知的設(shè)備資源分配策略下求解通信資源分配策略。再次,根據(jù)通信資源分配策略估計(jì)下一輪設(shè)備電池能量分配策略。最后,進(jìn)行多次迭代優(yōu)化直至訓(xùn)練時(shí)間τ結(jié)束。
為求解優(yōu)化問題P2,要權(quán)衡每輪設(shè)備能耗預(yù)算下設(shè)備的傳輸能量和計(jì)算能量分配,本文中傳輸能量與發(fā)送功率相關(guān),計(jì)算能量與CPU 頻率相關(guān)。給定通信資源分配矩陣Rt和能耗預(yù)算分配向量Et,優(yōu)化設(shè)備發(fā)送功率向量Pt和CPU 頻率向量ft以最大化學(xué)習(xí)效率At,上述問題為NP-hard 問題,難以獲得最優(yōu)解的閉式表達(dá)式,因此設(shè)計(jì)了一種近似求解算法,以逼近全局最優(yōu)分配策略。
首先,基于引理1 中傳輸成功率與全局損失衰減的數(shù)學(xué)關(guān)系可知,傳輸成功率對(duì)全局損失衰減的影響呈非線性關(guān)系,即傳輸成功率越大,全局損失衰減的變化越平緩。其次,基于傳輸成功率的定義式(11)可知,由于傳輸成功率與CPU 頻率無關(guān),與發(fā)射成功概率的關(guān)系為負(fù)倒數(shù)的e 指數(shù)分布。在較理想信道條件下,傳輸成功概率在發(fā)送功率一般性取值范圍內(nèi)變化不明顯。因此,在一般條件,發(fā)送功率變化所引起的全局損失衰減的變化不明顯,而CPU 頻率與全局損失衰減無關(guān)。同時(shí),根據(jù)時(shí)延定義式(7)可知,設(shè)備時(shí)延與CPU 頻率和發(fā)送功率均相關(guān),且計(jì)算時(shí)延與CPU 頻率倒數(shù)正相關(guān)。而基于式(23)可知,學(xué)習(xí)效率被定義為全局損失衰減與時(shí)延之比。
綜合上述原因,學(xué)習(xí)效率中時(shí)延Tt比全局損失衰減ΔFt對(duì)CPU 頻率和發(fā)送功率變化更敏感。為降低求解復(fù)雜度,將最大化學(xué)習(xí)效率問題轉(zhuǎn)換為求解最小化時(shí)延問題,以獲得發(fā)送功率向量近似解P*和CPU 頻率向量近似解f*。同時(shí),原設(shè)備資源分配子問題近似為最小化時(shí)延問題后,由于設(shè)備之間沒有耦合關(guān)系,可將問題進(jìn)一步解耦,降低求解難度,可使用多線程并行計(jì)算降低設(shè)備資源分配子問題的求解時(shí)間。具體地,設(shè)備資源分配問題P2.1 為
為求解問題P2.1,本文通過引入引理2 將原問題的求解退化為簡單的一元函數(shù)最值問題。
引理2給定當(dāng)前輪次能耗預(yù)算,如果能耗預(yù)算不支持設(shè)備以最大發(fā)送功率和CPU 頻率運(yùn)行,問題P2.1 最小化時(shí)延的設(shè)備發(fā)送功率和CPU 頻率在不等式約束(24f)取等號(hào)時(shí)獲得,即ei,t=Ei,t,因此發(fā)送功率Pi,t可由能耗預(yù)算Ei,t及CPU 頻率fi,t表示。
證明見附錄2。
基于引理2,本文使用粒子群優(yōu)化算法計(jì)算一元函數(shù)最小值問題,以求解在第t輪能耗預(yù)算下所有設(shè)備和資源塊組合的設(shè)備資源分配策略的近似解,即CPU 頻率向量近似解和發(fā)送功率向量近似解。粒子群優(yōu)化算法相比于其他一些群智能算法更擅長處理連續(xù)變化的變量,且具有良好的全局搜索能力,其固有的并行性可以方便地進(jìn)行分布式計(jì)算,加快求解速度[37],可使用現(xiàn)成的智能優(yōu)化算法庫(例如scikit-opt)求解。粒子群優(yōu)化算法復(fù)雜度為O(pq),其中,p為迭代次數(shù),q為問題規(guī)模。設(shè)備資源分配算法的時(shí)間復(fù)雜度為O(UMpq),其中,U為設(shè)備數(shù)目,M為資源塊數(shù)目,由于不同設(shè)備在不同資源塊下的訓(xùn)練時(shí)延是不耦合的,因此可以分解為多線程并行計(jì)算。
已知能耗預(yù)算和設(shè)備資源分配策略時(shí),通信資源分配問題 P2.2 為
2.2.1 問題分析
將引理1 所述預(yù)期全局損失衰減下限代入式(23),可得學(xué)習(xí)效率At的下限為
聯(lián)立式(30)與問題P2.2,則問題P2.2 更新為
由于電池能量限制,所有設(shè)備每輪均進(jìn)行本地訓(xùn)練會(huì)對(duì)電池壽命造成巨大壓力,因此每輪訓(xùn)練無法獲得所有設(shè)備梯度范數(shù),設(shè)備當(dāng)前輪次的通信資源分配只能結(jié)合之前輪次訓(xùn)練數(shù)據(jù)來完成,因而式(31)中的參數(shù)B在每輪訓(xùn)練前未知。
本文基于歷史數(shù)值對(duì)參數(shù)B進(jìn)行估計(jì)。首先,初始化B=1,即設(shè)備數(shù)據(jù)之間沒有差異。第t輪訓(xùn)練可用全局模型和本地模型梯度范數(shù)計(jì)算Bt,定義。第t輪訓(xùn)練中參數(shù)B使用指數(shù)平滑法估計(jì)為
其中,α是一個(gè)調(diào)整參數(shù),用于調(diào)整估計(jì)值中的最近值和過去值的權(quán)重。
2.2.2 資源塊迭代匹配算法
對(duì)于問題P3 的求解,本文提出一種資源塊迭代匹配算法,首先在全部設(shè)備資源塊組合下求解問題P2.1,根據(jù)獲得的設(shè)備資源分配策略,使用窮舉法列舉所有可能的訓(xùn)練時(shí)延,然后采用Kuhn-Munkres 算法[38](以下簡稱為KM 算法)遍歷求解每種訓(xùn)練時(shí)延下的最優(yōu)通信資源分配策略,即設(shè)備每輪資源塊匹配向量,直至可選設(shè)備數(shù)u少于資源塊數(shù)目M,最后比較獲得所有可能訓(xùn)練時(shí)延下最大化學(xué)習(xí)效率的最優(yōu)解。
KM 算法是一種帶權(quán)重的二分圖匹配算法,根據(jù)式(31),設(shè)置設(shè)備和資源塊二分圖C=(υΩ,ε)每條邊權(quán)重為
其中,Tmax為訓(xùn)練時(shí)延限制。根據(jù)二分圖權(quán)重,可選設(shè)備數(shù)目為
其中,R(·)為0-1 指示函數(shù)。
上述過程的具體步驟如算法 1 所示。
KM 算法的時(shí)間復(fù)雜度為O(U2M)[39],因此本文所提出的資源塊迭代匹配算法時(shí)間復(fù)雜度為O(U3M2),其中,U為設(shè)備數(shù)目,M為資源塊數(shù)目,從表達(dá)式中可以看到,計(jì)算復(fù)雜度與關(guān)鍵變量(即U和M)之間不是呈指數(shù)增長關(guān)系的。此外,通信資源分配是在服務(wù)器端進(jìn)行的,網(wǎng)絡(luò)算力足夠,并且不同時(shí)延限制下的資源塊匹配方案可以分解為多線程并行計(jì)算任務(wù)[40]。
由于長期的能耗預(yù)算限制,若設(shè)備在某輪能耗過高,則該設(shè)備未來可能無法參與聚合,因此為延長電池壽命,本文對(duì)電池能量進(jìn)行分配管理。
同時(shí),為充分利用設(shè)備能量,本文對(duì)每輪調(diào)度設(shè)備進(jìn)行篩選。如果僅依據(jù)每輪學(xué)習(xí)效率進(jìn)行通信資源分配,易造成某些數(shù)據(jù)量較少的設(shè)備長時(shí)間不參與聚合而無法充分利用設(shè)備能量。本文設(shè)置每輪未聚合設(shè)備的分配能量可積累使用,當(dāng)設(shè)備電池能量較少時(shí),可將上一輪時(shí)延最大設(shè)備從該輪可選設(shè)備中去除,由于未聚合設(shè)備能量可積累,后續(xù)訓(xùn)練中該設(shè)備將不再成為時(shí)延瓶頸,因此長期看有利于降低訓(xùn)練時(shí)延,提高學(xué)習(xí)效率。
綜上所述,本文設(shè)計(jì)了一種在線電池能量分配策略。首先,動(dòng)態(tài)估計(jì)訓(xùn)練輪次,并結(jié)合歷史累計(jì)能量,為設(shè)備在線分配能耗預(yù)算。然后,通過上一輪設(shè)備時(shí)延獲得候選設(shè)備集合,根據(jù)候選設(shè)備集合進(jìn)行通信資源分配。最后,在給定通信資源分配策略下,調(diào)整CPU 頻率以節(jié)約能耗。該策略具體描述如下。
首先,根據(jù)剩余訓(xùn)練時(shí)間以及單輪訓(xùn)練時(shí)延來估計(jì)剩余訓(xùn)練輪次。第t輪訓(xùn)練后,初始剩余訓(xùn)練輪次估計(jì)為
其中,Tt為算法1 輸出的第t輪訓(xùn)練時(shí)延,Tsum為已訓(xùn)練時(shí)間。
為使不同輪次估計(jì)的剩余訓(xùn)練輪次保持相對(duì)穩(wěn)定,本文結(jié)合歷史值估計(jì)最終剩余訓(xùn)練輪次為
其中,β是平滑常數(shù),表征了數(shù)值新鮮度的重要性,用于調(diào)整估計(jì)值中的最近值和過去值的權(quán)重。
根據(jù)剩余訓(xùn)練輪次估計(jì)值以及歷史積累能量,可得設(shè)備i第t輪訓(xùn)練能耗預(yù)算為
其次,為充分利用設(shè)備能量,根據(jù)時(shí)延篩選每輪調(diào)度設(shè)備獲得候選設(shè)備集合,進(jìn)行通信資源分配。第t輪訓(xùn)練時(shí),本文放棄選擇第t–1 輪時(shí)延Ti,t?1最大的前N個(gè)設(shè)備,將剩余設(shè)備組成第t輪候選設(shè)備集合Πt,僅為集合Πt中設(shè)備分配通信資源塊。其中,放棄設(shè)備數(shù)目N根據(jù)學(xué)習(xí)效率增大或減小的反饋情況進(jìn)行在線調(diào)整。
第t輪訓(xùn)練時(shí),不同放棄設(shè)備數(shù)目N下的學(xué)習(xí)效率均值為
其中,lN,t′為0-1 變量,lN,t′=1 表示第t′輪訓(xùn)練放棄數(shù)目為N,反之為lN,t′=0。
為獲得合適的候選數(shù)據(jù)集,需動(dòng)態(tài)調(diào)整放棄設(shè)備數(shù)目N。當(dāng)電池能量不足時(shí),即不支持設(shè)備以最大發(fā)送功率和CPU 頻率訓(xùn)練,需要進(jìn)行設(shè)備篩選操作。初始設(shè)置放棄設(shè)備數(shù)目N=1,每經(jīng)過R輪訓(xùn)練后,根據(jù)學(xué)習(xí)效率變化動(dòng)態(tài)調(diào)整放棄設(shè)備數(shù)目N。給定放棄設(shè)備數(shù)目N的跳變閾值?,當(dāng)學(xué)習(xí)效率均值增大量或減少量超過閾值?時(shí),放棄設(shè)備數(shù)目N對(duì)應(yīng)增減。經(jīng)過一段時(shí)間學(xué)習(xí)后,放棄設(shè)備數(shù)目N將趨于穩(wěn)定或者動(dòng)態(tài)穩(wěn)定。
最后,調(diào)整CPU 頻率以節(jié)約能耗?;谒惴?求解第t輪訓(xùn)練通信資源塊匹配向量及訓(xùn)練時(shí)延Tt,為將第t輪訓(xùn)練中參與聚合的設(shè)備時(shí)延對(duì)齊至訓(xùn)練時(shí)間Tt,以消除設(shè)備空閑時(shí)間降低能耗,根據(jù)式(6),設(shè)備i的CPU 頻率調(diào)整為
上述過程的具體步驟如算法2 所示。
電池能量分配主要涉及能耗預(yù)算計(jì)算、可選設(shè)備集合獲取以及CPU 頻率調(diào)整等,每輪訓(xùn)練時(shí)間復(fù)雜度為O(U)。
為驗(yàn)證所提算法性能,本節(jié)在電池供電工業(yè)物聯(lián)網(wǎng)的工廠場(chǎng)景下對(duì)不同聯(lián)邦學(xué)習(xí)算法進(jìn)行仿真對(duì)比分析。
以圖1 為例,考慮一個(gè)100 m×100 m 的工廠環(huán)境,該場(chǎng)景中分布多個(gè)工業(yè)設(shè)備,工廠中心有一個(gè)服務(wù)器進(jìn)行模型聚合。設(shè)備數(shù)目U=15,資源塊數(shù)目M=10,不同資源塊受到的干擾不同,其他仿真參數(shù)設(shè)置如表1 所示。使用MNIST 數(shù)據(jù)集,將訓(xùn)練數(shù)據(jù)以獨(dú)立同分布(IID,independent and identically distributed)方式劃分為每份樣本大小為100 個(gè)數(shù)字的切片數(shù)據(jù)集,不同設(shè)備隨機(jī)分配不同數(shù)量切片。每個(gè)設(shè)備使用所劃分的MNIST 數(shù)據(jù)集訓(xùn)練一個(gè)簡單本地的三層網(wǎng)絡(luò),分別為一個(gè)由512 個(gè)神經(jīng)元組成的隱藏層、一個(gè)由128 個(gè)神經(jīng)元組成的隱藏層以及一個(gè)輸出層,隱藏層使用ReLU 作為激活函數(shù),每經(jīng)過一輪本地訓(xùn)練進(jìn)行一次全局聚合,損失函數(shù)采用交叉熵函數(shù)[34]。
表1 仿真參數(shù)設(shè)置
為了驗(yàn)證本文所提算法的效果,將本文算法與以下基準(zhǔn)算法進(jìn)行仿真對(duì)比。
1)隨機(jī)調(diào)度算法[41]。在每一輪通信中,統(tǒng)一隨機(jī)選擇M個(gè)設(shè)備進(jìn)行參數(shù)更新,每個(gè)選定的設(shè)備隨機(jī)分配一個(gè)資源塊來傳輸訓(xùn)練好的參數(shù)。設(shè)置設(shè)備使用最大功率和CPU 頻率訓(xùn)練,能量耗盡時(shí)設(shè)備停止訓(xùn)練。
2)最大收斂精度算法[34]。文獻(xiàn)[34]推導(dǎo)了預(yù)期收斂速度 E(F(gt+1)?F(g*))的閉式表達(dá)式,其中g(shù)*為在沒有因無線干擾而造成參數(shù)發(fā)送錯(cuò)誤的理想設(shè)置中基于所有本地模型生成的最佳聯(lián)邦學(xué)習(xí)模型,基于最大化收斂精度為目標(biāo)求解設(shè)備選擇和資源塊匹配方案。該方案需要選擇設(shè)備有足夠的能量在整個(gè)聯(lián)邦學(xué)習(xí)迭代過程中傳輸和更新本地模型。設(shè)置設(shè)備使用最大功率和CPU 頻率訓(xùn)練,能量耗盡時(shí)設(shè)備停止訓(xùn)練。
3)最小收斂時(shí)間算法[42]。文獻(xiàn)[42]以最小化訓(xùn)練時(shí)延為優(yōu)化目標(biāo),在每輪訓(xùn)練中基于本地模型梯度大小選擇M個(gè)設(shè)備,對(duì)給定設(shè)備求解最小化時(shí)延的資源塊匹配方案。本文方案不考慮能量限制,設(shè)置設(shè)備使用最大功率和CPU 頻率訓(xùn)練,能量耗盡時(shí)設(shè)備停止訓(xùn)練。
本文設(shè)置總訓(xùn)練時(shí)間為50 s,從大到小依次設(shè)置設(shè)備電池的能耗預(yù)算[6,16,43]分別為50 J、3 J、2 J、1 J,其中50 J 代表電池電量充足,可支持所有設(shè)備始終以最大CPU 頻率和最大發(fā)送功率進(jìn)行訓(xùn)練。
圖2 為50 J 電量下所提算法與基準(zhǔn)算法性能對(duì)比。當(dāng)電池能量充足時(shí),所提算法與基準(zhǔn)算法均能以最大CPU 頻率和最大發(fā)送功率持續(xù)運(yùn)行。從圖2可以看出,所提算法收斂速度快于其他3 種基準(zhǔn)算法,訓(xùn)練時(shí)間足夠長時(shí),所提算法與最大收斂精度算法所獲精度接近。由于所提算法以學(xué)習(xí)效率為優(yōu)化目標(biāo),旨在提高訓(xùn)練速度,因此電池能量充足時(shí),所提算法可以最快速度收斂到最高精度,在訓(xùn)練時(shí)間較小的場(chǎng)景下優(yōu)勢(shì)較明顯。
圖2 50 J 電量下所提算法與基準(zhǔn)算法性能對(duì)比
圖3~圖5 分別為3 J、2 J、1 J 電池電量下所提算法與基準(zhǔn)算法的性能對(duì)比??梢钥闯?,所提算法在前期學(xué)習(xí)速度較慢,后期逐漸超過其他基準(zhǔn)算法,最后收斂到最高精度。這是由于設(shè)置電池電量不能支持設(shè)備持續(xù)以最大CPU 頻率和最大發(fā)送功率運(yùn)行,3 種基準(zhǔn)算法中設(shè)備初期以最大CPU頻率和最大發(fā)送功率運(yùn)行所以學(xué)習(xí)速度大,然而由于沒有進(jìn)行能量管理,后期設(shè)備電池能量提前耗盡而中斷學(xué)習(xí)。與之相反,所提算法初期學(xué)習(xí)速度較慢,但由于對(duì)設(shè)備進(jìn)行能量管理,設(shè)備能夠持續(xù)訓(xùn)練,在訓(xùn)練時(shí)間結(jié)束時(shí)達(dá)到最大學(xué)習(xí)精度。比較圖3~圖5 則可以看出,電池能量越低,所提算法的性能優(yōu)勢(shì)更顯著。電池能量越低,3 種基準(zhǔn)算法中斷學(xué)習(xí)越早,而所提算法由于進(jìn)行能源管理電池能量對(duì)最終學(xué)習(xí)精度影響較小。
圖3 3 J 電量下所提算法與基準(zhǔn)算法性能對(duì)比
圖4 2 J 電量下所提算法與基準(zhǔn)算法性能對(duì)比
圖5 1 J 電量下所提算法與基準(zhǔn)算法性能對(duì)比
為進(jìn)一步分析本文算法在不同電池能量預(yù)算下的性能,本文分析給定訓(xùn)練時(shí)間和能耗預(yù)算下不同算法的訓(xùn)練輪次和參與數(shù)據(jù)數(shù)目,即成功上傳的本地模型所涉及數(shù)字樣本總數(shù)。如圖6 所示,所提算法的訓(xùn)練輪次在電池能量預(yù)算減少時(shí)對(duì)比3 個(gè)基準(zhǔn)算法相對(duì)增加,因此所提算法可以提高設(shè)備存活期限。從圖7 可以看出,在不同電池能量預(yù)算下,所提算法成功參與的樣本數(shù)據(jù)數(shù)目均高于3 個(gè)基準(zhǔn)算法,體現(xiàn)出所提算法在訓(xùn)練量上的提升?;谏鲜鲈u(píng)估指標(biāo),由仿真結(jié)果可知,所提算法可以很好適應(yīng)各種電池能量預(yù)算,尤其在電池能量預(yù)算較低時(shí)性能優(yōu)勢(shì)明顯。
圖6 不同算法的訓(xùn)練輪次對(duì)比
圖7 不同能耗預(yù)算下算法參與數(shù)據(jù)數(shù)目對(duì)比
本文針對(duì)工業(yè)物聯(lián)網(wǎng)下聯(lián)邦學(xué)習(xí)網(wǎng)絡(luò)電池能量和無線資源有限的問題,提出一種資源管理算法,有效提高固定訓(xùn)練時(shí)間下聯(lián)邦學(xué)習(xí)的模型精度。將長期優(yōu)化問題轉(zhuǎn)化為動(dòng)態(tài)優(yōu)化問題,構(gòu)建在線能量分配策略,權(quán)衡設(shè)備的傳輸和計(jì)算能量分配,引入學(xué)習(xí)效率概念,得到能耗預(yù)算下學(xué)習(xí)效率最大化的資源塊匹配向量,并調(diào)整CPU 頻率以節(jié)約能量。仿真結(jié)果表明,與基準(zhǔn)算法相比,所提算法能提高模型學(xué)習(xí)精度,并且在能量短缺情況下學(xué)習(xí)性能優(yōu)勢(shì)顯著。
附錄1 引理1 的證明
對(duì)于聯(lián)邦學(xué)習(xí)算法的理論分析,本文在分析中采用以下典型假設(shè)。
假設(shè)1假設(shè)F(g)滿足L-平滑[21,23]
假設(shè)2假設(shè)IID 數(shù)據(jù)分布下局部梯度間不相似程度有界,局部梯度范數(shù)與全局梯度范數(shù)滿足B-梯度不相似[13,44],局部梯度與全局梯度的不相似關(guān)系為
根據(jù)假設(shè)1 可得預(yù)期全局損失衰減滿足
進(jìn)一步聯(lián)立式(18)和式(29),可得
根據(jù)式(19)和式(20),可得全局梯度與實(shí)際全局梯度之差的范數(shù)平方的均值為
其中,第t輪訓(xùn)練設(shè)備i是否被選中的0-1 變量ai,t以及是否發(fā)送成功的0-1 變量si,t由資源塊匹配向量決定。
進(jìn)一步地,將假設(shè)2 代入式(48),整理可得
聯(lián)立式(45)和式(51),可得預(yù)期全局損失衰減下限為
證畢。
附錄2 引理2 的證明
基于時(shí)延定義式(7)可知,隨著設(shè)備發(fā)送功率或CPU 頻率增大,時(shí)延單調(diào)遞減。
為了證明引理2,只需證明能耗定義式(9)是關(guān)于發(fā)送功率以及CPU 頻率的單調(diào)遞增函數(shù)即可。
由于計(jì)算能耗部分與CPU 頻率的平方成正比,因此能耗定義式(9)是關(guān)于CPU 頻率的單調(diào)遞增函數(shù)。而能耗關(guān)于發(fā)送功率的一階導(dǎo)數(shù)為
由于x>0時(shí),且f(0)=0,因此x>0時(shí)f(x)恒正,進(jìn)一步地,能耗關(guān)于發(fā)送功率的一階導(dǎo)數(shù)在發(fā)送功率Pi,t>0時(shí)恒正,即能耗關(guān)于發(fā)送功率Pi,t單調(diào)遞增。證畢。