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

FPCBC: 基于眾包聚合的聯邦學習隱私保護分類系統

2022-11-11 10:49:42魏曉超魏森茂
計算機研究與發展 2022年11期
關鍵詞:分類用戶模型

金 歌 魏曉超 魏森茂 王 皓

(山東師范大學信息科學與工程學院 濟南 250358)

機器學習在模式識別、醫療等領域扮演了重要的角色,通過機器學習實現分類的需求也逐漸出現在各個應用領域.傳統機器學習解決方案的思想是訓練出理想的模型,再進行分類推理.然而,由于硬件和有限本地訓練數據的限制,導致本地訓練出來的模型表現不佳.普遍的想法是從多個數據持有方收集數據來訓練模型,但是在很多情況下數據都很敏感[1].與此同時,相關法律法規[2-3]的出臺,禁止了在沒有明確協議的情況下收集和利用私人敏感數據的行為,導致數據是離散且不共享的.如今為了使機器學習應用在適應社會實際需求的同時保證隱私安全,引入云的機器學習(cloudera machine learning, CML)成為了熱點,其中聯邦學習(federated learning, FL)應運而生.

當前有很多方法可以實現數據分類,其中實用的解決思路分為2類:

第2類,不再以聯合訓練出理想模型為目的,而是讓邊緣機構(持有訓練數據的參與方)本地訓練出準確度不高的弱模型,然后對弱模型推理出的弱結果進行滿足統計學的迭代聚合處理來得到理想的分類結果.Zhang等人[11]基于這種解決思路進行了研究并提出了一種可行的算法.

上述方案分別在實用或安全上存在局限性.首先,第1類方案雖然在一定程度上保護了訓練數據的隱私,但存在很多問題亟待解決,如:非獨立同分布的數據集極大地降低了聯邦學習的整體性能[12],且需要占用邊緣設備大量的通信帶寬.共享梯度信息也會引起攻擊者的注意,一些研究[4,13]提出了基于聯邦學習方法中共享模型參數的攻擊,雖然后續對梯度隱私安全有所研究,但仍需要多個數據提供方和云服務器之間進行大量冗雜的通信來訓練出理想的模型.其次,第2類需要用戶或者查詢方分享分類的數據,這些數據在公共線路傳輸的過程中極易受到外部敵手攔截、竊取,從而導致數據泄露產生隱私安全問題.與此同時,邊緣機構也會直接獲得查詢數據從而可能對用戶的查詢私密數據加以利用,此類系統內部敵手也會嚴重威脅用戶的隱私安全.

考慮到機器學習即服務(machine learning as a service, MLAAS)最終目的是服務于社會市場,邊緣參與方的獨立性又具有較強的需求.因此,為了實現分類而要求各個邊緣機構長時間保持通信來聯合訓練模型是比較奢侈的方法.為了解決這個缺陷的同時提供更好的隱私安全保障,我們基于上述第2類思想提出了一個安全眾包聚合的聯邦學習隱私保護分類系統(federated learning privacy-preserving classification system based on crowdsourcing agg-regation, FPCBC).我們并不直接將需要分類查詢的數據上傳給服務器,而是通過密碼學技術對數據加密,邊緣機構使用弱模型對加密的數據進行推理,進而得到密態分類結果,再由服務器對密文結果進行聚合迭代處理得到最終分類結果.雖然系統解決機器學習問題的方式不再是通過傳統聯邦學習來聯合訓練模型,但FPCBC仍秉承了聯邦學習“分邦而治”的思想,實現了機器學習應用的聯邦場景,且著力解決了隱私問題.此外,FPCBC更適合社會的應用環境,邊緣機構之間無需過多的依賴關系與通信,將大部分的計算工作交給云服務器,緩和了當前物聯網和邊緣應用產生的負擔.

本文的主要貢獻總結為3個方面:

1) 將眾包、聯邦學習思想與密碼學技術相結合,在利用統計聚合法實現分類的過程中通過密碼學技術加密數據,防止邊緣機構和服務器獲得私密數據,從而達到保護查詢數據隱私安全的目的.我們解決了邊緣機構合謀竊取用戶查詢數據的問題,并阻斷了外部敵手竊取用戶隱私的可能性.

2) 與現有的實現分類目的的模型相比,我們基于雙服務器提出的FPCBC能保護用戶的數據不泄露給外部敵手的同時對邊緣機構的丟失也具有更強的魯棒性.由于外包的特性,用戶的本地計算量較少;此外,與傳統聯邦學習分類的解決方案相比,實現分類的過程不需要訓練出理想的模型,邊緣機構在系統中的存在更加獨立,因此,所提出的方案可以滿足許多實際應用中的真實需求.

3) 實驗結果表明,我們提出的模型是可行的,在無需訓練理想模型且保證一定準確率的前提下從本質上提高了模型的安全性.

1 相關工作

1.1 安全模型訓練

傳統隱私保護機器學習的重點在于安全模型訓練,目前經常使用外包或協同訓練的方法,其中協同訓練通常使用聯邦學習.目前對于聯邦學習的研究,除了把重點放在尋找高效的模型以外,如何在訓練過程中保障數據提供方的隱私安全也成了交叉領域的研究方向.對于這種傳統隱私保護聯邦學習的研究,Phong等人[14]提出了一個隱私保護的深度學習系統,該系統橋接了深度學習和密碼學,將異步隨機梯度下降應用于神經網絡,并結合加法同態加密(homomorphic encryption, HE)增加了可容忍的開銷.Bonawitz等人[15]設計了一種新穎、通信高效的協議,用于高維數據的安全聚合,他們提出的協議允許服務器以安全的方式計算大型用戶所持有的數據向量的總和,且該協議的通信開銷很低.對于16位輸入值,協議為2個用戶和二維向量提供1.73倍的通信擴展,以及在明文中發送數據的1.98倍擴展.Dong等人[16]基于三元梯度壓縮的技術研究提出了更加安全和高效的聯邦學習系統,他們首先分析了三元梯度壓縮的隱私泄露問題,設計了攻擊策略并發起攻擊,分別設計了基于Shamir的門限秘密共享(threshold secret sharing, TSS)和Paillier同態加密的隱私保護協議,實現了利用三元梯度壓縮技術的聯邦學習系統.Fang等人[17]提出了一個隱私保護和通信高效的物聯網聯邦學習方案,該方案通過梯度空間稀疏化來防止偏離收斂趨勢的無關局部更新被上傳利用,使用壓縮算子來實現雙向壓縮并提出了秘密共享與輕量級同態加密相結合來保護數據隱私、抵御各種共謀場景的隱私保護協議.

這些機器學習訓練過程的隱私保護方案雖然相對成熟,結合了同態加密、秘密分享等密碼學技術保護了模型訓練過程中的梯度等隱私,但是需要多個數據提供方和云服務器間維持大量冗雜的通信來訓練模型,這些因素在實際應用于市場時存在一定的約束.我們的方案盡可能從另一種角度和思路上實現隱私保護.

1.2 安全模型推理

MLAAS往往通過模型推理的方法來實現應用目的,如圖1所示,用戶持有數據Data,服務器有已經訓練好的神經網絡模型Model.服務器基于模型Model對Data輸出一個預測Result=P(Data,Model).安全模型推理就是訓練出模型之后,用戶對數據加密后再進行推理,這樣是為了解決用戶直接將數據上傳而產生的安全問題.安全模型推理往往基于交互的方式或非交互的方式來實現.

Fig. 1 Description of MLAAS application relationship圖1 MLAAS應用關系說明

交互方式在推理過程中需要用戶在線參與并執行必要的交互計算,MiniONN[18]使用加法秘密共享的安全兩方計算技術,其中用戶和服務器各擁有一份秘密份額在線協同計算,通過將現有神經網絡轉換為茫然神經網絡來實現安全推理.GAZELLE[19]和BAYHENN[20]使用同態加密,并分別使用混淆電路和對DNN結合貝葉斯網技術實現了高效的推理任務.除此之外,更多滿足離線推理的非交互式方案也得到了研究[21-25],這些非交互式允許用戶處于離線狀態,僅需用戶執行數據預處理和上傳,然后等待返回推理結果即可.CryptoNets[22]是于2016年提出的神經網絡模型,使用了Bos等人[26]于2013年提出的一種分級同態加密方案,并對池化層、卷積層等做了能夠滿足同態加密操作的變換(詳見2.3節),本文選擇了基于CryptoNets的實驗進行了分析.CryptoDL[23]使用全同態加密,將非線性函數通過對多項式進行擬合,使得同態加密處理非線性函數成為實際,進而構建出滿足同態加密計算的神經網絡模型.Faster CryptoNets[24]也使用全同態加密,并使用網絡剪枝來實現模型.Ahmad等人[25]遵循了CryptoNets[22]中提出的框架,并應用他們的GPU加速FHE技術,首次實現了高效的、利用GPU計算的同態卷積神經網絡(HCNN).

本文提出的安全分類系統借助安全模型推理的思想,擺脫了安全模型訓練的過程和對訓練理想模型的需求,將密碼學與眾包聚合方法[11]結合,從而實現隱私安全的分類應用.

2 基礎知識

2.1 同態加密

同態加密(HE)是一種特殊的密碼學加密手段,Rivest等人[27]在1978年提出了同態加密的概念,直到2009年,Gentry[28]才從數學上提出了基于理想格的全同態加密方案,之后對同態加密方案也有了新的研究進展[29-31].同態加密允許對密文直接進行特定的代數運算,得到的密態運算結果解密后與對明文進行操作的結果一樣.例如,給定2個密文[x1],[x2],[x1]=Enc(pk,x1), [x2]=Enc(pk,x2),若密文操作⊙滿足Enc(pk,x1+x2)←[x1]⊙[x2]和Enc(pk,x1×x2)←[x1]⊙[x2],則加密方案滿足同態加法和乘法操作.同態加密安全性要求基礎加密方案滿足CPA安全.

同態加密方案H通常由四元組組成:H={KeyGen,Enc,Dec,Eval}.其中,KeyGen是密鑰生成函數,用于生成加密方案需要的密鑰;Enc是加密函數,對于非對稱同態加密,該函數將一個公鑰pk和明文m作為輸入,并產生一個密文c=Enc(pk,m);Dec是解密函數,對于非對稱同態加密,該函數將一個私鑰sk和密文c作為輸入,生成明文m=Dec(sk,c);Eval是評估函數,將一個公鑰pk、c和對明文的正確操作T作為輸入,輸出與明文對應的密文,用于驗證加密算法的正確性.方案H在滿足下列式子時是正確的:

c′←Eval(pk,c,T)?T(m)=Dec(sk,c′).

本文在利用同態加密實現外包分類的過程中,輸入神經網絡的數據C往往是與特征有關的數據:明文數據m=(x1,x2,…,xn)和密文數據C=([x1],[x2],…,[xn]),其中xi是明文,[xi]是經過同態加密的密文,i∈{1,2,…,n}.然后將密文交給神經網絡進行學習,系統流程如圖2所示:

Fig. 2 Process of homomorphic encryption outsourcing classification圖2 同態加密外包分類流程

由于滿足同態推理的神經網絡往往需要與之對應合適的加密方案,因此在安全模型推理中不同的機器學習模型采用的加密方案并不唯一.我們提出的系統要求加密方案滿足加法和乘法同態即可適用,因此在介紹總體方案時將以功能模塊的形式進行描述,且密文操作省略模運算的描述說明.此外,一些加密方案不支持浮點數運算,我們往往通過適當的縮放將它們轉換為整數,當然也有其他的解決方法[32].

