官术网_书友最值得收藏!

3.1.1 橫向聯邦學習中的線性模型

在橫向聯邦學習系統中,各參與方擁有的數據結構是一致的,然后它們借助網絡進行參數傳輸,合作訓練出一個機器學習模型。這里有一個假設是這些參與方都不會允許向服務器泄露原始數據[42]。整個系統的訓練過程如下。

(1)參與方各自用本地數據計算模型參數對模型損失函數的梯度貢獻,選擇加密技術對更新的梯度進行加密,然后將加密的結果發送給服務器。

(2)服務器對接收到的結果進行安全聚合。

(3)服務器將聚合后的結果發送給參與方。

(4)參與方對梯度進行解密,并更新自己本地的模型。

(5)服務器判斷損失函數是否收斂,檢測是否滿足停機條件。

實踐證明,如果使用安全多方計算[43]或同態加密[42]聚合梯度,那么以上過程能夠抵抗半誠實服務器引起的數據泄露。在實現過程中,加密是重要的過程,不過它可能會遭到惡意參與方在合作學習聯邦模型時訓練生成對抗網絡[44](Generative Adversarial Network,GAN)的攻擊。

橫向聯邦邏輯回歸:由于一開始A方和B方都具有相同的模型結構,所以這里僅以邏輯回歸為例來闡述上述訓練過程,其他線性模型的訓練步驟同理。橫向聯邦學習適用于數據在特征層面重合多、在用戶層面重合少的情況。

假設客戶機A和主機B具有完全相同的特征,但所屬樣本不同,橫向聯邦邏輯回歸模型的訓練過程如圖3-1-1所示。最初客戶機A和主機B都具有相同的模型結構,當開始每一輪訓練時,客戶機A和主機B都會用各自的本地數據訓練模型,分別將加密后的梯度上傳給可信的第三方C,第三方C將這些梯度聚合,再將聚合的梯度分別發送給客戶機A和主機B,用于它們更新各自的模型,直到聯邦模型收斂達到停機條件。更詳細的過程可參考文獻[43]。

img

圖3-1-1 橫向聯邦邏輯回歸模型的訓練過程

主站蜘蛛池模板: 沙湾县| 油尖旺区| 吉林市| 九龙城区| 屏南县| 东乌珠穆沁旗| 沙洋县| 漳浦县| 沭阳县| 洛宁县| 辽源市| 芷江| 壤塘县| 普格县| 宁都县| 广东省| 荥经县| 双辽市| 资源县| 锡林郭勒盟| 碌曲县| 枣阳市| 上犹县| 澄城县| 泽州县| 连平县| 扬州市| 桃源县| 涞水县| 宜州市| 周口市| 镇安县| 商城县| 五家渠市| 龙泉市| 青川县| 张掖市| 柯坪县| 麻栗坡县| 玛曲县| 延津县|