本發明屬于人工智能,具體涉及一種基于條件生成對抗網絡處理聯邦學習數據異質的方法。
背景技術:
1、隨著物聯網設備的廣泛部署,人們對數據隱私和信息安全的關注日益增加。作為一種新興的分布式機器學習技術,聯邦學習旨在解決數據泄漏和隱私保護問題。聯邦學習已在涉及敏感數據的多個場景中得到廣泛應用,例如在醫療保健領域訓練診斷模型和在金融領域預測股票風險。在這些場景中,患者和用戶數據是機密的,無法共享。
2、研究表明,在獨立同分布數據條件下,聯邦學習訓練的模型在所有客戶端上表現優異。然而,在實際應用中,聯邦學習的全局模型是基于各個客戶端的數據集上的本地模型訓練的。不同客戶端的數據存在不一致,導致整體數據分布在各客戶端之間不均衡。這種差異使得本地模型的優化趨向于局部最優而非全局最優,導致模型在本地數據集上表現良好,但在其他客戶端的數據上表現不佳。因此,全局模型的效果會有所下降。因此,在非獨立同分布數據條件下,如何開發一種能夠訓練出具有強泛化能力的高性能全局模型的聯邦學習框架,成為一項關鍵挑戰。
3、為解決非獨立同分布條件下聯邦模型訓練的不穩定性及數據隱私保護問題,已經提出了多種方法,包括聚合算法優化,差分隱私,數據增強,和數據共享。其中,處理非獨立同分布數據的最直接方法是通過生成新數據,將原始數據轉換為獨立同分布。在這一背景下,生成對抗網絡被證明是一種強大且可行的模型。通過生成器和鑒別器之間的對抗訓練,生成對抗網絡能夠迭代改進以滿足任務需求。然而,生成對抗網絡對訓練數據的質量和多樣性高度依賴,而這是聯邦學習通常缺乏的。因此,在非獨立同分布的聯邦環境中,生成對抗網絡往往不穩定,容易遇到模式崩潰、梯度消失和過擬合等問題。因此,亟需提供一種對抗網絡處理聯邦學習非獨立同分布數據方法,以改善上述缺陷。
技術實現思路
1、為了解決現有技術中存在的上述問題,本發明提供了一種基于條件生成對抗網絡處理聯邦學習數據異質的方法。本發明要解決的技術問題通過以下技術方案實現:
2、第一方面,本發明提供一種基于條件生成對抗網絡處理聯邦學習數據異質的方法,包括:
3、全局服務器對初始的全局模型參數進行加密,得到第一加密數據,并發送至各個客戶端;
4、各個客戶端對第一加密數據進行解密,將得到的初始的全局模型參數作為各個客戶端的初始的本地模型的初始參數,并使用各自的本地數據集對初始的本地模型進行訓練,生成本地模型參數,構建各個客戶端的本地模型,并對各個客戶端的本地模型參數加密,得到第二加密數據,發送至全局服務器;
5、全局服務器對第二加密數據進行解密,根據各個客戶端的本地模型參數,獲取各個客戶端缺失數據樣本類別對應的合適的生成器參數,并進行加密,得到第三加密數據,發送至各個客戶端;
6、各個客戶端對第三加密數據進行解密,將得到的合適的生成器參數作為本地模型的生成器參數,以生成缺失數據樣本,補充至本地訓練數據集,使用補充后的本地訓練數據集對本地模型進行訓練,生成更新的本地模型參數,并進行加密,得到第四加密數據,并發送至全局服務器;
7、全局服務器對第四加密數據進行解密,將各個客戶端的更新的本地模型參數進行聚合,得到更新的全局模型參數,直至全局服務器得到具有所有客戶端的數據特征的全局模型。
8、本發明的有益效果:
9、本發明提供的一種基于條件生成對抗網絡處理聯邦學習數據異質的方法,第一階段,考慮到客戶端數據集的異質性對于局部模型訓練的影響,在各個局部模型訓練的時候為不同類別的樣本數據設置不同的損失計算權重占比,并通過服務器為不同的客戶端分配最合適的生成器,補充本地所缺失的數據樣本,構建完整的本地數據集。第二階段在服務器端模型聚合時,依據時間因子,動態調整不同的客戶端在模型聚合時候的貢獻占比。通過這兩階段式訓練的結合,在非獨立同分布數據條件下顯著提升了生成對抗網絡的訓練穩定性,有效解決了現有方法中模型易出現的模式崩潰和梯度消失問題。同時,本發明在保障客戶端數據隱私的前提下,提高了全局模型的泛化能力,實現了更優的性能表現。
10、以下將結合附圖及實施例對本發明做進一步詳細說明。
1.一種基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,包括:
2.根據權利要求1所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,所述本地模型和所述全局模型均為條件生成對抗網絡,所述條件生成對抗網絡包括鑒別器和生成器。
3.根據權利要求1所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,還包括:各個客戶端分別生成各自的第一密鑰,所述第一密鑰包括私鑰和公鑰,各個客戶端將各自的所述第一密鑰的公鑰發送至所述全局服務器,所述全局服務器使用所述第一密鑰的公鑰對發送至所述各個客戶端的數據進行加密,得到加密數據,所述各個客戶端使用各自的所述第一密鑰的私鑰對來自所述全局服務器的加密數據進行解密;
4.根據權利要求1所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,所述各個客戶端的本地數據集的獲取過程包括:
5.根據權利要求1所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,所述各個客戶端對所述第一加密數據進行解密,將得到的所述初始的全局模型參數作為各個客戶端的初始的本地模型的初始參數,并使用各自的本地數據集對所述初始的本地模型進行訓練,生成本地模型參數,構建各個客戶端的本地模型,包括:
6.根據權利要求5所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,還包括:根據各個客戶端的本地數據集中的真實數據樣本的類別差異,獲取損失函數的權重wy~{w1,...,wl},其表達式為:
7.根據權利要求1所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,所述全局服務器對所述第二加密數據進行解密,根據各個客戶端的本地模型參數,獲取各個客戶端的合適的生成器參數,包括:
8.根據權利要求1所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,所述各個客戶端對所述第三加密數據進行解密,將得到的所述合適的生成器參數作為本地模型的生成器參數,以生成缺失數據樣本,補充至本地訓練數據集,使用補充后的本地訓練數據集對本地模型進行訓練,生成更新的本地模型參數,包括:
9.根據權利要求1所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,所述全局服務器對所述第四加密數據進行解密,將各個客戶端的更新的本地模型參數進行聚合,得到更新的全局模型,包括:
10.根據權利要求9所述的基于條件生成對抗網絡處理聯邦學習數據異質的方法,其特征在于,所述動態控制參數λ(t)的表達式為: