本發(fā)明涉及機(jī)器學(xué)習(xí),尤其涉及一種虛擬客戶端點(diǎn)對點(diǎn)交互方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、聯(lián)邦學(xué)習(xí)(fl)作為一種新興的分布式機(jī)器學(xué)習(xí)技術(shù),通過在不共享本地數(shù)據(jù)的情況下實現(xiàn)協(xié)作模型訓(xùn)練,為數(shù)據(jù)隱私保護(hù)提供了解決方案。然而,由于分布在不同數(shù)據(jù)孤島中的數(shù)據(jù)存在異構(gòu)性,聯(lián)邦學(xué)習(xí)模型的性能通常不如集中式方法。其中,標(biāo)簽分布不均衡是一個常見問題。當(dāng)某些數(shù)據(jù)孤島中某些標(biāo)簽的樣本數(shù)量占主導(dǎo)地位,而其他孤島幾乎沒有該標(biāo)簽的樣本時,模型性能往往顯著下降
2、雖然,當(dāng)前提出了多種方法應(yīng)對聯(lián)邦學(xué)習(xí)中的數(shù)據(jù)不均衡問題。例如:對比學(xué)習(xí)技術(shù)、梯度裁剪技術(shù)、知識蒸餾技術(shù)和數(shù)據(jù)集壓縮與增強(qiáng)技術(shù)等。但是,這些技術(shù)都是基于參數(shù)服務(wù)器(ps)通信網(wǎng)絡(luò),通過在每輪訓(xùn)練中發(fā)送全局模型到本地客戶端,再聚合更新后的模型權(quán)重生成新的全局模型。然而,這類技術(shù)缺乏對數(shù)據(jù)分布的靈活利用,并且通信效率存在瓶頸。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種虛擬客戶端點(diǎn)對點(diǎn)交互方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì),以解決上述現(xiàn)有技術(shù)中存在的至少一個問題。
2、第一方面,本申請實施例提供了一種虛擬客戶端點(diǎn)對點(diǎn)交互方法,包括如下步驟:
3、獲取全局?jǐn)?shù)據(jù)元信息,并根據(jù)所述全局?jǐn)?shù)據(jù)元信息構(gòu)建全局均衡分布藍(lán)圖,所述全局均衡分布藍(lán)圖反映所有標(biāo)簽或者偽標(biāo)簽的實例數(shù)量在全局?jǐn)?shù)據(jù)中的比例;
4、初始化虛擬客戶端,并確定每個所述虛擬客戶端對應(yīng)的通信條件閾值;
5、基于所述通信條件閾值,各真實客戶端點(diǎn)對點(diǎn)傳輸模型參數(shù)以及前向計算所有實例的累計損失函數(shù)值;
6、當(dāng)跨真實客戶端收集實例滿足所述全局均衡分布藍(lán)圖時,跨真實客戶端建立目標(biāo)虛擬客戶端;
7、通過所述目標(biāo)虛擬客戶端基于所述累計損失函數(shù)值反向計算梯度,以對模型參數(shù)進(jìn)行迭代更新,直至模型收斂。
8、在一實施例中,所述基于所述通信條件閾值,各真實客戶端點(diǎn)對點(diǎn)傳輸模型參數(shù)以及前向計算所有實例的累計損失函數(shù)值,包括:
9、各真實客戶端分別對各自的本地模型進(jìn)行訓(xùn)練,得到模型參數(shù)以及前向計算所有實例的累計損失函數(shù)值;
10、基于所述通信條件閾值,各所述真實客戶端將各自訓(xùn)練得到的所述模型參數(shù)以及累計損失函數(shù)值發(fā)送給相鄰的真實客戶端。
11、在一實施例中,所述基于所述通信條件閾值,各所述真實客戶端將各自訓(xùn)練得到的所述模型參數(shù)以及累計損失函數(shù)值發(fā)送給相鄰的真實客戶端,包括:
12、當(dāng)從所述真實客戶端上采樣每個標(biāo)簽實例的數(shù)量大于所述通信條件閾值時,所述真實客戶端將訓(xùn)練得到的所述模型參數(shù)以及累計損失函數(shù)值發(fā)送給相鄰的真實客戶端。
13、在一實施例中,所述通過所述目標(biāo)虛擬客戶端基于所述累計損失函數(shù)值反向計算梯度,以對模型參數(shù)進(jìn)行迭代更新,直至模型收斂,包括:
14、步驟a:所述目標(biāo)虛擬客戶端基于所述累計損失函數(shù)值反向計算梯度,得到梯度信息;
15、步驟b:基于所述梯度信息,對所述模型參數(shù)進(jìn)行更新,得到新的模型參數(shù);
16、步驟c:對所有新的模型參數(shù)進(jìn)行聚合,得到全局模型參數(shù);
17、步驟d:將所述全局模型參數(shù)發(fā)送給真實客戶端,以使所述真實客戶端基于所述全局模型參數(shù)進(jìn)行訓(xùn)練,得到本次迭代過程生成的模型參數(shù)以及累計損失值,重復(fù)上述步驟a-c,直至模型收斂。
18、在一實施例中,所述對所有新的模型參數(shù)進(jìn)行聚合,得到全局模型參數(shù),包括:
19、將所述所有新的模型參數(shù)按照實例數(shù)量進(jìn)行加權(quán)平均,得到所述全局模型參數(shù)。
20、在一實施例中,所述全局均衡分布藍(lán)圖表示為:
21、
22、其中,|pc|表示整個數(shù)據(jù)集中屬于標(biāo)簽c的實例的比例,gc表示標(biāo)簽c實例數(shù)量比例的權(quán)重。
23、在一實施例中,所述通信條件閾值表示為:
24、
25、其中,m是預(yù)先設(shè)置的虛擬客戶端數(shù)量,|sr|是整個數(shù)據(jù)集的實例數(shù)量,ξc代表關(guān)于標(biāo)簽c的閾值,ε用來控制滿足閾值ξc的放松程度,該值越大,代表對閾值ξc的放松程度越高。
26、第二方面,提供了一種虛擬客戶端點(diǎn)對點(diǎn)交互裝置,包括:
27、全局均衡分布藍(lán)圖構(gòu)建單元,用于獲取全局?jǐn)?shù)據(jù)元信息,并根據(jù)所述全局?jǐn)?shù)據(jù)元信息構(gòu)建全局均衡分布藍(lán)圖,所述全局均衡分布藍(lán)圖反映所有標(biāo)簽或者偽標(biāo)簽的實例數(shù)量在全局?jǐn)?shù)據(jù)中的比例;
28、通信條件閾值確定單元,用于初始化虛擬客戶端,并確定每個所述虛擬客戶端對應(yīng)的通信條件閾值;
29、信息傳輸單元,用于基于所述通信條件閾值,各真實客戶端點(diǎn)對點(diǎn)傳輸模型參數(shù)以及前向計算所有實例的累計損失函數(shù)值;
30、目標(biāo)虛擬客戶端建立單元,用于當(dāng)跨真實客戶端收集實例滿足所述全局均衡分布藍(lán)圖時,跨真實客戶端建立目標(biāo)虛擬客戶端;
31、模型更新單元,用于通過所述目標(biāo)虛擬客戶端基于所述累計損失函數(shù)值反向計算梯度,以對模型參數(shù)進(jìn)行迭代更新,直至模型收斂。
32、第三方面,提供了一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并在所述處理器上運(yùn)行的計算機(jī)可讀指令,所述處理器執(zhí)行所述計算機(jī)可讀指令時實現(xiàn)如上述所述虛擬客戶端點(diǎn)對點(diǎn)交互方法。
33、第四方面,提供了一種可讀存儲介質(zhì),其上存儲有計算機(jī)可讀指令,,所述計算機(jī)可讀指令被處理器執(zhí)行時實現(xiàn)如上述所述虛擬客戶端點(diǎn)對點(diǎn)交互方法。
34、上述虛擬客戶端點(diǎn)對點(diǎn)交互方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì),其方法實現(xiàn),包括:獲取全局?jǐn)?shù)據(jù)元信息,并根據(jù)所述全局?jǐn)?shù)據(jù)元信息構(gòu)建全局均衡分布藍(lán)圖,所述全局均衡分布藍(lán)圖反映所有標(biāo)簽或者偽標(biāo)簽的實例數(shù)量在全局?jǐn)?shù)據(jù)中的比例;初始化虛擬客戶端,并確定每個所述虛擬客戶端對應(yīng)的通信條件閾值;基于所述通信條件閾值,各真實客戶端點(diǎn)對點(diǎn)傳輸模型參數(shù)以及前向計算所有實例的累計損失函數(shù)值;當(dāng)跨真實客戶端收集實例滿足所述全局均衡分布藍(lán)圖時,跨真實客戶端建立目標(biāo)虛擬客戶端;通過所述目標(biāo)虛擬客戶端基于所述累計損失函數(shù)值反向計算梯度,以對模型參數(shù)進(jìn)行迭代更新,直至模型收斂。本申請實施例中,引入了虛擬客戶端機(jī)制,動態(tài)選擇本地數(shù)據(jù)集的部分樣本用于神經(jīng)網(wǎng)絡(luò)前向計算,并計算累積損失值,而實際數(shù)據(jù)仍存儲在真實客戶端中。虛擬客戶端與真實客戶端協(xié)同工作,使得局部訓(xùn)練更貼近全局?jǐn)?shù)據(jù)分布。而且在訓(xùn)練過程中,將神經(jīng)網(wǎng)絡(luò)前向計算與后向計算解耦。通過在神經(jīng)網(wǎng)絡(luò)前向計算中設(shè)置通信條件閾值,確保本地訓(xùn)練滿足全局分布需求后再執(zhí)行后向計算??杀苊鈹?shù)據(jù)泄露問題,保持了數(shù)據(jù)的安全性。有效緩解了數(shù)據(jù)不平衡問題,顯著提高了模型的穩(wěn)定性和準(zhǔn)確性。將虛擬客戶端控制的全局分布感知數(shù)據(jù)集集成到訓(xùn)練步驟后,不僅提升了模型的收斂性能,還增強(qiáng)了其對極端不平衡數(shù)據(jù)場景的適應(yīng)能力。此外,通過對數(shù)據(jù)進(jìn)行動態(tài)調(diào)整和聚類分析,可以更好地捕捉了不同場景下的特征分布,從而進(jìn)一步提高了預(yù)測的可靠性。
1.一種虛擬客戶端點(diǎn)對點(diǎn)交互方法,其特征在于,所述方法,包括:
2.如權(quán)利要求1所述的虛擬客戶端點(diǎn)對點(diǎn)交互方法,其特征在于,所述基于所述通信條件閾值,各真實客戶端點(diǎn)對點(diǎn)傳輸模型參數(shù)以及前向計算所有實例的累計損失函數(shù)值,包括:
3.如權(quán)利要求2所述的虛擬客戶端點(diǎn)對點(diǎn)交互方法,其特征在于,所述基于所述通信條件閾值,各所述真實客戶端將各自訓(xùn)練得到的所述模型參數(shù)以及累計損失函數(shù)值發(fā)送給相鄰的真實客戶端,包括:
4.如權(quán)利要求1所述的虛擬客戶端點(diǎn)對點(diǎn)交互方法,其特征在于,所述通過所述目標(biāo)虛擬客戶端基于所述累計損失函數(shù)值反向計算梯度,以對模型參數(shù)進(jìn)行迭代更新,直至模型收斂,包括:
5.如權(quán)利要求4所述的虛擬客戶端點(diǎn)對點(diǎn)交互方法,其特征在于,所述對所有新的模型參數(shù)進(jìn)行聚合,得到全局模型參數(shù),包括:
6.如權(quán)利要求1所述的虛擬客戶端點(diǎn)對點(diǎn)交互方法,其特征在于,所述全局均衡分布藍(lán)圖表示為:
7.如權(quán)利要求1所述的虛擬客戶端點(diǎn)對點(diǎn)交互方法,其特征在于,所述通信條件閾值表示為:
8.一種虛擬客戶端點(diǎn)對點(diǎn)交互裝置,其特征在于,所述裝置,包括:
9.一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并在所述處理器上運(yùn)行的計算機(jī)可讀指令,其特征在于,所述處理器執(zhí)行所述計算機(jī)可讀指令時實現(xiàn)如權(quán)利要求1至7任一項所述虛擬客戶端點(diǎn)對點(diǎn)交互方法。
10.一種可讀存儲介質(zhì),其上存儲有計算機(jī)可讀指令,其特征在于,所述計算機(jī)可讀指令被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至7任一項所述虛擬客戶端點(diǎn)對點(diǎn)交互方法。