本申請(qǐng)屬于機(jī)器學(xué)習(xí)領(lǐng)域,尤其涉及一種線性回歸模型的分布式學(xué)習(xí)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、傳統(tǒng)的線性回歸建模過程中,可以在訓(xùn)練前對(duì)數(shù)據(jù)進(jìn)行清理和校驗(yàn),減少惡意數(shù)據(jù)的混入。
2、而聯(lián)邦學(xué)習(xí)(federated?learning,fl)是一種分布式機(jī)器學(xué)習(xí)范式,具有去中心化的計(jì)算特定以及具有隱私保護(hù)要求。在聯(lián)邦學(xué)習(xí)框架下進(jìn)行線性回歸模型訓(xùn)練時(shí),聯(lián)邦學(xué)習(xí)允許多個(gè)參與方節(jié)點(diǎn)在不共享原始數(shù)據(jù)的情況下協(xié)作訓(xùn)練模型,從而保護(hù)數(shù)據(jù)隱私。其基本模式是數(shù)據(jù)分散在多方,多方在中心的組織下進(jìn)行多輪的數(shù)據(jù)交互,完成模型的訓(xùn)練。
3、這其中存在的一個(gè)問題是,每一方都參與一部分計(jì)算和數(shù)據(jù)提供,因此都一定程度會(huì)影響到最終的結(jié)果,一些情形下,可能會(huì)出現(xiàn)某些參與方出現(xiàn)模型投毒攻擊,提供錯(cuò)誤的計(jì)算結(jié)果或者使用完全錯(cuò)誤的計(jì)算流程,那么聯(lián)邦學(xué)習(xí)就無法保證最終結(jié)果的正確性。
4、這些攻擊可以導(dǎo)致模型性能下降、模型偏差增加,使全局模型收斂到攻擊者期望的不良狀態(tài),導(dǎo)致聯(lián)邦學(xué)習(xí)處理過程中模型訓(xùn)練受損,甚至使訓(xùn)練后的模型做出錯(cuò)誤的信息預(yù)測(cè),危害數(shù)據(jù)安全,且影響模型的數(shù)據(jù)處理性能。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種線性回歸模型的分布式學(xué)習(xí)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),以解決現(xiàn)有技術(shù)中投毒攻擊導(dǎo)致的聯(lián)邦學(xué)習(xí)處理過程中模型訓(xùn)練受損的問題。
2、本申請(qǐng)實(shí)施例的第一方面提供了一種線性回歸模型的分布式學(xué)習(xí)方法,應(yīng)用于參與方節(jié)點(diǎn),所述方法包括:
3、獲取中心節(jié)點(diǎn)發(fā)送的目標(biāo)模型的模型參數(shù)及各個(gè)模型參數(shù)的證明密鑰;
4、基于本地訓(xùn)練樣本計(jì)算所述目標(biāo)模型的損失函數(shù)對(duì)各個(gè)模型參數(shù)的梯度數(shù)據(jù),并基于所述證明密鑰及所述本地訓(xùn)練樣本計(jì)算得到誠(chéng)實(shí)證明信息;
5、將所述誠(chéng)實(shí)證明信息及所述梯度數(shù)據(jù)發(fā)送至所述中心節(jié)點(diǎn);
6、獲取所述中心節(jié)點(diǎn)發(fā)送的更新后的模型參數(shù)及各個(gè)更新后的模型參數(shù)的證明密鑰,返回執(zhí)行所述基于本地訓(xùn)練樣本計(jì)算所述目標(biāo)模型的損失函數(shù)對(duì)各個(gè)模型參數(shù)的梯度數(shù)據(jù)的步驟,直至所述目標(biāo)模型訓(xùn)練完畢;其中,更新后的模型參數(shù)為所述中心節(jié)點(diǎn)基于所述誠(chéng)實(shí)證明信息驗(yàn)證所述梯度數(shù)據(jù)為誠(chéng)實(shí)數(shù)據(jù)后對(duì)模型參數(shù)更新得到。
7、本申請(qǐng)實(shí)施例的第二方面提供了一種線性回歸模型的分布式學(xué)習(xí)方法,應(yīng)用于中心節(jié)點(diǎn),所述方法包括:
8、發(fā)送目標(biāo)模型的模型參數(shù)及各個(gè)模型參數(shù)的證明密鑰至各個(gè)參與方節(jié)點(diǎn);
9、接收各個(gè)所述參與方節(jié)點(diǎn)發(fā)送的誠(chéng)實(shí)證明信息及所述目標(biāo)模型的損失函數(shù)對(duì)各個(gè)模型參數(shù)的梯度數(shù)據(jù);所述梯度數(shù)據(jù)為各個(gè)所述參與方節(jié)點(diǎn)基于本地訓(xùn)練樣本計(jì)算得到;所述誠(chéng)實(shí)證明信息為所述參與方節(jié)點(diǎn)基于所述證明密鑰及所述本地訓(xùn)練樣本計(jì)算得到;
10、基于所述誠(chéng)實(shí)證明信息對(duì)相應(yīng)的所述梯度數(shù)據(jù)進(jìn)行驗(yàn)證,在驗(yàn)證所述梯度數(shù)據(jù)為誠(chéng)實(shí)數(shù)據(jù)后,對(duì)每一所述參與方節(jié)點(diǎn)的梯度數(shù)據(jù)進(jìn)行整合,得到模型校正數(shù)據(jù);
11、基于所述模型校正數(shù)據(jù)對(duì)所述模型參數(shù)進(jìn)行更新,得到更新后模型參數(shù),并計(jì)算各個(gè)更新后模型參數(shù)的證明密鑰,返回執(zhí)行所述發(fā)送目標(biāo)模型的模型參數(shù)及各個(gè)模型參數(shù)的證明密鑰至各個(gè)參與方節(jié)點(diǎn)的步驟,直至所述目標(biāo)模型訓(xùn)練完畢。
12、本申請(qǐng)實(shí)施例的第三方面提供了一種線性回歸模型的分布式學(xué)習(xí)裝置,包括:
13、獲取模塊,用于獲取中心節(jié)點(diǎn)發(fā)送的目標(biāo)模型的模型參數(shù)及各個(gè)模型參數(shù)的證明密鑰;
14、計(jì)算模塊,用于基于本地訓(xùn)練樣本計(jì)算所述目標(biāo)模型的損失函數(shù)對(duì)各個(gè)模型參數(shù)的梯度數(shù)據(jù),并基于所述證明密鑰及所述本地訓(xùn)練樣本計(jì)算得到誠(chéng)實(shí)證明信息;
15、發(fā)送模塊,用于將所述誠(chéng)實(shí)證明信息及所述梯度數(shù)據(jù)發(fā)送至所述中心節(jié)點(diǎn);
16、更新模塊,用于獲取所述中心節(jié)點(diǎn)發(fā)送的更新后的模型參數(shù)及各個(gè)更新后的模型參數(shù)的證明密鑰,返回執(zhí)行所述基于本地訓(xùn)練樣本計(jì)算所述目標(biāo)模型的損失函數(shù)對(duì)各個(gè)模型參數(shù)的梯度數(shù)據(jù)的步驟,直至所述目標(biāo)模型訓(xùn)練完畢;其中,更新后的模型參數(shù)為所述中心節(jié)點(diǎn)基于所述誠(chéng)實(shí)證明信息驗(yàn)證所述梯度為誠(chéng)實(shí)數(shù)據(jù)后對(duì)模型參數(shù)更新得到。
17、本申請(qǐng)實(shí)施例的第四方面提供了一種線性回歸模型的分布式學(xué)習(xí)裝置,包括:
18、發(fā)送模塊,用于發(fā)送目標(biāo)模型的模型參數(shù)及各個(gè)模型參數(shù)的證明密鑰至各個(gè)參與方節(jié)點(diǎn);
19、接收模塊,用于接收各個(gè)所述參與方節(jié)點(diǎn)發(fā)送的誠(chéng)實(shí)證明信息及所述目標(biāo)模型的損失函數(shù)對(duì)各個(gè)模型參數(shù)的梯度數(shù)據(jù);所述梯度數(shù)據(jù)為各個(gè)所述參與方節(jié)點(diǎn)基于本地訓(xùn)練樣本計(jì)算得到;所述誠(chéng)實(shí)證明信息為所述參與方節(jié)點(diǎn)基于所述證明密鑰及所述本地訓(xùn)練樣本計(jì)算得到;
20、驗(yàn)證模塊,用于基于所述誠(chéng)實(shí)證明信息對(duì)相應(yīng)的所述梯度數(shù)據(jù)進(jìn)行驗(yàn)證,在驗(yàn)證所述梯度數(shù)據(jù)為誠(chéng)實(shí)數(shù)據(jù)后,對(duì)每一所述參與方節(jié)點(diǎn)的梯度數(shù)據(jù)進(jìn)行整合,得到模型校正數(shù)據(jù);
21、更新模塊,用于基于所述模型校正數(shù)據(jù)對(duì)所述模型參數(shù)進(jìn)行更新,得到更新后模型參數(shù),并計(jì)算各個(gè)更新后模型參數(shù)的證明密鑰,返回執(zhí)行所述發(fā)送目標(biāo)模型的模型參數(shù)及各個(gè)模型參數(shù)的證明密鑰至各個(gè)參與方節(jié)點(diǎn)的步驟,直至所述目標(biāo)模型訓(xùn)練完畢。
22、本申請(qǐng)實(shí)施例的第五方面提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如第一方面或第二方面所述方法的步驟。
23、本申請(qǐng)實(shí)施例的第六方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面或第二方面所述方法的步驟。
24、本申請(qǐng)的第七方面提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)所述計(jì)算機(jī)程序產(chǎn)品在計(jì)算機(jī)設(shè)備上運(yùn)行時(shí),使得所述計(jì)算機(jī)設(shè)備執(zhí)行上述第一方面或第二方面所述方法的步驟。
25、本申請(qǐng)實(shí)施例中,參與方節(jié)點(diǎn)采用對(duì)模型訓(xùn)練中涉及的數(shù)據(jù)對(duì)象及數(shù)據(jù)計(jì)算過程生成誠(chéng)實(shí)證明信息,以使中心節(jié)點(diǎn)能夠基于誠(chéng)實(shí)證明信息對(duì)參與方反饋的梯度數(shù)據(jù)進(jìn)行校驗(yàn),防止投毒攻擊,參與方節(jié)點(diǎn)需要通過一些額外的運(yùn)算,并將這些計(jì)算的結(jié)果作為證據(jù)自證清白,證明自己部分運(yùn)行的正確性,并且保證聯(lián)邦學(xué)習(xí)過程中參與方的數(shù)據(jù)隱私不被泄露,確保數(shù)據(jù)安全,且確保模型得到有效訓(xùn)練。
1.一種線性回歸模型的分布式學(xué)習(xí)方法,其特征在于,應(yīng)用于參與方節(jié)點(diǎn),所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于本地訓(xùn)練樣本計(jì)算所述目標(biāo)模型的損失函數(shù)對(duì)各個(gè)模型參數(shù)的梯度數(shù)據(jù),包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述本地訓(xùn)練樣本中的樣本標(biāo)簽及所述預(yù)測(cè)結(jié)果輸入至所述目標(biāo)模型的損失函數(shù)下各個(gè)模型參數(shù)的導(dǎo)數(shù)函數(shù),計(jì)算得到所述損失函數(shù)對(duì)各個(gè)模型參數(shù)的梯度數(shù)據(jù),包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述證明密鑰及所述本地訓(xùn)練樣本計(jì)算得到誠(chéng)實(shí)證明信息,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述基于所述本地訓(xùn)練樣本中各個(gè)維度的所述特征數(shù)據(jù)及所述證明密鑰,分別計(jì)算每一所述模型參數(shù)對(duì)應(yīng)的第一證明信息,包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述基于所述本地訓(xùn)練樣本中各個(gè)維度的所述特征數(shù)據(jù)及所述本地訓(xùn)練樣本中的樣本標(biāo)簽,計(jì)算所述本地訓(xùn)練樣本對(duì)應(yīng)的第二證明信息,包括:
7.一種線性回歸模型的分布式學(xué)習(xí)裝置,其特征在于,包括:
8.一種線性回歸模型的分布式學(xué)習(xí)方法,其特征在于,應(yīng)用于中心節(jié)點(diǎn),所述方法包括:
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述發(fā)送目標(biāo)模型的模型參數(shù)及各個(gè)模型參數(shù)的證明密鑰至各個(gè)參與方節(jié)點(diǎn),包括:
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述誠(chéng)實(shí)證明信息中包括第一證明信息及第二證明信息;所述基于所述誠(chéng)實(shí)證明信息對(duì)相應(yīng)的所述梯度數(shù)據(jù)進(jìn)行驗(yàn)證,包括:
11.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述基于所述模型校正數(shù)據(jù)對(duì)所述模型參數(shù)進(jìn)行更新,得到更新后模型參數(shù),包括:
12.一種線性回歸模型的分布式學(xué)習(xí)裝置,其特征在于,包括:
13.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至6或8至11任一項(xiàng)所述方法的步驟。
14.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6或8至11任一項(xiàng)所述方法的步驟。