樊聰聰 向劍文 夏 喆
(武漢理工大學計算機科學與技術學院 湖北 武漢 430070)
基于機器學習算法的神經網絡在許多領域都取得了重大的實驗成果,但是如果機器學習算法訪問的原始數據是金融、醫療等其他敏感數據時,那么數據的隱私保護就成為了一個亟需解決的問題。因為在使用神經網絡對數據進行訓練和預測分類時不僅要關注預測分類的準確性,還要提高數據的安全性。為解決該問題,本文采用同態加密算法對原始數據進行加密,并在由明文數據中訓練好的神經網絡模型中對加密的數據進行預測分類。在這種情況下,允許數據所有者對自己的敏感數據進行加密,然后將加密的數據上傳到云,讓云對數據進行存儲和處理。對數據加密保證了數據的機密性,因為云在沒有相關私鑰的情況下是不能夠訪問加密的數據,但是云服務可以運用卷積神經網絡在加密的數據上進行預測分類,生成的結果也是加密的形式。因此,云不可能得到原始數據及預測分類結果的任何相關信息。
敏感數據的隱私保護已經在各個方面有了大量的研究成果,根據敏感數據應用的機器學習算法的不同可以分為線性回歸的訓練與預測[3-4]、線性分類[5-7]、決策樹[6]和神經網絡[8-12]。基于隱私保護的神經網絡相關問題已經得到了廣泛的研究,大多數現存的方法是基于安全的多方計算[8,10]或同態加密及二者的結合,也有基于全同態加密或是混淆電路與同態加密的結合,這些方法的效率主要是取決于神經網絡的復雜性。
本文主要借助同態加密及安全的乘法協議對卷積神經網絡中的加密數據進行相關的操作。首先采用卷積神經網絡在未加密的數據上進行訓練得到可使用的模型,然后在加密數據上進行預測分類。該過程不會泄漏敏感數據的任何信息,預測的結果也是加密的形式。因為云不能訪問數據所有者的私鑰,也就不能解密相關信息,進而得不到任何有用的信息。然而由于加密機制的約束,在加密數據上運用卷積神經網絡進行預測分類是具有挑戰性的。同態加密的約束是在實際的操作中僅支持加法或乘法,所以通過卷積神經網絡對這些加密數據進行計算十分困難,效率也十分低下。本文采用Paillier同態密碼算法對數據進行加密并使用文獻[15]提出的具有隱私保護的外包計算工具包對加密的數據進行計算。且這個神經網絡模型也不能不做任何修改直接應用,因為卷積神經網絡模型激活層中的激活函數(ReLU、Sigmoid)是非線性函數,所以要對這些復雜函數用低次多項式進行近似替換。
基于隱私保護的深度學習預測模型首先由Dowlin等提出[9],該模型實現了對于卷積神經網絡隱私保護的協議——CryptoNets。后續的研究提出了多種優化方案,例如在應用逼近激活函數之前對加權和進行歸一化處理[21],或是采用全同態加密來評估任意的深度神經網絡。
Orlandi等[10]提出了基于安全的多方計算和同態加密結合的隱私保護的神經網絡的預測分類算法。文獻[25]改進以上協議使得中間生成的結果不再會被客戶端所獲得。Mohassel等[26]采用了混合的協議框架來實現神經網絡的訓練以及評估雙方的預測分類。Liu等[27]提出了MiniONN,運用單指令多數據技術(SIMD)將現有的神經網絡轉換成可觀察的神經網絡。
Graepel等[3]使用類同態加密(SHE)機制來訓練兩個機器學習的分類器,分別為線性均值及Fisher的線性判別(FLD)。該項研究提出了無除算法來適應同態加密的限制,主要通過研究一種簡單的線性均值分類器來實現,并沒有考慮更復雜的算法,且考慮的是弱安全模型,即客戶端可以獲得這個訓練的模型。Bost等[6]使用三種同態加密系統(二次剩余[29]、Paillier和BGV方案)以及亂碼電路為三種機器學習算法(超平面決策、樸素貝葉斯和決策樹)提供隱私保護的預測分類。這一研究主要基于安全的多方計算,但其僅考慮了典型的機器學習算法而且對于小的數據集才有效率保證。
最近的一些研究也關注神經網絡訓練階段數據的隱私問題,主要是針對反向傳播的算法[12,30]。Bu等[30]提出了在云端基于BGV加密機制的隱私保護的反向傳播算法,該算法將計算的負載全部上傳到云端,從而減少計算開銷,而且也是用BGV[28]在處理過程中保護數據的隱私。Zhang等[12]提出了使用BGV加密方案來有效地支持高階反向傳播算法安全計算,以便在云端進行模型的訓練。為了減少乘法的深度,在每一次迭代完成之后,將更新后的權重發送回給各方進行解密及重新加密,所以該方案的通信代價很高。
同態加密機制是允許執行一些算術操作在加密的數據上,將得到的結果進行解密后,與未加密的原始數據執行相同操作后得到結果是一致的。該特性使得同態加密在敏感數據安全外包的項目中十分受歡迎,例如醫療記錄、地理信息和基因探測等敏感數據。同態加密確保了云計算環境在通信、存儲和計算方面數據的隱私性和安全性[1-2]。只允許有限次的加法或乘法操作的加密稱為類同態加密[20]。許多同態加密方案一直被廣泛應用在電子投票[22]和數據挖掘[23]等領域,例如,支持密文上同態加法運算的Paillier密碼系統[17]和支持密文上同態乘法運算的El Gamal密碼系統[18]。
Hazay等[13]提出了一個具有分布式解密的Paillier密碼系統。在該方案中,密鑰可以分成兩部分,例如:sk(1)、sk(2)。該密碼系統的明文域是ZN,密文空間是ZN2。在該方案中以[x]形式表示明文x的密文形式,Encpk(·)和Decsk(·)表示加密和解密的函數,PDecsk(1)(·)和PDecsk(2)(·)表示使用部分私鑰sk(1)和sk(2)的門限解密函數,對于密文[x]其工作過程是先[x′]←PDecsk(1)([x])再x←PDecsk(2)([x′])。
同態加密[16]在1978年由Rivest等首次提出,之后在此基礎上,學者也相繼提出了其他的同態加密機制[17]。但大多數的同態加密方案有許多約束,有的同態加密方案僅支持一種運算操作,如Paillier密碼系統只支持加法操作。2009年Gentry[19]提出的一種基于理想格的全同態加密算法(同時支持加法和乘法操作)解決了這一問題,其引入了一種自舉(bootstrapping)技術,可以處理任意的計算深度。該技術可以在進行密文計算的解密電路中刷新密文,將類同態加密與自舉技術相結合形成全同態加密機制。然而,由于它超大的計算負載以及低效率,限制了它在實際中的運用。另一個約束是大多數的同態加密方案只能在整數上進行操作,所以在對數據進行加密之前要將數據轉換成整數的表示形式。
在神經網絡前饋算法中涉及到的算術運算只有乘法和加法,而對于用Paillier加密的兩個數據實現加法運算是比較容易的,因為Paillier加密系統是支持密文上同態加法運算的。而對于實現兩個加密數據之間的乘法則需要一個安全的乘法協議,文獻[15]提供了基于隱私保護的云外包計算工具包,包含了安全的乘法協議、安全的比較協議和安全的除法協議等。不過其中的安全比較協議有誤,不能實現對兩個密文的大小正確地進行比較。安全的乘法協議描述如算法1所示。
算法1安全的乘法協議(RSM)
輸入:云平臺輸入Paillier加密數據[x]和[y],計算服務提供商輸入密鑰SK。
輸出:云平臺得到x·y的密文[x·y]。
第一步 云平臺在整數集ZN上選擇兩個隨機數rx和ry,并計算X=[x]·[rx],Y=[y]·[ry],然后把X和Y發送給計算服務提供商。
第二步 計算服務提供商接收到數據后,將X和Y用私鑰進行解密,并將解密的結果相乘得到H=(x+rx)·(y+ry),然后將結果重新加密得到[H],并把加密的結果發送給云平臺。
第三步 云平臺接收到數據后,去除相關的隨機項S1=[rx·ry]N-1,S2=[x]N-ry及S3=[y]N-rx,然后云平臺利用Paillier同態加法特性[H]·S1·S2·S3=[(x+rx)·(y+ry)]·[rx·ry]N-1·[x]N-ry·[y]N-rx=[(x+rx)·(y+ry)-rx·ry-x·ry-y·rx]=[x·y]。
在大多數的連續函數中,多項式函數的計算是最簡單、最易于實現的。多項式之間進行加減乘除的計算得到的結果也是多項式,多項式的導數及積分也是多項式。因此用多項式函數來近似表示連續函數,可以將連續函數轉化為對多項式函數問題的研究。如今有多種多項式近似方法被提出,如泰勒級數、數值分析、切比雪夫多項式等方法。本文主要是采用切比雪夫多項式近似表示神經網絡中的激活函數。
如圖1所示,使用切比雪夫多項式的零點作為拉格朗日插值函數的插值點來近似逼近ReLU函數,原函數與近似函數基本吻合,因此可以使用切比雪夫多項式零點作為插值點來近似表示神經網絡中的激活函數。

