本申請屬于聯邦學習領域,尤其涉及一種多方聯合建模方法、裝置、設備及存儲介質。
背景技術:
1、聯邦學習本質上是一種分布式機器學習技術,或機器學習框架,聯邦學習的目標是在保證數據隱私安全及合法合規的基礎上,多個參與方進行聯合建模,建立一個通用的模型,提升人工智能模型的效果。
2、聯合建模的過程如下:
3、1、模型匯總節點將模型算法發布至每一個聯合建模的參與方;
4、2、每個參與方通過本地數據,利用加密算法及模型算法,在梯度交換過程中,不斷優化本地模型,將本地模型參數上傳至模型匯總節點;
5、3、模型匯總節點接收到全部參與方的模型參數,進行模型匯總,得到更新后的模型參數,將更新后的模型參數發送至每一個參與方;
6、4、經過預設次數的迭代,得到最終模型。
7、在建模過程中,模型匯總節點需要與所有參與方不斷地進行梯度交換,進而通信頻次較多,建模時間較長,導致建模效率低。
技術實現思路
1、本申請實施例提供一種多方聯合建模方法、裝置、設備及存儲介質,能夠縮短建模時間,提升建模效率。
2、第一方面,本申請實施例提供一種多方聯合建模方法,方法包括:
3、接收參與聯合建模的多個第一參與方分別發送的第一模型參數;第一模型參數是每個第一參與方基于自身的訓練數據進行模型訓練得到的模型參數;
4、對多個第一模型參數進行聚合,得到第一聚合模型參數;
5、將第一聚合模型參數分發至聯合建模的所有參與方,以使所有參與方中的每個參與方基于自身的訓練數據進行模型訓練,得到第二模型參數;
6、在接收到多個第二參與方發送的第二模型參數的情況下,對多個第二參與方發送的第二模型參數進行聚合,得到第二聚合模型參數,多個第二參與方中的每個參與方滿足預設篩選條件;
7、更新迭代次數;
8、在更新后的迭代次數達到預設次數的情況下,基于第二聚合模型參數確定目標模型。
9、在本申請的一些實施例中,多方聯合建模方法還包括:
10、在更新后的迭代次數未達到預設次數的情況下,將第二聚合模型參數更新為第一聚合模型參數,返回將第一聚合模型參數分發至聯合建模的所有參與方,直至迭代次數達到預設次數。
11、在本申請的一些實施例中,預設次數為m,預設篩選條件包括前m-1次的第一篩選條件和第m次的第二篩選條件,第一篩選條件基于先前迭代過程中的聚合后的模型參數確定,第二篩選條件為參與方的新鮮度權重大于預設數值,新鮮度權重基于每個參與方從第1次迭代時獲取到模型參數至最后一次迭代時返回模型參數的時間差確定,m為大于2的正整數。
12、在本申請的一些實施例中,第一篩選條件通過以下公式得到:
13、
14、其中,是第k-1次迭代后參與方發送的模型參數,是預設學習參數,p是第k-1次迭代中參與方的數量,εd和d是常數系數,且是第k-d次迭代后得到的聚合后的模型參數,是k-1-d次迭代后得到的聚合后的模型參數,k為大于1的正整數。
15、在本申請的一些實施例中,在對多個第二參與方發送的第二模型參數進行聚合,得到第二聚合模型參數之前,方法還包括:
16、在最后一次進行模型參數聚合之前,獲取所有參與方中的每個參與方從第1次迭代時獲取到模型參數至最后一次迭代時返回模型參數的時間差,得到每個參與方的新鮮度;
17、根據所有參與方的新鮮度確定新鮮度期望和方差;
18、根據新鮮度期望和方差構建新鮮度正態分布函數;
19、根據新鮮度正態分布函數和每個參與方的新鮮度,計算小于每個參與方的新鮮度的概率,得到每個參與方的新鮮度權重。
20、在本申請的一些實施例中,在最后一次迭代中,對多個第二參與方發送的第二模型參數進行聚合,得到第二聚合模型參數,包括:
21、針對每個第二參與方,根據每個第二參與方的新鮮度權重、樣本權重確定每個第二參與方的節點權重;
22、根據多個第二參與方的節點權重對多個第二參與方發送的第二模型參數進行聚合,得到第二聚合模型參數。
23、在本申請的一些實施例中,根據每個第二參與方的新鮮度權重、樣本權重確定每個第二參與方的節點權重,包括:
24、將每個第二參與方的新鮮度權重和樣本權重的乘積確定為每個第二參與方的節點權重。
25、第二方面,本申請實施例提供一種多方聯合建模裝置,裝置包括:
26、接收模塊,用于接收參與聯合建模的多個第一參與方分別發送的第一模型參數;第一模型參數是每個第一參與方基于自身的訓練數據進行模型訓練得到的模型參數;
27、聚合模塊,用于對多個第一模型參數進行聚合,得到第一聚合模型參數;
28、分發模塊,用于將第一聚合模型參數分發至聯合建模的所有參與方,以使所有參與方中的每個參與方基于自身的訓練數據進行模型訓練,得到第二模型參數;
29、聚合模塊,還用于在接收到多個第二參與方發送的第二模型參數的情況下,對多個第二參與方發送的第二模型參數進行聚合,得到第二聚合模型參數,多個第二參與方中的每個參與方滿足預設篩選件;
30、第一更新模塊,用于更新迭代次數;
31、第一確定模塊,用于在更新后的迭代次數達到預設次數的情況下,基于第二聚合模型參數確定目標模型。
32、第三方面,本申請實施例提供一種多方聯合建模設備,數據處理設備包括:處理器以及存儲有計算機程序指令的存儲器;
33、處理器執行計算機程序指令時實現上述任一實施例的多方聯合建模方法。
34、第四方面,本申請實施例提供一種計算機可讀存儲介質,計算機可讀存儲介質上存儲有計算機程序指令,計算機程序指令被處理器執行時實現上述任一實施例的多方聯合建模方法。
35、根據本申請實施例的一種多方聯合建模方法、裝置、設備及存儲介質,在建模過程中,在接收到多個第二參與方發送的第二模型參數的情況下,即可進行本次迭代的模型參數聚合操作,得到聚合模型參數,而無需將所有參與方發送的模型參數進行聚合操作,可以縮短建模時間,提高建模效率。
1.一種多方聯合建模方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
3.根據權利要求1所述的方法,其特征在于,所述預設次數為m,所述預設篩選條件包括前m-1次的第一篩選條件和第m次的第二篩選條件,所述第一篩選條件基于先前迭代過程中的聚合后的模型參數確定,所述第二篩選條件為參與方的新鮮度權重大于預設數值,所述新鮮度權重基于每個參與方從第1次迭代時獲取到模型參數至最后一次迭代時返回模型參數的時間差確定,m為大于2的正整數。
4.根據權利要求3所述的方法,其特征在于,所述第一篩選條件通過以下公式得到:
5.根據權利要求3所述的方法,其特征在于,在所述對所述多個第二參與方發送的第二模型參數進行聚合,得到第二聚合模型參數之前,所述方法還包括:
6.根據權利要求5所述的方法,其特征在于,在最后一次迭代中,所述對所述多個第二參與方發送的第二模型參數進行聚合,得到第二聚合模型參數,包括:
7.根據權利要求6所述的方法,其特征在于,所述根據每個第二參與方的新鮮度權重、樣本權重確定每個第二參與方的節點權重,包括:
8.一種多方聯合建模裝置,其特征在于,所述裝置包括:
9.一種多方聯合建模設備,其特征在于,所述設備包括:處理器以及存儲有計算機程序指令的存儲器;
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序指令,所述計算機程序指令被處理器執行時實現如權利要求1-7所述的多方聯合建模方法。