本發(fā)明涉及聯(lián)邦學(xué)習(xí),具體涉及一種基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法及系統(tǒng)。
背景技術(shù):
1、聯(lián)邦學(xué)習(xí)作為一種前景廣闊的分布式機(jī)器學(xué)習(xí)范式,可用于在服務(wù)器上基于多個客戶端私有的分布數(shù)據(jù)集協(xié)同訓(xùn)練深度學(xué)習(xí)模型。與傳統(tǒng)的分布式學(xué)習(xí)方法相比,聯(lián)邦學(xué)習(xí)有以下幾點(diǎn)優(yōu)勢:a)可以利用以往無法獲取的海量設(shè)備上私有的數(shù)據(jù)和算力資源;b)客戶端的私有數(shù)據(jù)集不會被共享和上傳,因此可以保護(hù)數(shù)據(jù)隱私并節(jié)省通信帶寬;c)可以眾包潛在的無限設(shè)備資源。因此,聯(lián)邦學(xué)習(xí)有望成為泛在智聯(lián)的主要基礎(chǔ)。
2、然而,聯(lián)邦學(xué)習(xí)中訓(xùn)練數(shù)據(jù)的“可用但不可見”特性導(dǎo)致了安全風(fēng)險。聯(lián)邦學(xué)習(xí)任務(wù)通常要依賴大量客戶端的支持,而一些不可靠的客戶端尤其是眾包而來的客戶端,可能在聯(lián)邦訓(xùn)練前被一些攻擊者操縱或劫持,面臨針對訓(xùn)練數(shù)據(jù)的數(shù)據(jù)中毒攻擊。更具挑戰(zhàn)的是由于數(shù)據(jù)隱私保護(hù)原則,服務(wù)器無法直接審查各客戶端的私有數(shù)據(jù)集,而訓(xùn)練數(shù)據(jù)質(zhì)量將決定模型訓(xùn)練質(zhì)量。因此,對于服務(wù)器“不可見”的局部數(shù)據(jù)以及由此訓(xùn)練而來的局部模型的安全性無法保障,會對聯(lián)邦學(xué)習(xí)主任務(wù)造成不良影響。
3、聯(lián)邦學(xué)習(xí)作為一種分布式機(jī)器學(xué)習(xí)范式,保障其安全性與魯棒性十分必要,而針對局部訓(xùn)練數(shù)據(jù)及訓(xùn)練過程的惡意攻擊會間接損害聯(lián)邦學(xué)習(xí)主任務(wù)的全局質(zhì)量。但是,聯(lián)邦學(xué)習(xí)本身并未提供相應(yīng)的安全防護(hù)機(jī)制。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法及系統(tǒng),以解決上述背景技術(shù)中存在的至少一項(xiàng)技術(shù)問題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采取了如下技術(shù)方案:
3、第一方面,本發(fā)明提供一種基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法,包括:
4、獲取各個客戶端訓(xùn)練完成的局部模型和局部數(shù)據(jù)描述;其中,利用數(shù)據(jù)篩選器對各客戶端局部數(shù)據(jù)進(jìn)行篩選被檢測為正常的數(shù)據(jù)作為局部模型的訓(xùn)練數(shù)據(jù);
5、服務(wù)器對獲取的局部模型進(jìn)行特征提取,保存客戶端歷史信息,得到各個客戶端各自對應(yīng)的局部歷史模型信息集;
6、利用基于概率分布的模型篩選器對各個客戶端局部模型差異進(jìn)行衡量,計算各個客戶端模型分布間的差異,根據(jù)各個客戶端模型分布間的差異程度計算出各個客戶端對應(yīng)的局部模型異常程度;
7、根據(jù)局部數(shù)據(jù)描述以及各個客戶端對應(yīng)的局部模型異常程度,得到各個客戶端的可信程度,根據(jù)可信程度得到聯(lián)邦聚合時各局部模型的聚合權(quán)值。
8、進(jìn)一步的,服務(wù)器利用針對數(shù)據(jù)和標(biāo)簽雙重篩選的分類自編碼器進(jìn)行數(shù)據(jù)篩選器的訓(xùn)練,訓(xùn)練數(shù)據(jù)來自于服務(wù)器的主任務(wù)測試數(shù)據(jù)集;該分類自編碼器用潛在表示z額外訓(xùn)練一個輔助分類器,用recae表示重構(gòu)誤差,lcae表示輔助分類器在表示層z上的損失;
9、最小化訓(xùn)練數(shù)據(jù)集上的組合損失為:
10、
11、在客戶端,給定一個局部數(shù)據(jù)流,對于每個數(shù)據(jù)樣本,分類自編碼器使用重建誤差和分類誤差的組合損失作為異常數(shù)據(jù)的檢測標(biāo)準(zhǔn),同時檢測特征空間和標(biāo)簽空間的偏差。
12、進(jìn)一步的,利用基于概率分布的模型篩選器在服務(wù)器中將各個客戶端的歷史模型信息集擬合為特定的概率分布得到各客戶端局部模型分布,結(jié)合數(shù)據(jù)篩選器上傳的各客戶端局部數(shù)據(jù)描述利用基于概率分布的方法計算各個客戶端模型分布間的差異,根據(jù)所述差異程度計算出各個客戶端對應(yīng)的局部模型異常程度。
13、進(jìn)一步的,服務(wù)器為每個客戶端維護(hù)一個歷史模型集,每輪次聯(lián)邦聚合后將局部模型進(jìn)行特征提取后存至對應(yīng)客戶端模型集中;經(jīng)過一定訓(xùn)練輪次后,模型篩選器將每個客戶端歷史模型集中的特征分布擬合為某一特定概率分布;模型篩選器結(jié)合數(shù)據(jù)篩選器上傳的各客戶端局部數(shù)據(jù)描述中的信息設(shè)定基準(zhǔn)客戶端,利用基于概率分布的方法衡量基準(zhǔn)客戶端與其他客戶端的模型分布差異;模型篩選器根據(jù)模型分布差異程度與對應(yīng)局部數(shù)據(jù)描述指導(dǎo)后續(xù)聯(lián)邦聚合的局部模型選擇,優(yōu)先聚合與基準(zhǔn)差異度低的客戶端局部模型,適當(dāng)忽略與基準(zhǔn)差異度高的客戶端局部模型。
14、進(jìn)一步的,模型篩選器將每個客戶端的歷史模型信息集中的特征信息利用最大似然估計擬合為高斯分布,并利用kl散度來度量每個客戶端模型集分布間的差異。
15、進(jìn)一步的,對局部模型進(jìn)行特征提取,包括:θt,i代表第t訓(xùn)練輪次中客戶端編號i所上傳的原始高維局部模型,代表第t訓(xùn)練輪次中客戶端編號i所上傳的原始高維局部模型經(jīng)降維提取特征后的低維模型
16、第二方面,本發(fā)明提供一種基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)系統(tǒng),包括:
17、獲取模塊,用于獲取個客戶端訓(xùn)練完成的局部模型和局部數(shù)據(jù)描述;其中,利用數(shù)據(jù)篩選器對局部數(shù)據(jù)進(jìn)行篩選被檢測為正常的數(shù)據(jù)作為局部模型的訓(xùn)練數(shù)據(jù):
18、提取模塊,用于對獲取的局部模型進(jìn)行特征提取,保存客戶端歷史信息,得到各個客戶端各自對應(yīng)的局部歷史模型信息集;
19、篩選模塊,用于利用基于概率分布的模型篩選器對各個客戶端局部模型差異進(jìn)行衡量,計算各個客戶端模型分布間的差異,根據(jù)各個客戶端模型分布間的差異程度計算出各個客戶端對應(yīng)的局部模型異常程度;
20、計算模塊,用于根據(jù)局部數(shù)據(jù)描述以及各個客戶端對應(yīng)的局部模型異常程度,得到各個客戶端的可信程度,根據(jù)可信程度得到聯(lián)邦聚合時各局部模型的聚合權(quán)值。
21、第三方面,本發(fā)明提供一種非暫態(tài)計算機(jī)可讀存儲介質(zhì),所述非暫態(tài)計算機(jī)可讀存儲介質(zhì)用于存儲計算機(jī)指令,所述計算機(jī)指令被處理器執(zhí)行時,實(shí)現(xiàn)如第一方面所述的聯(lián)邦學(xué)習(xí)雙端安全防護(hù)方法。
22、第四方面,本發(fā)明提供一種計算機(jī)設(shè)備,包括存儲器和處理器,所述處理器和所述存儲器相互通信,所述存儲器存儲有可被所述處理器執(zhí)行的程序指令,所述處理器調(diào)用所述程序指令執(zhí)行如第一方面所述的聯(lián)邦學(xué)習(xí)雙端安全防護(hù)方法。
23、第五方面,本發(fā)明提供一種電子設(shè)備,包括:處理器、存儲器以及計算機(jī)程序;其中,處理器與存儲器連接,計算機(jī)程序被存儲在存儲器中,當(dāng)電子設(shè)備運(yùn)行時,所述處理器執(zhí)行所述存儲器存儲的計算機(jī)程序,以使電子設(shè)備執(zhí)行實(shí)現(xiàn)如第一方面所述的聯(lián)邦學(xué)習(xí)雙端安全防護(hù)方法的指令。
24、本發(fā)明有益效果:在客戶端對局部數(shù)據(jù)集進(jìn)行離線的自動審查,在服務(wù)器端對收集到的局部模型進(jìn)行審查,在不違反聯(lián)邦學(xué)習(xí)隱私保護(hù)原則的前提下能夠?qū)?shù)據(jù)、模型安全進(jìn)行全面防護(hù),提高了聯(lián)邦學(xué)習(xí)系統(tǒng)的魯棒性與可信度。
25、本發(fā)明附加方面的優(yōu)點(diǎn),將在下述的描述部分中更加明顯的給出,或通過本發(fā)明的實(shí)踐了解到。
1.一種基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法,其特征在于,利用針對數(shù)據(jù)和標(biāo)簽雙重篩選的分類自編碼器進(jìn)行數(shù)據(jù)篩選器的訓(xùn)練;該分類自編碼器用潛在表示z額外訓(xùn)練一個輔助分類器,用recae表示重構(gòu)誤差,lcae表示輔助分類器在表示層z上的損失;
3.根據(jù)權(quán)利要求1所述的基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法,其特征在于,利用基于概率分布的模型篩選器在服務(wù)器中將各個客戶端的歷史模型信息集擬合為特定的概率分布得到各客戶端局部模型分布,結(jié)合數(shù)據(jù)篩選器上傳的各客戶端局部數(shù)據(jù)描述利用基于概率分布的方法計算各個客戶端模型分布間的差異,根據(jù)所述差異程度計算出各個客戶端對應(yīng)的局部模型異常程度。
4.根據(jù)權(quán)利要求3所述的基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法,其特征在于,服務(wù)器為每個客戶端維護(hù)一個歷史模型集,每輪次聯(lián)邦聚合后將局部模型進(jìn)行特征提取后存至對應(yīng)客戶端模型集中;經(jīng)過一定訓(xùn)練輪次后,模型篩選器將每個客戶端歷史模型集中的特征分布擬合為某一特定概率分布;模型篩選器結(jié)合數(shù)據(jù)篩選器上傳的各客戶端局部數(shù)據(jù)描述中的信息設(shè)定基準(zhǔn)客戶端,利用基于概率分布的方法衡量基準(zhǔn)客戶端與其他客戶端的模型分布差異;模型篩選器根據(jù)模型分布差異程度指導(dǎo)后續(xù)聯(lián)邦聚合的局部模型選擇,優(yōu)先聚合與基準(zhǔn)差異度低的客戶端局部模型,適當(dāng)忽略與基準(zhǔn)差異度高的客戶端局部模型。
5.根據(jù)權(quán)利要求1所述的基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法,其特征在于,模型篩選器將每個客戶端的歷史模型信息集中的特征信息利用最大似然估計擬合為高斯分布,并利用kl散度來度量每個客戶端模型集分布間的差異。
6.根據(jù)權(quán)利要求5所述的基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法,其特征在于,對局部模型進(jìn)行特征提取,包括:θt,i代表第t訓(xùn)練輪次中客戶端編號i所上傳的原始高維局部模型,代表第t訓(xùn)練輪次中客戶端編號i所上傳的原始高維局部模型降維后的低維模型,以pca降維方法將局部模型降至一維:
7.一種基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)系統(tǒng),其特征在于,包括:
8.一種非暫態(tài)計算機(jī)可讀存儲介質(zhì),其特征在于,所述非暫態(tài)計算機(jī)可讀存儲介質(zhì)用于存儲計算機(jī)指令,所述計算機(jī)指令被處理器執(zhí)行時,實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法。
9.一種計算機(jī)設(shè)備,其特征在于,包括存儲器和處理器,所述處理器和所述存儲器相互通信,所述存儲器存儲有可被所述處理器執(zhí)行的程序指令,所述處理器調(diào)用所述程序指令執(zhí)行如權(quán)利要求1-6任一項(xiàng)所述的基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法。
10.一種電子設(shè)備,其特征在于,包括:處理器、存儲器以及計算機(jī)程序;其中,處理器與存儲器連接,計算機(jī)程序被存儲在存儲器中,當(dāng)電子設(shè)備運(yùn)行時,所述處理器執(zhí)行所述存儲器存儲的計算機(jī)程序,以使電子設(shè)備執(zhí)行實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的基于雙端安全防護(hù)的聯(lián)邦學(xué)習(xí)方法的指令。