本發(fā)明屬于邊緣計算,尤其涉及一種動態(tài)邊緣計算環(huán)境下的分層聯(lián)邦學習優(yōu)化方法。
背景技術(shù):
1、當前分布式機器學習技術(shù)在邊緣計算環(huán)境中的應(yīng)用主要圍繞異構(gòu)性問題和分層結(jié)構(gòu)優(yōu)化展開。主流方法包括自適應(yīng)聚合策略(如drag)、部分模型平均框架、客戶端選擇方案(如聚類采樣)以及異構(gòu)感知調(diào)度機制,這些方法在聯(lián)邦學習等中心化結(jié)構(gòu)中取得了一定成效,但仍存在顯著局限:一方面,它們難以應(yīng)對邊緣設(shè)備數(shù)量龐大導致的中心節(jié)點通信瓶頸問題,且無法充分利用所有邊緣設(shè)備資源;另一方面,現(xiàn)有分層結(jié)構(gòu)研究(如spread、auto-group、hpfl)雖通過分組聚合緩解了非獨立同分布數(shù)據(jù)的影響,卻普遍忽視設(shè)備資源動態(tài)變化的特性。盡管kma和raf算法通過靜態(tài)聚合結(jié)構(gòu)和頻率優(yōu)化提升了訓練效率,但其對設(shè)備狀態(tài)、網(wǎng)絡(luò)帶寬等動態(tài)變化的適應(yīng)性不足,難以在真實邊緣環(huán)境中保持穩(wěn)定性能。
技術(shù)實現(xiàn)思路
1、發(fā)明目的:本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種動態(tài)邊緣計算環(huán)境下的分層聯(lián)邦學習優(yōu)化方法,針對每一輪分層協(xié)同的分布式模型參數(shù)訓練與聚合,執(zhí)行以下步驟:
2、步驟1,通過動態(tài)聚類算法優(yōu)化由終端設(shè)備和聚合節(jié)點組成的參與協(xié)同訓練的設(shè)備聚合拓撲,保持穩(wěn)定設(shè)備關(guān)系的同時適應(yīng)設(shè)備變化;所述終端設(shè)備包括智能手機、物聯(lián)網(wǎng)終端;所述節(jié)點包括邊緣服務(wù)器、網(wǎng)關(guān);
3、步驟2,基于歷史性能數(shù)據(jù)預測并推薦最優(yōu)訓練頻率,實現(xiàn)資源感知的自適應(yīng)訓練調(diào)度;
4、步驟3,設(shè)備根據(jù)自身資源狀況動態(tài)調(diào)整訓練輪次,平衡訓練強度與時間效率;
5、步驟4,建立分層超時容錯機制,在保證訓練連續(xù)性的同時處理異常設(shè)備狀況。
6、步驟1包括:
7、步驟1-1,基于動態(tài)聚類算法優(yōu)化設(shè)備聚合拓撲,按預訓練精度和通信延遲最小化原則對邊緣設(shè)備進行聚類劃分;
8、所述動態(tài)聚類算法包括以下步驟:計算設(shè)備間預訓練精度差異與通信延遲;以最小化聚類內(nèi)通信延遲總和為目標選擇中心節(jié)點;優(yōu)先將新設(shè)備分配至預訓練精度差異優(yōu)化量最大的聚類;
9、選擇聚合不同設(shè)備的公式為:
10、,
11、其中是第層的第個聚類,,,中包含若干個節(jié)點,在中的節(jié)點的共同的聚合節(jié)點為,是中心節(jié)點;n是指包含的邊緣設(shè)備數(shù),和分別是第個設(shè)備在第層的節(jié)點表示和第個設(shè)備在第層的節(jié)點表示,同一個設(shè)備可在不同層作為節(jié)點;h是聚合結(jié)構(gòu)的總層數(shù),是指和的通信距離,是指第個設(shè)備的預訓練精度,是指第層的第個聚類的平均預訓練精度,是指權(quán)重系數(shù),用以平衡預訓練精度差異與通信延遲之間的計算權(quán)重;
12、步驟1-2,在每輪訓練結(jié)束后、下一輪訓練開始前,動態(tài)調(diào)整聚合結(jié)構(gòu):當?shù)谳営柧毻瓿汕腋酆瞎?jié)點將訓練得到的模型參數(shù)(包括但不限于神經(jīng)網(wǎng)絡(luò)權(quán)重、偏置等可訓練參數(shù))發(fā)送至負責協(xié)調(diào)訓練流程的中心管理單元的控制節(jié)點后,控制節(jié)點比較第輪(第輪的設(shè)備是指滿足以下條件的邊緣設(shè)備:1、當前在線且網(wǎng)絡(luò)可達;2、存儲空間充足;3、計算資源滿足最低訓練要求)與第輪的設(shè)備集合:如果設(shè)備無變化,則保持聚合結(jié)構(gòu)不變;否則,統(tǒng)計退出設(shè)備集合和新加入設(shè)備集合,并基于如下公式生成下一輪聚合結(jié)構(gòu):
13、第輪訓練的樹形結(jié)構(gòu)為:
14、,
15、其中表示第輪訓練的樹形結(jié)構(gòu);
16、步驟1-3,刪除離開設(shè)備的聚合結(jié)構(gòu):對于離開設(shè)備,獲取設(shè)備在聚合結(jié)構(gòu)中的最高出現(xiàn)層,如果=0,則直接移除設(shè)備在第0層的節(jié)點;如果,則從第0層至第層,將設(shè)備在層對應(yīng)節(jié)點表示標記為,并更新相關(guān)聚類中心節(jié)點;表示設(shè)備刪除后產(chǎn)生的空缺標記;
17、步驟1-4,增添新加入設(shè)備的聚合結(jié)構(gòu):對于新加入設(shè)備,遍歷第0層所有聚類,計算設(shè)備加入各聚類后對聚類平均預訓練精度的優(yōu)化增益,并選擇增益最大的聚類進行加入,如果存在聚類為空,,則的平均預訓練精度設(shè)為0或負值,確保新設(shè)備優(yōu)先填充空聚類;
18、步驟1-5,補充空缺聚合節(jié)點的聚合結(jié)構(gòu)調(diào)整方法:
19、自底向上逐層檢測空缺聚合節(jié)點,如果聚類的中心節(jié)點為空缺狀態(tài),則基于動態(tài)聚類算法重新選擇中心設(shè)備,并同步更新各層關(guān)聯(lián)節(jié)點。
20、步驟1-3中,所述刪除離開設(shè)備的聚合結(jié)構(gòu)的方法包括分層節(jié)點刪除機制和空缺標記機制,公式為:
21、,
22、,
23、其中,表示第0層第個聚類集合,為設(shè)備在第0層的訓練節(jié)點,表示集合差運算,表示狀態(tài)轉(zhuǎn)換,即如果左側(cè)條件成立,則執(zhí)行右側(cè)操作,表示將右側(cè)值賦值給左側(cè)值。
24、步驟1-4中,所述增添新加入設(shè)備的聚合結(jié)構(gòu)的方法包括:通過預訓練精度差異計算、最優(yōu)聚類選擇,以及空聚類特殊處理來實現(xiàn)設(shè)備的最優(yōu)聚類分配;
25、所述預訓練精度差異計算的公式為:
26、,
27、其中,為預訓練精度差異,為設(shè)備加入前的聚類的平均預訓練精度,為設(shè)備加入后的聚類的平均預訓練精度,為全局平均預訓練精度;
28、所述最優(yōu)聚類選擇的計算公式為:
29、,
30、其中為使得的預訓練精度差異最大的聚類索引;
31、所述空聚類特殊處理的計算公式為:
32、如果,則設(shè)定:,
33、其中為預設(shè)的負值常數(shù),,確??站垲悆?yōu)先被分配新設(shè)備。
34、步驟1-5包括:通過對中心節(jié)點進行重選以及對離開設(shè)備進行空缺標記,實現(xiàn)空缺節(jié)點的動態(tài)補充;
35、采用如下公式對中心節(jié)點進行重選:
36、?,
37、其中為新加入的設(shè)備作為被新選中的中心節(jié)點在第層的節(jié)點表示;
38、采用如下公式對離開設(shè)備進行空缺標記:
39、?,
40、當時,執(zhí)行跨層同步更新:
41、,
42、其中,是指在第層處的第個聚類;和分別是第個設(shè)備在第層的節(jié)點表示和第個設(shè)備在第層的節(jié)點表示。
43、步驟2包括:
44、步驟2-1,聚合節(jié)點收集各子節(jié)點的模型參數(shù),同時統(tǒng)計各子節(jié)點在本次聚合中消耗的時間、模型下發(fā)傳輸時間、模型上傳傳輸時間、本次實際聚合頻率,計算各子節(jié)點在本次聚合中的平均每次訓練或聚合的計算時間和聚合節(jié)點在第次聚合所消耗的實際計算時間;
45、隨后,采用指數(shù)平滑的方法預測出各個節(jié)點在第次聚合中的平均計算時間、模型下發(fā)傳輸時間和模型上傳傳輸時間,并預測各子節(jié)點在第次聚合中的總傳輸時間;
46、其中,采用如下公式計算各子節(jié)點在本次聚合中的平均每次訓練或聚合的計算時間:
47、;
48、采用如下公式計算聚合節(jié)點在第次聚合所消耗的實際計算時間:
49、;
50、采用如下公式預測各子節(jié)點在第次聚合中的總傳輸時間:
51、;
52、步驟2-2,通過實際計算時間預測第次聚合的計算時間;如果本次(第次)聚合是第1次聚合或由于聚合結(jié)構(gòu)調(diào)整導致當前被預測的節(jié)點是新出現(xiàn)的聚合節(jié)點,此時為空值none(即無歷史數(shù)據(jù)狀態(tài)),將實際計算時間作為預測下一次的計算時間:如果并非空值none,且小于等于,則仍然使用上次預測的計算時間作為下次的預測計算時間,如果大于,則將設(shè)置為與的較小值;當大于時,的計算公式為:
53、,
54、其中為緩慢增長比率,可設(shè)置為一個略大于1.0的數(shù);
55、步驟2-3,根據(jù)預計聚合計算時間減去預測子節(jié)點的傳輸時間,得到推薦子節(jié)點的計算時間,隨后再將除以預測子節(jié)點的平均計算時間并向下取整,得到推薦子節(jié)點的聚合頻率;
56、步驟2-4,基于剩余時間的頻率分配策略,在動態(tài)聚合頻率調(diào)整中,每個子節(jié)點首先執(zhí)行一次本地更新,記錄本次更新的耗時間,并累計總計算時間?和更新次數(shù)?(即當前聚合頻率);隨后,通過指數(shù)平滑的方法預測下次更新的時間?,進而預測更新后的總時間?;子節(jié)點根據(jù)當前更新次數(shù)與推薦聚合頻率的關(guān)系決定是否繼續(xù)更新;
57、其中,更新后的總時間?的計算公式為:
58、,
59、在所述子節(jié)點根據(jù)當前更新次數(shù)與推薦聚合頻率的關(guān)系決定是否繼續(xù)更新中,所述子節(jié)點執(zhí)行以下判斷步驟:
60、當檢測到當前實際更新次數(shù)小于推薦聚合頻率時,進一步驗證預測總時間是否滿足第一條件:,如果滿足第一條件,則控制子節(jié)點繼續(xù)執(zhí)行模型更新操作;
61、當檢測到當前實際更新次數(shù)達到或超過推薦聚合頻率時,驗證預測總時間是否滿足第二條件:,僅當?shù)诙l件成立時,才允許子節(jié)點執(zhí)行額外的模型更新操作;
62、所述子節(jié)點根據(jù)當前更新次數(shù)與推薦聚合頻率的關(guān)系決定是否繼續(xù)更新的算法公式為:
63、,
64、其中,是一個布爾變量,用于判斷子節(jié)點是否繼續(xù)執(zhí)行下一次模型更新;為適當超時比率,,為預防超時比率,。
65、步驟2-1和步驟2-4中,所述指數(shù)平滑的方法的公式為:
66、,
67、其中為預測的第次的時間,為預測的第次更新的時間,為指數(shù)平滑系數(shù)。
68、步驟2-4中,所述基于剩余時間的頻率分配策略的公式為:
69、?,
70、,
71、其中,為預計聚合計算時間,為預測子節(jié)點的傳輸時間,為推薦子節(jié)點的計算時間,為預測子節(jié)點的平均計算時間,為推薦子節(jié)點的聚合頻率。
72、步驟3包括;
73、步驟3-1,初始構(gòu)建聚合結(jié)構(gòu)后,設(shè)置所有子節(jié)點的推薦聚合頻率,推薦計算時間,按照步驟2-3的方法為子節(jié)點推薦聚合頻率和計算時間;在子節(jié)點的后續(xù)更新過程中,按照步驟2-3的方法自適應(yīng)地調(diào)整自身的聚合頻率;
74、步驟3-2,對于第輪訓練,按照步驟1將聚合結(jié)構(gòu)從調(diào)整為后,對于調(diào)整過程中被刪除的父子關(guān)系,將聚合節(jié)點對子節(jié)點的推薦聚合頻率和計算時間也刪除;
75、步驟3-3,對于調(diào)整過程中沒有被改變的父子關(guān)系,仍然保留父節(jié)點和子節(jié)點相應(yīng)的推薦聚合頻率和計算時間,并依據(jù)推薦聚合頻率和計算時間進行下一輪的訓練;對于調(diào)整過程中新增的父子關(guān)系,設(shè)置所有子節(jié)點的推薦聚合頻率,推薦計算時間,在子節(jié)點沒有收到聚合節(jié)點推薦的聚合頻率和計算時間前,僅更新(訓練或聚合)一次后就上傳數(shù)據(jù)。
76、步驟4包括:
77、當節(jié)點在第次聚合等待的過程中,使用該節(jié)點的計算預測時間作為標準,設(shè)置一個超時放棄比率,,將超時放棄閾值設(shè)置為;當聚合節(jié)點等待超過的時間仍然未收到故障子節(jié)點(指某些因網(wǎng)絡(luò)超時等原因而無法上傳參數(shù)的子節(jié)點)的參數(shù)數(shù)據(jù),則放棄繼續(xù)等待,只使用已收到的各個子節(jié)點訓練好的模型參數(shù)數(shù)據(jù)進行聚合和后續(xù)操作;
78、其中,所述超時放棄閾值的計算公式為:
79、。
80、本發(fā)明具有如下有益效果:(1)本發(fā)明提出的動態(tài)自適應(yīng)的分層聚合頻率調(diào)整方法通過實時監(jiān)測各子節(jié)點的計算時間、傳輸時間和聚合頻率,并采用指數(shù)平滑預測技術(shù)動態(tài)調(diào)整聚合策略,有效優(yōu)化了邊緣計算環(huán)境下的分布式模型訓練效率。與傳統(tǒng)的固定聚合頻率方法相比,該方法能夠根據(jù)設(shè)備計算能力和網(wǎng)絡(luò)條件的動態(tài)變化自適應(yīng)調(diào)整聚合節(jié)奏,顯著減少計算資源浪費和通信瓶頸問題,提升模型訓練的整體效率,尤其適用于計算能力異構(gòu)、網(wǎng)絡(luò)波動頻繁的邊緣計算場景。此外,本發(fā)明結(jié)合指數(shù)平滑預測和動態(tài)閾值控制機制,在保證模型收斂速度的同時,避免了因設(shè)備性能差異導致的訓練延遲問題。
81、(2)本發(fā)明提出的基于預測的聚合頻率推薦機制通過計算各子節(jié)點的推薦聚合頻率(),并結(jié)合超時預防策略(和),動態(tài)決定是否繼續(xù)本地更新或觸發(fā)聚合。相較于傳統(tǒng)的均勻聚合策略,該方法能夠根據(jù)設(shè)備計算負載和通信延遲智能調(diào)整聚合節(jié)奏,既充分利用了高性能設(shè)備的計算能力,又避免了低速設(shè)備成為訓練瓶頸。該機制通過動態(tài)平衡計算和通信開銷,顯著提升了資源利用率,減少了模型訓練的整體耗時,特別適用于非獨立同分布(non-iid)數(shù)據(jù)環(huán)境下的分布式學習任務(wù)。
82、(3)本發(fā)明提出的動態(tài)聚合時間預測與調(diào)整方法通過引入緩慢增長比率()和指數(shù)平滑預測技術(shù),確保聚合時間的合理增長,避免因突發(fā)性計算或通信延遲導致的訓練不穩(wěn)定問題。相較于靜態(tài)聚合時間策略,該方法能夠適應(yīng)邊緣設(shè)備的動態(tài)性能變化,在保證訓練穩(wěn)定性的同時,最大化聚合效率。該方法特別適用于大規(guī)模邊緣計算集群,能夠有效降低中心節(jié)點的負載壓力,提高分布式模型訓練的可擴展性和魯棒性。
83、(4)本發(fā)明提出的基于實時監(jiān)測的自適應(yīng)聚合決策機制通過持續(xù)跟蹤各子節(jié)點的計算時間()、傳輸時間(、)和聚合頻率(),并結(jié)合預測模型動態(tài)調(diào)整訓練策略,確保訓練過程的高效性和穩(wěn)定性。相較于傳統(tǒng)方法中依賴固定閾值或經(jīng)驗值的做法,該機制能夠根據(jù)實時運行狀態(tài)做出最優(yōu)決策,有效減少訓練過程中的資源浪費和通信沖突,為動態(tài)邊緣計算環(huán)境下的分布式機器學習提供了高效、可靠的解決方案。