實驗部分使用滿足同態加密推理的CryptoNets模型,并使用Bos等人[26]提出的YASHE分層同態加密(leveled homomorphic encryption, LHE)的加密方案.

2.2 聯邦學習

聯邦學習是谷歌于2016年提出的能夠保護數據隱私的一種分布式機器學習框架,目前研究[33]對于聯邦學習有了更包容的定義:聯邦學習是一種機器學習范式,它指在中央服務器或服務提供商協調下,多個實體(客戶端)協同解決機器學習問題.聯邦學習分為3個類別:橫向聯邦學習(horizontal federated learning, HFL)、縱向聯邦學習(vertical federated learning, VFL)和聯邦遷移學習(federated transfer learning, FTL).其中,HFL的特點是訓練數據的來源交叉度低,但是數據屬性交叉度很高,這種數據分布多出現于同一性質的企業或機構采用相同的數據庫屬性劃分系統,例如醫院等.

在分布式系統中,為了實現分類任務,雖然聯合訓練模型的邊緣參與方所擁有的數據大都是非獨立同分布的,但訓練數據的屬性通常是相同的.因此,我們在隱私保護分類系統中要解決的問題類似于HFL的應用場景.受聯邦學習的啟發,我們將密碼學技術融入其中設計出更安全的分類系統.

2.3 CryptoNets神經網絡

CryptoNets是Dowlin團隊提出的一個神經網絡模型,該模型使用多項式近似的方式來代替ReLU激活函數,實現了在加密數據上運行神經網絡的可能性,其加密方式使用Bos等人[26]提出的分層加密方案進行加密,并允許進行加法和乘法運算.Crypto-Nets的訓練和推理采用不同的方式:訓練過程基于明文采用更復雜的網絡層,推理過程則使用簡化的網絡結構,可以實現基于密文的推理.因此,在推理階段,這種方式在外包計算時可以保證數據的私密性,能為機器學習的預測即服務(prediction as a service, PAAS)思想提供隱私保障.

為了節省推理時間,CryptoNets合并了連續的線性變換層.整個神經網絡的搭建分為2部分:訓練網絡和簡化網絡,后者僅用于預測.訓練網絡有9層,簡化網絡有5層,如表1所示:

Table 1 Neural Network Layers of CryptoNets

本文的實驗以CryptoNets為例,對MNIST數據集進行實驗測試.當然,我們可以用黑盒的方式獲取模型的推理結果,對于任何滿足加乘同態推理的神經網絡,我們提出的系統方案都有一定的普適性.

2.4 Spearman秩相關系數

2.5 SC-AGG算法

SC-AGG[11]是一種結合聯邦學習的輕量級迭代聚合算法,在邊緣參與方使用本地有限數據訓練出準確度不高的模型后,該算法根據網絡模型推理出的結果Wr(該分類推理結果的準確度較低,本文之后稱之為弱結果)由中心代理再進行迭代聚合處理,從而得到準確率較高的分類結果Result(本文之后關于此類推理結果簡稱強結果),使用該算法的應用架構如圖3所示:

Fig. 3 Federated learning aggregation system architecture using SC-AGG圖3 使用SC-AGG的聯邦學習聚合系統架構

算法SC-AGG基于統計學的思想,對多方推理的弱結果進行符合統計意義的處理,進而生成高準確度的結果.假設使用該算法對一組數據Data進行分類,執行Ω輪可以得到理想結果,那么執行到第τ輪時,τ∈{1,2,…,Ω},需要計算Estiτ,Wτ和Foreτ這3個關鍵量.對于該組數據Data的任一個查詢數據而言:

Estiτ={(L1,L2,…,Ln)}是對單條查詢數據分類分布的預估計值,其中Li表示估計數據劃分為第i類的概率大小,i∈{1,2,…,n}.Estiτ計算依賴2個超參數α和ρ,其中α∈(0,1)用來判斷可信度最小閾值,ρ∈(0,1)是一個概率衰減參數,用于將估計的概率分布替換為加權1的概率.如果max(Estiτ -1)<α,那么執行計算Estiτ的中心服務器判定本輪Estiτ不可信,則Estiτ以1-ρτ的概率被賦值為Foreτ -1,以ρτ的概率被賦值為Estiτ -1,否則Estiτ直接被賦值為Estiτ -1.

Wτ=(E1,E2,…,En)是為了強化邊緣參與方模型的優勢,弱化模型的不足而設計的反映模型能力的權重矩陣.對于每個弱模型能力而言,越高的Ei則表示模型在τ輪迭代后對類別i的區分能力越強.Wτ的計算依賴于前一輪的能力矩陣Wτ -1和查詢數據分布之間的相關性來計算,由于能力矩陣和查詢數據都不是獨立同分布的,所以兩者之間選擇2.4節介紹的Spearman秩相關系數來計算相關性:

Foreτ={(F1,F2,…,Fn)}是對單條查詢數據第τ輪的最終聚合結果,也是整個算法最關鍵的輸出,其中元素Fi表示分類劃分判定為第i類的概率大小,i∈{1,2,…,n}.Foreτ的計算受到能力矩陣W、接收到來自邊緣參與方的弱結果Wr和自身Foreτ的影響:

本文的系統實現使用簡化的SC-AGG算法,使其能夠融合密碼學技術大幅度提高隱私安全性的同時,保證最終結果擁有可觀的準確性,具體算法詳見4.2.1節.

2.6 softmax函數

softmax函數的作用是歸一化,目的是將多分類的結果以概率的形式展現出來.該函數將多個神經元的輸出映射到(0,1)區間內從而看成概率,進而實現多分類,基本流程如圖4所示:

Fig. 4 Calculation flow chart of softmax圖4 softmax計算流程圖

根據輸入X=(l1,l2,…,ln),得到預測出的結果Y=(y1,y2,…,yn)的關系滿足:

預測函數P(yi|X)分解為2個步驟:

2) 使用softmax函數得到歸一化概率

