當聯邦學習遇上機器學習“大殺器”XGBoost

前 言

聯邦學習技術正在快速發展,與其他機器學習方法的結合也日益緊密,XGBoost作為諸多機器學習算法中的“大殺器”自然備受關注。2019年6月,論文《Secureboost: A lossless federated learning framework》中提出了Secureboost聯邦學習框架,實現了Boosting集成學習方法在縱向聯邦學習中的應用。在最近的公開的另一篇論文《The Tradeoff Between Privacy and Accuracy in Anomaly Detection Using Federated XGBoost》中,作者提出了將XGBoost與橫向聯邦學習結合的方法,將該方法用於信用卡交易異常檢測,並取得了很好的檢測效果,找出了使訓練效果達到最佳的隱私保護方案。本期推送將對這篇論文進行詳細介紹。


背景介紹

如今,許多大型互聯網公司已經建立了大規模的信息技術基礎設施,為客戶提供多種服務。然而,大量的數據傳輸會導致隱私洩露和傳輸成本增加問題:一方面,不同企業之間的數據傳輸容易造成隱私洩露;另一方面,數據傳輸將使通信成本大幅提高。在此背景下,聯邦學習技術應運而生。聯邦學習不傳輸原始數據,而是將經過預先訓練的學習模型從用戶端傳輸到服務器,對預先訓練的模型進行集中訓練,從而有效保護用戶隱私,減少數據的傳輸量,降低通信成本。


隨著聯邦學習技術的推廣,聯邦學習與其他機器學習方法的結合日益緊密,例如邏輯迴歸、樹模型等。2019年6月,論文《Secureboost: A lossless federated learning framework》實現了Boosting集成學習方法在縱向聯邦學習中的應用。本文將聯邦學習繼續拓展,希望實現橫向聯邦學習與XGBoost集成學習的結合,並用於銀行信用卡異常交易檢測中。


在聯邦學習的框架下執行XGBoost算法,一個簡單的方法是在每個本地數據節點i分別計算出用於更新總體模型的參數gi和hi,然後將參數傳輸到一箇中心服務器更新總體模型,中心服務器再選擇一個最優的劃分方法將更新後的模型傳回給各個本地模型。這種方法對於縱向聯邦學習場景是有效的,但是,對論文《The Tradeoff Between Privacy and Accuracy in Anomaly Detection Using Federated XGBoost》中涉及的橫向聯邦學習場景並不適用:橫向聯邦學習每個本地數據節點的數據分佈不同,加之用於訓練的樣本極度不對稱,樣本分佈對結果的影響將更加明顯,如果簡單地按上述方法更新每個節點的參數,不考慮不同節點數據的分佈情況,得出的訓練模型可能是不合理的。


方法介紹

為了解決上述問題,本文提出以一種隱私且高效的方式傳輸用戶特徵,主要通過以下兩步實現。


第一步:數據聚合

首先是對原始數據進行數據聚合,將一批相近的樣本映射到一個虛擬數據樣本中。考慮第一個虛擬樣本I1,我們對這個虛擬樣本中的gi和hi (i∈I1)進行求和,得到虛擬樣本的更新參數gI1和hI1,其他虛擬樣本也進行同樣的操作。然後將每個虛擬樣本對應的更新參數傳輸中心服務器用以更新總模型,中心服務器再將更新後的模型返還,要注意的是這個過程中是返還給各原始數據節點,而不是虛擬數據節點。由於這個過程中用到了數據聚合,就有可能涉及數據洩露,為了解決這個問題,作者使用了改進版k匿名算法(Modified k-anonymity)對數據進行隱私保護。


k匿名(k-anonymity)是通過概括(對數據進行更加概括、抽象的描述)和隱匿(不發佈某些數據項)技術,發佈精度較低的數據,使得每條記錄至少與數據表中其他k-1 條記錄具有完全相同的屬性值,從而減少數據隱私洩露的風險。本文中,由於本地節點是將模型參數傳輸到服務器,因此我們使用改進後的k匿名算法(Modified k-anonymity):傳輸到中心服務器的是各節點的模型參數,而非原始數據。

當聯邦學習遇上機器學習“大殺器”XGBoost

一組數據樣本被映射到虛擬數據樣本

第二步:稀疏聯邦更新

