本發(fā)明涉及聯(lián)邦機(jī)器學(xué)習(xí),尤其涉及一種抵御縱向聯(lián)邦學(xué)習(xí)中標(biāo)簽推理攻擊的隱私保護(hù)方法。
背景技術(shù):
1、在現(xiàn)有的縱向聯(lián)邦學(xué)習(xí)環(huán)境中,攻擊者可能通過(guò)模型輸出或?qū)W習(xí)到的參數(shù)間接推斷客戶端的私密信息。非服務(wù)器客戶端嘗試通過(guò)服務(wù)器發(fā)送的梯度數(shù)據(jù)推斷標(biāo)簽信息。這類攻擊包括被動(dòng)攻擊(利用間接標(biāo)簽數(shù)據(jù)優(yōu)化攻擊者本地模型進(jìn)行標(biāo)簽預(yù)測(cè))和直接攻擊(利用最終預(yù)測(cè)層的梯度符號(hào)評(píng)估預(yù)測(cè)準(zhǔn)確性,通過(guò)交叉熵?fù)p失函數(shù)識(shí)別正確或錯(cuò)誤的預(yù)測(cè)并推斷標(biāo)簽信息)。
2、在移動(dòng)設(shè)備上進(jìn)行分布式訓(xùn)練時(shí),客戶端能夠輕易的推測(cè)出服務(wù)器所持有的數(shù)據(jù)標(biāo)簽,造成服務(wù)器的隱私泄露問(wèn)題。如果直接采用傳統(tǒng)的隱私保護(hù)方法去解決隱私泄露問(wèn)題,雖然提高模型的隱私安全性,但是降低模型預(yù)測(cè)的精度。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種抵御縱向聯(lián)邦學(xué)習(xí)中標(biāo)簽推理攻擊的隱私保護(hù)方法,既能夠有效的防御標(biāo)簽推理攻擊,又能提高模型預(yù)測(cè)的準(zhǔn)確度。
2、為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
3、一種抵御縱向聯(lián)邦學(xué)習(xí)中標(biāo)簽推理攻擊的隱私保護(hù)方法,其特征在于,包括如下步驟:
4、s1.獲取各客戶端上傳的本地模型的中間參數(shù),各客戶端對(duì)中間參數(shù)進(jìn)行訓(xùn)練,并將訓(xùn)練后的中間參數(shù)logit值傳輸至服務(wù)器端;所述本地模型為縱向聯(lián)邦學(xué)習(xí)中客戶端所持有的底部模型;
5、s2.對(duì)服務(wù)器端的頂部模型損失函數(shù)進(jìn)行優(yōu)化,在頂部模型損失函數(shù)為交叉熵?fù)p失函數(shù)的基礎(chǔ)上增加中心平均損失函數(shù),對(duì)原始梯度作數(shù)值上的變化,使得不能根據(jù)符號(hào)關(guān)系來(lái)推斷標(biāo)簽
6、s3.服務(wù)器端通過(guò)各客戶端上傳的中間參數(shù)logit值訓(xùn)練優(yōu)化后的頂部模型,并通過(guò)梯度下降算法更新梯度;同時(shí),計(jì)算各客戶端的梯度,并在梯度中增加適量的噪聲,自適應(yīng)的調(diào)整本地梯度的大小,再迭代執(zhí)行步驟s1至s3。
7、進(jìn)一步地,步驟s1中,在縱向聯(lián)邦學(xué)習(xí)框架下,各客戶端對(duì)目標(biāo)數(shù)據(jù)進(jìn)行預(yù)處理,處理后的數(shù)據(jù)在本地底部模型中進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中產(chǎn)生所述中間參數(shù),體現(xiàn)為logit值。對(duì)目標(biāo)數(shù)據(jù)進(jìn)行預(yù)處理的具體步驟為:
8、將目標(biāo)數(shù)據(jù)分割為若干數(shù)據(jù)集,并執(zhí)行均勻隨機(jī)取樣操作,得到每一次迭代過(guò)程中用于訓(xùn)練的數(shù)據(jù)集的批次大小,獲得目標(biāo)數(shù)據(jù)集;各個(gè)客戶端首先接收到初始化的底部模型參數(shù),這些參數(shù)為模型訓(xùn)練提供了一個(gè)起點(diǎn),隨后每個(gè)客戶端使用經(jīng)過(guò)范式邊界計(jì)算的目標(biāo)數(shù)據(jù)集來(lái)訓(xùn)練其各自的底部模型。在這一訓(xùn)練過(guò)程中,底部模型將學(xué)習(xí)如何從輸入數(shù)據(jù)中提取特征,并生成中間參數(shù),這些參數(shù)通常以logit值的形式表示,并將logit值加密傳輸至服務(wù)器端。
9、進(jìn)一步地,步驟s3中,服務(wù)器端在接收各客戶端上傳的中間參數(shù)logit值之后,立即啟動(dòng)頂部模型訓(xùn)練流程,服務(wù)器端計(jì)算復(fù)合損失函數(shù)的梯度,并通過(guò)反向傳播算法,動(dòng)態(tài)更新模型參數(shù);所述復(fù)合損失函數(shù)為步驟s2中交叉熵?fù)p失函數(shù)與中心平均損失函數(shù)組合而成。
10、進(jìn)一步地,步驟s3中,服務(wù)器端計(jì)算各客戶端的梯度,并在梯度中增加噪聲,自適應(yīng)的調(diào)整本地梯度大小,包括:
11、按序?qū)㈨敳磕P陀?jì)算出的各客戶端的梯度存儲(chǔ)于向量中,得到第一向量;
12、抽樣生成相應(yīng)的高斯噪聲,并設(shè)置本地噪聲控制參數(shù)皮爾遜系數(shù)、歐氏距離和余弦相似度,將生成的高斯噪聲加入原始梯度中,形成有噪聲的梯度,得到第二向量;
13、計(jì)算第一向量與第二向量之間的皮爾遜系數(shù)、歐氏距離和余弦相似度,當(dāng)三個(gè)參數(shù)都在設(shè)定的控制參數(shù)范圍內(nèi)時(shí),將帶有噪聲的梯度發(fā)送給各客戶端進(jìn)行底部模型的更新。
14、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)或技術(shù)效果:
15、通過(guò)標(biāo)準(zhǔn)化數(shù)據(jù)和計(jì)算本地模型的中間參數(shù),然后將中間參數(shù)傳輸?shù)椒?wù)器端。服務(wù)器端接收這些輸參數(shù)后,拼接參數(shù)并計(jì)算復(fù)合損失函數(shù),生成梯度,并通過(guò)加入噪聲來(lái)保護(hù)隱私。最終,服務(wù)器端將處理后的梯度傳輸回客戶端,客戶端使用這些梯度更新本地模型參數(shù),完成一次完整的訓(xùn)練迭代。這種方法在保護(hù)隱私的同時(shí),保持模型的準(zhǔn)確性。
1.一種抵御縱向聯(lián)邦學(xué)習(xí)中標(biāo)簽推理攻擊的隱私保護(hù)方法,其特征在于,包括如下步驟:
2.根據(jù)權(quán)利要求1所述的一種抵御縱向聯(lián)邦學(xué)習(xí)中標(biāo)簽推理攻擊的隱私保護(hù)方法,其特征在于,步驟s1中,在縱向聯(lián)邦學(xué)習(xí)框架下,各客戶端對(duì)目標(biāo)數(shù)據(jù)進(jìn)行預(yù)處理,處理后的數(shù)據(jù)在本地底部模型中進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中產(chǎn)生所述中間參數(shù),體現(xiàn)為logit值。
3.根據(jù)權(quán)利要求2所述的一種抵御縱向聯(lián)邦學(xué)習(xí)中標(biāo)簽推理攻擊的隱私保護(hù)方法,其特征在于,對(duì)目標(biāo)數(shù)據(jù)進(jìn)行預(yù)處理的具體步驟為:
4.根據(jù)權(quán)利要求1所述的一種抵御縱向聯(lián)邦學(xué)習(xí)中標(biāo)簽推理攻擊的隱私保護(hù)方法,其特征在于,步驟s3中,服務(wù)器端在接收各客戶端上傳的中間參數(shù)logit值之后,立即啟動(dòng)頂部模型訓(xùn)練流程,服務(wù)器端計(jì)算復(fù)合損失函數(shù)的梯度,并通過(guò)反向傳播算法,動(dòng)態(tài)更新模型參數(shù);所述復(fù)合損失函數(shù)為步驟s2中交叉熵?fù)p失函數(shù)與中心平均損失函數(shù)組合而成。
5.根據(jù)權(quán)利要求1所述的一種抵御縱向聯(lián)邦學(xué)習(xí)中標(biāo)簽推理攻擊的隱私保護(hù)方法,其特征在于,步驟s3中,服務(wù)器端計(jì)算各客戶端的梯度,并在梯度中增加噪聲,自適應(yīng)的調(diào)整本地梯度大小,包括: