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

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

從式(1)可以看出,相對(duì)熵越小表示兩個(gè)分布越接近,反之,相對(duì)熵越大則表示兩個(gè)分布相差越大。
本節(jié)首先給出公平性定義;其次計(jì)算用戶的數(shù)據(jù)質(zhì)量分?jǐn)?shù);最后構(gòu)造公平的聯(lián)邦學(xué)習(xí)方案。本文公式涉及符號(hào)意義見表1。

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

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


傳統(tǒng)的聯(lián)邦平均算法在聚合時(shí)只考慮用戶的數(shù)據(jù)數(shù)量,這會(huì)導(dǎo)致對(duì)于數(shù)據(jù)質(zhì)量高的用戶不公平,因此需要公平的計(jì)算聚合權(quán)重的算法。用戶利用熵權(quán)法計(jì)算用戶私有數(shù)據(jù)質(zhì)量得分?i。首先計(jì)算用戶數(shù)據(jù)屬性特征權(quán)重[23],然后再計(jì)算用戶數(shù)據(jù)質(zhì)量,具體過程如下。

以上步驟偽代碼見算法1 用戶數(shù)據(jù)質(zhì)量評(píng)估(User data quality calculate)。
算法1 用戶數(shù)據(jù)質(zhì)量評(píng)估

本節(jié)是基于上一節(jié)計(jì)算得到用戶的數(shù)據(jù)質(zhì)量和數(shù)據(jù)數(shù)量構(gòu)造基于數(shù)據(jù)質(zhì)量評(píng)估的公平聯(lián)邦學(xué)習(xí)方案(Fair federated learning based on data quality evaluation,DQE_Fedlearning),如圖2 所示,改進(jìn)傳統(tǒng)聯(lián)邦學(xué)習(xí)平均算法中單一數(shù)據(jù)數(shù)量定義聚合權(quán)重的不公平性。數(shù)據(jù)質(zhì)量得分是每個(gè)用戶用私有的數(shù)據(jù)在本地計(jì)算的,用戶通過安全信道傳給服務(wù)器,服務(wù)器根據(jù)各用戶上傳的參數(shù)分配聚合權(quán)重并實(shí)現(xiàn)全局模型的安全聚合,此外服務(wù)器也承擔(dān)初始化工作。

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

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

以上步驟迭代執(zhí)行,直到全局模型達(dá)到預(yù)先設(shè)定的終止條件,具體見算法2。
算法2 基于數(shù)據(jù)質(zhì)量評(píng)估的公平聯(lián)邦學(xué)習(xí)


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

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

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

表4 用戶數(shù)據(jù)數(shù)量權(quán)重

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

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

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