亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        支持數(shù)據(jù)隱私保護的聯(lián)邦深度神經(jīng)網(wǎng)絡模型研究

        2022-06-18 10:37:24張澤輝高鐵杠
        自動化學報 2022年5期
        關鍵詞:深度模型

        張澤輝 富 瑤 高鐵杠

        近年來,人工智能技術已經(jīng)在圖像分類、目標檢測、語義分割、智能控制以及故障診斷等領域取得了優(yōu)秀的成果[1?7].在解決某些特殊問題方面,深度學習算法已經(jīng)逼近甚至超過人類水平.深度學習技術的快速發(fā)展主要依賴于豐富的數(shù)據(jù)集、算法的創(chuàng)新和運算設備性能的大幅提升[8].其中,數(shù)據(jù)集的豐富程度對深度學習模型的性能水平產(chǎn)生直接影響[9?11].但是,某些行業(yè)考慮到數(shù)據(jù)隱私泄露的問題,難以共享數(shù)據(jù)進行集中式學習.例如醫(yī)療行業(yè)在數(shù)據(jù)共享的過程中,某些病人的信息可能會泄露到不法分子手中,不法分子則利用患者信息推銷非法藥品、謀財害命[12?14].因此,為進一步提升模型性能水平,能夠組織多個研究機構通過共享本地模型參數(shù)的方式,實現(xiàn)協(xié)同訓練全局模型的聯(lián)邦學習算法被提出.

        針對機器學習中數(shù)據(jù)隱私泄露的問題,一些隱私保護的方法被提出,主要可以分為以安全多方計算(Secure multiparty computation,SMPC)、同態(tài)加密(Homomorphic encryption,HE)為代表的基于加密的隱私保護方法和以差分隱私(Differential privacy,DP)為代表的基于擾動的隱私保護方法.

        安全多方計算是指兩個或者多個持有私有數(shù)據(jù)的參與者通過聯(lián)合計算得到輸出,并且滿足正確性、隱私性、公平性等特性.Bonawitz 等[15]提出一種基于秘密共享的安全多方計算協(xié)議,旨在保證設備與服務端之間通信,并可以用于聯(lián)邦學習的參數(shù)聚合過程.與傳統(tǒng)密碼學方法相比,該協(xié)議的優(yōu)點在于其計算代價并不高,但由于通信過程涉及大量安全密鑰及其他參數(shù),可能導致通信代價會高于計算代價.

        同態(tài)加密方案能夠保證對密文執(zhí)行的特定數(shù)學運算會對其明文有著相同的影響.賈春福等[16]提出一種在同態(tài)加密數(shù)據(jù)集上訓練機器學習算法的方案.這類方法能夠很好地解決隱私安全問題,既可以將加密的數(shù)據(jù)聚合在一起進行模型訓練,也可以采用聯(lián)邦學習進行模型訓練.然而,該類方法[16?19]需要根據(jù)所構建的機器學習模型,選用或設計恰當?shù)耐瑧B(tài)加密方案對訓練數(shù)據(jù)進行加密,對密碼學知識有著較高的要求.同時,由于對數(shù)據(jù)加密需要大量的算力資源,該類方法不適用于大數(shù)據(jù)環(huán)境下的深度學習模型訓練.Phong 等[20]提出通過對聯(lián)邦學習過程中各訓練者產(chǎn)生的梯度數(shù)據(jù)進行加密,從而保證多個參與訓練者的本地數(shù)據(jù)隱私安全.這類方法通過對梯度參數(shù)進行加密保護,能夠很好地保護數(shù)據(jù)隱私安全.然而,該方法的加密運算量與訓練數(shù)據(jù)量的大小直接相關,會大大增加模型訓練時間和計算成本,并且沒有對偏置項進行考慮.

        差分隱私技術指在模型訓練過程中引入隨機性,即添加一定程度的隨機噪聲,使輸出結果與真實結果存在著一定程度的偏差,從而防止攻擊者推理.Agrawal 等[21]提出通過對訓練數(shù)據(jù)集進行擾動,實現(xiàn)聯(lián)邦深度神經(jīng)網(wǎng)絡的隱私保護.Shokri 等[22]通過在神經(jīng)網(wǎng)絡模型的梯度參數(shù)上添加噪聲,從而實現(xiàn)數(shù)據(jù)隱私的保護.Truex 等[23]針對聯(lián)邦學習模型,提出一種結合差分隱私和安全多方計算的隱私保護方案,能夠在保護數(shù)據(jù)隱私的同時,還有著較高的準確率.然而在梯度參數(shù)上添加噪聲,可能會造成機器學習模型訓練時收斂難度增大、預測精度下降,降低模型的使用性能.

        針對上述問題,本文提出一種支持數(shù)據(jù)隱私保護的聯(lián)邦深度神經(jīng)網(wǎng)絡模型.本文主要貢獻有兩個:1) 對多層神經(jīng)網(wǎng)絡的訓練過程進行分析,詳細地論述模型權重參數(shù)與梯度參數(shù)是如何泄露數(shù)據(jù)集信息的.2) 基于此,將固定的偏置項參數(shù)改為隨機數(shù)生成,從而避免由于梯度參數(shù)信息泄露而導致數(shù)據(jù)信息的直接泄露;并且將模型梯度參數(shù)加密替換為神經(jīng)網(wǎng)絡模型的權重參數(shù)加密,從而減少了加解密運算量;同時訓練者可選擇多種優(yōu)化算法,不再局限于隨機梯度下降法,使得提出的方法更加適用于真實場景.

        1 問題陳述與預備知識

        1.1 問題陳述

        本文研究的聯(lián)邦學習系統(tǒng)由兩部分組成:多個訓練者和參數(shù)服務器.所有訓練者都預先同意訓練一個確定框架的深度神經(jīng)網(wǎng)絡模型,并使用相同的優(yōu)化算法(如隨機梯度下降法) 和其他訓練參數(shù)(如學習率、mini-batch、迭代次數(shù)).各訓練者和參數(shù)服務器采用聯(lián)邦學習的方式,互相聯(lián)合、協(xié)作訓練一個深度神經(jīng)網(wǎng)絡,在訓練過程中各訓練者的訓練數(shù)據(jù)均在本地.另外,訓練者和參數(shù)服務器之間需要認證與授權,授權后的訓練者才可以獲得從參數(shù)服務器下載參數(shù)和上傳參數(shù)的權限.關于云環(huán)境下的用戶認證和授權非本文研究重點,具體可見文獻[24].

        本研究使用 “誠實且好奇”的半可信威脅模型[25].假設所有訓練者和參數(shù)服務器都是 “誠實且好奇”的半可信實體,所有訓練者和參數(shù)服務器都會遵守訓練協(xié)議,但是在訓練模型過程中都想要通過推理得到其他訓練者的數(shù)據(jù)信息.本文研究旨在在聯(lián)邦學習訓練階段保護各訓練者的數(shù)據(jù)隱私,使各訓練者不能推理得到對方的數(shù)據(jù)信息,同時也不能泄露信息給第三方服務器.

        1.2 神經(jīng)網(wǎng)絡模型

        一個典型的神經(jīng)網(wǎng)絡模型通常包含三層,分別為輸入層、隱藏層與輸出層[26].深度神經(jīng)網(wǎng)絡模型可以包含多個隱藏層,每個隱藏層具有一定數(shù)量的神經(jīng)元,并且不同隱藏層的神經(jīng)元可以自動從訓練數(shù)據(jù)中提取不同層次的特征.兩個神經(jīng)元之間的連接,即是神經(jīng)網(wǎng)絡模型的權重參數(shù).每層神經(jīng)網(wǎng)絡除了神經(jīng)元權重參數(shù)以外,還有偏置參數(shù).權重參數(shù)和偏置參數(shù)統(tǒng)稱為神經(jīng)網(wǎng)絡的模型參數(shù).神經(jīng)網(wǎng)絡工作過程主要有兩個:正向傳播與反向傳播.正向傳播過程是指,輸入數(shù)據(jù)正向通過各層神經(jīng)元的計算,然后輸出預測結果.反向傳播過程是指,先計算預測結果與目標值的偏差值Loss,然后根據(jù)偏差值采用鏈式求導與學習算法(例如梯度下降法)對各層網(wǎng)絡的權重進行更新.

        1.3 聯(lián)邦學習

        當數(shù)據(jù)分散在不同組織中時,聯(lián)邦學習提供了一種多方協(xié)作訓練深度學習模型的解決方案,現(xiàn)在已成為深度學習領域的研究熱點[27?29].

        圖1 為聯(lián)邦學習結構圖.首先,遠程參數(shù)服務器將初始化的深度學習模型發(fā)送至各個訓練者.然后,各訓練者使用自己本地的數(shù)據(jù)集對模型進行訓練,并將訓練的梯度參數(shù)Gi(i=1,2,···,n) 發(fā)送至參數(shù)服務器,而不是將本地數(shù)據(jù)發(fā)送到云端訓練.接著,參數(shù)服務器使用各訓練者所上傳的梯度參數(shù),將全局模型的權重參數(shù)Wold更新為Wnew,并將更新后的權重參數(shù)發(fā)送至各個訓練者.整個學習過程重復進行,直至達到設定的學習次數(shù)或滿足用戶設定的停止訓練的條件.

        圖1 聯(lián)邦學習結構Fig.1 Federated learning structure

        可以看出,多個訓練者可以通過使用聯(lián)邦學習框架協(xié)同訓練深度學習模型,從而提高模型性能.但是,該訓練過程中主要存在兩個缺點:1)通信過程不安全;2)模型權重參數(shù)與梯度參數(shù)可能存在隱私安全問題.經(jīng)典的信息加密方法能夠有效解決第一類問題[30?32],而第二類問題則需要根據(jù)深度學習具體問題建立一種隱私保護的機制.并且,由于隱私政策或法規(guī)的限制,大多數(shù)客戶都不愿共享其數(shù)據(jù).因此,需要對考慮數(shù)據(jù)隱私保護的聯(lián)邦深度學習模型進行深入研究.

        1.4 同態(tài)加密

        根據(jù)支持的數(shù)學運算種類與運算次數(shù),同態(tài)加密算法可以分為:支持一種數(shù)學運算且不限制運算次數(shù)的部分同態(tài)加密算法、支持特定數(shù)學運算且有限運算次數(shù)的有限同態(tài)加密算法、支持不限制數(shù)學運算種類且不限制運算次數(shù)的全同態(tài)加密算法.本研究采用的是Paillier 同態(tài)加密算法,該算法包括4個步驟(密鑰生成KeyGen、加密算法Encryption、解密算法Decryption 和驗證算法)[33?35].

        1)密鑰生成 KeyGen (λ) →(pk,sk):

        隨機選取兩個長度相同的大素數(shù)p和q,且滿足gcd(pq,(p ?1)(q ?1))=1,計算N=pq,λ=lcm(p ?1,q ?1),隨機選取g ∈,則公鑰pk=(N,g),私鑰sk=(λ).

        2)加密算法 Encryption(pk,m)→c:

        2 深度學習模型的隱私泄露

        經(jīng)典的神經(jīng)網(wǎng)絡在訓練過程中,可能存在數(shù)據(jù)集隱私泄露的風險.圖2 為一個典型的三層神經(jīng)網(wǎng)絡,其中x1與x2為輸入數(shù)據(jù),wi(i=1,···,8) 分別為各神經(jīng)元的權重,bi(i=1,···,4) 為各偏置項的權重,target為輸出目標值.下面以三種情況為例,詳細地對深度學習模型的隱私泄露問題進行說明.

        圖2 神經(jīng)網(wǎng)絡結構Fig.2 Neural network construction

        1)第一種情況

        首先計算神經(jīng)網(wǎng)絡的輸出值與目標值的偏差,計算公式如下:

        然后,根據(jù)鏈式求導法則,可以計算出w1、b1和w3的梯度:

        根據(jù)鏈式求導結果,可以得出:

        從式(5)、式(6)看出,能夠從梯度參數(shù)反推出輸入數(shù)據(jù).并且第一層網(wǎng)絡的所有梯度參數(shù),都能夠通過與之相對應的偏置項推導出數(shù)據(jù)信息,例如x1也可以通過w2的梯度除以b2的梯度得到.

        圖3(a)~圖3(d)分別為信息泄露100%、80%、50%和30%的圖片.從圖中可以看出,當獲取一定數(shù)量的輸入數(shù)據(jù)時,其關鍵信息就可能已經(jīng)泄露.

        圖3 不同比例的數(shù)據(jù)信息泄露Fig.3 Different proportions of data information leakage

        當求得訓練數(shù)據(jù)中的輸入數(shù)據(jù)后,通過神經(jīng)網(wǎng)絡模型正向傳播求出模型輸出值.然后,根據(jù)式(7)、式(8)可以求出數(shù)據(jù)集中的目標輸出數(shù)據(jù)targeto1,類似可以依次求出所有的目標輸出數(shù)據(jù).經(jīng)過上述過程,數(shù)據(jù)集的信息便泄露出來.

        2)第二種情況

        假如第一層的梯度參數(shù)(?Ltotal/?wi,i=1,···,4)被加密,但是依然可以根據(jù)式(9)~式(11)推導出隱藏層的輸出值outh1與outh2.然后通過解方程組式(12),則可求出輸入數(shù)據(jù)x1與x2.再按照第一種情況正向傳播求解目標數(shù)據(jù)值,便可以得到數(shù)據(jù)集的所有信息.

        3)第三種情況

        假如神經(jīng)網(wǎng)絡模型偏置項數(shù)值不是固定值1,而是由隨機數(shù)生成,可以通過式(13)求出各隱藏層輸出值與偏置項的比值.然后,嘗試可能使用的偏置項數(shù)值,將推測的偏置項數(shù)值根據(jù)第一種情況,計算出推測的輸出值和推測的目標值,最后將使用推測結果計算的梯度值與真實的梯度值進行比較.重復上述過程,暴力求解可能使用的偏置項數(shù)值.從圖4 中可以看出,當輸入數(shù)據(jù)為圖片時,與真實偏置項數(shù)值的差距即為推測圖片與真實圖片亮度的差距.因此,當推測的偏置項數(shù)值與真實的偏置項數(shù)值比較接近時,信息便可能出現(xiàn)泄露.

        圖4 不同偏置值的數(shù)據(jù)信息泄露Fig.4 Data information leakage of different bias values

        3 支持數(shù)據(jù)隱私保護的聯(lián)邦深度學習模型

        支持數(shù)據(jù)隱私保護的聯(lián)邦深度學習模型,其中包括一個參數(shù)服務器與多個訓練者.模型運行過程主要分為三個部分:模型初始化、模型訓練和模型部署.圖5 為聯(lián)邦深度學習算法訓練過程交互圖.采用文獻[20]中提出的聯(lián)邦學習隱私保護的通訊方案,各訓練者與參數(shù)服務器之間建立不同的TLS/SSL (Transport layer security/Secure sockets layer)安全通道.各訓練者之間采用經(jīng)典的AES (Advanced encryption standard)加密算法,對同態(tài)加密算法的公鑰pk與私鑰sk、深度神經(jīng)網(wǎng)絡模型的結構參數(shù)、選用的優(yōu)化算法及其學習率等進行加密傳輸.收到信息后,各訓練者進行模型初始化、模型訓練以及模型部署操作.

        圖5 訓練過程交互圖Fig.5 Interaction in the training process

        模型初始化.訓練者們預先確定負責模型初始化的訓練者.該訓練者對深度神經(jīng)網(wǎng)絡模型進行搭建,模型中的權重參數(shù)與偏置項參數(shù)使用隨機數(shù)算法生成.然后,確定同態(tài)加密算法的參數(shù),根據(jù)同態(tài)加密算法的定義生成公鑰pk與私鑰sk(具體過程見文中第1.4 節(jié)或參考文獻[33?35]),并將公鑰、私鑰與偏置項數(shù)值使用AES 算法加密后發(fā)送至各訓練者,對參數(shù)服務器保密.該訓練者使用同態(tài)加密算法的私鑰對深度神經(jīng)網(wǎng)絡模型的權重參數(shù)進行同態(tài)加密,并將加密后的權重參數(shù)發(fā)送至參數(shù)服務器.參數(shù)服務器將該訓練者上傳的加密參數(shù)廣播至其他訓練者.其他訓練者使用私鑰對加密的模型權重參數(shù)進行解密,將解密后的參數(shù)加載到自己的本地模型,從而完成初始化過程.

        模型訓練.如圖6 所示,各訓練者將下載的全局模型權重參數(shù)解密后,加載到本地模型上.使用本地數(shù)據(jù)對模型進行訓練,完成一次學習后,將更新的本地模型的權重參數(shù)經(jīng)同態(tài)加密后上傳至參數(shù)服務器.進行加密的全局模型權重參數(shù)更新,并將加密的全局模型權重參數(shù)廣播給所有的訓練者.迭代上述學習過程,直至達到訓練設定條件.具體訓練過程見第3.1 節(jié)和第3.2 節(jié).

        模型部署.當模型完成訓練后,各訓練者不再上傳深度神經(jīng)網(wǎng)絡的權重參數(shù).將訓練好的深度神經(jīng)網(wǎng)絡全局模型的權重參數(shù)經(jīng)私鑰sk解密后,加載至本地模型進行部署,并斷開與參數(shù)服務器的連接.

        3.1 訓練者

        各訓練者對存儲在本地的數(shù)據(jù)集進行預處理,然后對本地的深度神經(jīng)網(wǎng)絡模型進行訓練.具體步驟如下:

        1)各訓練者首先根據(jù)具體項目內容,預先確定好所采用的數(shù)據(jù)預處理方式,然后對各自本地數(shù)據(jù)進行預處理;

        2)各訓練者從參數(shù)服務器下載深度神經(jīng)網(wǎng)絡全局模型權重參數(shù)密文,然后使用私鑰sk對密文進行解密,最后將全局模型權重參數(shù)加載至本地深度神經(jīng)網(wǎng)絡模型;

        3)各訓練者根據(jù)預先設定好的mini-batch 值、迭代次數(shù)、優(yōu)化算法和學習率,使用本地數(shù)據(jù)進行一次迭代學習,并使用公鑰pk對本地深度神經(jīng)網(wǎng)絡更新的模型權重參數(shù)進行同態(tài)加密,最后將密文發(fā)送至參數(shù)服務器;

        4)重復步驟2)和步驟3),直至達到設定迭代次數(shù).

        3.2 參數(shù)服務器

        如圖6 所示,參數(shù)服務器將各訓練者上傳的模型參數(shù)求平均值,并更新加密的全局模型權重參數(shù).圖中密文計算公式的合法性是由同態(tài)加密算法的性質來保證的,具體特性可見附錄A.

        圖6 支持數(shù)據(jù)隱私保護的聯(lián)邦學習訓練過程Fig.6 The training process of the date privacy-preserving federated learning

        定理 1 (針對參數(shù)服務器的安全性).如果采用的加密方案是滿足CPA (Chosen-plaintext attack)安全的,則訓練者不會將數(shù)據(jù)集上的信息泄漏給“誠實但好奇”的參數(shù)服務器.

        證明.訓練者僅將加密的模型權重參數(shù)發(fā)送到云服務器.因此,在聯(lián)邦訓練過程中,如果加密方案是CPA 安全的,則不會泄漏有關訓練者數(shù)據(jù)的任何信息.

        注 1.當各參與訓練者通過不同的TLS/SSL 通道連接到參數(shù)服務器時,假設參數(shù)服務器不會和任何訓練者串通,訓練者僅能夠知道全局模型的參數(shù),而不能知道其他參與訓練者的梯度信息.

        注 2.深度神經(jīng)網(wǎng)絡中的偏置項不是固定的常數(shù)項(例如數(shù)值為1),而是由某一訓練者隨機生成的常數(shù)項.

        4 聯(lián)邦深度學習算法分析

        4.1 安全性分析

        回顧上述聯(lián)邦深度學習算法訓練過程,訓練者與參數(shù)服務器獲得的中間數(shù)據(jù)如表1 所示.從表1中可以看到,在聯(lián)邦深度學習訓練過程中,各訓練者通過私鑰解密獲得的是全局模型權重參數(shù),無法獲得其他訓練者模型權重參數(shù)Wpar、梯度G、預測結果Prediction results 以及損失值Loss.同時,參數(shù)服務器獲得的是各訓練者加密過的本地模型權重參數(shù)Enc(Wpar) 和加密過的全局模型權重參數(shù)Enc(Wglobal),而參數(shù)服務器沒有私鑰,無法對參數(shù)數(shù)據(jù)進行解密.

        表1 訓練者與參數(shù)服務器獲得的數(shù)據(jù)信息Table 1 Data information obtained by the participant and parameter server

        聯(lián)邦深度學習訓練前,模型的偏置項參數(shù)與同態(tài)加密算法的私鑰、公鑰使用現(xiàn)代成熟的加密方法在各訓練者之間進行信息傳輸;聯(lián)邦深度學習訓練過程中,參數(shù)服務器與各訓練者傳輸?shù)氖悄P蛥?shù)的密文,即使模型參數(shù)信息被敵手截獲,其也無法進行解密.

        4.2 時間分析

        與傳統(tǒng)聯(lián)邦深度學習算法相比,本文所提出算法額外產(chǎn)生的計算開銷和通信開銷分別為:模型參數(shù)加密/解密,模型參數(shù)上傳/下載.本文使用Python 開源平臺上的Paillier 同態(tài)加密算法庫,密鑰長度為1024 bit,計算機CPU 型號為Intel i7-6500.表2 所示為不同個數(shù)的模型參數(shù)運算100 次,同態(tài)加密算法操作(包括加密操作、密文加法操作和解密操作)和無加密算法的直接相加的平均每次執(zhí)行時間.

        訓練過程中,迭代次數(shù)為epoch,訓練者個數(shù)為n,網(wǎng)絡模型參數(shù)個數(shù)為Mpar,則加密時間復雜度為O(epoch×n×Mpar×Epaillier),解密時間復雜度為O(epoch×n×Mpar×Dpaillier).可以看出,所提出的聯(lián)邦深度學習算法加密/解密次數(shù)與數(shù)據(jù)集無關.本文模型參數(shù)量為53018 (模型結構如表3所示,Li代表第i層神經(jīng)網(wǎng)絡),n=2,一個迭代訓練過程加密/解密操作數(shù)為2 × 53018=1.06 ×105次.如果采用文獻[20]的方法,假設訓練數(shù)據(jù)集個數(shù)為60000個,則其一個迭代訓練過程加密/解密操作數(shù)為2 × 60000 ×53018/50=1.27 × 108次.通過對比能夠看出,直接對參數(shù)進行同態(tài)加密,能夠大大縮短模型訓練時間.

        表3 深度神經(jīng)網(wǎng)絡模型結構Table 3 Deep neural network model structure

        本文所提出算法的通信開銷為Tcost=2(epoch×n×Mpar×ct),其中ct為一條密文大小,空間復雜度為O(n×Mpar×ct).可以看出,所提出算法的空間復雜度與數(shù)據(jù)集無關,主要受到模型參數(shù)量的影響.本文模型參數(shù)量為53018,n=2,ct=256 bit,一個迭代訓練過程通信開銷為2 × 53018 × 256=25.88 MB.如果采用文獻[20]的方法,假設訓練數(shù)據(jù)集個數(shù)為60000個,則其一個迭代訓練過程通信開銷為2 × 60000 ×53018 × 256/50=0.12 GB.通過對比能夠看出,直接對參數(shù)進行同態(tài)加密,能夠大大減小通信開銷.

        5 實驗與分析

        5.1 實驗環(huán)境與數(shù)據(jù)集

        電腦運行環(huán)境如下:CPU 為Intel i7-6550,內存16 GB,顯卡NVIDIA 1050Ti,Pytorch 1.1,CUDA 9.0,Win10 操作系統(tǒng).使用開源的Paillier 庫[36],對神經(jīng)網(wǎng)絡模型的權重參數(shù)進行加密與解密.實驗數(shù)據(jù)集為Zalando Research 在GitHub 上推出的一個用于替代手寫數(shù)字識別數(shù)據(jù)集MNIST 的全新數(shù)據(jù)集Fashion-MNIST,該數(shù)據(jù)集已經(jīng)被廣泛用于機器學習算法的性能評估[37?39].Fashion-MNIST 的訓練集包含60000個樣本,測試集包含10000個樣本,共有10 類(Trouser,Pullover,Dress,Coat 等),每個樣本都是28 × 28 的灰度圖像.本文以兩個訓練者為例,實現(xiàn)支持隱私保護的聯(lián)邦深度神經(jīng)網(wǎng)絡模型.訓練集中,前30000個樣本設定為數(shù)據(jù)集1,后30000個樣本設定為數(shù)據(jù)集2,從而完成訓練數(shù)據(jù)集的切割.傳統(tǒng)訓練模型使用完整的訓練數(shù)據(jù)集,而聯(lián)邦深度學習中的訓練者1 使用數(shù)據(jù)集1 作為訓練數(shù)據(jù)集,訓練者2 使用數(shù)據(jù)集2 作為訓練數(shù)據(jù)集.訓練好模型后,采用Fashion-MNIST 測試數(shù)據(jù)集進行評估.

        5.2 實驗和結果分析

        本節(jié)將傳統(tǒng)深度神經(jīng)網(wǎng)絡模型與支持隱私保護的聯(lián)邦深度神經(jīng)網(wǎng)絡模型采用如表3 所示相同的結構,采用SGD (Stochastic gradient descent)算法對深度神經(jīng)網(wǎng)絡DNN (Deep neural network)與聯(lián)邦深度神經(jīng)網(wǎng)絡PFDNN (Privacy-preserving federated deep neural network) 進行訓練,采用ReLU 激活函數(shù),循環(huán)次數(shù)epoch為300 次.DNN-1與PFDNN-1 學習率設定為0.005,DNN-2 與PFDNN-2 學習率設定為0.01.

        不同mini-batch 值下,各模型訓練過程曲線如圖7 所示,其中包含測試數(shù)據(jù)集識別準確率Accuracy曲線、測試數(shù)據(jù)集Loss曲線和訓練數(shù)據(jù)集Loss曲線.從圖7(a)和圖7(b)中可以看出,DNN模型在迭代前50 次時,訓練集Loss值與測試集Loss值迅速下降,識別準確率Accuracy快速提高.DNN-1 模型迭代至150 次左右時,Loss值與識別準確率趨近于穩(wěn)定.由于學習率高于DNN-1,DNN-2 模型迭代至100 次左右時Loss值與識別準確率Accuracy趨近于穩(wěn)定.從圖7(c)和圖7(d)的Loss值曲線可以看出,PFDNN-1 與PFDNN-2 模型在訓練時模型收斂速度相比于DNN 模型較慢一些,迭代至200 次后Loss值與識別準確率趨近于穩(wěn)定.并且從各模型的測試集Loss曲線可以觀察到,使用較小mini-batch 值會加快模型收斂速度.在mini-batch=32 時,各模型的測試集Loss曲線都出現(xiàn)了不同程度的過擬合現(xiàn)象.可以看出,所提出的PFDNN 模型在不同參數(shù)下,識別準確率Accuracy、訓練集Loss值與測試集Loss值都與DNN 模型總體保持一致.

        圖7 各模型訓練過程曲線Fig.7 Training process curves of each models

        為觀察DNN 與PFDNN 具體物品分類的情況,4 種模型在測試集識別結果的混淆矩陣如圖8所示.可以看出,DNN 與PFDNN 對測試集中的Shirt 識別效果都不理想,并且都主要誤識別為Tshirt、Pullover 和Coat.以混淆矩陣的結果和訓練過程測試集識別準確率對DNN 與PFDNN 的偏差進行評估.評估計算公式為:

        圖8 測試集預測結果的混淆矩陣Fig.8 The confounding matrix of the test dataset prediction results

        式中,cn表示物品種類個數(shù),DNNacc,i表示DNN識別第i類物品的準確率,PFDNNacc,i表示PFDNN 識別第i類物品的準確率,DNNacc,max表示DNN 在訓練過程中測試集最高的準確率,PFDNNacc,max表示PFDNN 在訓練過程中測試集最高的準確率.如表4 所示,隨著mini-batch 值的增大,DNN 與PFDNN 在具體物品分類上的偏差加大.在mini-batch 值較大時,PFDNN-1 由于欠擬合,與DNN 最高準確率的偏差最大達到了2.82%;而當PFDNN 充分訓練后,與DNN 最高準確率的偏差較小.總體可以看出,所提出的PFDNN 模型能夠保證很高的精確度.

        表4 不同模型偏差結果Table 4 The deviation results of the different models

        表5 為4 種模型在測試集上,對不同種類物品的識別精確率Precision與召回率Recall.識別精確率是指正確預測為正占全部預測為正的比例,而召回率是指正確預測為正占全部為正的比例.識別精確率與召回率越接近1,說明分類器的分類效果越好.從表5 中可以看出,傳統(tǒng)深度學習模型與所提出的聯(lián)邦深度學習模型對各類物品識別的結果相差不大.這說明本文所提出的PFDNN 模型能在沒有明顯精度損失的前提下,保護數(shù)據(jù)的隱私安全.

        表5 不同類別物品的預測結果Table 5 Prediction results of the different items

        6 結論

        針對聯(lián)邦學習中存在的數(shù)據(jù)隱私信息泄露問題,提出了一種支持隱私保護的聯(lián)邦深度神經(jīng)網(wǎng)絡模型.本文以多層神經(jīng)網(wǎng)絡為研究目標,詳細地分析模型梯度參數(shù)可能會造成數(shù)據(jù)隱私泄露的三種情況.基于此,初始化模型參數(shù)時,偏置項參數(shù)不再使用固定數(shù)值而使用隨機數(shù),以避免梯度參數(shù)泄露導致數(shù)據(jù)信息直接泄露.然后,引入同態(tài)加密算法,各訓練者通過對深度神經(jīng)網(wǎng)絡模型的權重參數(shù)進行同態(tài)加密,從而保障了自身本地數(shù)據(jù)隱私安全.與傳統(tǒng)聯(lián)邦學習隱私保護方法相比,使用模型權重參數(shù)共享,能夠將模型參數(shù)更新過程轉移到訓練者端(即邊緣端),降低了參數(shù)服務器(即云端)性能要求,并且訓練者不再局限于隨機梯度下降法.理論分析與實驗表明,所提出的聯(lián)邦深度神經(jīng)網(wǎng)絡在沒有明顯損失模型精度的前提下,能夠對用戶數(shù)據(jù)的隱私進行有效的保護.

        所提出的聯(lián)邦深度學習模型收斂速度較慢,并且在非獨立同分布數(shù)據(jù)集和較大mini-batch 值上會出現(xiàn)一定程度的精度損失.雖然提高全局模型更新頻率能夠進一步提高精度,但是會消耗大量的計算資源與訓練時間.因此,下一步擬通過使用GPU對同態(tài)加密過程進行加速,以進一步縮短模型訓練時間.并且,擬對參數(shù)服務器中的模型權重參數(shù)更新機制(例如,全局模型參數(shù)更新頻率和mini-batch值)進行深入研究,從而增加支持訓練者的個數(shù),并提高模型收斂速度和計算精度.

        附錄 A Paillier 加密算法同態(tài)特性

        可以看出,E(m1) 和E(m2) 的乘法結果相當于明文消息m1+m2在公鑰pk和隨機數(shù)r1、r2下進行加密,因此,Pallier 加密算法滿足加法同態(tài)特性.

        當對密文進行指數(shù)運算時,根據(jù)加密算法有:

        從結果可以看出,對密文的指數(shù)運算等于明文之間的乘法運算.

        猜你喜歡
        深度模型
        一半模型
        深度理解一元一次方程
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權M-估計的漸近分布
        深度觀察
        深度觀察
        深度觀察
        深度觀察
        3D打印中的模型分割與打包
        FLUKA幾何模型到CAD幾何模型轉換方法初步研究
        久久精品免费无码区| 五月综合激情婷婷六月色窝| 国产杨幂AV在线播放| 一本久道综合色婷婷五月| av男人的天堂第三区| 亚洲日本高清一区二区| 日本系列中文字幕99| 一边摸一边抽搐一进一出口述| 九色综合九色综合色鬼| 97久久人人超碰超碰窝窝| 国产乱理伦片在线观看| 性导航app精品视频| 国产剧情无码中文字幕在线观看不卡视频| 成年人视频在线播放视频| 白色白色视频在线观看| 亚洲国产av一区二区四季| 亚洲国产精品久久久久久无码| 国产成人无码一区二区三区在线 | 成人av片在线观看免费| 亚洲av无码专区在线观看成人| 亚洲日本va午夜在线影院| 无遮挡十八禁在线视频国产制服网站| 国产码欧美日韩高清综合一区| 久久青青草原亚洲av| 精品乱色一区二区中文字幕| 成人影院羞羞的视频免费观看| 国产嫩草av一区二区三区| 亚洲中文字幕无码不卡电影| 怡红院免费的全部视频| 午夜精品久久久| 久久久久久久久中文字幕| 亚洲视频一区二区免费看| 亚洲国产日韩a在线乱码| 久久99精品久久久久久秒播| 成人无码视频| 456亚洲人成在线播放网站| 中文字幕人妻一区色偷久久| 日韩人妻久久中文字幕| 97无码免费人妻超级碰碰夜夜| 久久国产色av| 国产综合一区二区三区av|