(a)原函數 (b)近似函數與原函數圖1 切比雪夫多項式逼近ReLU函數
本系統包括密鑰生成中心、數據所有者、云平臺和計算服務提供商四個部分。
(1)密鑰生成中心。密鑰生成中心是整個系統模型中其他部分都信任的實體,主要是處理和分配所有在系統中所使用的密鑰。
(2)數據所有者。數據所有者的目標是將自己的敏感數據以加密的形式上傳到云平臺,云平臺用相應的模型對數據進行處理并得到最后結果,并將該結果發送給數據所有者,由數據所有者使用自己的私鑰對結果進行解密,得到自身所需要的結果。
(3)云平臺。一個云平臺包含巨大的數據存儲空間,可以用來處理和存儲數據提供商的外包數據,也可以存儲加密形式的中間結果和最終的結果,以及可以在某些加密的數據中執行一些算術運算。
(4)計算服務提供商。計算服務提供商提供在線計算服務,例如計算加密數據之間的乘法,也可以門限解密從云平臺傳送過來的加密數據,或者在門限解密的數據中執行某些計算,然后對這個計算結果重新加密,并將加密的結果傳回給云平臺做進一步的運算操作。
在整個安全模型中,密鑰生成中心是整個系統中其他部分都信任的實體,為整個系統產生公鑰和私鑰。系統的其他實體包括數據所有者、云平臺和計算服務提供商都是不完全可信實體,它們會嚴格地執行指定的協議,但是會盡可能分析得到的加密數據及協議執行產生的中間結果,進而從中獲取有關原始數據的隱私信息。因此,在這個模型中假設一個敵手A,目標是將數據所有者的密文進行解密得到原始數據。A所擁有的能力包括:(1)A能夠竊聽所有的通信鏈路來獲得加密的數據。(2)A能夠執行交互協議損害云平臺,進而猜測從數據所有者外包給云平臺的密文及從計算服務提供商所傳遞過來的密文的明文值。(3)A能夠執行交互協議損害計算服務提供商,猜測從云平臺傳送的密文的明文值。(4)A能夠損害一個或多個數據所有者(不包括目標數據所有者),進而獲得訪問它們的解密能力及猜測屬于目標數據所有者的密文的明文值。
敵手A在損害系統實體方面也是有限制的。首先,它不可能同時損害計算服務提供商和云平臺;其次,也不可能損害目標的數據所有者。這種在加密協議所使用的安全模型的限制是十分典型的[14,32]。
為了實現CNN對加密的數據進行正確的預測分類,該模型的安全目標定義如下:
(1)私密性:數據所有者將數據上傳到云之前,要先對數據進行加密,保證在傳輸過程中不會泄露原始數據的相關信息,也可以確保在云平臺運用CNN對數據進行預測分類的過程中不會泄露數據的隱私。
(2)正確性:在CNN中對加密數據進行預測分類時,在保證運算數據機密性的情況下,還要保證CNN對加密數據進行預測分類結果的正確性。
(1)密鑰的生成。在這個安全模型中,主要采用Paillier密碼機制對數據進行加密。然而,數據所有者不能直接將密鑰傳遞給服務器,服務器也不能直接使用密鑰解密數據所有者的數據。因此,本文采用了帶有門限解密的Paillier密碼系統來對整個系統中的數據進行加密和解密。算法流程如下:

(2)加密。對于給定的數據m∈ZN,隨機選擇一個數r∈ZN,然后根據如下公式生成密文:
c=[m]=gm·rNmodN2
(1)
(3)解密。將加密的數據[m]使用Decsk(·)算法及對應的私鑰SK=λ來進行解密:
(2)
本文采用的是Shamir的(k,n)密鑰共享算法,將密鑰分割成n個份額,其中任意大于或等于k個份額即可恢復原密鑰,小于k個份額則無法恢復密鑰。
(1)密鑰分發者從有限域F中隨機選取n個不同的非零元素x1,x2,…,xn,分發給不同的密鑰持有者。
(2)密鑰分發者要分發的密鑰為c∈Zq(q為大素數),在有限域F中任選t-1個數ai(i=1,2,…,t-1),令a0=c,構造如下多項式:
f(x)=(a0+a1x+a2x2+…+at-1xt-1)modp
(3)
式中:p是一個大素數且p>c。然后密鑰分發者對所有的密鑰持有者使用上述公式生成n個子密鑰,即:
(4)
i=1,2,…,n
(3)密鑰c的恢復過程是任意t個密鑰持有者將他們的子密鑰運用拉格朗日插值公式計算得到的所要使用的密鑰:
(5)
1.3節中介紹的安全乘法協議只能應用在正整數上,但是在CNN中對加密數據進行預測分類的過程中處理的數據通常涉及到小數。為了將安全乘法協議運用到卷積神經網絡中,根據文獻[25]中的方案使用定點數據類型來表示小數,具體描述如下:

(1)云平臺在得到[x·y]之后,在整數集ZN上生成隨機數r,計算得到G=[x·y]·[r],然后將G發送給計算服務提供商。
(2)計算服務提供商接收到G之后,使用私鑰SK對其解密得到x·y+r。然后縮小比例系數得到G′=(x·y+r)/2δ,將結果重新加密為[G′]并發送給云平臺。
(3)云平臺接收到[G′]后,計算R′=[r/2δ],再計算[G′]·R′-1,移除相關隨機項,得到[(x·y)/2δ],進而將比例系數恢復成了2δ。
該部分主要是將卷積神經網絡修改成可對加密數據進行預測分類的模型,即支持隱私保護的卷積神經網絡模型。首先將卷積神經網絡(CNN)中的激活函數用低階多項式進行替換。由于對加密數據求最大值是非線性的運算,所以在CNN中采用均值池化層,而且求平均值也是一個非線性的運算,所以在該均值池化層只求劃分區域的密文的和。最后將上述所描述的安全乘法協議運用到CNN中對加密的數據進行預測分類。整個方案流程如圖2所示。

圖2 具有隱私保護的CNN的預測分類過程
在云平臺中使用如圖3所示的用于加密數據的CNN模型。

圖3 可用于加密數據的CNN模型
其中的激活函數是使用低階多項式進行近似替換的,平均池化層采用的是標量均值池化層進行替換的。
CNN中的激活函數是使用切比雪夫多項式零點作為拉格朗日多項式的插值來近似表示的,目的是為了使卷積神經網絡中的數據的運算只有加法和乘法運算,有助于加密數據運算的操作效率。
CNN的預測分類是在已經訓練好的模型中進行前饋操作,即對上傳的數據進行多次卷積和池化操作。
(1)卷積過程。假設有一個5×5的圖像,使用一個3×3的卷積核對該圖像進行卷積運算,步幅為1,得到一個3×3的特征映射圖,如圖4所示。

圖4 卷積操作過程

對密文數據進行卷積操作,以圖4為例,計算公式如下:
(6)
完成卷積操作之后,將得到的結果傳送給激活層,使用激活函數對加密的結果進行操作,由于激活函數是低階多項式,可以在密文數據中執行同態加法操作,以及使用安全的乘法協議對數據執行乘法操作。
(2)池化過程。以圖5為例,采用2×2的filter,以及步幅為2的均值池化,在池化過程中,得到的池化層的輸出結果為:

圖5 池化操作
(7)
對于加密數據的池化層的操作僅僅是計算劃分的池化區域中元素之和,這是因為對加密數據求平均值是十分復雜的。以圖5為例,池化層只需要對劃分區域中的加密數據求和,即:
(8)
池化過程中不求平均值唯一產生的影響,只是得到的輸出結果是以一定的比例放大而傳送到下一層作為輸入,由于該過程的結果都是以相同比例進行放大的,所以對輸出結果沒有太大的影響。
為了評估方案的準確性和效率,主要對手寫數字數據庫[37]的MNIST數據集進行相關的實驗測試。實驗都是在一臺裝有Windows 10系統的機器上完成的,該機器的配置有Intel(R)Core(TM)i5-8250U CPU 1.60 GHz,1.80 GHz處理器和8 GB的內存。
推論1本系統模型實現了準確性,即如果所有節點均按協議要求執行協議,則系統輸出正確結果。在CNN中對加密數據進行預測分類時,在保證運算數據機密性的前提下,確保CNN對加密數據進行預測分類結果的正確性。
推論2本系統模型實現了私密性,即如果所有節點均按協議要求執行協議,則在系統模型運行的過程中保證了數據的私密性。
在整個實驗過程中,對數據的加密方案都是采用Paillier密碼系統進行加密的,而Paillier在標準的模型中已經被證明是語義安全的[33],只要用戶的私鑰沒有泄露,那么其他實體不可能獲得密文原始數據的任何相關信息,所以數據所有者的敏感數據在傳輸的過程中不會泄露給云平臺及計算服務提供商。而且云平臺和計算服務提供商是兩個不合謀的實體,所以可以從這兩個服務器的角度進行安全性分析。
在云平臺端,初始獲得的數據是數據所有者使用Paillier加密算法加密的密文數據,Paillier加密算法是語義安全的,對密文進行相關的運算操作無法從密文中得到任何敏感數據的相關信息,所以加密的數據不會泄露任何原始數據的信息給云平臺。在云平臺與計算服務提供商合作執行的安全乘法協議的過程中,云平臺也只能獲得加密形式的數據,最后輸出的結果也是加密形式的,所以云平臺在整個運算過程中無法獲得任何有關原始數據的信息。
計算服務提供商在執行安全的乘法協議過程中,只能獲得添加隨機數之后的數據,而且云平臺與計算服務提供商是不合謀的,所以雙方只知道自己所擁有的數據,不會將自己的數據信息泄露給其他實體。在乘法結束后降低比例因子的過程中,云平臺從整數集中隨機地選取數據對明文數據進行保護。計算服務提供商在整個計算過程中得到的數據是被隨機數保護的明文數據,所以不能獲得原始數據的任何相關信息。
在對最終結果進行解密時采用的是基于Shamir的門限解密方案,因為Shamir[34-35]密鑰共享機制的信息理論上的安全性可以確保門限解密的密鑰隱私性。數據所有者的私鑰λ被分成n個密鑰份額,任何少于k個密鑰份額的情況都不能恢復私鑰λ,也就表明敵手在獲得少于k個密鑰份額的時候是不可能獲得用戶的私鑰的,也就不能解密獲得用戶原始數據的任何相關信息。
1)理論分析。假設一個指數位長為|N|的常規的冪運算需要執行1.5|N|乘法操作[36],比如一個指數r的位長為|N|,那么計算gr就相當于執行1.5|N|的乘法操作。因為冪運算的計算負載成本比乘法和加法高得多,所以在這個分析中忽略固定數量的加法和乘法。本系統模型中加密數據需要1.5|N|乘法操作,解密數據需要3|N|乘法操作,門限解密數據需要9t|N|乘法操作。
對于安全的乘法協議,在云平臺端需要4.5|N|乘法操作,在計算服務提供商端需要7.5|N|乘法操作。
2)實驗仿真。運用切比雪夫多項式來近似逼近CNN中的激活函數,得到函數圖像如圖6所示。

圖6 函數逼近圖像
從圖6可見,隨著切比雪夫多項式零點個數增多,對原函數也就越接近,圖像也是基本吻合的。本次實驗采用低階多項式來替換ReLU函數,所以采用圖6中n=2的函數多項式來近似表示激活函數。
表1所示為對一個向量x=(x1,x2,…,xi)數據進行加密,即對i個不同明文進行加密,其中N的位長為1 024位,門限值是(2,2)。

表1 加密解密算法運行時間表 單位:ms
表2展示了安全的乘法協議在云平臺和計算服務提供商運行時所需要的時間,以對安全乘法協議的性能進行評估。其中N的位長為1 024位。

表2 RSM在CP和CSP的運行時間表 單位:ms
對于整個系統模型,影響運行時間的因素主要是N的位長,從圖7可以看出系統模型加密、解密和門限解密算法的運行時間會隨著位長的增加而增加,主要原因是這些算法中的基本運算(模運算和指數運算)會隨著N的位長增加而增加(需要更多的位傳輸)。

