張澤輝 李慶丹 富 瑤 何寧昕 高鐵杠
近些年,以深度學習算法為代表的人工智能技術在故障診斷、智能控制、情感識別以及生物信息等領域得到了廣泛應用[1-4],而決定深度學習模型性能的關鍵之一是高質量的訓練數據.目前構建深度學習模型通常采用的是傳統集中式學習方法(Centralized learning,CL).在該方法中,訓練者提前收集各方的數據集,然后進行數據聚合、預處理等操作,最后使用處理后的數據進行深度學習模型的訓練.然而,在某些行業(例如醫療行業),由于數據隱私等相關的法律規定,數據擁有者通常不愿意分享數據[5-8].
為打破數據壁壘,聯邦學習(Federated learning,FL)于2015 年由Google 公司提出[9].該方法能夠組織不同參與者通過分享其本地模型參數,協作訓練一個全局深度學習模型[10].由于聯邦學習系統中的參與者不需要分享本地數據,因此該技術十分適用于某些對數據敏感的工業場景.Zhang 等[11]針對真實場景中存在的設備故障數據難收集的問題,提出了一種基于聯邦學習的軸承故障診斷方法.該方法通過多個參與者對故障診斷模型進行本地訓練,從而構建一個高性能的全局故障診斷模型.Sheller 等[12]指出聯邦學習在醫療場景的巨大潛力,并針對病人健康數據的隱私保護需求,提出了一種基于聯邦學習的醫學診斷模型.該模型能夠跨多個研究機構進行醫學診斷模型的訓練,從而提高診斷模型的性能.Kwon 等[13]針對海洋場景中無線傳感器通信困難等問題,首次將聯邦學習算法應用到智能海洋網絡的構建.通過以上應用研究可以看出,聯邦學習算法在工程領域應用有著廣闊前景.
為了進一步提高聯邦學習的性能,Rothchild等[14]提出使用梯度選擇和自適應調整學習速率方法來提升聯邦學習訓練效率,降低通信代價.Duan 等[15]利用數據增強技術減輕由于數據分布不均造成的聯邦學習模型性能的衰減,從而提高聯邦學習模型的性能.Liu 等[16]將動量項引入到聯邦學習中,提出一種動量聯邦學習算法.在該算法中,參與者的本地訓練中使用動量梯度下降算法來加速模型收斂.Wang 等[17]提出了一種自適應聯邦學習算法,能夠在固定的資源預算下自適應調整模型聚合頻率.該算法是以算法經驗損失函數為凸模型為前提設計的,對于傳統機器學習算法(例如支持向量機、線性回歸和K-Means 算法)在聯邦學習框架下的應用,能夠比較好地實時估算全局模型聚合頻率.然而,對于經驗損失函數為非凸模型,例如深度神經網絡、卷積神經網絡和遞歸神經網絡等,該算法難以計算出最佳模型聚合頻率.
以上研究都未對參與者的數據隱私安全方面進行考慮.近期的研究[18-19]指出,參與者上傳的模型參數有可能泄露本地的數據隱私信息.為保護參與者的隱私信息,多種面向機器學習的數據隱私保護方法相繼提出,主要可以分為兩類: 基于差分隱私的方法和基于同態加密的方法.
1 ) 基于差分隱私的方法: 差分隱私(Differential privacy,DP)是一種常見的數據隱私保護技術[20].它采用某種隨機機制(例如隨機采樣或添加噪聲) 來對用戶處理的輸入或輸出數據進行擾動,從而使用戶處理的結果在一定程度上可以對抗隱私分析.Gong 等[7]提出了一種基于相關性的自適應差分隱私算法,該算法根據不同層神經元之間的相關性對模型的梯度參數施加擾動,從而保護用戶數據的隱私信息.Wang 等[21]提出通過對模型的輸入特征數據注入噪聲,從而為眾包數據提供差分隱私保護,并估計與目標類別相關的特征重要性,遵循較少的噪聲注入原則以確保模型的有效性.基于差分隱私的隱私保護算法具有計算復雜度低和易于實現使用等優點,但是會導致模型的性能下降.
2 ) 基于同態加密的方法: 同態加密支持對密文進行數學運算,密文計算的結果經解密后與明文計算結果相同[6,22],該特性十分適用于構建支持隱私保護的機器學習算法.宋蕾等[23]提出通過對訓練數據集同態加密,進而構建支持隱私保護的聯合邏輯回歸學習算法.Phong 等[24]提出對參與者上傳的梯度參數進行同態加密,從而保護聯邦學習中參與者的隱私信息.張澤輝等[19]提出對參與者上傳模型權重參數進行同態加密,從而保護各參與者的隱私信息.同態加密算法有著很好的安全性,并且支持構建高精度的深度學習模型,但在訓練過程中增加的額外加密/解密運算會消耗大量的計算資源和訓練時間.因此,某些研究[19]采用較低的全局模型更新頻率,即較大的模型聚合間隔τ,以減少加密/解密次數和通信成本,從而提高聯邦學習訓練效率.然而,在非獨立同分布數據場景下,較低的更新頻率會導致聯邦學習模型的性能大幅降低,甚至直接導致模型不收斂.反之,采用較高全局模型更新頻率[24],又會極大地增加聯邦學習訓練的通信成本和計算代價.
在工業場景中,模型的精度對生產效益等方面有著巨大影響.因此,本文選用同態加密方案構建支持隱私保護的聯邦學習算法.針對聯邦學習系統中存在的性能優化與隱私保護問題,本文提出了一種面向非獨立同分布數據的自適應聯邦深度學習算法.本文研究工作主要如下:
1 )針對聯邦學習算法在工業場景中的應用,通過數學推導分析總結了聯邦學習模型出現精度損失的主要原因.基于此,本文首次提出面向聯邦深度學習的自適應全局模型聚合方案,該方案能夠設定各參與者的Mini-batch 值,并根據參與者訓練過程中的信息,自適應調整全局模型聚合頻率,在保證模型性能的前提下,提高聯邦學習訓練效率.
2 )借鑒經典圖像加密方法,本文首次將混沌系統引入聯邦學習領域中,并采用CKKS (Cheon-Kim-Kim-Song)同態加密方案構建出一種基于混沌系統和同態加密的混合隱私保護方案.與基于Paillier 同態加密的聯邦學習算法相比,本文所提出的聯邦學習算法大大提高了模型的訓練速度.
3 )理論分析和實驗結果表明,本文提出的方法能夠保證參與者的數據隱私安全.并且,在非獨立同分布數據的場景下,該方法能夠在保證模型精度的前提下提高訓練效率,降低系統通信成本,具備實際工業場景應用的可行性.
同態加密算法具有的同態特性是指,在密文上執行某種基礎數學運算,將得到的密文結果解密后與原明文進行相同的數學操作,結果相同.本文選用的是CKKS 同態加密算法,該算法相比于傳統的Paillier 加密算法有著更快的加密/解密速度[25].該方案簡述如下(詳細方案可見文獻[26-27]).
1 )密鑰生成keygen(1λ): 輸入安全參數λ,選擇整數p,L,設定q?=p?,?=1,2,···,L.算法的最終輸出為(sk,pk,evk).
2 )編碼算法Encode(z;Δ): 對于一個(N/2)維的高斯整數向量z=(zj)j∈T ∈Z[i]N/2,計算.輸出其在標準嵌入圖中的逆.
3 )解碼算法Decode(m;Δ): 對于輸入多項式m(X)∈R,計算出對應的向量π?δ(m) 最終輸出:
4 )加密Encrypt(m∈R): 取v←ZO(0.5)和e1,e2←DG(σ2),對明文m加密運算為
5 ) 解密Decrypt(ct∈;sk): 對于密文ct,解密運算為
式(1)~ (4)中,DG(σ2)代表從ZN中生成一個N維多項式向量,該向量中每個系數服從方差為σ2的離散高斯分布,ZO(ρ) 代表從{-1,0,1}N中生成一個N維向量,其中生成0 的概率為 (1-ρ),而生成-1 和1 的概率為ρ/2.
混沌系統具有敏感性、非周期性和不可預測性等特點,常用于生成偽隨機序列[28].Robert Matthews 提出的Logistic 映射,已經廣泛用于文本加密、圖像加密以及視頻加密等領域[29-30].因此,本文將使用混沌Logistic 映射系統生成偽隨機數列,其數學表達式為
式中,x(i)∈(0,1),并且 0<λ ≤4.當3.56994<λ ≤4 時,Logistic 映射進入混沌狀態.
文獻[31]提出參與者采用相同的置亂方式對模型參數進行加密,從而起到保護參與者數據隱私的作用.因此,本文采用該圖像置亂加密方法[28]對參與者模型參數進行加密,當采用推理的方法(具體見第2.1 節)對置亂的模型參數進行分析時,所獲得的數據是經過置亂加密的數據,從而能夠一定程度地保護好參與者的數據隱私.置亂加密過程為:參與者使用混沌系統生成與局部模型權重參數數量相同的隨機數列Rchaos,然后對Rchaos進行升序排列,得到其索引序列Index,再按照索引序列Index的值,對參與者的模型權重參數wpar,i進行置亂.特別地,各參與者使用混沌系統的初始狀態參數相同,從而保證參數服務器的模型聚合正確性.
聯邦學習在訓練過程中,參與者分享的本地模型參數可能會泄露其本地的數據隱私信息.圖1 為一個典型的3 層神經網絡(隱含層使用Dropout 技術).x(0)為神經網絡的輸入數據,y為神經網絡的目標輸出數據.

圖1 多層神經網絡模型Fig.1 Multi-layer neural network model
1 ) 情況1 (不考慮Dropout)
首先求出模型輸出值與目標值的loss 值,計算式為
然后使用鏈式求導法則,可以求得

圖2 不同比例數據泄露的圖片Fig.2 Images of different proportion data leakage
并且,參數服務器(云服務器)擁有全局模型的權重參數wglobal,即本次參與者使用的模型參數.可以使用所推理出的數據,按照模型前向傳播計算得出,然后根據式(12),便可以求出y值,此時輸入數據與其相應的目標輸出都泄露給參數服務器.
2 )情況2 (考慮Dropout)
在深度神經網絡中的某一層使用Dropout,則該層的神經元會被隨機“凍結”,從而在訓練過程中網絡模型結構會隨機發生變化[32].該方法已經廣泛用于提高深度學習模型的泛化能力,防止模型過擬合.
當參與者使用Dropout 時,被“凍結”的神經元的輸出值為零,因此不參與神經網絡的反向傳播計算,即與這些神經元相連權重的梯度參數為零,一定程度上能夠起到保護參與者本地數據隱私的作用[33].然而,深度學習模型有著較多的神經網絡節點,服務器可以通過有數值的梯度參數進行暴力破解,從而推理出參與者的隱私信息.例如,可以通過任意一個未凍結的節點j,根據式(15)~ (17)計算,獲得輸入數據xi信息.
聯邦學習技術在工程應用時,相比于傳統集中式學習會出現一定的精度損失[15,34].本節以采用隨機梯度下降方法更新的深度學習模型為例,對聯邦學習中的模型精度損失進行數學化描述.在機器學習領域中,通常假設訓練樣本與測試樣本具有相同的數據分布[15],即.本文假設集中式學習模型和聯邦學習模型使用相同測試集、模型初始參數和學習率,即ηCL=ηFL(k),
采用隨機梯度下降法的集中式學習的優化目標為
式中,L為損失函數,train為訓練數據的分布,(x,y)為集中式學習方法用的訓練數據樣本及其相應的標簽,wCL為集中式學習方法的模型參數.
集中式學習模型的參數更新式為
聯邦學習中參與者的本地模型權重參數更新式為
當本地訓練次數達到第τ次,即滿足全局模型更新條件時,參與者上傳更新后的本地模型參數用于參數服務器更新全局模型參數.在工程應用中,參與者通常擁有不同數量的樣本,因此聯邦學習的全局模型參數采用加權更新,即
分析以上公式,引起聯邦學習模型性能損失的主要原因總結如下:
1 ) 參與者的數據分布不一致: 根據研究[15],并結合式(17)和式(18)可以得出,當聯邦學習所有參與者的訓練集分布與集中式學習的訓練集分布相同時,即,理論上聯邦學習模型與集中式學習模型可以獲得相同的性能,然而,實際上參與者的訓練集分布往往是不相同的,即,因此聯邦學習相比于集中式學習模型會出現性能損失.
2 ) 參與者擁有的數據量不同: 在式(20)中,參與者使用所擁有的全部樣本進行訓練.在深度學習模型訓練時,為加快模型收斂速度,降低內存占用,通常采用Mini-batch 的方法訓練模型.例如,在文獻[24,33,35]提出的聯邦學習算法中,參與者使用Mini-batch 的方式進行本地模型訓練.然而,當參與者采用相同的Mini-batch 設定值進行訓練時,由于參與者擁有的數據量不同,則不同參與者的樣本用于模型訓練的概率也不相同.此時,數據量分布不均可能會對全局模型的性能造成影響,并隨著迭代次數增加而逐步累積.
3 ) 全局模型更新間隔不同: 在式(21) 和式(22)中,當參與者本地訓練次數達到第τ次時,參數服務器再進行全局模型參數的更新.文獻[16]指出,當τ=1 時,聯邦學習理論上能夠與集中式學習有相同的性能.在本地模型屬于凸模型的假設前提下,文獻[17]指出,全局模型更新間隔會影響到聯邦學習模型的性能,如式(23)所示:
式中,w*為最優模型參數值,T為參與者本地模型訓練總次數,ρ為Lipschitz 參數.
上述這些動人情節充分展示的是,正義與邪惡、光明與黑暗的較量,在“婚姻”及由“婚姻”引發的一系列征戰中,“真善美”始終在和“假惡丑”進行著殊死的搏斗,酣暢淋漓地展示了蒙古史詩不懈追求的“義”的道德理念,而正義戰勝邪惡、真善美戰勝假惡丑,正體現出全史詩中積極樂觀的人文情懷。蒙古英雄史詩《罕哈冉惠傳》以詩行組合了歷史和英雄,詩行中沉淀著蒙古民族古老的意識和精神。主人公罕哈冉惠的追求與開辟、奪取與保衛、艱難漂泊與重返故鄉的懾人心魄的故事,充溢于故事中的“義、勇、力”的精神,至今仍具有感人的藝術魅力,陶冶著我們的心靈。
然而,為降低計算和通信成本,很多研究[16,18,33]設定的模型聚合間隔τ大于1.在數據非獨立同分布的場景下,過大的全局模型更新間隔,會造成聯邦學習模型性能嚴重下降,甚至導致模型不收斂.
本研究假設各參與者和參數服務器為“誠實且好奇”的半可信實體.在聯邦學習研究領域中,半誠實模型是一種常見的假設模型[24-25,27].根據該假設模型,本文中參與者和參數服務器都會遵守所設定的協議,但是在訓練期間都想通過中間數據推理獲得其他參與者的數據隱私信息.本文的研究目標是,在聯邦學習訓練過程中,參數服務器不能獲得參與者的敏感信息(如訓練樣本及模型參數),同時參與者也不能獲得其他參與者的敏感信息.
如圖3 所示,本文提出的聯邦學習系統包含N個參與者和1 個參數服務器,并且每個參與者都擁有本地數據庫.參與者上傳本地模型的權重參數,由第三方參數服務器實現全局模型參數更新等功能.所提出的聯邦學習系統,主要包含3 個階段: 系統初始化、系統訓練和模型部署.

圖3 本文所提出的聯邦學習系統結構圖Fig.3 The structure diagram of the proposed federated learning system
3.2.1 系統初始化
采用文獻[18]提出的聯邦學習信息交互方案,各參與者與參數服務器建立不同的TLS (Transport layer security)/SSL (Secure sockets layer)通道,以保證通信安全.參與者們采用AES (Advanced encryption standard)加密的方式,互相溝通確定同態加密算法的公鑰PK和私鑰SK、混沌系統的初始狀態參數、深度學習模型的超參數.特別地,各參與者對同態加密算法的公鑰、私鑰和混沌系統的初始狀態參數保密,不會泄露給任何非參與的實體,例如參數服務器和系統外用戶.首先,各參與者生成本地的深度學習模型,并將初始的模型參數進行加密上傳至參數服務器.然后,參數服務器聚合所有參與者上傳的模型參數密文,生成全局模型初始參數密文并廣播至各個參與者.最后,參與者對全局模型參數密文進行解密并加載至本地模型中.
3.2.2 系統訓練
1 ) 參與者
如圖4 所示,參與者首先從參數服務器下載全局模型參數密文和全局模型更新間隔設定值.各參與者根據CKKS 加密方案,使用私鑰SK對全局模型權重參數密文進行解密,完成第1 階段解密.然后使用混沌系統生成的隨機數,對上述數據進行第2 階段的混沌解密,從而獲得全局模型的權重參數wglobal,并將wglobal載入本地模型中.接下來,使用本地測試集對載入wglobal的本地模型進行準確率測試,得到本地測試準確率accpar,i.根據本文所提出的自適應模型聚合方案(具體見第3.3 節) 設置Mini-batch 值,并使用本地數據集對模型進行訓練.當訓練Mini-batch 的次數達到聚合方案設定的全局模型更新頻率,即滿足全局模型更新間隔τ時,參與者使用混沌系統對本地模型的權重參數進行置亂加密,從而完成第1 階段的混沌加密.特別地,各參與者使用相同的初始狀態參數,以保證參數服務器運算的同態性.然后,使用CKKS 加密方案對模型參數進行第2 階段的同態加密.最后,將加密的本地模型參數和本地測試準確率accpar,i上傳至參數服務器,進行下一次迭代學習或結束.