3 系統模型及安全定義

本節首先描述FPCBC分類系統構造,再對本文要解決的問題進行形式化描述,最后指出本文的安全定義.

3.1 系統模型

系統模型中有3類角色:邊緣參與方(訓練弱模型的數據持有方)、雙服務器(計算的主要承擔方)和用戶(系統的受益方,提供需要分類的數據).我們的系統目標就是將分類任務眾包給邊緣參與方和服務器進行分類,其分類過程需要的大量計算交給擁有高計算能力的服務器執行.用戶只與中心服務器進行通信,從而隔斷了用戶與邊緣參與方的通信,中心服務器負責將用戶提供的數據發送給邊緣參與方并收集弱分類結果,然后利用雙服務器進行滿足統計學的安全迭代聚合操作,最終得出最優分類結果.圖5顯示了我們提出系統模型的總體架構.

1) 邊緣參與方.邊緣參與方持有機器學習的訓練數據Datai,并基于本地敏感的私有數據訓練出一個弱模型,該模型并不復雜且擁有對密文進行推理的能力.本文中各個邊緣參與方相對獨立,為了保障隱私安全,不再互相共享訓練數據和模型參數.除此之外,由于他們的私有數據是多樣且不可預測的,因此各個參與方訓練出弱模型的推理性能也有不同.

2) 用戶.用戶持有待分類的不帶標簽的數據集Dinq,用戶將Dinq進行加密并發送給服務器A.整個系統通過眾包的形式實現分類查詢,因此用戶不與任何邊緣參與方進行通信,服務器是用戶在系統中通信的唯一接口.

3) 服務器.服務器是用戶與邊緣參與方之間的中介,我們提出的整個系統中存在2個服務器.服務器A負責收集來自邊緣參與方的弱結果,并通過與服務器B的交互來安全迭代聚合弱結果,從而得到最終的預測結果.2個服務器承擔了系統的主要計算量,從而削弱邊緣參與方和用戶的負擔,這對實際應用是十分友好的.為了實現弱到強結果的聚合,服務器A擁有一個小型公開的帶有標簽的數據集Dlab,該數據集可以由邊緣機構提供或公開收集,且該數據集的分布特征不會揭示系統中其他數據集的分布情況.

Fig. 5 Privacy-preserving classification system based on crowdsourcing aggregation圖5 眾包聚合的隱私保護分類系統

系統的關鍵數據流如圖5中的①~④,更詳細的實現見4.2.2節.①表示用戶將數據加密外包給邊緣參與方的過程,②表示邊緣參與方將密態的弱結果發送給服務器A,①②為雙服務器聚合出更高準確率的結果做準備,③表示雙服務器通過交互來實現安全聚合.聚合完成后,④表示雙服務器將與分類結果相關的數據發送給用戶,最后用戶本地計算恢復出最終的分類結果.

3.2 問題形式化

本節形式化描述FPCBC所解決的分類問題,表2對常用的變量和超參數進行了描述.

為了更嚴謹地表述,本文基于假設:任何邊緣參與方和服務器都不能基于本地所有的數據集Datai和Dlab來提前預測出Dinq的標簽概率分布,且對于任何能夠對Dinq進行分類的非線性函數F滿足:

Pr(F(Dlab,{Data1,Data2,…,DataN})=ξ)=ε,

其中ε是可忽略的.

Result=arg max(ForeΩ).

我們的目標是在不泄露隱私的前提下讓用戶得到更高準確度的查詢分類結果,可以用下面的公式形式化地衡量我們的標準:

我們系統的最終目標是提升ST,ST越大說明準確率越高.

Table 2 Systematic Variables and Hyperparameters

3.3 安全模型

我們的系統方案在半誠實和服務器不合謀的前提下是安全的.首先,半誠實意味著邊緣參與方和服務器在訓練模型和執行方案期間遵守規定,但是對來自外部的數據信息保持好奇,嘗試去獲取私有數據并分析數據;其次,雙服務器之間是不合謀的,也就是說服務器不會串通來獲取用戶的私有信息.需要注意的是,系統在一定程度上也可以防止外部敵手竊取用戶的查詢數據Dinq.在本文中不考慮那些通過發送干擾計算結果或者修改數據集來干擾正常聚合計算的惡意參與方和服務器.

在我們的方案中,第1個關鍵的隱私要求是用戶的數據隱私和分類結果隱私,這意味著用戶的數據在眾包系統分類的過程中不會泄露,而且參與眾包的各方(邊緣參與方和服務器)能夠在不知分類結果的前提下,讓用戶獲得最終分類結果.另一個隱私是系統中進行機器學習訓練的數據集隱私.接下來,我們基于以下實驗給出分類結果隱私的形式化定義:

(pk,sk)←Initialization(1k)

查詢1:

① forl=poly(k)

② 敵手Foeselecti∈{1,2,…,ninq},j∈{1,2,…,nlab} and query for:

③Foe←Dlab′,Foe←NetInfer(Dj),Dj∈Dlab′;

④ [Di]←Enc(pk,Di),Di∈Dinq;

⑤Foe←NetInfer([Di]).

查詢2:

① forl=poly(k)

②Foeselecti∈{1,2,…,ninq} and query for:

③ [Di]←Enc(pk,Di),Foe←[Di],Di∈Dinq;

Foe←NetInfer([Di]);

⑤Foe←InteractionA(*).

查詢3:

① forl=poly(k)

②Foeselecti∈{1,2,…,ninq},Di∈Dinqand

query for:

③Foe←(pk,sk);

④Foe←InteractionB(*).

挑戰:

①Foeselecti∈{1,2,…,ninq},Di∈Dinq;

②L0←NetInfer(Di);

③L1←NetInfer(R);

④b←{0,1},Foe←Lb;

⑤b′←Foe;

⑥ ifb′=boutput 1; else output 0.

