安全聯邦學習-工作流FL
一、什么是安全聯邦學習-工作流模式
功能介紹:通過工作流的模式,在原始數據不出域的前提下,通過交換各個參與方的算法訓練的中間結果梯度、參數信息,或完全在密文條件下進行計算,從而發揮參與多方數據樣本更豐富、更全面的優勢,得出更優模型。
安全聯邦學習,分為橫向安全聯邦學習、縱向安全聯邦學習。其中,縱向安全聯邦學習,聯合多個參與者的共同樣本的不同數據特征進行安全聯邦學習,即各個參與者的訓練數據是縱向劃分的。橫向安全聯邦學習,聯合多個參與者的具有相同特征的多行樣本進行安全聯邦學習,即各個參與者的訓練數據是橫向劃分的。
二、哪些場景適合用安全聯邦學習?
適用場景:縱向安全聯邦學習,適用于參與者訓練樣本ID重疊較多,而數據特征重疊較少的情況,例如某銀行和某電商平臺,分別擁有一部分客戶數據,擁有的客戶特征不一樣,銀行擁有客戶的金融信用數據,電商擁有客戶的電商消費數據,期望聯合兩方數據訓練精準營銷模型,則適合使用縱向安全聯邦學習。橫向安全聯邦學習,適用于參與者的數據特征重疊較多,而樣本ID重疊較少的情況,例如兩家銀行,分別擁有一部分客戶數據,擁有的客戶特征相似,但各自數據偏少,期望聯合兩方數據訓練共同訓練評分卡模型,則適合使用橫向安全聯邦學習。
三、安全聯邦學習已支持的能力
用途 | 算法分類 | 已支持算法 |
分類 | 決策樹 | XGBoostWithDp GBDTWithDp |
邏輯回歸 | LogisticRegressionWithHe | |
神經網絡 | 神經網絡MLP | |
回歸 | 線性回歸 | LinearRegressionWithHe |
神經網絡 | 神經網絡MLP |
四、如何進行安全聯邦學習
以內置模板為例:
1、聯邦數據輸入:
收集和準備原始數據,包括數據輸入和虛擬關聯,使得用戶能夠在形式上以單機的方式使用聯邦學習雙方的數據。
note:所有的數據均保存在持有方本地,本身絕對保密。虛擬關聯僅是在形式上模擬為同一份數據,以方便用戶搭建順利。
2、數據拆分
將數據拆分為訓練集和測試集,用于驗證模型的各項指標數據。
note:在模板中,選擇了拆分比例80%,即80%數據用于訓練(輸出表1),20%數據用于測試(輸出表2)。用戶可自行調整需求。
3、訓練側特征工程
選擇和提取有用的特征,包括特征選擇、特征變換、特征抽取和特征組合等。其中,對于Category特征和Numeric特征,均有對應的處理方案,詳見組件說明。特征工程的配置可輸出,供預測和評估流程使用。
4、測試側特征工程
選擇和提取有用的特征,包括特征選擇、特征變換、特征抽取和特征組合等。其中,對于Category特征和Numeric特征,均有對應的處理方案,詳見組件說明。特征工程的配置由輸入的配置文件確定,用戶也可自行設定。
5、模型訓練和預測
選擇合適的算法和模型,訓練模型并進行調參和優化。目前聯邦學習模型可以選擇XGBoost、Logistic Regression、DNN等。
6、模型評估
使用各種評估指標和技術對模型進行評估,用戶可以自行使用交叉驗證等方法,測試不同數據集的混淆矩陣、AUC、KS等各項指標。