圖4 聯邦學習訓練過程交互圖Fig.4 Interaction diagram of the federated learning system
2 ) 參數服務器
參數服務器根據自適應模型聚合方法確定全局模型更新間隔τ.參數服務器將收到參與者密文Enc(wpar,i),使用式(24)對全局模型參數加權更新
接下來,服務器根據本文所提出的自適應模型聚合方案(具體見第3.3 節)對聯邦學習系統中的全局模型聚合間隔τ進行調整.最后,參數服務器將更新后的模型參數密文和全局模型聚合間隔τ廣播至各參與者.
3.2.3 模型部署
當聯邦學習過程完成后,所有參與者斷開與參數服務器的通信連接,不再與參數服務器進行數據交互,同時停止本地模型訓練.將訓練好的全局模型參數加載至本地模型,用于本地任務的使用.
本文提出的聯邦學習模型自適應模型聚合方案包括兩個部分: 參與者Mini-batch 值設定和自適應調整全局模型更新間隔算法.
1 ) 參與者Mini-batch 值設定
假設聯邦學習使用的數據分布為非獨立同分布,即各參與者擁有不同類別的數據,并且各參與者聚合數據分布與集中式學習采用的訓練集和測試集的數據分布相同
假設參與者采用Mini-batch 方法從其本地數據庫隨機抽取數據時,每個Mini-batch 的數據分布都與參與者的訓練數據分布相同,即各參與者抽取Mini-batch 值的確定采用以下計算:
結合式(21),可以得到
2 ) 自適應調整全局模型更新間隔算法
在非獨立同分布數據的情況下,采用較大的全局模型更新間隔τ[33]會導致全局模型的精度降低,而采用較小的更新間隔τ則可能導致通信成本大大提高,降低全局模型訓練效率.
因此,本文參考深度學習中的自適應調整學習率的方法,提出一種自適應調整全局模型更新間隔方法.在模型訓練過程中,參數服務器首先聚合參與者們上傳的本地數據測試準確率,其計算式為
在訓練過程中,若連續 Φ 次沒達到歷史訓練過程的最高精度,則按照式 (31) 調整全局模型更新間隔τ:
本文所提出的自適應調整全局模型更新間隔算法,能夠根據參與者訓練的反饋結果,實時調整全局模型更新間隔,從而提高聯邦學習訓練效率,同時保證模型精度.
定義 1 (CPA 安全).如果對于所有概率多項式時間(Probabilistic polynomial-time,PPT) 敵手A,存在一個可以忽略的函數negl,使得
則稱密鑰加密方案Π=(Gen,Enc,Dec) 是符合CPA 安全的加密方案.其中,概率的來源是敵手A的隨機性和實驗的隨機性(生成密鑰PK、隨機比特以及在加密過程中出現的各種隨機性).
通過以上定義可以得出:
1 )所有滿足CPA 安全的加密方案同樣也是滿足竊聽者存在情況下的安全加密方案;
2 ) 任何確定性的加密方案都不滿足CPA 安全,滿足CPA 安全的加密方案一定是概率加密.
定理 1.在本文提出的聯邦學習方案中,如果同態加密CKKS 方案是CPA 安全的,同時所有參與者和參數服務器/外部攻擊者之間沒有串謀,則該方案能夠保護參與者的數據隱私信息.
證明.假設存在一個敵手A,竊取了所有加密的模型權重參數.由于敵手A不知道CKKS 方案的設定值λ,從而A不能生成密鑰SK.根據本文的安全假設,參與者不會與服務器和系統外部成員串謀,從而密鑰SK不會泄露給參與者外的其他實體,所以敵手A不會獲得密鑰SK.因此,敵手A無法對模型參數的權重密文進行解密,從而獲取模型權重參數的真實值.同時,模型的權重參數以密文的形式存儲在服務器上,只要參數服務器不與其他參與者串謀,則參與者獲取不到其他參與者上傳的模型權重參數.同時,參與者通過不同的安全通信通道與參數服務器進行信息傳輸,從而防止傳輸的信息被竊取.因此,該聯邦學習方案能夠保護參與者的隱私信息不被泄露.
為進一步提升聯邦學習隱私保護水平,本文參考文獻[31]中使用模型參數置亂的方式保護參與者的數據隱私信息.基于此,將文獻[28]中提出的基于混沌系統的置亂加密算法,引入到本文提出的聯邦學習系統中.如圖5 所示,通過加密的共享模型參數(不使用同態加密算法)推斷出的信息等同于該算法對輸入圖像進行加密.因此,我們可以利用圖像加密領域常用的信息熵(Information entropy,IE)來對推斷的數據進行分析.從實驗圖中可以看出,從混沌加密的模型參數中推理得到的圖片信息熵接近于理想值8.因此,采用混沌加密技術能夠進一步提升聯邦學習的信息安全水平.

圖5 加密參數的推理數據圖Fig.5 Inferring data of the encrypted parameters
相比于傳統集中式訓練方法,本文提出的聯邦學習算法包含的額外時間開銷主要為模型的權重參數加密/解密、參與者上傳/下載模型參數和參數服務器更新全局模型參數.本文采用混沌系統生成偽隨機數對模型參數進行第1 階段的加密,其時間消耗的主要部分為偽隨機數的生成.使用CKKS 的操作主要為加密、解密以及密文操作.如表1 所示,在時間開銷上采用CKKS 加密的聯邦學習算法明顯優于基于Paillier 加密的機器學習算法[18-19,23],并且混沌系統生成偽隨機數消耗的時間也在接受范圍內.

表1 加密/解密算法的執行時間Table 1 Execution time of the encryption/decryption operations
假設每個參與者都有20 000 個樣本,Minibatch 為128,則聯邦學習系統采用不同數值的全局模型更新間隔[16,18,33]的模型參數加密/解密的次數如表2 所示.從表2 中可以看出,減小全局模型更新間隔τ,即提高全局模型更新頻率,會導致聯邦學習加密解密運算次數大幅增加.因此,本文采用動態全局模型更新間隔方法,在保證模型精度的前提下,提高系統訓練效率.

表2 加密/解密算法的執行次數Table 2 Execution numbers of the encryption/decryption operations
表3 將本文提出的聯邦學習算法APFL (Adaptive privacy-preserving federated learning)與近期研究提出的聯邦學習算法進行功能性的對比,其中包括PFL (Privacy-preserving federated learning)[18]、AFL (Adaptive federated learning)[17]和MFL (Momentum federated learning)[16].PFL 算法雖然能夠對聯邦學習系統中的參與者進行數據隱私保護,但是沒有對聯邦學習訓練過程進行優化或提高.AFL 和MFL 分別使用自適應聚合頻率算法和動量梯度下降算法以提高聯邦學習的訓練效率.然而,這兩種方法都沒有考慮對參與者的數據隱私進行保護.此外,以上三種聯邦學習算法都不涉及對參與者的Mini-batch 值進行設定.本文提出的APFL 算法利用同態加密技術和混沌加密技術對參與者的數據隱私進行保護,同時提出自適應模型聚合方案和采用動量梯度下降法提高聯邦學習訓練效率,降低計算資源和通信資源的消耗.