在實際傳輸操作中,由於數據量過大導致傳輸數據效率低下,而且並非所有數據都有更新價值。因此為了更好地更新模型,需要對數據進行過濾。雖然XGBoost模型可以很好地進行異常值預測,但仍有許多樣本不能被正確分類。本文中提出了新的觀點,在之前學習中被錯誤分類的訓練樣本應當在後續學習中受到更多關注,並且被傳輸到服務器進行聯邦更新。因為學習中被錯誤分類的訓練樣本相較於其他樣本更具價值,有助於模型更好地自我完善。其次,由於異常檢測中的數據極不均衡,XGBoost算法在一定程度上可以解決偏態問題。此外,如果不過濾掉正確分類的訓練樣本,這些樣本將影響聯邦更新過程中樹模型的拆分和構造,對模型的改進產生不利影響。


實證結果

文章將聯邦XGBoost算法運用於一組信用卡數據來檢測信用卡異常交易,以測試算法的效果。這組數據包含284,807個樣本和30個特徵,所有樣本中異常樣本492例,只佔總樣本數的0.172%(即前文中提到的樣本分佈極度不均衡的情況)。實證中使用了普通聯邦XGBoost、GBDT、隨機森林、數據聚合後的聯邦XGBoost和稀疏梯度更新後的聯邦XGBoost,計算訓練效果並進行比較,主要結論如下所示。


(1)模型使用者需要在隱私保護和訓練效果之間進行權衡,用於隱私保護的最優的虛擬數據集個數是405個。虛擬數據集規模越大(即數據集的個數越少)意味著對數據隱私的保護越好。然而,隱私保護能力和模型訓練效果間存在著此消彼長的權衡關係。如下圖所示,橫軸代表虛擬數據集的個數,縱軸代表F1-Score。隨著虛擬數據集個數的增加,隱私保護能力下降,F1-Score卻在上升,訓練效果變好。通過觀察兩者之間的動態變化情況,作者選擇了直線A所代表的405作為最優虛擬數據集個數——此時F1-Score較高,對數據隱私的保護能力也較強,如果選擇比405略小的值,雖然隱私保護能力變強,但是訓練效果下降明顯;如果選擇比405略大的值,隱私保護能力變弱,訓練效果也只有微弱的提升,因此405是一最優的虛擬數據集個數。圖中直線A代表的是當集群數量為405個時的F1-Score為0.895105,直線B代表的是不進行數據聚合(即使用原始數據)情況下的F1-Score,為 0.901408。

當聯邦學習遇上機器學習“大殺器”XGBoost

虛擬樣本集個數對F1-Score的影響


(2)選擇了合適的數據聚合規模後,使用數據聚合的聯邦XGBoost和稀疏梯度更新的聯邦XGBoost可以明顯提升訓練效果。由於樣本本身分佈極度不均衡,用Accuracy來衡量訓練效果不合理,文章主要通過比較AUC和F1-Score來比較不同的算法的訓練效果。對於F1-Score,與隨機森林、GBDT、普通聯邦 XGBoost, 使用稀疏聯邦更新方法的聯邦XGBoost(不論是否進行數據聚合)的效果明顯更好。對於AUC值,同樣可以看出,使用文中提出的數據聚合和稀疏聯邦更新後的聯邦XGBoost也比前面提到的其他算法達到了更好的效果。

當聯邦學習遇上機器學習“大殺器”XGBoost

文中提出的聯邦XGBoost與其他算法的訓練效果比較


創新點及未來展望

該論文的主要創新點在於:

  • 將XGBoost用於橫向聯邦學習的場景。
  • 使用數據聚合的方法加強了隱私保護。
  • 使用稀疏梯度更新的方法提升了傳輸效率和訓練效果。

未來,作者可能會嘗試更多的隱私保護方法來進行訓練,並對實證細節進行完善,以取得更顯著的訓練效果。


--END--

論文名稱:The Tradeoff Between Privacy and Accuracy in Anomaly Detection Using Federated XGBoost

原文地址:https://arxiv.org/abs/1907.07157


投稿或尋求報道:[email protected]


當聯邦學習遇上機器學習“大殺器”XGBoost

請長按掃描上方二維碼加關注,

我們為您送上源源不斷的前沿知識!


分享到:


相關文章: