?

融合Stacking集成算法的聯邦學習技術

2023-11-25 05:29岳靖軒陳志雨
長春工業大學學報 2023年4期
關鍵詞:參與方聯邦加密

岳靖軒, 陳志雨, 劉 鋼

(長春工業大學 計算機科學與工程學院, 吉林 長春 130102)

0 引 言

當前,個性化金融服務是金融機構保持市場競爭力的重要方向,金融機構根據企業或個人以往的交易記錄、社會信用等信息完成建模畫像,實現違約風險識別、銀行貸款個性化定價[1]等業務,結合內部資金轉移定價(FTP)模式優化配置資源、合理引導定價,逐漸形成為不同客戶提供科學評價和定制化的金融服務。

中小型銀行業務范疇相對單一,采集到的本地數據量維度稀疏。生產中為了解決這一問題,不同行業將數據上傳至公共數據平臺,根據用戶的身份信息將數據對齊。該方法雖能解決數據稀疏和特征空間不足的問題,卻未能保障數據的隱私與安全性。聯邦學習的出現,有利于打破數據孤島,實現企業之間聯合建模,通過更高維度的數據和更多的樣本來提高模型的建模能力。王健宗等[2]提出讓參與方將數據存儲在本地不進行傳輸,只交換模型參數,有效防止了第三方或參與方惡意竊取敏感數據,聯邦學習模型訓練流程如圖1所示。

圖1 聯邦學習模型訓練流程

鄧涵宇[3]提出通過聯邦學習聯合多個參與方建模,解決了小微型信貸行業數據維度稀疏、數據來源少、覆蓋范圍不足的問題。

已有的聯邦學習大多采用單個算法進行聯合建模,容易引發過擬合,影響模型的魯棒性。文獻[4-5]表明,集成學習在預測性能和泛化能力上優于單個模型算法。受此啟發,張艷艷[6]提出通過集成學習來構建個性化貸款業務的定價模型,將集成方法融入聯邦學習中,模型通過多個“好而不同”的聯邦學習基學習器共同訓練參與方本地數據,提高聯邦學習算法的泛化能力,能更有效地處理異常數據。實驗結果表明,Stacked-FL集成算法對中小型企業數據維度稀疏、安全性差、模型泛化能力差的問題起到了顯著的緩解作用[7]。

綜上所述,文中將聯邦學習與集成方法相結合。

1)提出了融合集成學習模式的聯邦學習框架,顯著提高了小維度數據建模的安全性與模型預測的準確性。

2)增強了聯邦模型的泛化能力,對異常值的處理更具魯棒性。

1 相關研究

貸款定價的方法主要有兩種:專家評估法和模型評分法,前者需要耗費大量的人力且評估尺度難以統一;后者更為高效和公平,因此更符合小型銀行的需求[8-9]。劉昊辰[10]提出一種基于XGBoost的農村中小金融機構貸款利率定價研究,證明了XGBoost對中小型數據集在定價準確性上,要優于其他機器學習算法及專家評估法。該方法通過建立重視客戶的數據庫,擴充了實驗的樣本數量和樣本維度,有效解決了中小金融機構由于數據維度低及樣本稀少的困擾,但在建立公共數據庫的過程中容易暴露用戶的隱私,參與方和第三方數據庫可以竊取用戶的隱私數據,在數據傳輸過程中也有被竊取的可能[11],無法保障用戶隱私的安全。

為了提高貸款定價模型的性能,Li M X等[12]將集成模型和卷積神經網絡(CNN)相結合,提出了Stacking CNN的貸款預測模型。集成算法先訓練多個算法作為基學習器,并對數據進行切分處理,Stacking集成學習流程如圖2所示。

圖2 Stacking集成學習流程

將訓練結果作為特征輸入到元學習器中訓練,得到最終結果。該模型發揮了Stacking集成方法的泛化能力,提高了模型預測的準確性,證明Stacking集成方法適用于貸款定價模型,且效果要優于傳統的單個模型[13]。

采用集成學習的優勢在于:

1)從統計學角度來說,算法結合多個學習器,提高了模型的泛化性能;

2)從計算角度來說,降低了陷入局部極小值的可能性;

3)從表示的角度來看,擴大了假設空間,可能得到更近似真實值的預測結果。但是仍然受限于數據集維度及樣本數量,對于維度稀疏的數據集無法精準預測。

Cheng K W等[14]提出一種新的基于聯邦學習的無損隱私保護樹增強系統(SecureBoost),該算法將梯度樹增強算法無損地應用到聯邦學習中。為了防止標簽信息被參與方竊取,還提出了更安全的完全SecureBoost,構建的第一棵子樹由任務發起方構造,數據提供方只能拿到第一棵樹的訓練結果。張君如等[15]提出一種基于聯邦學習的安全樹(FLSectree)算法預測用戶行為,通過更新實例空間尋找最佳的分裂點,收斂后更新參數,在保障隱私的前提下,未降低預測的準確度,減少參與方通信的次數,節約了預測時間和通信資源。

綜上所述,傳統機器學習解決中小型銀行個性化貸款定價的缺點在于安全性不能得到保障。為了提升安全性和準確性,文中將聯邦學習與集成算法相結合,用于中小型銀行貸款定價。SecureBoost作為集成算法中的基學習器,相比SecureBoost,同樣在保證數據安全的前提下,預測效果和泛化能力進一步提升。

2 模型設計

2.1 模型描述

為了保證用戶的隱私安全,實現多個參與方使用本地小維度數據集訓練模型,并做出精準的預測。文中構建了縱向聯邦學習集成模型,其中基學習器選擇線性回歸(Linear)、泊松回歸(Poisson)和SecureBoost。實驗包含數據預處理模塊、加密實體對齊模塊、聯邦算法模塊、集成模塊。

1)首先標簽持有方發起聯邦學習任務,參與方分別對本地數據進行預處理后,再用RSA加密算法對每個參與方本地數據進行加密,并完成加密實體對齊。

2)由中央服務器向數據持有方及數據提供方發送基學習器初始化參數{mA1,mA2,…,mAn}、{mB1,mB2,…,mBn},n為基學習器的數量。對基學習器參數進行更新后,模型根據本地數據集進行K折交叉驗證,兩個參與方將梯度K組[{gA1,gA2,…,gAn},{gB1,gB2,…,gBn}]加密后發送到中心服務器,經過聚合完成一次迭代,迭代多次后擬合得到最優全局模型。該方法相比單個聯邦學習算法參與方之間參數交互如圖3所示。

圖3 Stacked-FL參與方交互流程

3)標簽持有方更新了多個基學習器訓練的全局模型。將模型預測結果整合成元學習器的訓練集和測試集的特征,組合成兩個新的數據集。

4)Stacking集成學習的元學習器的選擇為較簡單的模型,實驗中選擇線性回歸作為實驗的元學習器。對元學習器參數進行更新后,使用新的訓練集進行訓練,得到模型結果用測試集進行模型效果的測試,如果得到不是最優解,則調整元學習器參數,重新訓練并測試模型效果,直至效果最優。最后采用Voting、Average方法對各參與方的數據進行集成,與Stacking方法進行對比分析。

2.2 模塊分析

2.2.1 數據預處理模塊

數據預處理是構建模型十分重要的環節,根據應用場景的不同,各參與方數據的結構差異以及數據存儲方式不同的一系列因素的影響,在本實驗中,為了解決數據樣本維度稀疏以及學習器不容易對屬性數據處理的問題,采用獨熱編碼(One-Hot Encoding),可以從一定程度上起到擴充特征的作用。為了避免個別特征數值過大對實驗結果造成預測結果的偏差,文中采用數據的歸一化(Normalization)讓數值較大的數據限定在一定的范圍內,在梯度下降的時候,會使模型的方向發生偏離。

2.2.2 加密實體對齊模塊

由于參與方之間用戶樣本差異性較大,首先要找到重疊的樣本,一般通過身份證號、手機號碼等敏感信息找到多個參與方的重疊用戶。在聯邦學習計算過程中,為了使參與方交換中間計算結果時參與方重疊的樣本不被惡意方推測用戶的信息。本實驗使用一種基于RSA對ID進行對齊的方法使模型間無須通過中心化的方式采集共同數據,僅采用點對點密文的方式傳遞數據信息,即可實現去中心化,確保每個參與方的數據不向其他參與方暴露的情況下,對用戶ID進行加密,并將所有參與方中重疊的用戶ID對齊,實現維度的補充。

2.2.3 聯邦算法模塊

2.2.3.1 SecureBoost

(1)

式中:yi----標簽的真實值;

每當模型增加一棵樹,損失函數就會在原有的基礎上加上新的回歸樹fT(xi),在更新第T輪時,目標函數為

(2)

最后計算出損失函數用l表示,并對其求一階導數gi,二階導數hi:

(3)

(4)

為了確定數的每一層的最佳分割,就要從分割帶來的增益來衡量,它可以通過之前求出的gi和hi計算得出。

2.2.3.2 線性回歸

縱向聯邦學習線性回歸[16]使用梯度下降方法去訓練模型,為了保證得到模型的損失和梯度,且保證在訓練過程中的安全,其損失數函數為

(5)

式中:yi----發起方的標簽空間;

θA,θB----模型參數,經過同態加密[18]后的加密損失為

(6)

訓練參數的損失函數的加密梯度gA,gB可以表示為

(7)

(8)

計算梯度后,對梯度分別加上加密的隨機掩碼[[RA]]、[[RB]],得到[[gA]]+[[RA]]和[[gB]]+[[RB]]發送至中心服務器完成聚合,根據聚合后返回的參數更新本地模型。

2.2.3.3 泊松回歸

泊松回歸通常用于描述單位樣本空間內的小概率事件,自變量銀行利率服從泊松分布,在實驗中使用exposure變量接收數據,其列名可以在配置參數中指定,在配置中指定暴露元素??v向聯邦學習泊松回歸在計算流程上與線性回歸相似,由參與方、發起方分別計算出損失函數

L=([[exp{WAXA}]]*exp(WBXB-Y),

(9)

式中:WA,WB----參與方本地泊松回歸參數;

XA,XB----解釋變量。

計算出損失L后,將加密后的損失[[L]]傳遞給參與方后,分別計算梯度[[gA]],[[gB]]。

2.2.4 集成算法模塊

集成學習(Ensemble Learning)通過用某種結合策略將多個基學習器進行融合,共同訓練一個模型。通過集成SecureBoost、Linear回歸、Poisson回歸三個模型,集成后的模型往往可以獲得比基學習器更好的性能,以及更強的泛化能力[17]。文中采用集成學習有Stacking、Voting、平均法等。

算法1:Stacked-FL

輸出:local model and global model

for epoch=0 to N //N is the number of base learners

2. for i =0 n //general secret key

3. Pi=RSA(x); pi=RSA(x)

4. end for

5. for i=0 to n //local model train

6. for j=0 to n

7. yj=mj(Di)

8. end for

9. end for

10. yi=concat[y0+y1+...+yk-1]

11. for i=0 to n //Integration model

12. Si=Pi(Yi)

13. Ci=pi(Si)

17. end for

18.end for

19. //update local model

2.3 算法可行性分析

提出的Stacked-FL集成方法實現了集成方法與聯邦學習相結合,適用于不同領域或者同領域、特征重疊少的參與方的小維度數據集聯合建模,提高了傳統集成模型的安全性,也提高了聯邦學習的準確性與泛化能力。該方法的優勢在于避免了傳統的機器學習模型要在流通的數據上進行融合存在隱私泄露的風險,并且通過多個基學習器對模型進行訓練和集成,從更全面的角度對數據進行分析。

3 實驗與結果分析

3.1 實驗環境

使用Pycharm軟件和Python3.8語言進行實驗,實驗環境采用三臺騰訊云服務器(操作系統為CentOS7.5,4Core,內存8 G)。

3.2 數據集分析及評價指標

實驗采用Lending Club的公開數據。Lending Club 創立于2006年,主營業務是為市場提供P2P貸款的平臺中介服務,公司總部位于舊金山。公司在運營初期僅提供個人貸款服務,至2012年平臺貸款總額達10億美元規模。Lending Club把借款人和投資者聯系起來。為了模擬中小型銀行小數據集的特點,文中將使用2007-2010年的9 578條貸款數據,選取貸款利率(預測值)、貸款用途、是否分期付款、借款人年收入的自然對數等7個特征模擬銀行A(任務發起方),選取借款人的循環余額、循環額度利用率、被債權人查詢的次數、逾期30 d以上的次數、貶損公共記錄的數量等6個特征模擬銀行B(數據提供方)。實驗的評估指標采用平均絕對誤差(mean_absolute_error, MAE)、均方根誤差(root mean squared_error, RMSE)來評估模型的準確率,

(10)

(11)

3.3 實驗設置

元學習器參數設置見表1。

表1 元學習器參數

SGD優化器的訓練速度快,支持在線更新,有概率跳出局部最優解,對于多批次的小數據集訓練效果較好。實驗中對批次大小(100,1 000)范圍內進行測試,批次樣本數選擇為200的準確度最佳,且對計算效率的影響較小,實驗結果分別如圖4和圖5所示。

圖4 批量大小對MAE值的影響

圖5 批量大小對RMSE值的影響

線性回歸學習率一般在0.1左右,實驗中對0.001~0.150進行了測試,當學習率為0.07時,收斂速度與誤差精確度表現較好, 實驗結果分別如圖6和圖7所示。

圖6 學習率對MAE值的影響

圖7 學習率對RMSE值的影響

最大迭代次數選取50,原因是在迭代50輪時效果已經趨近擬合。為了提高模型效率,節約計算資源,將最大迭代次數選擇50輪。由于訓練集較少,為了避免過擬合,在實驗中采取L2正則化,限制了模型的復雜程度,縮短了計算時間,在0~0.10效果最佳,并對(0,0.10)區間進行實驗,結果顯示,正則化系數設置為0.08時,MAE值效果最佳,RMSE值下降幅度較小,在保證有足夠泛化能力的同時,還不會造成欠擬合的風險,實驗結果分別如圖8和圖9所示。

圖8 正則化系數對MAE值的影響

圖9 正則化系數對RMSE值的影響

3.4 實驗結果

為了驗證提出的縱向聯邦學習集成算法的個性化貸款模型的準確性,通過對Linear回歸、SecureBoost、Poisson回歸做五折交叉驗證,記錄每一次交叉驗證預測結果得到的MAE、RMSE值見表2。

表2 模型預測MAE及RMSE值

計算基學習器交叉驗證結果的MAE值與RMSE值,再對其取平均值,作為本實驗單個基學習器的最終預測效果,使實驗結果更具普遍性。采用Stacking、Voting、Average方法對聯邦學習環境下Poisson、SecureBoost、Linear三種算法的驗證集和測試集進行集成,Label為利率標簽值,Predict_result為Stacked-FL算法計算得到的預測值。

作為傳統聯邦學習模型的預測效果,基學習器的RMSE值和MAE值分別如圖10和圖11所示。

圖10 基學習器的RMSE值

圖11 基學習器的MAE值

從圖10和圖11的整體預測結果分析,SecureBoost模型的均方根誤差與平均絕對誤差都小于Linear回歸和Poisson回歸,且SecureBoost誤差浮動較小,對模型的預測效果更穩定。

計算集成算法與傳統聯邦學習算法平均絕對誤差、均方根誤差表示各模型預測效果,計算結果如圖12所示。

圖12 6種聯邦算法的MAE及RMSE對比分析

圖中,預測均方根誤差由小到大分別為Stacked-FL、SecureBoost、Averaged-FL、FL-Linear、Voted-FL、FL-Poisson。平均絕對誤差由小到大分別為Stacked-FL、Averaged-FL、SecureBoost、FL-Linear、Voted-FL、FL-Poisson。

3.5 實驗結果分析

3.5.1 Stacked-FL準確性分析

為了驗證Stacked-FL集成算法的預測準確度,文中采用Stacking方法分別對Poisson、SecureBoost、Linear進行了集成,采用Voting、Average方法作對比實驗。將單個聯邦算法與FL-Stacking等三個集成算法進行對比,結果見表3。

表3 準確性提高比例 %

使用2 578條預測樣本對不同模型進行預測,通過實驗結果中MAE值與RMSE值顯示,FL-Stacking對分散的小維度數據集的訓練效果,無論是從模型對異常值的處理上,還是從準確度上都要明顯高于其他方法,并且在SecureBoost模型的基礎上將MAE值提高7.98%,RMSE值提高0.83%。SecureBoost相對Xgboost可以做到無損應用在聯邦學習環境里,所以模型訓練效果要優于大多數聯邦學習模型。Averaged-FL在準確性上要略高于其他聯邦學習模型,并且高于Voted-FL,說明對使用小數據集訓練的模型集成效果較好。實驗證明,Stacked-FL算法對小數據集訓練模型可以提高模型的準確性。

3.5.2 Stacked-FL安全性分析

傳統的多元數據處理技術需要將參與方數據集中處理后再訓練,在加密聚合過程中,很容易被第三方平臺推斷出用戶信息。針對這一問題,文中提出Stacked-FL對每一方設定為誠實且好奇的,可以良好地遵從安排和調度。

1)每一個參與方的數據始終在本地,不相互流通,并且由數據標簽的持有方(任務的發起方)存儲整個模型的標簽。用傳遞參數、梯度和損失的方式保障了數據的安全性。

2)計算時,參與方之間會傳輸加密的中間計算結果用來幫助彼此梯度和損失的計算。傳遞中間結果采用RSA加密對每個參與方的中間結果進行哈希計算,防止參與方之間交換過程中存在數據安全問題。

3)參與方通過訓練過程中梯度和損失的傳輸過程始終處于加密狀態,防止參與方竊取樣本數據和通過對應的導數gi和hi去推斷用戶的隱私。中心服務器為了安全融合各個參與方的本地模型更新梯度采用同態加密的算法,避免第三方竊取訓練結果或者泄露中間數據的風險。

3.5.3 Stacked-FL通信負載分析

Stacked-FL的時間復雜度是加密算法、多個基學習器、中心服務器的復雜度之和,所以時間復雜度和空間復雜度會高于傳統的融合模型,以消耗更多的通訊資源和計算時間為代價提高模型整體預測的性能。

4 結 語

基于聯邦學習的Stacked-FL集成算法的個性化貸款定價模型可以有效地解決中小型銀行數據集維度稀疏等問題。采取縱向聯邦算法,通過構建數據預處理層、樣本對齊層、聯邦算法層以及集成算法層提高模型準確性,精準地對不同用戶實現個性化定價。中小型銀行可以通過這種面向多個參與方的隱私計算方法,聯合訓練集成模型提高模型的有效性。然而,經過交叉驗證以及多個學習器的使用,使整個聯邦學習算法的復雜度提高,這會花費很多的通訊成本,也會影響運行效率。在日后的工作中,將嘗試對模型通訊效率進行改進,減小通訊成本的開銷;采用橫向聯邦算法聯合同領域含有大量重疊特征的企業建模,對數據樣本進行擴充,同樣得到更精準的模型;在學習器的選擇上可以嘗試其他選擇以及更優的組合。

猜你喜歡
參與方聯邦加密
基于秘密分享的高效隱私保護四方機器學習方案
一“炮”而紅 音聯邦SVSound 2000 Pro品鑒會完滿舉行
303A深圳市音聯邦電氣有限公司
一種基于熵的混沌加密小波變換水印算法
綠色農房建設伙伴關系模式初探
涉及多參與方的系統及方法權利要求的撰寫
基于IPD模式的項目參與方利益分配研究
認證加密的研究進展
基于ECC加密的電子商務系統
基于格的公鑰加密與證書基加密
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合