楊秀清 彭長根,3 劉 海,3 丁紅發 湯寒林
(1.貴州大學計算機科學與技術學院 貴陽 550025)(2.貴州大學公共大數據國家重點實驗室 貴陽 550025)(3.貴州大學大數據產業發展應用研究院 貴陽 550025)(4.貴州財經大學信息學院 貴陽 550025)(5.貴州數據寶網絡科技有限公司 貴陽 550025)
人工智能的發展需要大量的數據,并且要確保所需數據是高質量的,但是在數據使用的過程中通常面臨法律[1]、企業利益、個人隱私保護意識等各方面的約束。各種約束使得數據共享成為難題,存在“數據孤島”問題,為解決此問題聯邦學習[2]應運而生。
聯邦學習的特點是采用數據不動模型動的策略進行模型訓練,但是在研究的過程中發現傳統聯邦學習仍存在諸多挑戰問題,如隱私泄露、模型效率低、用戶間不公平等問題[3]。為解決文獻[3]這些挑戰,目前聯邦學習領域的主流研究方向包括:系統設計、模型效用提升、隱私保護性能增強以及魯棒性等。聯邦學習隱私保護方面,已有大量的學者[4~8]使用同態加密、差分隱私、秘密共享等隱私保護技術解決隱私泄露問題,但少有研究關注聯邦學習中的公平性問題。不公平的合作方案會使最終訓練得到的模型出現歧視現象,如文獻[9]累計犯罪預判、電商殺熟、保險定價等案例,由于訓練的模型存在不公平現象,導致最終使用者在使用模型時出現歧視現象。為解決該問題,可從公平性的角度,選用公平合理的方案進行聯邦合作訓練,既可以提升模型的性能,又可以減少用戶的計算開銷,從而促進更多的用戶參與聯邦訓練。因此,研究公平的聯邦學習方案理論和實際意義,能有效解決聯邦學習模型訓練的不公平問題。
機器學習中的公平性主要分為三類:預處理公平性[10~11]、中處理公平性[12]、后處理公平性[13]。聯邦學習對公平性的研究主要方式是在聯邦學習中引入激勵機制[14]或者使參與者獲得有效模型的機會均等。文獻[15]在聯邦學習框架中提出一種公平的資源分配方案,將Jain 的Index 方法引入到聯邦學習中,該方案使得每個用戶獲得的模型準確率分布均勻以達到公平,該方案中每個參與訓練的用戶獲得性能相同的聯邦模型,用貢獻多的用戶去彌補貢獻少的用戶的不足,這對于貢獻多的用戶不公平。Li 等[16]設計了保證各個設備間聯邦學習模型性能公平分布的優化方法,考慮了損失較大的用戶,能夠激勵更多性能較差的用戶參與聯邦訓練,但利用損失少的用戶去彌補損失大的用戶的方式對于損失小的用戶不公平。Du 等[17]提出一種公平意識的不可知論聯邦學習框架,其針對由客戶端的分布混合組成的任意目標分布,不以其它模型為代價,產生良好意圖的公平概念。Wang[18]采用Shapley 知識定義了聯邦學習中各參與用戶數據特征的重要性,對公平性聯邦學習的研究奠定了理論基礎。Song等[19]在Shapley基礎上與聯邦學習實際情形結合,定義了聯邦學習框架中用戶的貢獻指數,提出的貢獻指數為構造公平的聯邦學習方案提供了理論基礎。
綜上,考慮數據質量對聯邦訓練模型的影響從而設計公平的聯邦學習方案是有必要的,因此本文主要工作如下:
1)利用熵權法設計用戶數據質量的量化方法,為定義聚合權重提供依據。
2)將基于數據數量和數據質量兩種因素給出聚合權重的定義,并應用在傳統的聯邦平均算法中,提出一種基于數據質量評估的公平聯邦學習方案。
3)基于相對熵提出用戶公平性度量標準,并使用公開數據集進行實驗評估,驗證本方案的公平性。
聯邦學習是一種分布式的機器學習,也被稱為隱私保護版的機器學習,分為橫向聯邦學習、縱向聯邦學習、聯邦遷移學習共三類,聯邦學習基本框架如圖1所示。

圖1 聯邦學習基本框架
熵權法[20]是一種客觀的賦權法,能削弱主觀因數影響,從客觀角度對數據質量進行評估。熵權法對數據賦權主要包括四個步驟,首先對原始數據標準化,然后計算標準化后的數據概率,其次計算數據中各個特征屬性的信息熵,最后確定數據中各個特征屬性的權重。
相 對 熵(Relative Entropy)[21],又 稱KL 散 度(Kullback-Leibler Divergence,KLD),主要用來度量兩個概率分布的相似程度,相對熵計算如式(1):

從式(1)可以看出,相對熵越小表示兩個分布越接近,反之,相對熵越大則表示兩個分布相差越大。
本節首先給出公平性定義;其次計算用戶的數據質量分數;最后構造公平的聯邦學習方案。本文公式涉及符號意義見表1。

表1 符號說明
機器學習中衡量模型性能的指標主要有準確率、精確度、召回率等,聯邦學習通常用準確率衡量模型的性能。文獻[22]提出貢獻公平、期望損失公平、期望公平概念,但是沒有具體的計算方法,因此本文考慮貢獻公平,通過計算相對熵度量用戶間的公平。首先使用模型的準確率變化度定義用戶的收益(Income,In),其形式化表示如式(2):

貢獻公平性性:使用相對熵計算用戶貢獻和用戶收益之間的相似性,即用戶的貢獻分布P和用戶的收益分布Q的距離越小越公平,距離公式如式(3):


傳統的聯邦平均算法在聚合時只考慮用戶的數據數量,這會導致對于數據質量高的用戶不公平,因此需要公平的計算聚合權重的算法。用戶利用熵權法計算用戶私有數據質量得分?i。首先計算用戶數據屬性特征權重[23],然后再計算用戶數據質量,具體過程如下。

以上步驟偽代碼見算法1 用戶數據質量評估(User data quality calculate)。
算法1 用戶數據質量評估

本節是基于上一節計算得到用戶的數據質量和數據數量構造基于數據質量評估的公平聯邦學習方案(Fair federated learning based on data quality evaluation,DQE_Fedlearning),如圖2 所示,改進傳統聯邦學習平均算法中單一數據數量定義聚合權重的不公平性。數據質量得分是每個用戶用私有的數據在本地計算的,用戶通過安全信道傳給服務器,服務器根據各用戶上傳的參數分配聚合權重并實現全局模型的安全聚合,此外服務器也承擔初始化工作。

圖2 基于數據質量評估的公平聯邦學習方案
Step1:服務器進行初始化工作,確定采用的模型,選擇的算法以及設置超參數。
Step2:將初始化的模型分發給各用戶,用戶利用本地私有數據進行訓練得到本地模型參數ωi,以及通過算法1計算數據質量分數?i。
Step3:用戶將本地訓練的參數ωi、?i以及數據數量di,是通過安全信道上傳給服務器。
Step4:服務器根據用戶上傳的?i、di參數分配聚合權重θi,其計算公式見式(9):

其中λ為超參數,表示用戶數據質量的占比。
Step5:服務器根據式(10)進行安全聚合,形成全局模型。

以上步驟迭代執行,直到全局模型達到預先設定的終止條件,具體見算法2。
算法2 基于數據質量評估的公平聯邦學習


實驗環境:python3.7 語言結合pytorch 1.8.2+cu111 框架以及pycharm 集成軟件開發實現。實驗硬 件 為:Intel(R)Xeon(R)CPU E5-2687 @2.50GHz(2 處理器),內存為16GB,操作系統為ubantu 18.04.3。
實驗數據:本實驗使用UCI 中三種公開數據集。數據集1:乳腺癌數據集Breast,包含了569 個樣本,共有31 個屬性特征。數據集2:酒分類數據集Winequality,該數據集是根據酒的各種特性對酒進行分類,共有10個類別,通過數據預處理后將10個類別轉換為二分類。數據集3:信用卡欺詐檢測數據集Creditcard,該數據集數據量大,常用于二分類任務。三種數據集通過數據預處理后都是執行二分類任務,數據集的屬性特征具體如表2所示。

