金 歌 魏曉超 魏森茂 王 皓
(山東師范大學信息科學與工程學院 濟南 250358)
機器學習在模式識別、醫(yī)療等領域扮演了重要的角色,通過機器學習實現(xiàn)分類的需求也逐漸出現(xiàn)在各個應用領域.傳統(tǒng)機器學習解決方案的思想是訓練出理想的模型,再進行分類推理.然而,由于硬件和有限本地訓練數(shù)據(jù)的限制,導致本地訓練出來的模型表現(xiàn)不佳.普遍的想法是從多個數(shù)據(jù)持有方收集數(shù)據(jù)來訓練模型,但是在很多情況下數(shù)據(jù)都很敏感[1].與此同時,相關法律法規(guī)[2-3]的出臺,禁止了在沒有明確協(xié)議的情況下收集和利用私人敏感數(shù)據(jù)的行為,導致數(shù)據(jù)是離散且不共享的.如今為了使機器學習應用在適應社會實際需求的同時保證隱私安全,引入云的機器學習(cloudera machine learning, CML)成為了熱點,其中聯(lián)邦學習(federated learning, FL)應運而生.
當前有很多方法可以實現(xiàn)數(shù)據(jù)分類,其中實用的解決思路分為2類:
第2類,不再以聯(lián)合訓練出理想模型為目的,而是讓邊緣機構(持有訓練數(shù)據(jù)的參與方)本地訓練出準確度不高的弱模型,然后對弱模型推理出的弱結果進行滿足統(tǒng)計學的迭代聚合處理來得到理想的分類結果.Zhang等人[11]基于這種解決思路進行了研究并提出了一種可行的算法.
上述方案分別在實用或安全上存在局限性.首先,第1類方案雖然在一定程度上保護了訓練數(shù)據(jù)的隱私,但存在很多問題亟待解決,如:非獨立同分布的數(shù)據(jù)集極大地降低了聯(lián)邦學習的整體性能[12],且需要占用邊緣設備大量的通信帶寬.共享梯度信息也會引起攻擊者的注意,一些研究[4,13]提出了基于聯(lián)邦學習方法中共享模型參數(shù)的攻擊,雖然后續(xù)對梯度隱私安全有所研究,但仍需要多個數(shù)據(jù)提供方和云服務器之間進行大量冗雜的通信來訓練出理想的模型.其次,第2類需要用戶或者查詢方分享分類的數(shù)據(jù),這些數(shù)據(jù)在公共線路傳輸?shù)倪^程中極易受到外部敵手攔截、竊取,從而導致數(shù)據(jù)泄露產(chǎn)生隱私安全問題.與此同時,邊緣機構也會直接獲得查詢數(shù)據(jù)從而可能對用戶的查詢私密數(shù)據(jù)加以利用,此類系統(tǒng)內(nèi)部敵手也會嚴重威脅用戶的隱私安全.
考慮到機器學習即服務(machine learning as a service, MLAAS)最終目的是服務于社會市場,邊緣參與方的獨立性又具有較強的需求.因此,為了實現(xiàn)分類而要求各個邊緣機構長時間保持通信來聯(lián)合訓練模型是比較奢侈的方法.為了解決這個缺陷的同時提供更好的隱私安全保障,我們基于上述第2類思想提出了一個安全眾包聚合的聯(lián)邦學習隱私保護分類系統(tǒng)(federated learning privacy-preserving classification system based on crowdsourcing agg-regation, FPCBC).我們并不直接將需要分類查詢的數(shù)據(jù)上傳給服務器,而是通過密碼學技術對數(shù)據(jù)加密,邊緣機構使用弱模型對加密的數(shù)據(jù)進行推理,進而得到密態(tài)分類結果,再由服務器對密文結果進行聚合迭代處理得到最終分類結果.雖然系統(tǒng)解決機器學習問題的方式不再是通過傳統(tǒng)聯(lián)邦學習來聯(lián)合訓練模型,但FPCBC仍秉承了聯(lián)邦學習“分邦而治”的思想,實現(xiàn)了機器學習應用的聯(lián)邦場景,且著力解決了隱私問題.此外,F(xiàn)PCBC更適合社會的應用環(huán)境,邊緣機構之間無需過多的依賴關系與通信,將大部分的計算工作交給云服務器,緩和了當前物聯(lián)網(wǎng)和邊緣應用產(chǎn)生的負擔.
本文的主要貢獻總結為3個方面:
1) 將眾包、聯(lián)邦學習思想與密碼學技術相結合,在利用統(tǒng)計聚合法實現(xiàn)分類的過程中通過密碼學技術加密數(shù)據(jù),防止邊緣機構和服務器獲得私密數(shù)據(jù),從而達到保護查詢數(shù)據(jù)隱私安全的目的.我們解決了邊緣機構合謀竊取用戶查詢數(shù)據(jù)的問題,并阻斷了外部敵手竊取用戶隱私的可能性.
2) 與現(xiàn)有的實現(xiàn)分類目的的模型相比,我們基于雙服務器提出的FPCBC能保護用戶的數(shù)據(jù)不泄露給外部敵手的同時對邊緣機構的丟失也具有更強的魯棒性.由于外包的特性,用戶的本地計算量較少;此外,與傳統(tǒng)聯(lián)邦學習分類的解決方案相比,實現(xiàn)分類的過程不需要訓練出理想的模型,邊緣機構在系統(tǒng)中的存在更加獨立,因此,所提出的方案可以滿足許多實際應用中的真實需求.
3) 實驗結果表明,我們提出的模型是可行的,在無需訓練理想模型且保證一定準確率的前提下從本質(zhì)上提高了模型的安全性.
傳統(tǒng)隱私保護機器學習的重點在于安全模型訓練,目前經(jīng)常使用外包或協(xié)同訓練的方法,其中協(xié)同訓練通常使用聯(lián)邦學習.目前對于聯(lián)邦學習的研究,除了把重點放在尋找高效的模型以外,如何在訓練過程中保障數(shù)據(jù)提供方的隱私安全也成了交叉領域的研究方向.對于這種傳統(tǒng)隱私保護聯(lián)邦學習的研究,Phong等人[14]提出了一個隱私保護的深度學習系統(tǒng),該系統(tǒng)橋接了深度學習和密碼學,將異步隨機梯度下降應用于神經(jīng)網(wǎng)絡,并結合加法同態(tài)加密(homomorphic encryption, HE)增加了可容忍的開銷.Bonawitz等人[15]設計了一種新穎、通信高效的協(xié)議,用于高維數(shù)據(jù)的安全聚合,他們提出的協(xié)議允許服務器以安全的方式計算大型用戶所持有的數(shù)據(jù)向量的總和,且該協(xié)議的通信開銷很低.對于16位輸入值,協(xié)議為2個用戶和二維向量提供1.73倍的通信擴展,以及在明文中發(fā)送數(shù)據(jù)的1.98倍擴展.Dong等人[16]基于三元梯度壓縮的技術研究提出了更加安全和高效的聯(lián)邦學習系統(tǒng),他們首先分析了三元梯度壓縮的隱私泄露問題,設計了攻擊策略并發(fā)起攻擊,分別設計了基于Shamir的門限秘密共享(threshold secret sharing, TSS)和Paillier同態(tài)加密的隱私保護協(xié)議,實現(xiàn)了利用三元梯度壓縮技術的聯(lián)邦學習系統(tǒng).Fang等人[17]提出了一個隱私保護和通信高效的物聯(lián)網(wǎng)聯(lián)邦學習方案,該方案通過梯度空間稀疏化來防止偏離收斂趨勢的無關局部更新被上傳利用,使用壓縮算子來實現(xiàn)雙向壓縮并提出了秘密共享與輕量級同態(tài)加密相結合來保護數(shù)據(jù)隱私、抵御各種共謀場景的隱私保護協(xié)議.
這些機器學習訓練過程的隱私保護方案雖然相對成熟,結合了同態(tài)加密、秘密分享等密碼學技術保護了模型訓練過程中的梯度等隱私,但是需要多個數(shù)據(jù)提供方和云服務器間維持大量冗雜的通信來訓練模型,這些因素在實際應用于市場時存在一定的約束.我們的方案盡可能從另一種角度和思路上實現(xiàn)隱私保護.
MLAAS往往通過模型推理的方法來實現(xiàn)應用目的,如圖1所示,用戶持有數(shù)據(jù)Data,服務器有已經(jīng)訓練好的神經(jīng)網(wǎng)絡模型Model.服務器基于模型Model對Data輸出一個預測Result=P(Data,Model).安全模型推理就是訓練出模型之后,用戶對數(shù)據(jù)加密后再進行推理,這樣是為了解決用戶直接將數(shù)據(jù)上傳而產(chǎn)生的安全問題.安全模型推理往往基于交互的方式或非交互的方式來實現(xiàn).
Fig. 1 Description of MLAAS application relationship圖1 MLAAS應用關系說明
交互方式在推理過程中需要用戶在線參與并執(zhí)行必要的交互計算,MiniONN[18]使用加法秘密共享的安全兩方計算技術,其中用戶和服務器各擁有一份秘密份額在線協(xié)同計算,通過將現(xiàn)有神經(jīng)網(wǎng)絡轉換為茫然神經(jīng)網(wǎng)絡來實現(xiàn)安全推理.GAZELLE[19]和BAYHENN[20]使用同態(tài)加密,并分別使用混淆電路和對DNN結合貝葉斯網(wǎng)技術實現(xiàn)了高效的推理任務.除此之外,更多滿足離線推理的非交互式方案也得到了研究[21-25],這些非交互式允許用戶處于離線狀態(tài),僅需用戶執(zhí)行數(shù)據(jù)預處理和上傳,然后等待返回推理結果即可.CryptoNets[22]是于2016年提出的神經(jīng)網(wǎng)絡模型,使用了Bos等人[26]于2013年提出的一種分級同態(tài)加密方案,并對池化層、卷積層等做了能夠滿足同態(tài)加密操作的變換(詳見2.3節(jié)),本文選擇了基于CryptoNets的實驗進行了分析.CryptoDL[23]使用全同態(tài)加密,將非線性函數(shù)通過對多項式進行擬合,使得同態(tài)加密處理非線性函數(shù)成為實際,進而構建出滿足同態(tài)加密計算的神經(jīng)網(wǎng)絡模型.Faster CryptoNets[24]也使用全同態(tài)加密,并使用網(wǎng)絡剪枝來實現(xiàn)模型.Ahmad等人[25]遵循了CryptoNets[22]中提出的框架,并應用他們的GPU加速FHE技術,首次實現(xiàn)了高效的、利用GPU計算的同態(tài)卷積神經(jīng)網(wǎng)絡(HCNN).
本文提出的安全分類系統(tǒng)借助安全模型推理的思想,擺脫了安全模型訓練的過程和對訓練理想模型的需求,將密碼學與眾包聚合方法[11]結合,從而實現(xiàn)隱私安全的分類應用.
同態(tài)加密(HE)是一種特殊的密碼學加密手段,Rivest等人[27]在1978年提出了同態(tài)加密的概念,直到2009年,Gentry[28]才從數(shù)學上提出了基于理想格的全同態(tài)加密方案,之后對同態(tài)加密方案也有了新的研究進展[29-31].同態(tài)加密允許對密文直接進行特定的代數(shù)運算,得到的密態(tài)運算結果解密后與對明文進行操作的結果一樣.例如,給定2個密文[x1],[x2],[x1]=Enc(pk,x1), [x2]=Enc(pk,x2),若密文操作⊙滿足Enc(pk,x1+x2)←[x1]⊙[x2]和Enc(pk,x1×x2)←[x1]⊙[x2],則加密方案滿足同態(tài)加法和乘法操作.同態(tài)加密安全性要求基礎加密方案滿足CPA安全.
同態(tài)加密方案H通常由四元組組成:H={KeyGen,Enc,Dec,Eval}.其中,KeyGen是密鑰生成函數(shù),用于生成加密方案需要的密鑰;Enc是加密函數(shù),對于非對稱同態(tài)加密,該函數(shù)將一個公鑰pk和明文m作為輸入,并產(chǎn)生一個密文c=Enc(pk,m);Dec是解密函數(shù),對于非對稱同態(tài)加密,該函數(shù)將一個私鑰sk和密文c作為輸入,生成明文m=Dec(sk,c);Eval是評估函數(shù),將一個公鑰pk、c和對明文的正確操作T作為輸入,輸出與明文對應的密文,用于驗證加密算法的正確性.方案H在滿足下列式子時是正確的:
c′←Eval(pk,c,T)?T(m)=Dec(sk,c′).
本文在利用同態(tài)加密實現(xiàn)外包分類的過程中,輸入神經(jīng)網(wǎng)絡的數(shù)據(jù)C往往是與特征有關的數(shù)據(jù):明文數(shù)據(jù)m=(x1,x2,…,xn)和密文數(shù)據(jù)C=([x1],[x2],…,[xn]),其中xi是明文,[xi]是經(jīng)過同態(tài)加密的密文,i∈{1,2,…,n}.然后將密文交給神經(jīng)網(wǎng)絡進行學習,系統(tǒng)流程如圖2所示:
Fig. 2 Process of homomorphic encryption outsourcing classification圖2 同態(tài)加密外包分類流程
由于滿足同態(tài)推理的神經(jīng)網(wǎng)絡往往需要與之對應合適的加密方案,因此在安全模型推理中不同的機器學習模型采用的加密方案并不唯一.我們提出的系統(tǒng)要求加密方案滿足加法和乘法同態(tài)即可適用,因此在介紹總體方案時將以功能模塊的形式進行描述,且密文操作省略模運算的描述說明.此外,一些加密方案不支持浮點數(shù)運算,我們往往通過適當?shù)目s放將它們轉換為整數(shù),當然也有其他的解決方法[32].
實驗部分使用滿足同態(tài)加密推理的CryptoNets模型,并使用Bos等人[26]提出的YASHE分層同態(tài)加密(leveled homomorphic encryption, LHE)的加密方案.
聯(lián)邦學習是谷歌于2016年提出的能夠保護數(shù)據(jù)隱私的一種分布式機器學習框架,目前研究[33]對于聯(lián)邦學習有了更包容的定義:聯(lián)邦學習是一種機器學習范式,它指在中央服務器或服務提供商協(xié)調(diào)下,多個實體(客戶端)協(xié)同解決機器學習問題.聯(lián)邦學習分為3個類別:橫向聯(lián)邦學習(horizontal federated learning, HFL)、縱向聯(lián)邦學習(vertical federated learning, VFL)和聯(lián)邦遷移學習(federated transfer learning, FTL).其中,HFL的特點是訓練數(shù)據(jù)的來源交叉度低,但是數(shù)據(jù)屬性交叉度很高,這種數(shù)據(jù)分布多出現(xiàn)于同一性質(zhì)的企業(yè)或機構采用相同的數(shù)據(jù)庫屬性劃分系統(tǒng),例如醫(yī)院等.
在分布式系統(tǒng)中,為了實現(xiàn)分類任務,雖然聯(lián)合訓練模型的邊緣參與方所擁有的數(shù)據(jù)大都是非獨立同分布的,但訓練數(shù)據(jù)的屬性通常是相同的.因此,我們在隱私保護分類系統(tǒng)中要解決的問題類似于HFL的應用場景.受聯(lián)邦學習的啟發(fā),我們將密碼學技術融入其中設計出更安全的分類系統(tǒng).
CryptoNets是Dowlin團隊提出的一個神經(jīng)網(wǎng)絡模型,該模型使用多項式近似的方式來代替ReLU激活函數(shù),實現(xiàn)了在加密數(shù)據(jù)上運行神經(jīng)網(wǎng)絡的可能性,其加密方式使用Bos等人[26]提出的分層加密方案進行加密,并允許進行加法和乘法運算.Crypto-Nets的訓練和推理采用不同的方式:訓練過程基于明文采用更復雜的網(wǎng)絡層,推理過程則使用簡化的網(wǎng)絡結構,可以實現(xiàn)基于密文的推理.因此,在推理階段,這種方式在外包計算時可以保證數(shù)據(jù)的私密性,能為機器學習的預測即服務(prediction as a service, PAAS)思想提供隱私保障.
為了節(jié)省推理時間,CryptoNets合并了連續(xù)的線性變換層.整個神經(jīng)網(wǎng)絡的搭建分為2部分:訓練網(wǎng)絡和簡化網(wǎng)絡,后者僅用于預測.訓練網(wǎng)絡有9層,簡化網(wǎng)絡有5層,如表1所示:
Table 1 Neural Network Layers of CryptoNets
本文的實驗以CryptoNets為例,對MNIST數(shù)據(jù)集進行實驗測試.當然,我們可以用黑盒的方式獲取模型的推理結果,對于任何滿足加乘同態(tài)推理的神經(jīng)網(wǎng)絡,我們提出的系統(tǒng)方案都有一定的普適性.
SC-AGG[11]是一種結合聯(lián)邦學習的輕量級迭代聚合算法,在邊緣參與方使用本地有限數(shù)據(jù)訓練出準確度不高的模型后,該算法根據(jù)網(wǎng)絡模型推理出的結果Wr(該分類推理結果的準確度較低,本文之后稱之為弱結果)由中心代理再進行迭代聚合處理,從而得到準確率較高的分類結果Result(本文之后關于此類推理結果簡稱強結果),使用該算法的應用架構如圖3所示:
Fig. 3 Federated learning aggregation system architecture using SC-AGG圖3 使用SC-AGG的聯(lián)邦學習聚合系統(tǒng)架構
算法SC-AGG基于統(tǒng)計學的思想,對多方推理的弱結果進行符合統(tǒng)計意義的處理,進而生成高準確度的結果.假設使用該算法對一組數(shù)據(jù)Data進行分類,執(zhí)行Ω輪可以得到理想結果,那么執(zhí)行到第τ輪時,τ∈{1,2,…,Ω},需要計算Estiτ,Wτ和Foreτ這3個關鍵量.對于該組數(shù)據(jù)Data的任一個查詢數(shù)據(jù)而言:
Estiτ={(L1,L2,…,Ln)}是對單條查詢數(shù)據(jù)分類分布的預估計值,其中Li表示估計數(shù)據(jù)劃分為第i類的概率大小,i∈{1,2,…,n}.Estiτ計算依賴2個超參數(shù)α和ρ,其中α∈(0,1)用來判斷可信度最小閾值,ρ∈(0,1)是一個概率衰減參數(shù),用于將估計的概率分布替換為加權1的概率.如果max(Estiτ -1)<α,那么執(zhí)行計算Estiτ的中心服務器判定本輪Estiτ不可信,則Estiτ以1-ρτ的概率被賦值為Foreτ -1,以ρτ的概率被賦值為Estiτ -1,否則Estiτ直接被賦值為Estiτ -1.
Wτ=(E1,E2,…,En)是為了強化邊緣參與方模型的優(yōu)勢,弱化模型的不足而設計的反映模型能力的權重矩陣.對于每個弱模型能力而言,越高的Ei則表示模型在τ輪迭代后對類別i的區(qū)分能力越強.Wτ的計算依賴于前一輪的能力矩陣Wτ -1和查詢數(shù)據(jù)分布之間的相關性來計算,由于能力矩陣和查詢數(shù)據(jù)都不是獨立同分布的,所以兩者之間選擇2.4節(jié)介紹的Spearman秩相關系數(shù)來計算相關性:
Foreτ={(F1,F2,…,Fn)}是對單條查詢數(shù)據(jù)第τ輪的最終聚合結果,也是整個算法最關鍵的輸出,其中元素Fi表示分類劃分判定為第i類的概率大小,i∈{1,2,…,n}.Foreτ的計算受到能力矩陣W、接收到來自邊緣參與方的弱結果Wr和自身Foreτ的影響:
本文的系統(tǒng)實現(xiàn)使用簡化的SC-AGG算法,使其能夠融合密碼學技術大幅度提高隱私安全性的同時,保證最終結果擁有可觀的準確性,具體算法詳見4.2.1節(jié).
softmax函數(shù)的作用是歸一化,目的是將多分類的結果以概率的形式展現(xiàn)出來.該函數(shù)將多個神經(jīng)元的輸出映射到(0,1)區(qū)間內(nèi)從而看成概率,進而實現(xiàn)多分類,基本流程如圖4所示:
Fig. 4 Calculation flow chart of softmax圖4 softmax計算流程圖
根據(jù)輸入X=(l1,l2,…,ln),得到預測出的結果Y=(y1,y2,…,yn)的關系滿足:
預測函數(shù)P(yi|X)分解為2個步驟:
2) 使用softmax函數(shù)得到歸一化概率
本節(jié)首先描述FPCBC分類系統(tǒng)構造,再對本文要解決的問題進行形式化描述,最后指出本文的安全定義.
系統(tǒng)模型中有3類角色:邊緣參與方(訓練弱模型的數(shù)據(jù)持有方)、雙服務器(計算的主要承擔方)和用戶(系統(tǒng)的受益方,提供需要分類的數(shù)據(jù)).我們的系統(tǒng)目標就是將分類任務眾包給邊緣參與方和服務器進行分類,其分類過程需要的大量計算交給擁有高計算能力的服務器執(zhí)行.用戶只與中心服務器進行通信,從而隔斷了用戶與邊緣參與方的通信,中心服務器負責將用戶提供的數(shù)據(jù)發(fā)送給邊緣參與方并收集弱分類結果,然后利用雙服務器進行滿足統(tǒng)計學的安全迭代聚合操作,最終得出最優(yōu)分類結果.圖5顯示了我們提出系統(tǒng)模型的總體架構.
1) 邊緣參與方.邊緣參與方持有機器學習的訓練數(shù)據(jù)Datai,并基于本地敏感的私有數(shù)據(jù)訓練出一個弱模型,該模型并不復雜且擁有對密文進行推理的能力.本文中各個邊緣參與方相對獨立,為了保障隱私安全,不再互相共享訓練數(shù)據(jù)和模型參數(shù).除此之外,由于他們的私有數(shù)據(jù)是多樣且不可預測的,因此各個參與方訓練出弱模型的推理性能也有不同.
2) 用戶.用戶持有待分類的不帶標簽的數(shù)據(jù)集Dinq,用戶將Dinq進行加密并發(fā)送給服務器A.整個系統(tǒng)通過眾包的形式實現(xiàn)分類查詢,因此用戶不與任何邊緣參與方進行通信,服務器是用戶在系統(tǒng)中通信的唯一接口.
3) 服務器.服務器是用戶與邊緣參與方之間的中介,我們提出的整個系統(tǒng)中存在2個服務器.服務器A負責收集來自邊緣參與方的弱結果,并通過與服務器B的交互來安全迭代聚合弱結果,從而得到最終的預測結果.2個服務器承擔了系統(tǒng)的主要計算量,從而削弱邊緣參與方和用戶的負擔,這對實際應用是十分友好的.為了實現(xiàn)弱到強結果的聚合,服務器A擁有一個小型公開的帶有標簽的數(shù)據(jù)集Dlab,該數(shù)據(jù)集可以由邊緣機構提供或公開收集,且該數(shù)據(jù)集的分布特征不會揭示系統(tǒng)中其他數(shù)據(jù)集的分布情況.
Fig. 5 Privacy-preserving classification system based on crowdsourcing aggregation圖5 眾包聚合的隱私保護分類系統(tǒng)
系統(tǒng)的關鍵數(shù)據(jù)流如圖5中的①~④,更詳細的實現(xiàn)見4.2.2節(jié).①表示用戶將數(shù)據(jù)加密外包給邊緣參與方的過程,②表示邊緣參與方將密態(tài)的弱結果發(fā)送給服務器A,①②為雙服務器聚合出更高準確率的結果做準備,③表示雙服務器通過交互來實現(xiàn)安全聚合.聚合完成后,④表示雙服務器將與分類結果相關的數(shù)據(jù)發(fā)送給用戶,最后用戶本地計算恢復出最終的分類結果.
本節(jié)形式化描述FPCBC所解決的分類問題,表2對常用的變量和超參數(shù)進行了描述.
為了更嚴謹?shù)乇硎?,本文基于假設:任何邊緣參與方和服務器都不能基于本地所有的數(shù)據(jù)集Datai和Dlab來提前預測出Dinq的標簽概率分布,且對于任何能夠對Dinq進行分類的非線性函數(shù)F滿足:
Pr(F(Dlab,{Data1,Data2,…,DataN})=ξ)=ε,
其中ε是可忽略的.
Result=arg max(ForeΩ).
我們的目標是在不泄露隱私的前提下讓用戶得到更高準確度的查詢分類結果,可以用下面的公式形式化地衡量我們的標準:
我們系統(tǒng)的最終目標是提升ST,ST越大說明準確率越高.
Table 2 Systematic Variables and Hyperparameters
我們的系統(tǒng)方案在半誠實和服務器不合謀的前提下是安全的.首先,半誠實意味著邊緣參與方和服務器在訓練模型和執(zhí)行方案期間遵守規(guī)定,但是對來自外部的數(shù)據(jù)信息保持好奇,嘗試去獲取私有數(shù)據(jù)并分析數(shù)據(jù);其次,雙服務器之間是不合謀的,也就是說服務器不會串通來獲取用戶的私有信息.需要注意的是,系統(tǒng)在一定程度上也可以防止外部敵手竊取用戶的查詢數(shù)據(jù)Dinq.在本文中不考慮那些通過發(fā)送干擾計算結果或者修改數(shù)據(jù)集來干擾正常聚合計算的惡意參與方和服務器.
在我們的方案中,第1個關鍵的隱私要求是用戶的數(shù)據(jù)隱私和分類結果隱私,這意味著用戶的數(shù)據(jù)在眾包系統(tǒng)分類的過程中不會泄露,而且參與眾包的各方(邊緣參與方和服務器)能夠在不知分類結果的前提下,讓用戶獲得最終分類結果.另一個隱私是系統(tǒng)中進行機器學習訓練的數(shù)據(jù)集隱私.接下來,我們基于以下實驗給出分類結果隱私的形式化定義:
(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(*).
挑戰(zhàn):
①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個階段:查詢和挑戰(zhàn).實驗中,k表示安全系數(shù).NetInfer(*)表示邊緣參與方根據(jù)弱模型對數(shù)據(jù)推理出的分類結果;為了簡化實驗表述,InteractionA(*)表示雙服務器交互期間服務器A能獲取到的數(shù)據(jù),同理InteractionB(*)表示雙服務器交互期間服務器B能獲取到的數(shù)據(jù).查詢階段分為3種來分別模擬系統(tǒng)中的邊緣參與方、服務器A和服務器B的真實情況.每次實驗允許敵手多項式次執(zhí)行一種查詢并執(zhí)行挑戰(zhàn)來模擬FPCBC中某一方.挑戰(zhàn)階段,隨機選取一個用戶查詢數(shù)據(jù)Di,R是一個大小等特征都與Di一致的隨機矩陣.若敵手Foe不能以不可忽略的概率區(qū)分模型對Di和R的分類結果,那么FPCBC滿足分類結果隱私安全.
我們的方案需要在不泄露隱私的前提下,通過雙服務器交互來實現(xiàn)聚合算法的密態(tài)計算,從而實現(xiàn)隱私保護分類查詢.本節(jié)首先介紹我們提出的交互算法,再根據(jù)簡化的SC-AGG算法[11]給出完整的FPCBC方案,并對方案的總體實現(xiàn)進行描述.
4.1.1 安全計算softmax算法:SCsoftmax
服務器A持有[X]和公鑰pk,服務器B持有密鑰對(pk,sk),每次執(zhí)行SCsoftmax算法時:
1) 服務器A生成一個與xi,i∈{1,2,…,n}等長的隨機數(shù)r1,并生成與X等長的向量R1=(r1,r1,…,r1),將其加密Enc(R1,pk)=[R1]=([r1],[r1],…,[r1]),然后根據(jù)同態(tài)加計算:
[X]⊙[R1]=[X+R1],
將其發(fā)送給服務器B.
2) 服務器B解密Dec([X+R1],sk)=X+R1=(x1+r1,x2+r1,…,xn+r1),再做指數(shù)運算并加密:
將加密結果發(fā)送給服務器A.
將加密結果發(fā)送給服務器B.
因此,服務器B可以計算求得
并將其加密Enc(Q,pk)=[Q]后發(fā)送給服務器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是隨機數(shù)
|r1|=|[xi]|,i∈{1,2,…,n}, [R1]←Enc(R1,pk);
② 計算[X]⊙[R1]=[X+R1]并發(fā)送給服務器B;
服務器B:
③ 使用sk解密[X+R1];
④ 計算eX+R1,esum;
⑤ 加密步驟④計算結果,并發(fā)送給服務器A;
服務器A:
⑥ 生成隨機向量:
⑦ 計算[eX+R1]⊙[R2]=[R2·eX+R1],
并發(fā)送給服務器B;
服務器B:
⑧ 對接收到的經(jīng)過步驟⑦計算得到的數(shù)據(jù)解密后計算Q;
⑨ 加密為[Q]并發(fā)送給服務器A;
服務器A:
⑩ 計算返回值[softmax(X)].
4.1.2 安全密態(tài)計算max算法:SCmax
對于一個明文X=(x1,x2,…,xn)經(jīng)過同態(tài)加密之后的密文[X]=([x1],[x2],…,[xn])←Enc(X,pk).使用SCmax可以實現(xiàn)安全求出X中的最大值與某閾值v之間的大小關系.我們提出的該算法可以不泄露明X,算法2總結了該算法通過雙服務器交互實現(xiàn)的流程.
算法2.SCmax([X],pk,sk,v).
輸入:密文[X]=([x1],[x2],…,[xn])、公私鑰(pk,sk)、閾值v;
輸出:boolean.
服務器A:
① 生成隨機向量并加密:
R3=(r3,r3,…,r3),其中r3是隨機數(shù)
|r3|=|[xi]|,i∈{1,2,…,n};
Enc(R3,pk)→[R3]=([r3],[r3],…,[r3]);
② 計算[X]⊙[R3]=[X+R3],
[S]shuffle([X+R3]),
并將[S]發(fā)送給服務器B;
服務器B:
③ 使用sk解密[S];
④ 計算cpmax(S)-v,并發(fā)送給服務器A;
服務器A:
⑤ 計算fcp-r3;
⑥ iff>0 then
⑦ returnboolean=false;
⑧ else
⑨ returnboolean=true.
服務器A持有[X]和公鑰pk,服務器B持有密鑰對(pk,sk),每次執(zhí)行SCmax算法時:
1) 服務器A生成與xi,i∈{1,2,…,n}等長的隨機數(shù)r3,并生成與X等長的向量R3=(r3,r3,…,r3),將其加密Enc(R3,pk)=[R3]=([r3],[r3],…,[r3]),然后根據(jù)同態(tài)加計算:
[X]⊙[R3]=[X+R3],
[S]shuffle([X+R3]),
其中shuffle(*)是打亂向量內(nèi)部項順序的功能函數(shù),將打亂后的向量[S]發(fā)送給服務器B.
2) 服務器B解密[S]得S,計算cpmax(S)-v并發(fā)送給服務器A.
3) 服務器A計算fcp-r3,如果f>0,則服務器A判定[X]中的最大值不小于閾值v,否則小于v.
4.1.3 安全密態(tài)計算Spearman算法:SCspear
對于一個明文X=(x1,x2,…,xn)和一個經(jīng)過同態(tài)加密之后生成的密文:[Y]=([y1],[y2],…,[yn])←Enc(Y,pk).我們提出的算法可以在不泄露明文向量Y的前提下,安全計算出X和Y之間的Spearman秩相關系數(shù).算法3總結了該算法通過雙服務器交互實現(xiàn)的流程.
算法3.SCspear([X],[Y],pk,sk).
輸入:明文X=(x1,x2,…,xn)、密文[Y]=([y1],[y2],…, [yn])、公私鑰(pk,sk);
輸出:Cor.
服務器A:
① 生成隨機向量并加密:
R4=(r4,r4,…,r4),其中r4是隨機數(shù)
|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]),
并將(Γ,[Ψ])發(fā)送給服務器B;
服務器B:
③ 使用sk解密[Ψ];
④ 計算Φ=sort(X,Ψ),
Cor=Spearman(Φ);
⑤ 最后將Cor發(fā)送給服務器A;
服務器A:
⑥ 返回值max(0,Cor).
服務器A持有X,[Y]和公鑰pk,服務器B持有密鑰對(pk,sk),每次執(zhí)行SCspear算法時:
1) 服務器A生成一個與yi,i∈{1,2,…,n}等長的隨機數(shù)r4,并生成與[Y]等長的向量R4=(r4,r4,…,r4),將其加密Enc(R4,pk)=[R4]=([r4],[r4],…,[r4]),然后根據(jù)同態(tài)加計算:
[Y]⊙R4=[Y+R4],
(Γ,[Ψ])shuffle(X,[Y+R4]),
其中shuffle(*,*)表示對內(nèi)部2個向量按照相同的方式打亂項的順序,Γ,[Ψ]分別是X和[Y+R4]打亂后的結果,然后將向量對(Γ,[Ψ])發(fā)送給服務器B.
2) 服務器B解密Dec([Ψ],sk)=Ψ(Ψ是經(jīng)過打亂順序的Y+R4),然后計算:
Φ=sort(X,Ψ),
其中sort(*,*)表示對內(nèi)部2個向量按照升序(或降序)排列,并生成2個向量相應的秩次序列對Φ,最后根據(jù)Spearman計算規(guī)則(詳見2.4和文獻[34])求出相關系數(shù)值:
Cor=Spearman(Φ).
4.2.1 SSC-AGG算法
本文的系統(tǒng)實現(xiàn)使用簡化的SC-AGG算法,該算法使系統(tǒng)能夠在融合密碼學技術大幅度提高隱私安全性的同時,保證最終結果擁有可觀的準確性.為了使該算法能夠適用于我們提出的安全需求,我們將Zhang等人[11]提出的該聚合算法稍作簡化轉變?yōu)镾SC-AGG算法.經(jīng)過轉變的SSC-AGG算法不會損失過多精度,而且能夠實現(xiàn)我們的安全需求.算法4對初始化和迭代計算2個部分進行了描述,應用于系統(tǒng)實現(xiàn)的過程見4.2.2節(jié).
算法4.SSC-AGG.
初始化
輸出:Esti0,W0,F(xiàn)ore0.
① 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τ,F(xiàn)oreτ.
① 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系統(tǒng)
雖然使用算法4能夠實現(xiàn)弱到強結果的聚合,但是計算過程需要傳遞的信息會完全暴露在系統(tǒng)之中.為了防止隱私泄露,我們提出了FPCBC,用戶能夠獲取想要的結果,且任何隱私數(shù)據(jù)都不會暴露給系統(tǒng)內(nèi)的其他參與者.表3對我們方案進行了簡單概述,我們的協(xié)議分為4個階段:
1) 預準備階段.該階段為協(xié)議執(zhí)行提供基礎數(shù)據(jù)和模型支撐,生成相應的密鑰,為用戶的查詢?nèi)蝿兆鰷蕚?
2) 初始化階段.該階段初始化系統(tǒng)模型的各個計算參數(shù),并計算SSC-AGG算法的初始化,為后續(xù)關鍵的迭代聚合做準備.
3) 迭代聚合階段.該階段進行核心的計算,通過Ω輪的迭代計算得到理想分類的密態(tài)結果.
4) 用戶接收階段.該階段用戶本地做最后的簡單計算,獲取最終的分類查詢結果.
Table 3 Overview of FPCBC
2) 初始化階段.確定進行迭代聚合的總輪數(shù)Ω和聚合算法中的超參數(shù)α,ρ等;與此同時,在進行對弱結果的迭代聚合之前,初始化一些變量.
步驟2.在預處理之后,服務器A獲得了模型對Dlab′的推理結果,即可計算:
3) 迭代聚合階段.根據(jù)初始化階段得到的數(shù)據(jù)繼續(xù)進行總輪數(shù)為Ω的迭代計算得到理想的密態(tài)結果,對于第τ輪:
如果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],
并將結果發(fā)送給服務器B并解密,服務器A,B將分別持有的K和ForeΩ+K發(fā)送給用戶.
4) 用戶接收階段.用戶接收到雙服務器發(fā)送來的結果,進行簡單的計算去除盲化隨機數(shù):ForeΩ+K-K=ForeΩ,最后即可求得眾包推理聚合出的分類結果:Result=arg max(ForeΩ).
定理1.FPCBC訓練數(shù)據(jù)集隱私安全.FPCBC方案不會泄露機器學習模型訓練的數(shù)據(jù)集.
證明. 在我們的方案中,唯一需要進行機器學習模型訓練的是邊緣參與方,而且各個邊緣參與方根據(jù)私有數(shù)據(jù)在本地進行訓練,不會共享數(shù)據(jù),因此根據(jù)分布式聯(lián)邦學習數(shù)據(jù)不動的特點,其訓練數(shù)據(jù)的保密性自然得到了保證.
證畢.
定理2.FPCBC數(shù)據(jù)和分類結果隱私安全.FPCBC方案在半誠實和服務器不合謀的前提下是數(shù)據(jù)和分類結果隱私安全的,根據(jù)3.2節(jié)的安全內(nèi)容定義說明,系統(tǒng)面對任何一個半誠實的腐敗方(邊緣參與方、服務器A和服務器B),用戶的數(shù)據(jù)Dinq和最終結果Result在眾包系統(tǒng)分類的過程中不會泄露.
證明.如安全實驗所述,在我們的方案中分為3種可能腐敗方:邊緣參與方腐敗、服務器A腐敗和服務器B腐敗,因此我們通過考慮下面的方法來證明定理2.
1) 數(shù)據(jù)隱私安全
我們通過證明:現(xiàn)實腐敗方的視圖與理想世界中腐敗方的視圖具有計算不可區(qū)分性的標準化論證法來論證定理2的數(shù)據(jù)隱私安全.
其中random表示隨機帶.我們生成模擬器S可以獲得真實視圖的輸入輸出,并模擬出理想世界的腐敗方視圖:
模擬器S:
① 獲取數(shù)據(jù)集Datai,并訓練出弱模型.
② 獲取數(shù)據(jù)集Dlab′,[Dinq],并計算出它們經(jīng)過弱模型推理的結果.
③ 生成與[Dinq]等大的隨機數(shù)據(jù)R.
系統(tǒng)執(zhí)行過程中,服務器A只會接收到密文[Dinq],因此與邊緣參與方腐敗情況相似,滿足數(shù)據(jù)隱私安全.服務器B不會獲得與用戶查詢數(shù)據(jù)直接相關的數(shù)據(jù),不存在數(shù)據(jù)隱私安全的問題.因此,可證得FPCBC滿足數(shù)據(jù)隱私安全.
2) 分類結果隱私安全
因此可證得FPCBC滿足分類結果隱私安全.
證畢.
本節(jié)對基于眾包聚合的聯(lián)邦學習隱私保護分類系統(tǒng)的性能進行評估和模擬.在系統(tǒng)實現(xiàn)過程中,我們從系統(tǒng)的3個不同方面進行實驗分析:用戶數(shù)據(jù)加密、邊緣參與方密態(tài)推理和雙服務器迭代聚合.實驗在AMD EPYC 7302 16-Core CPU,32 G RAM的64位Windows10操作系統(tǒng)計算機上進行.
目前關于安全分類推理的方案大都是基于訓練出理想模型的解決思路,與我們的系統(tǒng)沒有直接的可比性.因此,我們對FPCBC自身進行實驗數(shù)據(jù)分析.
我們使用手寫數(shù)字圖像數(shù)據(jù)集MNIST[35]和CryptoNets[22]神經(jīng)網(wǎng)絡進行系統(tǒng)測試.MNIST包含了0~9分類的手寫數(shù)字,一共由60 000張手寫數(shù)字圖像作為訓練集和10 000張手寫數(shù)字圖像作為測試集,如圖6所示.每張圖像都由28×28個像素組成且每個像素取值為0~255的灰度值.本實驗進行模擬的思路是讓邊緣參與方利用明文訓練集進行模型的訓練,再用10 000張測試集圖像來測試用戶數(shù)據(jù)分類準確度.邊緣參與方使用Dowlin團隊的CryptoNets架構來訓練模型,該架構源碼模型已完成了基于MNIST訓練集在明文下的訓練且準確率已經(jīng)達到較高的可信度:98%~99%.為了配合驗證我們提出的系統(tǒng)可以實現(xiàn)弱到強結果的密態(tài)聚合,通過更改訓練好的模型參數(shù)來預降低推理準確率.更改20種神經(jīng)網(wǎng)絡來生成20個不同低準確率的模型,并分別取5,10和20個一組來模擬N=5,N=10和N=20個邊緣參與方,如圖7所示.
Fig. 6 Pictures of MNIST handwriting dataset圖6 MNIST手寫數(shù)據(jù)集圖片
Fig. 7 Weak model accuracy of edge participants圖7 邊緣參與方弱模型準確率
實驗的加密使用同態(tài)加密代碼庫SEAL,在使用Bos團隊[26]的同態(tài)加密方案之前需要對明文數(shù)據(jù)進行編碼處理,編碼的目的是將實數(shù)范圍的明文映射到適用于加密方案的環(huán)域,從而保證計算得到的解密結果是正確的,詳細的編碼加密過程請參考文獻[22].
c
數(shù)據(jù)的編碼需要5對參數(shù)聯(lián)合使用,加密方案中選取的5對參數(shù)q,t,如表4所示.此外,由于編碼技術使用中國剩余定理,編碼的過程可以實現(xiàn)單指令多數(shù)據(jù)(SIMD)的批處理操作,這就意味著相同批次的時間內(nèi)可以編碼加密一批圖像數(shù)據(jù),其批處理的數(shù)量大小取決于n,實驗中取n=4 096,此時批處理的數(shù)據(jù)量也為4 096.
Table 4 Parameters of Homomorphic Encryption Scheme
我們將MNIST的測試集充當用戶的查詢數(shù)據(jù),我們測試了ninq=4 000,7 000,10 000時用戶加密和編碼的時間開銷.如圖8(a)所示,用戶加密3組不同數(shù)量圖片分別需要32.5 s,62.3 s和96.6 s,雖然看上去時間開銷較大,但由于是批處理,所以平均每張圖片的效率十分樂觀.此外,圖8(b)顯示了對這些圖像進行編碼處理的時間開銷,對3組數(shù)據(jù)分析計算,平均每個圖像的編碼時間約為0.124 s.
Fig. 8 Time overhead for different sets of image encryption and encoding圖8 不同組圖像加密和編碼的時間開銷
基于之前編碼加密的4 000,7 000,10 000張圖片,將其交給圖7中20個不同準確率的CryptoNets模型進行推理,來模擬邊緣參與方推理得到弱結果的過程.由于FPCBC在執(zhí)行過程中,邊緣參與方的推理是并行操作,我們計算其平均推理時間如表5所示:
Table 5 Average Inference Time of Neural Network
我們從MNIST的訓練集中隨機抽取nlab=300和nlab=600個數(shù)據(jù)作為服務器A持有的小型公開數(shù)據(jù)集Dlab,在雙服務器通過交互實現(xiàn)對弱結果的迭代聚合中,表6顯示了對4 000,7 000,10 000個數(shù)據(jù)進行每輪安全聚合計算的平均時間開銷,不難發(fā)現(xiàn)聚合過程的時間成本還是比較大的.
Table 6 Average Time of Aggregation per Round
同態(tài)加密需要巨大的時間開銷是公認的缺點,這也是很難將該技術投入到實際應用的原因,但是本實驗中使用的同態(tài)加密算法,對于明文數(shù)乘密文、數(shù)加密文的運算不必做額外的加密和密文的加乘運算[22],因此可以大大減少同態(tài)加密帶來的計算時間開銷.通過對圖8和表5、表6分析可知,用戶和邊緣參與方進行操作的時間也都在幾十到幾百秒不等,而且整個方案的核心時間開銷在雙服務進行安全聚合迭代的過程,為了得到高準確度的結果,我們往往需要進行多輪迭代操作.不過我們進行的是批處理,也就是說這些開銷是對幾千甚至上萬張圖片處理的時間開銷總和,那么平均每張圖片的開銷則非常少,因此平均效率十分樂觀.
根據(jù)圖7可以計算出當N=5,10和20時的平均弱結果統(tǒng)計圖,并且我們基于nlab=300和nlab=600在3種不同N的前提下對最后聚合的平均準確度進行了對比,如圖9所示.
圖9(a)和圖9(b)說明基于nlab=300和nlab=600聚合出的正確率都達到了80%以上,與聚合前的正確率相比不難發(fā)現(xiàn)我們的方案是可以顯著提高準確率且可行的.通過對2個圖的比較,nlab=600比nlab=300的平均正確率偏高一些,因此我們可以得到這樣的結論:如果服務器A持有更大的小型公開數(shù)據(jù)集Dlab,則可以獲取更高準確率的預測,且當有更多的邊緣參與方N時,越容易快速聚合出較高準確率的分類結果.
Fig. 9 Classification inference accuracy distribution before and after aggregation圖9 聚合前后分類推理準確率分布
我們的實驗只是基于一種同態(tài)加密神經(jīng)網(wǎng)絡,而這對于FPCBC來講是靈活可變的,也就是說,如果有更優(yōu)化的同態(tài)加密方案,則效率會更加理想.此外,我們的方案與傳統(tǒng)分類推理不同的是,用戶、邊緣參與方和服務器完全是獨立計算的,即用戶和邊緣參與方將自己的計算任務完成之后完全可以處于離線狀態(tài),不需要一直保持連續(xù)的通信,即使安全聚合的過程時間開銷巨大,但不會占用用戶和邊緣參與方的資源,且若服務器擁有更高的計算能力,則整體效率也會有提升.綜上所述,F(xiàn)PCBC也具有很強的自由度和魯棒性.
本文提出了一種基于眾包聚合的聯(lián)邦學習隱私保護分類系統(tǒng).為了實現(xiàn)弱結果的安全密態(tài)聚合,我們依靠雙服務器設計了服務器安全交互算法.此外,同態(tài)加密和雙服務器交互算法的存在使系統(tǒng)不會泄露任何用戶查詢的敏感數(shù)據(jù),從而使得我們的方案有更加可靠和更高程度的隱私安全保障.在我們的系統(tǒng)中,只需要服務器從邊緣參與方收集分類查詢的弱結果,不需要獲取機器學習模型和數(shù)據(jù)集,由此可以保證邊緣參與方的隱私.雙服務器通過安全交互聚合算法,根據(jù)統(tǒng)計學原理對弱推理結果聚合來提供更準確、更安全的分類預測服務.我們將眾包、聯(lián)邦學習思想與密碼學技術相結合,提出了對用戶和邊緣參與方都十分友好的應用系統(tǒng),即用戶和邊緣參與方的計算量需求較小、系統(tǒng)魯棒性強的特點.其中核心計算量都交給了服務器來執(zhí)行,因此服務器計算能力的強弱直接影響我們系統(tǒng)的效率.作為未來的方向,我們將專注于設計更小通信量的方案,并提升系統(tǒng)預測的準確率.
作者貢獻聲明:金歌負責創(chuàng)新方法的提出和論文的撰寫;魏曉超負責方案分析和論文修改;魏森茂負責實驗的構思和改進;王皓負責方案分析和論文潤色.