圖7 基本的密碼算法的運行時間隨著N位長的變化
對于安全的乘法協議,主要的影響因素也是N的位長,如圖8所示,因為協議的運行也是依賴于系統模型中的基本算法。如果要優化通信速度,可以通過減少協議的運行時間進而提高總的運行速率,例如使用較小的N可以減少協議運行時間,但需以安全性為代價,只不過這個代價比較小。所以在實際運行過程中要適當地選取N,平衡好安全性和效率之間的關系。

圖8 安全乘法協議在CP和CSP的運行時間
由圖7和圖8可知,影響數據加密、解密及安全乘法協議的計算時間與N的位長有關,所以要提高系統模型的效率,可使用相對較小的N。
實驗采用如圖3的CNN模型對MINST數據集進行預測分類,首先將CNN中的激活函數用低階多項式進行替換,將這個模型在明文數據上進行訓練,得到可使用的模型。最后將這個模型使用在加密的數據上,對其進行預測分類。
每幅圖像大小為28×28,要對圖像中的像素進行分批加密,得到一組密文表示的數組,然后將加密的圖像以及公鑰傳送給云平臺,在云平臺上對加密的數據運行CNN。
表3顯示了使用圖5中CNN的模型對MNIST數據集進行預測分類各個層所需時間的細分,其中在第一個卷積層采用大小為5×5、步幅為(2,2)的卷積核,在該層中共有5個卷積核,所以最后輸出5×13×13的特征圖。第一個平均池化層是一個標量的均值池化,采用大小為1×3×3的filter,輸出5×13×13的特征圖。第二個卷積層與第一個結構類似,只是其中卷積核變為10個,輸出50×5×5的特征圖。激活層是使用低階多項式對激活函數近似替換,對卷積層的結果進行計算,第二個平均池化層結構與第一個相同,全連接層對接收到的數據進行權值求和計算生成10個輸出節點(對應10個數字的表示)。

表3 CNN各層運行時間
表4顯示對尺寸為28×28的MINIST的圖片進行加密,對最終計算結果(10個輸出節點)解密、門限解密及在CNN中預測分類的運行時間表。

表4 各算法的運行時間
表5展示了各方案的實驗對比結果。其中的CryptoNets[9]與本文方法類似,使用的是同態加密且實現的CNN都是兩個卷積層及兩個全連接層,其使用全同態加密方案對加密數據進行相關操作,所以運行效率比較低。并且其使用的CNN模型中激活層中的函數使用的是x2,所以準確率比本文方案低。而SecureML[26]是基于安全的多方計算的工作,其目的是使用安全的多方計算來保護隱私。該方法中,數據所有者與兩臺服務器共享數據,并且服務器使用兩方計算技術來運行機器學習算法,但只能實現一個非常簡單的神經網絡,該網絡具有兩個隱藏層,每層包含128個神經元,沒有任何卷積層,所以準確率非常低。本文系統模型使用Paillier密碼系統及安全的乘法協議,保證了數據的機密性,也使得CNN的預測分類的準確率達到了98.98%。

表5 各方案的對比
CNN具有局部感知、參數共享等特點,在圖像識別、語音識別等領域都具有十分出色的表現,當CNN應用在一些敏感數據中時,就要求對數據的隱私具有一定的保護。本文主要實現了敏感數據在CNN中預測分類的同時保證數據的機密性及分類的準確性。
為了保護數據的隱私性,本文主要使用Paillier密碼系統對敏感數據進行加密,然而加密機制使得數據之間的運算變得更加困難。由于Paillier密碼系統屬于加法同態的加密機制,所以加密數據之間的加法操作可以較為容易實現。而對于加密數據的乘法操作,本文系統采用了文獻[15]的開發工具包中的安全的乘法協議來實現的。CNN中除了加法和乘法操作之外,還存在激活函數非線性函數運算,所以本文使用低階多項式近似地逼近相對應的激活函數,進而提高預測分類的效率。
本文系統主要是在一個輕量級的CNN上對數據進行預測分類,準確率為98.98%,比文獻[9]方法高。未來將嘗試進一步提升數據預測的準確率,可以逼近無隱私保護數據預測分類準確率99.77%的標準。