999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

推薦系統(tǒng)中的隱私保護(hù)矩陣分解算法研究

2021-05-14 03:58:10崔煒榮徐龍華杜承烈
關(guān)鍵詞:用戶信息模型

崔煒榮 徐龍華 杜承烈 李 寶

1(安康學(xué)院電子與信息工程學(xué)院 陜西 安康 725000) 2(西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 陜西 西安 710072)

0 引 言

當(dāng)今社會,互聯(lián)網(wǎng)中的各類信息都在以難以預(yù)知的速率爆炸式地增長,人類社會也隨之從“信息匱乏”狀態(tài)步入到“信息過載”狀態(tài)。越來越多的用戶在超過其處理能力的大量信息面前顯得無所適從,很容易迷失在信息的海洋中。為了解決“信息過載”這一問題,使得用戶可以在海量的數(shù)據(jù)中快速、準(zhǔn)確地得到有用的信息,推薦系統(tǒng)應(yīng)運(yùn)而生。推薦系統(tǒng)能夠根據(jù)用戶的歷史行為構(gòu)建模型,預(yù)測用戶對特定物品的態(tài)度并根據(jù)其預(yù)測向用戶進(jìn)行推薦。在推薦算法不斷成熟和推薦系統(tǒng)被廣泛應(yīng)用的同時(shí),其面臨的隱私安全問題也日益凸顯[1]。本質(zhì)上,為了獲得滿意的推薦服務(wù),用戶需要向推薦系統(tǒng)提供個(gè)人信息。因此,相比其他網(wǎng)絡(luò)信息服務(wù),推薦系統(tǒng)更加具有天然的隱私不友好性。推薦系統(tǒng)面臨的隱私安全風(fēng)險(xiǎn)主要在于:(1) 服務(wù)提供商可以直接利用用戶所提交的數(shù)據(jù)獲得用戶的個(gè)人信息,從而確認(rèn)用戶的身份、興趣愛好等敏感信息;(2) 由于推薦系統(tǒng)所收集的數(shù)據(jù)的稀疏特性,利用推薦系統(tǒng)發(fā)布的聚合數(shù)據(jù),攻擊者可以有效推測出用戶的敏感信息[1-2]。在如今人們越來越關(guān)心個(gè)人隱私安全的大背景下,如何在保證可用性的前提下引入合理的隱私保護(hù)機(jī)制也成為了有關(guān)推薦系統(tǒng)研究的熱點(diǎn)問題。

當(dāng)前,基于矩陣分解的協(xié)同過濾(Matrix Factorization Collaborative Filtering,MFCF)[3]是最為主流的推薦算法,該類算法從用戶-物品評分矩陣中挖掘出潛在的用戶特征向量及物品特征向量,并通過向量相似度預(yù)測用戶對物品的評價(jià)。相比其他方法,MFCF方法能夠提供更高的預(yù)測準(zhǔn)確度、更快的計(jì)算效率,以及更高的可擴(kuò)展性。

本文針對MFCF推薦系統(tǒng)中的隱私保護(hù)問題展開研究, 提出一種基于分布式計(jì)算架構(gòu)和梯度混淆的隱私矩陣分解算法,稱之為DGCMF(Distributed Gradient Confusion Matrix Factorzation)。與現(xiàn)有的隱私保護(hù)MFCF方法相比,DGCMF不僅可以防止用戶評分和模型泄露,還可以防止用戶“評價(jià)行為”是否存在這一信息的泄露,從而為用戶隱私提供更強(qiáng)有力的保障。

1 相關(guān)工作

在先前的研究中,在推薦系統(tǒng)中增強(qiáng)隱私保護(hù)的方式主要分為以下三類:

1) 混淆和擾動。該方式通過在用戶數(shù)據(jù)中增加偽造值以達(dá)到隱藏真實(shí)用戶數(shù)據(jù)的目的。文獻(xiàn)[4-5]中所提出的隱私保護(hù)推薦算法均基于該方式構(gòu)建,使得用戶可以對數(shù)據(jù)在本地進(jìn)行加擾,從而對服務(wù)器隱藏真實(shí)的數(shù)據(jù)。但上述方法主要的問題在于:從安全性角度,上述加擾效果并未得到嚴(yán)格證明;從可用性角度上,上述方法在增強(qiáng)隱私保護(hù)的同時(shí)較大地犧牲了系統(tǒng)的推薦準(zhǔn)確度。

2) 差分隱私。差分隱私保護(hù)的本質(zhì)也是通過在計(jì)算過程中引入特定分布的噪聲以達(dá)到保護(hù)原始數(shù)據(jù)的效果。但與簡單的混淆和擾動不同,差分隱私保護(hù)可以提供能被度量和證明的隱私保障。文獻(xiàn)[6]首次將差分隱私保護(hù)的概念引入了推薦系統(tǒng),隨后多項(xiàng)研究在其基礎(chǔ)上展開[7-11]。

3) 同態(tài)加密。同態(tài)加密技術(shù)可以使得用戶在不必解密的情況下對密文內(nèi)容進(jìn)行計(jì)算,被廣泛應(yīng)用于各類隱私保護(hù)場景中。文獻(xiàn)[11-13]所設(shè)計(jì)的推薦系統(tǒng)均基于同態(tài)加密技術(shù)方案實(shí)現(xiàn)了隱私保護(hù)。使用同態(tài)加密最大的障礙在于其相對較高的計(jì)算開銷。特別是當(dāng)數(shù)據(jù)量較大時(shí),效率和能耗成為限制其可用性的關(guān)鍵因素。

上述文獻(xiàn)中的方法主要針對用戶評分和推薦模型的保護(hù)。然而,它們共同缺乏的是對“存在性”的保護(hù)。也就是說,即便是無法得知用戶的具體評分,服務(wù)器也依然可以在與用戶的交互計(jì)算過程中知道用戶對哪些物品進(jìn)行了評價(jià)。利用這些信息,服務(wù)器仍然可以推測出用戶的偏好、個(gè)人特征等隱私信息。與上述方法相比,本文方法除了能夠?qū)崿F(xiàn)對用戶數(shù)據(jù)以及模型的保護(hù)外,也能夠?qū)崿F(xiàn)對用戶評分“存在性”的保護(hù)。

與本文最為相似的工作來自文獻(xiàn)[14],作者提出了名為SDMF的隱私保護(hù)矩陣分解方法。SDMF通過在梯度更新過程中引入隨機(jī)響應(yīng)機(jī)制實(shí)現(xiàn)對用戶評分、模型、存在性的保護(hù)。然而,這種方法在梯度下降優(yōu)化過程中造成梯度更新?lián)p失,降低了所生成模型的預(yù)測準(zhǔn)確性。與之相比,DGCMF中的梯度混淆是無損的,因此既能夠有效保護(hù)用戶隱私,也能夠保證系統(tǒng)的推薦準(zhǔn)確性。

2 系統(tǒng)模型與問題描述

2.1 系統(tǒng)模型與假設(shè)

圖1 系統(tǒng)模型

2.2 隱私保護(hù)需求

本文算法應(yīng)滿足如下隱私保護(hù)需求:

2) 評分保護(hù):在模型的計(jì)算過程中,服務(wù)器無法獲知每個(gè)用戶的歷史評分。

3) 存在性保護(hù):在模型的計(jì)算過程中,服務(wù)器無法獲知用戶是否對某個(gè)物品作出評分。

3 算法設(shè)計(jì)

3.1 總體設(shè)計(jì)

本文算法實(shí)現(xiàn)了分布式架構(gòu)下的貝葉斯概率矩陣分解。算法架構(gòu)如圖2所示,主要符號及其含義見表1。

圖2 算法框圖

表1 主要符號及含義

計(jì)算過程由初始化和迭代優(yōu)化兩部分組成。客戶端和服務(wù)器端分別對W和H完成初始化后便進(jìn)入迭代優(yōu)化環(huán)節(jié)。本文算法采用了SGLD(Stochastic Gradient Langevin Dynamics)優(yōu)化算法。SGLD所增加的高斯噪聲為系統(tǒng)引入了差分隱私保障,能夠有效防止模型泄露。

在迭代優(yōu)化環(huán)節(jié)的每一輪迭代過程中,每一個(gè)用戶ui首先從服務(wù)器端下載更新后的H,之后根據(jù)自己的評分?jǐn)?shù)據(jù)ri計(jì)算和wi每一個(gè)hj(rij≠?)的更新梯度grad(wi)和grad(hj)。接著,ui利用grad(wi)對wi進(jìn)行更新。對grad(hj)進(jìn)行梯度混淆后將其發(fā)送至服務(wù)器端。服務(wù)器收到每一個(gè)用戶發(fā)來的梯度更新信息后,將其聚合并最終更新H。

由于每輪迭代中,服務(wù)器只收到用戶發(fā)來的物品隱藏因子向量梯度信息,從而防止了用戶評分泄露。梯度混淆的加入進(jìn)一步隱藏了梯度信息中用戶和被評分物品的聯(lián)系,實(shí)現(xiàn)了“存在性”保護(hù)。

3.2 梯度更新算法

p(W,H|R,λr,Λw,Λh)∝

p(R|W,H,λr)p(W|Λw)p(H|Λh)

(1)

式中:λr為全局正則化參數(shù),Λw和Λh是基于Gamma分布生成的對角矩陣,用于隱藏因子向量wi和hj的正則化處理。采用正態(tài)分布假設(shè),則式(1)的對數(shù)形式為:

F(W,H)=lnp(R,λr,Λw,Λh)=

lnp(R|W,H,λr)+lnp(W|Λw)+

lnp(H|Λh)+C=

(2)

式中:C為常數(shù);N表示正態(tài)分布。為了求得W和H的最大后驗(yàn)估計(jì),本文采用SGLD優(yōu)化算法進(jìn)行迭代求解。具體而言,在第t次迭代中:

(3)

(4)

(5)

(6)

(7)

(8)

用戶ui發(fā)送gradui(hj)至服務(wù)器。由于服務(wù)器僅得知梯度信息,因此防止了用戶隱藏因子向量的泄露。

3.3 梯度混淆算法

采用上述架構(gòu),雖然在迭代優(yōu)化過程中服務(wù)器僅能從客戶端得到H的加擾梯度更新信息且無法從中推斷出用戶的隱藏因子向量,然而服務(wù)器依然可以根據(jù)這些信息獲知用戶對哪些物品進(jìn)行了評價(jià)。例如當(dāng)服務(wù)器收到來自用戶ui的梯度更新信息gradui(hj)時(shí),根據(jù)hj和物品vj的對應(yīng)關(guān)系,可知用戶ui一定對vj進(jìn)行了評價(jià)。為了避免這種“存在性”用戶信息泄露,本文基于安全求和思想設(shè)計(jì)了梯度混淆過程。

在梯度混淆的過程中,對于每一個(gè)計(jì)算出的梯度更新信息gradu(hj),用戶u以一定概率選擇將其值發(fā)送給隨機(jī)選取的另一用戶,并隨后將其置零。收到gradu(hj)的用戶u′將其與自身的gradu′(hj)相加。舉例而言,假設(shè)用戶u計(jì)算出的梯度值分別為gradu(hj1),gradu(hj2),…,gradu(hjq),SG為空集,則u依據(jù)算法1實(shí)施混淆。

算法1梯度混淆

fort=j1tojq

據(jù)概率f選取gradu(ht)

ifgradu(ht)被選中then

SG←SG∪{gradu(ht)}

gradu(ht)←0

end if

end for

經(jīng)過上述的梯度混淆處理后,u將篩選出來的梯度更新值集合SG發(fā)送給隨機(jī)選取的用戶u′。收到SG后,對于每一個(gè)gradu(hj)∈SG,u′將其與自身的對應(yīng)梯度更新值進(jìn)行合并,即計(jì)算混淆梯度:

(9)

圖3描述了這一個(gè)過程。其中行向量表示用戶在第t次迭代過程中所計(jì)算并分解的梯度更新信息。值為0表示用戶并未對hj進(jìn)行過單類評價(jià)。曲線箭頭表示以一定的概率選取并發(fā)送。以u2為例,在該輪迭代中,其根據(jù)概率fu2選取了梯度更新值gradu2(h1),并將其發(fā)送至隨機(jī)選取的用戶u1。同時(shí),u1根據(jù)概率fu1選取了梯度更新值gradu1(h3),將其發(fā)送給u2。u3根據(jù)概率fu3選取了梯度更新值gradu3(h2),也將其發(fā)送給了u2。最終,u2生成混淆梯度(0,gradu3(h2),gradu2(h2)+gradu1(h3),0)。每輪迭代完成后,u2將混淆后的梯度更新值發(fā)送至服務(wù)器。

圖3 梯度混淆過程

(10)

h3=h3+grad(h3)

(11)

3.4 算法流程

基于分布式架構(gòu),本文算法由客戶端算法client(u,t)和服務(wù)器端算法server兩部分組成,流程分別如算法2和算法3所示。

算法2client(u,t)

輸入:Ri,η0,r,Λw,Λh。

1. ift=0 then初始化wi

2. ift>0 then

3. 從服務(wù)器下載H

5.count▽u←0

//count▽u用來對值不為0的Rij進(jìn)行計(jì)數(shù)

9. ifR≠0 then

11.count←count+1

13. end if

14. end for

16. 生成概率參數(shù)f∈[0,1]

22. end if

23. end if

24. end for

26. for每一個(gè)收到的來自其他用戶的SG:

29. end for

30. end for

32. end if

算法2中,用戶首先更新了學(xué)習(xí)速率(第7行);接著根據(jù)評分向量Rij、wi和H計(jì)算出wi的更新梯度和被評分物品對應(yīng)的hj的更新梯度(第8至14行);之后更新wi(第15行)并進(jìn)行梯度混淆(第16至29行);最后將經(jīng)過混淆的梯度值發(fā)送給服務(wù)器(第31行)。

算法3server

輸出:物品隱藏因子矩陣H。

1. 初始化H

2.t←0

4. 遠(yuǎn)程調(diào)用client(ui,t)

5. end for

6.t←1

7. while 沒有收斂 do:

11. 遠(yuǎn)程調(diào)用client(ui,t)

12. end for

13. while Ture do:

18. end for

20. break

21. end if

21. end while

24. end for

26.t←t+1

27. end while

算法3中,服務(wù)器在初始化H之后,遠(yuǎn)程啟動每個(gè)客戶端的初始化過程(第1至5行)。之后進(jìn)入迭代優(yōu)化環(huán)節(jié)。在每輪迭代中,首先下發(fā)H并調(diào)用客戶端的梯度更新方法(第10至12行)。待全部用戶完成更新計(jì)算并回傳物品隱藏因子向量梯度更新值后,對其進(jìn)行聚合并完成H的更新(第13至25行)。

4 安全性分析

根據(jù)2.2節(jié)所述,本文算法應(yīng)當(dāng)滿足模型、評分和存在性三方面的隱私保護(hù)需求。

4.1 模型保護(hù)

4.2 評分保護(hù)

與采用集中式架構(gòu)的MF算法不同,在本文中,作為最為重要的隱私數(shù)據(jù)的用戶歷史評分并沒有被服務(wù)器所收集,而是分別被保存在各個(gè)客戶端。在迭代計(jì)算過程中,用戶ui的歷史評分ri只參與了預(yù)測誤差eij的計(jì)算,且服務(wù)器無法從接收到的混淆梯度更新信息中推導(dǎo)出ri。根據(jù)以上分析,在模型的計(jì)算過程中,服務(wù)器無法獲知每個(gè)用戶的歷史評分。

4.3 存在性保護(hù)