表2 數據集概覽
將各數據集樣本隨機打亂,然后不均等的分成10 份且每一份數據中包含的屬性特征不完全相同,模擬用戶數據數量不同和質量不同的情況。10個用戶隨機的從劃分的數據子集中獲得一份,每個用戶的樣本不重疊,用戶利用獲得的數據參與聯邦訓練。
本實驗主要分為兩個部分,首先是數據處理,包括對原始數據進行標準化處理,然后進行用戶數據劃分。第二部分是根據用戶獲得的數據使用公平的隱私保護聯邦學習算法進行聯邦訓練,調整參數使得模型的準確率提高,同時實現用戶的貢獻公平性。
首先根據算法1 計算各用戶的數據數量和數據質量分數,計算結果為分配聚合權重提供依據。表3 列出采用三種數據進行訓練各個用戶數據質量,共列出了100次訓練的結果。

表3 用戶數據質量分數
從表3 數據質量值可以得出:用戶包含的樣本不重疊且每個用戶擁有的屬性特征不完全相同時,每個用戶的數據質量不同。同一個用戶中,挑選不同的樣本子集進行數據質量計算,計算出的數據質量值不完全相同,計算出的用戶聚合權重也不同。表4 根據用戶的數據數量計算出用戶的數據數量權重ψi,其計算公式見式(11):

表4 用戶數據數量權重

然后利用數據質量分數和數據數量權重結合式(10),調整超參數λ,進行聯邦學習訓練,提高模型的準確率以及調整用戶之間的公平性。λ的取值在0~1 之間,本實驗對λ取值分別為0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1 進行實驗驗證。對于不同的λ取值分別全局迭代100 次,本地迭代10次。乳腺癌數據集、白酒品質分類數據集以及信用卡欺詐檢測三種不同的二分類數據集全部采用邏輯回歸分類模型進行實驗驗證本方案的有效性。
圖3 中(a)、(b)、(c)展示了不同數據集用本方案和傳統的聯邦平均算法進行聯邦訓練得到模型的準確率。圖3 實驗結果表明,本方案可以用不同數據質量和數量的數據進行訓練;另外從圖3 可知,采用本方案訓練得到的聯邦模型比傳統的聯邦平均算法訓練得到的全局模型,準確率更高,本方案模型性能更優。

圖3 各數據集全局模型準確率變化情況
圖4 中(a)、(b)、(c)展示了取不同的值時用戶之間用戶的聚合權重不完全相同,各用戶準確率變化分布情況。當λ小于0.4 時,本方案的準確率低于聯邦平均算法的準確率;當λ∈[0.4,0.7]時,本方案模型的準率大于聯邦平均算法的準確率;當λ大于0.7時用戶的準確率與聯邦平均算法準確率差不多。綜上,當用戶使用大量的數據參與聯邦訓練,但是數據質量低時,訓練的效果受到影響;當用戶使用大量優質數據參與聯邦訓練時,聯邦訓練的效果提升明顯;另外實驗發現,少量優質的數據也能實現平均效果。

圖4 各數據集取不同λ 值平均準確率變化情況
采用邏輯回歸模型實現三種數據集的二分類任務,聯邦訓練的計算復雜度依賴選用的訓練模型,因此本文用戶的計算花費為Ο(dK2),其中d用戶的樣本數,K為用戶的屬性特征數。
通信花費為用戶與服務器之間的迭代次數,通信花費為Ο(e),其中e為全局模型迭代次數。本方案與聯邦平均算法相比,本方案用更少的迭代次數達到模型收斂并且提高了模型的準確率。
通過引入數據質量評估,通過用戶數據數量和質量公平合理的分配用戶聚合權重,實現用戶間的公平。通過式(2)計算用戶收入,然后按式(3)計算用戶的Dkl值,結果本方案計算得到的Dkl值小于聯邦平均算法。因此本方案相比傳統的聯邦平均算法具有貢獻公平性。
本文方案提出了一種基于數據質量評估的公平聯邦學習方案,實現了聯邦訓練用戶之間的公平聚合,解決了傳統聯邦學習聚合過程只考慮單一因素導致的不公平問題。通過定義數據質量評估方法,將數據質量因素引入到模型聚合過程,改進了傳統聯邦學習的不足,實現了用戶的貢獻公平性。相比傳統的聯邦學習模型,所提方案模型具有更高的準確率,用戶與服務器之間的通信開銷更少,可以更快到達收斂。