联邦学习概要
驀然回首,發現寫了很多聯邦學習方面的文章,但是沒有寫一篇聯邦學習方面的介紹性的綜述,所以寫了這篇文章,從整體介紹下聯邦學習的背景、聯邦學習的簡介、隱私保護技術與營銷應用場景。
▌聯邦學習背景
數據是AI的石油,加速了AI的高速發展,但是同時多維度高質量的數據是制約其進一步發展的瓶頸。由于用戶隱私、商業機密、法律法規監管等原因,造成大量信息孤島,導致各個組織與機構無法將原始數據整合在一起,進而聯合訓練訓練一個效果更好的信息密度更大、能力更強的大模型,嚴重制約了AI的發展。
? 圖1 數據孤島
▌聯邦學習簡介
基于上述背景,聯邦學習應運而生,聯邦學習(Federated Learning)是一種新的機器學習模式,它讓多個參與者可以在不泄露明文數據的前提下,用多方的數據共同訓練模型,實現數據可用不可見。
聯邦學習的本質就是一種為了解決數據孤島問題而提出的機器學習模式與算法。它的目標是在保障數據私有的同時,實現模型的共享。例如,現在有多個參與方,每個參與方擁有一套私有集群和數據,這些參與方想共同訓練一個模型,但是傳統的機器學習算法無法解決這個難題,這個時候就需要聯邦學習來解決。
l 聯邦學習的特征
聯邦學習有以下四個特征:
-
參與方:n 兩個或兩個以上參與方,多方數據有一定的互補性,共同構建機器學習模型。
-
訓練模式:
- 數據不出域:在模型訓練過程中,每個參與方的數據都不會離開本地,即各自的原始樣本不會離開本地。
- 平臺跨域部署:聯邦學習分布式平臺的計算資源獨立部署到各個參與方的機房里,不需要把各方數據集中放到一個地方進行聯合訓練,這和以往的模式有很大的不同。
-
安全加密:
- 模型的相關信息以加密方式傳輸。因為在模型訓練的時候,需要傳遞梯度這些中間結果,所有的中間結果是通過加密的方式進行傳輸。
- 保證任何參與方都不能推斷出其他方的原始數據,包含模型的參數和Label。
-
模型性能:
l 聯邦學習的分類
聯邦學習主要分為三大類:橫向聯邦學習、縱向聯邦學習、聯邦遷移學習等。
-
橫向聯邦學習:谷歌輸入法案例,就是一個比較典型的橫向聯邦學習的案例。它的特點是各個參與方數據的特征維度是相同的,但是樣本ID不同。適用于銀行之間以及手機終端邊緣計算等同質數據場景。
-
縱向聯邦學習:它的特點是數據樣本ID基本相同,特征不同。比如兩個數據集的用戶大規模重疊,但它們的特征不一樣。
l 聯邦學習的架構
如圖是聯邦學習的架構,主要簡單介紹了橫向聯邦學習架構和縱向聯邦學習架構。
▌聯邦學習隱私保護技術
l 隱私PSI求交
在聯邦學習過程中,一條樣本分布存儲在聯合建模的各方,雙方都有可能出現數據丟失、并且存儲順序不一致的情況,所以在聯合訓練前需要進行對齊。
另外基于某些場景,比如金融等需要基于身份證、手機號等的對齊,這些信息屬于敏感信息,所以不能進行明文的交互,基于此設計基于流水線的隱私計算PSI方案,實現百億樣本規模以上的實時調度。在保障隱私的同時,計算速度基本沒有降低。
l 模型 加密訓練
聯邦學習過程中需要用到加密相關的技術,目前安全計算的主流的加密方案如下:
-
同態加密 Homomorphic Encryption
-
秘密分享 Secret Sharing
-
混淆電路Garbled Circuit
-
差分隱私Differential Privacy
下面主要介紹下同態加密技術。
同態加密:滿足密文同態運算性質的加密算法,即數據經過同態加密之后,對密文進行特定的計算,得到的密文計算結果在進行對應的同態解密后的明文等同于對明文數據直接進行相同的計算,實現數據的“可用不可見”。
如圖所示,假如有兩個整數A和B,要計算A+B的和C是多少。假設兩個數據對別人是不可見的,將這兩個數據拿給第三方計算,算之前同時先對A和B進行加密,再對密文計算結果,在整個計算過程中,原始數據A和B沒有暴露,得到密文結果后,再用同態解密的方式將密文解掉,最后得到上下兩路的計算結果是相同的。
下面結合線性回歸模型的同態加密方式進行介紹。
訓練步驟:例子是基于第三方C的方式,第三方C持有私鑰,他會把公鑰發給A和B,公鑰進行加密,私鑰進行解密。計算loss和算梯度的整個過程是加密的,流程入下圖。
? 線性回歸模型的訓練流程
▌營銷應用場景
l 營銷流程
在聯盟廣告投放場景下,用戶在媒體側發起請求,媒體側對廣告主發起競價請求,廣告主通過模型預測返回廣告信息,之后媒體側通過模型預測用戶最可能感興趣的廣告,并將它展示給用戶。
如果用戶點擊該廣告,就會跳到一個廣告主的落地頁,后續的深度轉化行為會在廣告主側進行體現。在這個過程中,深度事件可以為用戶是否轉化。以電商行業為例,轉化指的是用戶購買,可能會有一定的延遲,而未轉化就是指用戶沒有購買行為(可能會有一定的延遲,有個窗口時間)。
廣告主會將轉化事件記錄到數據庫里面,媒體側也會把這些信息記錄到數據庫里面,同時雙方也保存串聯兩側的ID。在該領域的傳統做法是廣告主將標簽返回到媒體,然后媒體使用ID組合數據和標簽用以訓練模型,優化投放效果。但是這樣相當于原始數據的傳輸,
l 場景數據分析
在廣告投放的業務場景中,我們在與媒體進行合作。媒體側有大量的用戶媒體興趣標簽以及行為特征,廣告主側有大量的用戶商業興趣及商品標簽數據,同時還有最重要的深度轉化相關的標簽特征,基于雙方數據的互補性,進行聯合建模,優化效果。
l 聯合建模
首先,在媒體側用戶的每個點擊需要附加 session_id來唯一標識了用戶的一次點擊,并且傳遞給廣告主側,用來唯一標記這一次請求。廣告主和媒體分別將 session_id協調樣本信息存到數據庫中。
離線訓練時,雙方使用同一個session_id的數據進行訓練,建模雙方可以使用DSSM雙塔結構進行建模,計算正向傳播的結果,然后計算Loss,再反向傳播計算出梯度,最后將梯度發回媒體側,兩邊分別用該梯度來更新模型,完成模型的構建。
總結
- 上一篇: 音频重采样原理及技术实现
- 下一篇: 深度好文:阿里巴巴高级专家对组建技术团队