此外,由于每一個(gè)用戶在每一輪迭代末都依據(jù)實(shí)時(shí)隨機(jī)生成的選擇概率f進(jìn)行了混淆(算法2第16行)。因此服務(wù)器無法從所收集的用戶梯度更新值序列中推測出用戶是否對某一物品進(jìn)行過評價(jià),從而實(shí)現(xiàn)了存在性保護(hù)。

5 實(shí) 驗(yàn)

在算法2和算法3的基礎(chǔ)上,使用Python開發(fā)了系統(tǒng)原型。為了評估系統(tǒng)的可用性,將其與文獻(xiàn)[15]中提出的SDMF方法進(jìn)行了對比。

5.1 原型構(gòu)造方法

協(xié)議原型基于Python3.6+TensorFlow2.0開發(fā),主要由Server類和User類組成,Sever類是對服務(wù)器的模擬,其中主要包含的屬性有物品隱藏因子矩陣H,主要包含的方法有聚合梯度更新(針對H)。User類是對用戶的模擬,其中主要包含的屬性有用戶ID、評分向量r和隱藏因子向量w,主要包含的方法有梯度更新和梯度混淆方法。梯度更新方法中調(diào)用了TensorFlow框架Stochastic Gradient Langevin Dynamics模塊實(shí)現(xiàn)SGLD優(yōu)化過程。

模擬運(yùn)行的每一輪迭代中,服務(wù)器實(shí)例依照算法3依次調(diào)用每一個(gè)用戶實(shí)例的梯度更新方法。每一個(gè)用戶實(shí)例依照算法2進(jìn)行w梯度更新,并將經(jīng)過混淆后的h梯度傳回給服務(wù)器實(shí)例,由服務(wù)器實(shí)例進(jìn)行聚合并調(diào)用梯度更新方法更新H。

5.2 數(shù)據(jù)集及實(shí)驗(yàn)方法

使用了3個(gè)公共評分?jǐn)?shù)據(jù)集進(jìn)行實(shí)驗(yàn),具體包括:兩個(gè)MovieLens數(shù)據(jù)集(ML-100K和ML-1M),一個(gè)Netflix數(shù)據(jù)子集(包含10 000個(gè)用戶和5 000個(gè)物品)[16]針對上述每一個(gè)數(shù)據(jù)集,將其隨機(jī)劃分為占比80%的訓(xùn)練集和占比20%的測試集,訓(xùn)練集中的20%作為驗(yàn)證集。具體的超參數(shù)設(shè)置為:k=50,r=0.6,(Λw,Λh)~Gamma(1,100)。初始學(xué)習(xí)速率η0分別為5×10-6(ML-100K)、5×10-7(ML-1M)、5×10-7(Netflix)。對于SDMF,選取了(εI=0.25,εg=4)和(εI=0.25,εg=1)作為兩組差分隱私配置參數(shù)。

5.3 結(jié)果及分析

在ML-100K、ML-1M和Netfilx數(shù)據(jù)集上的學(xué)習(xí)曲線如圖4所示。

圖4 實(shí)驗(yàn)結(jié)果

可以清楚地看到,對于SDMF而言,參數(shù)ε值越小,則系統(tǒng)可以提供越強(qiáng)的差分隱私保障,但其預(yù)測準(zhǔn)確度就越低。此外,盡管SDMF和DGCMF都可以實(shí)現(xiàn)模型保護(hù)、用戶評分保護(hù)和存在性保護(hù),但可以看出,DGCMF所生成的模型預(yù)測準(zhǔn)確性明顯高于SDMF所生成的模型。這是由于本文所設(shè)計(jì)的DGCMF和SDMF在存在性保護(hù)方面采取了不同的混淆機(jī)制。SDMF采用基于隨機(jī)響應(yīng)的方式模糊用戶的評價(jià)行為。在每輪迭代中,用戶根據(jù)一定的概率設(shè)定,選擇是否計(jì)算某一已打分物品的隱藏因子向量梯度。此外,用戶還有可能偽造未打分物品的隱藏因子向量梯度。這種混淆方式本質(zhì)上是有損的,因此會對系統(tǒng)的準(zhǔn)確性造成負(fù)影響。而DGCMF所采用的方式能夠在隱藏“存在性”的同時(shí)確保其混淆行為是無損的,從而在實(shí)現(xiàn)隱私保護(hù)的同時(shí)最大限度地保障推薦準(zhǔn)確度。

6 結(jié) 語

針對協(xié)同過濾推薦系統(tǒng)中的隱私保護(hù)問題,本文設(shè)計(jì)DGCMF算法。在DGCMF中,矩陣分解過程由各個(gè)客戶端和服務(wù)器共同配合完成。由于服務(wù)器只能收到來自客戶端的物品隱藏因子向量梯度,從而避免了用戶評分和模型的泄露。此外,客戶端對所要上傳給服務(wù)器的梯度更新信息進(jìn)行了混淆,實(shí)現(xiàn)了對用戶評分“存在性”的保護(hù)。與現(xiàn)有方法相比,DGCMF的梯度混淆過程不會造成梯度更新?lián)p失,在實(shí)現(xiàn)隱私保護(hù)的同時(shí)能夠提供更好的推薦準(zhǔn)確度。今后,將針對如何進(jìn)一步提高模型的準(zhǔn)確度和生成效率展開研究,以期在安全性和效率兩方面達(dá)到更優(yōu)的權(quán)衡。

猜你喜歡
用戶信息模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 黄色a一级视频| 天天综合网亚洲网站| 极品性荡少妇一区二区色欲| 亚洲美女一区二区三区| 国产尤物在线播放| 一本色道久久88综合日韩精品| 91精品国产一区| 色婷婷天天综合在线| 亚洲天堂网在线播放| 婷婷亚洲天堂| 久久一日本道色综合久久| 国产综合精品日本亚洲777| 国产视频一区二区在线观看| 一级看片免费视频| 国产亚洲日韩av在线| 亚洲日产2021三区在线| 无码高潮喷水在线观看| 98精品全国免费观看视频| 日韩欧美视频第一区在线观看| 在线观看亚洲精品福利片| 高清久久精品亚洲日韩Av| 欧美精品高清| 秋霞国产在线| 久久久久无码精品| 99视频免费观看| 91在线精品麻豆欧美在线| 亚洲国产精品日韩专区AV| 91热爆在线| 国产超薄肉色丝袜网站| 成人综合网址| 强乱中文字幕在线播放不卡| 亚洲床戏一区| 精品亚洲欧美中文字幕在线看 | 亚洲人免费视频| 久久一级电影| 日韩欧美在线观看| 欧美日韩动态图| 国产Av无码精品色午夜| 国产国语一级毛片| 91青青视频| 日本a∨在线观看| 欧美特黄一级大黄录像| 亚洲an第二区国产精品| 国产精品自拍合集| 亚洲不卡av中文在线| 最新国产高清在线| 国产精品美乳| 色噜噜久久| 亚洲区欧美区| 欧美精品一区二区三区中文字幕| 亚洲第一福利视频导航| 国产成人免费| 国产精品白浆在线播放| 成人噜噜噜视频在线观看| 国产福利在线免费观看| 国产亚洲精| 欧美一区中文字幕| 亚洲成A人V欧美综合天堂| 亚洲中文无码h在线观看| 一级毛片无毒不卡直接观看| 2021国产在线视频| 婷婷午夜天| 中文无码精品a∨在线观看| 国产白浆在线观看| 九九热在线视频| 国产在线观看一区精品| 亚洲国产天堂久久综合226114| 免费看美女毛片| 直接黄91麻豆网站| 国产av无码日韩av无码网站| 草逼视频国产| 亚洲区第一页| 国产精品熟女亚洲AV麻豆| 性色一区| 精品国产aⅴ一区二区三区| 国产在线自揄拍揄视频网站| 国产黄视频网站| 亚洲二区视频| 免费观看成人久久网免费观看| 国内精品视频区在线2021| 在线色国产| 97免费在线观看视频|