定義1.分類結果隱私. FPCBC是分類結果隱私安全的,如果對于任何概率多項式時間(probabi-listic polynomial time, PPT)敵手Foe:

實驗分為2個階段:查詢和挑戰.實驗中,k表示安全系數.NetInfer(*)表示邊緣參與方根據弱模型對數據推理出的分類結果;為了簡化實驗表述,InteractionA(*)表示雙服務器交互期間服務器A能獲取到的數據,同理InteractionB(*)表示雙服務器交互期間服務器B能獲取到的數據.查詢階段分為3種來分別模擬系統中的邊緣參與方、服務器A和服務器B的真實情況.每次實驗允許敵手多項式次執行一種查詢并執行挑戰來模擬FPCBC中某一方.挑戰階段,隨機選取一個用戶查詢數據Di,R是一個大小等特征都與Di一致的隨機矩陣.若敵手Foe不能以不可忽略的概率區分模型對Di和R的分類結果,那么FPCBC滿足分類結果隱私安全.

4 FPCBC總體方案

我們的方案需要在不泄露隱私的前提下,通過雙服務器交互來實現聚合算法的密態計算,從而實現隱私保護分類查詢.本節首先介紹我們提出的交互算法,再根據簡化的SC-AGG算法[11]給出完整的FPCBC方案,并對方案的總體實現進行描述.

4.1 雙服務器交互算法

4.1.1 安全計算softmax算法:SCsoftmax

服務器A持有[X]和公鑰pk,服務器B持有密鑰對(pk,sk),每次執行SCsoftmax算法時:

1) 服務器A生成一個與xi,i∈{1,2,…,n}等長的隨機數r1,并生成與X等長的向量R1=(r1,r1,…,r1),將其加密Enc(R1,pk)=[R1]=([r1],[r1],…,[r1]),然后根據同態加計算:

[X]⊙[R1]=[X+R1],

將其發送給服務器B.

2) 服務器B解密Dec([X+R1],sk)=X+R1=(x1+r1,x2+r1,…,xn+r1),再做指數運算并加密:

將加密結果發送給服務器A.

將加密結果發送給服務器B.

因此,服務器B可以計算求得

并將其加密Enc(Q,pk)=[Q]后發送給服務器A,Q的推導過程為

其中,q∈{1,2,…,n}.

5) 服務器A計算:

[Q]⊙[R2]=[Q·R2]=

[softmax(X)].

算法1.SCsoftmax([X],pk,sk).

輸入:密文[X]=([x1],[x2],…,[xn])、公私鑰(pk,sk);

輸出:[softmax(X)].

服務器A:

① 生成隨機向量并加密:

R1=(r1,r1,…,r1),其中r1是隨機數

|r1|=|[xi]|,i∈{1,2,…,n}, [R1]←Enc(R1,pk);

② 計算[X]⊙[R1]=[X+R1]并發送給服務器B;

服務器B:

③ 使用sk解密[X+R1];

④ 計算eX+R1,esum;

⑤ 加密步驟④計算結果,并發送給服務器A;

服務器A:

⑥ 生成隨機向量:

⑦ 計算[eX+R1]⊙[R2]=[R2·eX+R1],

并發送給服務器B;

服務器B:

⑧ 對接收到的經過步驟⑦計算得到的數據解密后計算Q;

⑨ 加密為[Q]并發送給服務器A;

服務器A:

⑩ 計算返回值[softmax(X)].

4.1.2 安全密態計算max算法:SCmax

對于一個明文X=(x1,x2,…,xn)經過同態加密之后的密文[X]=([x1],[x2],…,[xn])←Enc(X,pk).使用SCmax可以實現安全求出X中的最大值與某閾值v之間的大小關系.我們提出的該算法可以不泄露明X,算法2總結了該算法通過雙服務器交互實現的流程.

算法2.SCmax([X],pk,sk,v).

輸入:密文[X]=([x1],[x2],…,[xn])、公私鑰(pk,sk)、閾值v;

輸出:boolean.

服務器A:

① 生成隨機向量并加密:

R3=(r3,r3,…,r3),其中r3是隨機數

|r3|=|[xi]|,i∈{1,2,…,n};

Enc(R3,pk)→[R3]=([r3],[r3],…,[r3]);

② 計算[X]⊙[R3]=[X+R3],

[S]shuffle([X+R3]),

并將[S]發送給服務器B;

服務器B:

③ 使用sk解密[S];

④ 計算cpmax(S)-v,并發送給服務器A;

服務器A:

⑤ 計算fcp-r3;

⑥ iff>0 then

⑦ returnboolean=false;

⑧ else

⑨ returnboolean=true.

服務器A持有[X]和公鑰pk,服務器B持有密鑰對(pk,sk),每次執行SCmax算法時:

1) 服務器A生成與xi,i∈{1,2,…,n}等長的隨機數r3,并生成與X等長的向量R3=(r3,r3,…,r3),將其加密Enc(R3,pk)=[R3]=([r3],[r3],…,[r3]),然后根據同態加計算:

[X]⊙[R3]=[X+R3],
[S]shuffle([X+R3]),

其中shuffle(*)是打亂向量內部項順序的功能函數,將打亂后的向量[S]發送給服務器B.

2) 服務器B解密[S]得S,計算cpmax(S)-v并發送給服務器A.

3) 服務器A計算fcp-r3,如果f>0,則服務器A判定[X]中的最大值不小于閾值v,否則小于v.

4.1.3 安全密態計算Spearman算法:SCspear

對于一個明文X=(x1,x2,…,xn)和一個經過同態加密之后生成的密文:[Y]=([y1],[y2],…,[yn])←Enc(Y,pk).我們提出的算法可以在不泄露明文向量Y的前提下,安全計算出X和Y之間的Spearman秩相關系數.算法3總結了該算法通過雙服務器交互實現的流程.

算法3.SCspear([X],[Y],pk,sk).

輸入:明文X=(x1,x2,…,xn)、密文[Y]=([y1],[y2],…, [yn])、公私鑰(pk,sk);

輸出:Cor.

服務器A:

① 生成隨機向量并加密:

R4=(r4,r4,…,r4),其中r4是隨機數

|r4|=|[xi]|,i∈{1,2,…,n},

Enc(X,pk)→[X],

Enc(R4,pk)→[R4]=([r4],[r4],…,[r4]);

② 計算[X]⊙[R4]=[X+R4],

(Γ,[Ψ])shuffle(X,[Y+R4]),

并將(Γ,[Ψ])發送給服務器B;

服務器B:

③ 使用sk解密[Ψ];

④ 計算Φ=sort(X,Ψ),

Cor=Spearman(Φ);

⑤ 最后將Cor發送給服務器A;

服務器A:

⑥ 返回值max(0,Cor).

服務器A持有X,[Y]和公鑰pk,服務器B持有密鑰對(pk,sk),每次執行SCspear算法時:

1) 服務器A生成一個與yi,i∈{1,2,…,n}等長的隨機數r4,并生成與[Y]等長的向量R4=(r4,r4,…,r4),將其加密Enc(R4,pk)=[R4]=([r4],[r4],…,[r4]),然后根據同態加計算:

[Y]⊙R4=[Y+R4],
(Γ,[Ψ])shuffle(X,[Y+R4]),

其中shuffle(*,*)表示對內部2個向量按照相同的方式打亂項的順序,Γ,[Ψ]分別是X和[Y+R4]打亂后的結果,然后將向量對(Γ,[Ψ])發送給服務器B.

2) 服務器B解密Dec([Ψ],sk)=Ψ(Ψ是經過打亂順序的Y+R4),然后計算:

Φ=sort(X,Ψ),

其中sort(*,*)表示對內部2個向量按照升序(或降序)排列,并生成2個向量相應的秩次序列對Φ,最后根據Spearman計算規則(詳見2.4和文獻[34])求出相關系數值:

Cor=Spearman(Φ).

4.2 總體方案

4.2.1 SSC-AGG算法

本文的系統實現使用簡化的SC-AGG算法,該算法使系統能夠在融合密碼學技術大幅度提高隱私安全性的同時,保證最終結果擁有可觀的準確性.為了使該算法能夠適用于我們提出的安全需求,我們將Zhang等人[11]提出的該聚合算法稍作簡化轉變為SSC-AGG算法.經過轉變的SSC-AGG算法不會損失過多精度,而且能夠實現我們的安全需求.算法4對初始化和迭代計算2個部分進行了描述,應用于系統實現的過程見4.2.2節.

算法4.SSC-AGG.

初始化

輸出:Esti0,W0,Fore0.

① forj=1,2,…,ninqdo

Dlab)‖2);

③ end for

④ fori=1,2,…,Ndo

⑤ forl=1,2,…,Ldo

(x,l)∈Dlab);

⑦ end for

⑧ end for

⑨ forj=1,2,…,ninqdo

迭代

輸出:Estiτ,Wτ,Foreτ.

① forτ=1,2,…,Ωdo

② forj=1,2,…,ninqdo

⑤ end if

⑥ end for

⑦Estiτ←Estiτ -1;

⑧ fori=1,2,…,Ndo

⑨ end for

4.2.2 FPCBC系統

雖然使用算法4能夠實現弱到強結果的聚合,但是計算過程需要傳遞的信息會完全暴露在系統之中.為了防止隱私泄露,我們提出了FPCBC,用戶能夠獲取想要的結果,且任何隱私數據都不會暴露給系統內的其他參與者.表3對我們方案進行了簡單概述,我們的協議分為4個階段:

1) 預準備階段.該階段為協議執行提供基礎數據和模型支撐,生成相應的密鑰,為用戶的查詢任務做準備.

2) 初始化階段.該階段初始化系統模型的各個計算參數,并計算SSC-AGG算法的初始化,為后續關鍵的迭代聚合做準備.

3) 迭代聚合階段.該階段進行核心的計算,通過Ω輪的迭代計算得到理想分類的密態結果.

4) 用戶接收階段.該階段用戶本地做最后的簡單計算,獲取最終的分類查詢結果.

Table 3 Overview of FPCBC

2) 初始化階段.確定進行迭代聚合的總輪數Ω和聚合算法中的超參數α,ρ等;與此同時,在進行對弱結果的迭代聚合之前,初始化一些變量.

步驟2.在預處理之后,服務器A獲得了模型對Dlab′的推理結果,即可計算:

3) 迭代聚合階段.根據初始化階段得到的數據繼續進行總輪數為Ω的迭代計算得到理想的密態結果,對于第τ輪:

如果boolean=true,服務器A計算

如果boolean=false,服務器A計算

Cor=SCspear(Wτ -1,[Estiτ],pk,sk),

其中Cor={Cori|i∈{1,2,…,N}},最后計算

[F]

[Foreτ]SCsoftmax([F],pk,sk)=

[ForeΩ]⊙[K]=[ForeΩ+K],

并將結果發送給服務器B并解密,服務器A,B將分別持有的K和ForeΩ+K發送給用戶.

4) 用戶接收階段.用戶接收到雙服務器發送來的結果,進行簡單的計算去除盲化隨機數:ForeΩ+K-K=ForeΩ,最后即可求得眾包推理聚合出的分類結果:Result=arg max(ForeΩ).

4.3 安全分析

定理1.FPCBC訓練數據集隱私安全.FPCBC方案不會泄露機器學習模型訓練的數據集.

證明. 在我們的方案中,唯一需要進行機器學習模型訓練的是邊緣參與方,而且各個邊緣參與方根據私有數據在本地進行訓練,不會共享數據,因此根據分布式聯邦學習數據不動的特點,其訓練數據的保密性自然得到了保證.

證畢.

定理2.FPCBC數據和分類結果隱私安全.FPCBC方案在半誠實和服務器不合謀的前提下是數據和分類結果隱私安全的,根據3.2節的安全內容定義說明,系統面對任何一個半誠實的腐敗方(邊緣參與方、服務器A和服務器B),用戶的數據Dinq和最終結果Result在眾包系統分類的過程中不會泄露.

證明.如安全實驗所述,在我們的方案中分為3種可能腐敗方:邊緣參與方腐敗、服務器A腐敗和服務器B腐敗,因此我們通過考慮下面的方法來證明定理2.

1) 數據隱私安全

我們通過證明:現實腐敗方的視圖與理想世界中腐敗方的視圖具有計算不可區分性的標準化論證法來論證定理2的數據隱私安全.

其中random表示隨機帶.我們生成模擬器S可以獲得真實視圖的輸入輸出,并模擬出理想世界的腐敗方視圖:

模擬器S:

① 獲取數據集Datai,并訓練出弱模型.

② 獲取數據集Dlab′,[Dinq],并計算出它們經過弱模型推理的結果.

③ 生成與[Dinq]等大的隨機數據R.

系統執行過程中,服務器A只會接收到密文[Dinq],因此與邊緣參與方腐敗情況相似,滿足數據隱私安全.服務器B不會獲得與用戶查詢數據直接相關的數據,不存在數據隱私安全的問題.因此,可證得FPCBC滿足數據隱私安全.

2) 分類結果隱私安全

因此可證得FPCBC滿足分類結果隱私安全.

證畢.

5 實驗性能及分析

本節對基于眾包聚合的聯邦學習隱私保護分類系統的性能進行評估和模擬.在系統實現過程中,我們從系統的3個不同方面進行實驗分析:用戶數據加密、邊緣參與方密態推理和雙服務器迭代聚合.實驗在AMD EPYC 7302 16-Core CPU,32 G RAM的64位Windows10操作系統計算機上進行.

目前關于安全分類推理的方案大都是基于訓練出理想模型的解決思路,與我們的系統沒有直接的可比性.因此,我們對FPCBC自身進行實驗數據分析.

5.1 實驗相關參數

我們使用手寫數字圖像數據集MNIST[35]和CryptoNets[22]神經網絡進行系統測試.MNIST包含了0~9分類的手寫數字,一共由60 000張手寫數字圖像作為訓練集和10 000張手寫數字圖像作為測試集,如圖6所示.每張圖像都由28×28個像素組成且每個像素取值為0~255的灰度值.本實驗進行模擬的思路是讓邊緣參與方利用明文訓練集進行模型的訓練,再用10 000張測試集圖像來測試用戶數據分類準確度.邊緣參與方使用Dowlin團隊的CryptoNets架構來訓練模型,該架構源碼模型已完成了基于MNIST訓練集在明文下的訓練且準確率已經達到較高的可信度:98%~99%.為了配合驗證我們提出的系統可以實現弱到強結果的密態聚合,通過更改訓練好的模型參數來預降低推理準確率.更改20種神經網絡來生成20個不同低準確率的模型,并分別取5,10和20個一組來模擬N=5,N=10和N=20個邊緣參與方,如圖7所示.

Fig. 6 Pictures of MNIST handwriting dataset圖6 MNIST手寫數據集圖片

Fig. 7 Weak model accuracy of edge participants圖7 邊緣參與方弱模型準確率

實驗的加密使用同態加密代碼庫SEAL,在使用Bos團隊[26]的同態加密方案之前需要對明文數據進行編碼處理,編碼的目的是將實數范圍的明文映射到適用于加密方案的環域,從而保證計算得到的解密結果是正確的,詳細的編碼加密過程請參考文獻[22].

c

數據的編碼需要5對參數聯合使用,加密方案中選取的5對參數q,t,如表4所示.此外,由于編碼技術使用中國剩余定理,編碼的過程可以實現單指令多數據(SIMD)的批處理操作,這就意味著相同批次的時間內可以編碼加密一批圖像數據,其批處理的數量大小取決于n,實驗中取n=4 096,此時批處理的數據量也為4 096.

Table 4 Parameters of Homomorphic Encryption Scheme

5.2 數據編碼加密開銷

我們將MNIST的測試集充當用戶的查詢數據,我們測試了ninq=4 000,7 000,10 000時用戶加密和編碼的時間開銷.如圖8(a)所示,用戶加密3組不同數量圖片分別需要32.5 s,62.3 s和96.6 s,雖然看上去時間開銷較大,但由于是批處理,所以平均每張圖片的效率十分樂觀.此外,圖8(b)顯示了對這些圖像進行編碼處理的時間開銷,對3組數據分析計算,平均每個圖像的編碼時間約為0.124 s.

Fig. 8 Time overhead for different sets of image encryption and encoding圖8 不同組圖像加密和編碼的時間開銷

5.3 推理與聚合處理開銷

基于之前編碼加密的4 000,7 000,10 000張圖片,將其交給圖7中20個不同準確率的CryptoNets模型進行推理,來模擬邊緣參與方推理得到弱結果的過程.由于FPCBC在執行過程中,邊緣參與方的推理是并行操作,我們計算其平均推理時間如表5所示:

Table 5 Average Inference Time of Neural Network

我們從MNIST的訓練集中隨機抽取nlab=300和nlab=600個數據作為服務器A持有的小型公開數據集Dlab,在雙服務器通過交互實現對弱結果的迭代聚合中,表6顯示了對4 000,7 000,10 000個數據進行每輪安全聚合計算的平均時間開銷,不難發現聚合過程的時間成本還是比較大的.

Table 6 Average Time of Aggregation per Round