表3 不同聯邦學習方案的功能分析Table 3 The functionality analysis of the different FLs
實驗環境為Windows10,MATLAB2018b,Python 3.6,Pytorch1.5 和CUDA10.1 用于搭建深度神經網絡模型,Python 通過Matlab-Python 接口調用MATLAB 中的混沌系統程序生成偽隨機數,使用開源的CKKS 庫對模型的權重參數進行加密與解密操作.Fashion-MNIST (F-MNIST)和CIFAR10 數據集用于驗證本文所提出的聯邦學習系統的有效性.
上述兩個數據集各包含有10 個不同類別的圖片,訓練集和測試集分別有60 000 張圖片和10 000張圖片.在實際場景中,各參與者的數據庫擁有的數據類別往往是不相同的.因此,本文將數據集切分為非獨立同分布數據集,用于對所提出的聯邦學習算法進行評估.具體方式為: 訓練集中類別編號為0~ 3 的圖像劃分為數據集N-train1,編號為4~6 的圖像劃分為數據集N-train2,編號為7~ 9 的圖像劃分為數據集N-train3.將分割好的數據集Ntrain1,N-train2 和N-train3 分別用于參與者1,2和3 的本地模型訓練.設置訓練迭代次數Epoch為50,優化算法為小批量梯度下降(Mini-batch gradient descent,MGD)算法 (學習率η=0.1,動量γ=0.5),對應集中式學習CL 的Mini-batch 值為512.自適應全局模型聚合間隔算法的初始全局模型聚合間隔τ設為15,連續未達到精度要求 Φ 值設為5.
采用準確率(Precision)、查全率(Recall)和綜合評價指標(F1-score) 進行算法評估[36].采用文獻[19]中提出的方法,評估聯邦學習模型與集中式學習模型之間的偏差,即
式中,cn為數據集中類別的個數,accFL,i為聯邦學習模型在第i類數據識別的準確率,accCL,i為集中式學習模型在第i類數據識別的準確率.
根據文獻[16,18,33],本節分別設置模型更新間隔為τ=1,4 和15,與采用本文提出的自適應聯邦學習算法進行對比.自適應聯邦學習算法首先根據所提出的自適應模型聚合方案對各個參與者的Mini-batch 值進行設定,聯邦學習中參與者1 號的Mini-batch 設為int(512×(4/10))=204,而參與者2 號和3 號的Mini-batch 設為int(512×(3/10))=153.圖6 和圖7 分別為各聯邦學習方案在CIFAR10 和F-MNIST 數據集上的實驗曲線.從準確率曲線可以看出,所提出方法在訓練過程前期模型準確率上升速度低于FL (τ=1,4)和CL,因為此時APFL 所設定的τ大于4.隨著訓練過程的進行,APFL 逐漸調低全局模型聚合間隔τ,即提升全局模型更新頻率.表4 和表5 分別為不同聯邦學習模型在CIFAR10 和F-MNIST 數據集上的分類結果.從表中可以看出,在CIFAR10 和F-MNIST 數據集上,APFL 的通信次數相比于FL (τ=1)分別降低了31.43%和55.44%.同時,從實驗結果可以看出,本文所提出的自適應調整模型聚合間隔方法,能夠根據任務難度進行調整.在較為簡單的FMNIST 數據集,全局模型聚合間隔降低的速率低于CIFAR10 數據集.從本節的實驗結果可以看出,所提出的自適應模型聚合方案能夠在保證模型精度的前提下,降低模型聚合次數,從而降低計算和通信成本,進而提高訓練效率.

表5 F-MNIST 上不同聯邦學習模型的分類結果(%)Table 5 Classification results of the different federated learning models on F-MNIST (%)

圖6 在CIFAR10 上不同聯邦學習模型的實驗曲線Fig.6 Experiment curves of the different federated learning models on CIFAR10
本文提出的自適應模型聚合方案主要包含兩個部分: Mini-batch 設定和自適應調整全局模型聚合間隔算法.為評估這兩個部分的作用,本節采用消融實驗對其進行分析.
5.3.1 Mini-batch 設定消融實驗
第3.3 節提出了不同參與者Mini-batch 設定方案,該方案根據參與者所擁有的數據量大小,對參與者的Mini-batch 值進行設定.Mini-batch 設定的消融實驗結果如圖8、表6 和表7 所示.由實驗結果可以看出,聯邦學習模型使用了Mini-batch 設定算法后,能夠一定程度上提升模型的性能.并且,在較低的全局模型更新間隔τ=4 或較為簡單的數據集F-MNIST 時,采用Mini-batch 設定算法對聯邦學習的性能提升效果較為明顯.

表6 CIFAR10 下的Mini-batch 設定消融實驗結果(%)Table 6 Ablation experiment results of the Mini-batch size setting on CIFAR10 (%)

表7 F-MNIST 下的Mini-batch 設定消融實驗結果(%)Table 7 Ablation experiment results of the Mini-batch size setting on F-MNIST (%)