同態加密需要巨大的時間開銷是公認的缺點,這也是很難將該技術投入到實際應用的原因,但是本實驗中使用的同態加密算法,對于明文數乘密文、數加密文的運算不必做額外的加密和密文的加乘運算[22],因此可以大大減少同態加密帶來的計算時間開銷.通過對圖8和表5、表6分析可知,用戶和邊緣參與方進行操作的時間也都在幾十到幾百秒不等,而且整個方案的核心時間開銷在雙服務進行安全聚合迭代的過程,為了得到高準確度的結果,我們往往需要進行多輪迭代操作.不過我們進行的是批處理,也就是說這些開銷是對幾千甚至上萬張圖片處理的時間開銷總和,那么平均每張圖片的開銷則非常少,因此平均效率十分樂觀.

5.4 分類準確率對比

根據圖7可以計算出當N=5,10和20時的平均弱結果統計圖,并且我們基于nlab=300和nlab=600在3種不同N的前提下對最后聚合的平均準確度進行了對比,如圖9所示.

圖9(a)和圖9(b)說明基于nlab=300和nlab=600聚合出的正確率都達到了80%以上,與聚合前的正確率相比不難發現我們的方案是可以顯著提高準確率且可行的.通過對2個圖的比較,nlab=600比nlab=300的平均正確率偏高一些,因此我們可以得到這樣的結論:如果服務器A持有更大的小型公開數據集Dlab,則可以獲取更高準確率的預測,且當有更多的邊緣參與方N時,越容易快速聚合出較高準確率的分類結果.

Fig. 9 Classification inference accuracy distribution before and after aggregation圖9 聚合前后分類推理準確率分布

我們的實驗只是基于一種同態加密神經網絡,而這對于FPCBC來講是靈活可變的,也就是說,如果有更優化的同態加密方案,則效率會更加理想.此外,我們的方案與傳統分類推理不同的是,用戶、邊緣參與方和服務器完全是獨立計算的,即用戶和邊緣參與方將自己的計算任務完成之后完全可以處于離線狀態,不需要一直保持連續的通信,即使安全聚合的過程時間開銷巨大,但不會占用用戶和邊緣參與方的資源,且若服務器擁有更高的計算能力,則整體效率也會有提升.綜上所述,FPCBC也具有很強的自由度和魯棒性.

6 結束語

本文提出了一種基于眾包聚合的聯邦學習隱私保護分類系統.為了實現弱結果的安全密態聚合,我們依靠雙服務器設計了服務器安全交互算法.此外,同態加密和雙服務器交互算法的存在使系統不會泄露任何用戶查詢的敏感數據,從而使得我們的方案有更加可靠和更高程度的隱私安全保障.在我們的系統中,只需要服務器從邊緣參與方收集分類查詢的弱結果,不需要獲取機器學習模型和數據集,由此可以保證邊緣參與方的隱私.雙服務器通過安全交互聚合算法,根據統計學原理對弱推理結果聚合來提供更準確、更安全的分類預測服務.我們將眾包、聯邦學習思想與密碼學技術相結合,提出了對用戶和邊緣參與方都十分友好的應用系統,即用戶和邊緣參與方的計算量需求較小、系統魯棒性強的特點.其中核心計算量都交給了服務器來執行,因此服務器計算能力的強弱直接影響我們系統的效率.作為未來的方向,我們將專注于設計更小通信量的方案,并提升系統預測的準確率.

作者貢獻聲明:金歌負責創新方法的提出和論文的撰寫;魏曉超負責方案分析和論文修改;魏森茂負責實驗的構思和改進;王皓負責方案分析和論文潤色.

猜你喜歡
分類用戶模型
一半模型
分類算一算
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 91福利片| 992Tv视频国产精品| 国产成人高清在线精品| 99精品视频在线观看免费播放| 免费国产福利| 狠狠ⅴ日韩v欧美v天堂| AⅤ色综合久久天堂AV色综合 | 亚洲日韩精品欧美中文字幕| 久久久亚洲色| 国产精品大白天新婚身材| 丰满人妻一区二区三区视频| 呦系列视频一区二区三区| 中国一级毛片免费观看| 极品尤物av美乳在线观看| 国产精品所毛片视频| 深爱婷婷激情网| 日本人又色又爽的视频| 国产精品尤物在线| 国产欧美日韩18| 欧美自慰一级看片免费| 乱人伦视频中文字幕在线| 久久精品66| 日韩欧美综合在线制服| 国内黄色精品| 最新加勒比隔壁人妻| 91精品人妻互换| 日韩精品成人在线| a级毛片免费看| 国产免费a级片| 国产区在线看| 精品国产福利在线| 日韩AV无码一区| 中国一级特黄视频| 国产www网站| 激情爆乳一区二区| 夜精品a一区二区三区| 美女被狂躁www在线观看| 成人在线亚洲| 福利视频99| 九九久久精品免费观看| 国产人成在线视频| 在线a视频免费观看| 永久免费精品视频| 久久毛片网| 亚洲日韩高清在线亚洲专区| 婷婷亚洲综合五月天在线| 五月激情婷婷综合| 久久这里只精品国产99热8| 久久天天躁狠狠躁夜夜2020一| 亚洲乱码视频| 成人一区在线| 91欧洲国产日韩在线人成| 亚洲经典在线中文字幕 | 伊人成人在线| 国产乱子伦精品视频| 日韩a级毛片| 黄色片中文字幕| 亚洲精品大秀视频| 91麻豆精品国产91久久久久| 666精品国产精品亚洲| 高h视频在线| 久久96热在精品国产高清| 日韩中文无码av超清| 欧美综合区自拍亚洲综合天堂 | 91原创视频在线| 亚洲女同一区二区| 国产精品第| 国产喷水视频| 久久亚洲天堂| 亚洲成人精品| 欧美一级一级做性视频| 亚洲成aⅴ人在线观看| 亚洲欧美另类专区| 夜夜操国产| 亚洲日韩日本中文在线| 亚洲综合色婷婷中文字幕| 99视频在线观看免费| 国产99视频精品免费观看9e| 亚洲精品动漫| 欧美三级视频网站| 亚洲高清国产拍精品26u| 久久精品视频一|