圖8 在CIFAR10 和F-MNIST 數據集的Mini-batch 設定消融實驗曲線Fig.8 Experiment curves of the Mini-batch size setting on CIFAR10 and F-MNIST
5.3.2 自適應調整全局模型更新間隔算法消融實驗
第3.3 節提出了自適應全局模型更新間隔方法,該方法能夠根據參與者上傳的訓練信息,對全局模型更新間隔進行調整.自適應全局模型更新間隔方法的消融實驗結果如圖9、圖10、表8 和表9所示.由實驗結果可以看出,采用了自適應調整全局模型更新間隔算法的聯邦學習模型性能與FL(τ=1)模型接近相同,同時減小了模型聚合次數,進而提高了聯邦學習訓練效率.值得注意的是,相比于APFL 算法,沒有采用Mini-batch 設定算法(APFL (no mbs))的模型性能發生了下降,與CL模型的精度偏差有所增加.

表8 CIFAR10 下的自適應更新間隔消融實驗結果(%)Table 8 Ablation experiment results of the adaptive model aggregation interval on CIFAR10 (%)

表9 F-MNIST 下的自適應更新間隔消融實驗結果(%)Table 9 Ablation experiment results of the adaptive model aggregation interval on F-MNIST (%)

圖9 CIFAR10 自適應模型更新間隔消融實驗曲線Fig.9 Experiment curves of the adaptive model aggregation interval on CIFAR10

圖10 F-MNIST 自適應模型更新間隔消融實驗曲線Fig.10 Experiment curves of the adaptive model aggregation interval on F-MNIST
本文首先以神經網絡模型為例,說明梯度參數是如何泄露本地數據的,并通過數學公式推導分析了聯邦學習性能損失的原因.針對聯邦學習性能損失問題,本文提出一種自適應模型聚合方案,該方案能夠自適應調整參與者Mini-batch 值和全局模型更新間隔.針對聯邦學習隱私泄露的問題,本文首次將圖像加密領域中的混沌加密算法引入聯邦學習領域中,用于構建一種基于混沌系統和同態加密的混合隱私保護方案,從而進一步提高數據隱私保護水平.理論分析和實驗結果表明,本文提出的聯邦學習算法能夠保護參與者的隱私信息,并在非獨立同分布數據的場景下提升訓練效率,降低模型的性能損失,具備實際工業場景應用的可行性.
本文所提出的聯邦學習算法,沒有對低質量數據的參與者進行考慮.然而,在真實工業場景中,可能存在擁有低質量數據的參與者,進而導致整個聯邦學習模型性能下降.因此,下一步擬打算在保護參與者隱私前提下,設計一種低質量數據參與者的識別算法,并使用更加復雜的數據集對算法進行測試與優化,從而進一步推動聯邦學習在工業領域中的應用.