1.什麼是聯邦學習?
聯邦機器學習(Federated machine learning/Federated Learning),又名聯邦學習,聯合學習,聯盟學習。聯邦機器學習是一個機器學習架構,能有效幫助多個機構在滿足使用者隐私保護、資料安全和政府法規的要求下,進行資料使用和機器學習模組化。聯邦學習作為分布式的機器學習範式,可以有效解決資料孤島問題,讓參與方在不共享資料的基礎上聯合模組化,能從技術上打破資料孤島,實作AI協作。谷歌在2016年提出了針對手機終端的聯邦學習,微衆銀行AI團隊則從金融行業實踐出發,關注跨機構跨組織的大資料合作場景,首次提出“聯邦遷移學習”的解決方案,将遷移學習和聯邦學習結合起來。據楊強教授在“聯邦學習研讨會”上介紹,聯邦遷移學習讓聯邦學習更加通用化,可以在不同資料結構、不同機構間發揮作用,沒有領域和算法限制,同時具有模型品質無損、保護隐私、確定資料安全的優勢。
聯邦學習定義了機器學習架構,在此架構下通過設計虛拟模型解決不同資料擁有方在不交換資料的情況下進行協作的問題。虛拟模型是各方将資料聚合在一起的最優模型,各自區域依據模型為本地目标服務。聯邦學習要求此模組化結果應當無限接習傳統模式,即将多個資料擁有方的資料彙聚到一處進行模組化的結果。在聯邦機制下,各參與者的身份和地位相同,可建立共享資料政策。由于資料不發生轉移,是以不會洩露使用者隐私或影響資料規範。為了保護資料隐私、滿足合法合規的要求。
聯邦學習有三大構成要素:資料源、聯邦學習系統、使用者。三者間關系如圖所示,在聯邦學習系統下,各個資料源方進行資料預處理,共同建立及其學習模型,并将輸出結果回報給使用者
2.聯邦學習的分類:
橫向聯邦學習:适用于兩個資料集的使用者特征重疊較多而使用者重疊較少的情況下,把資料集按照橫向(即使用者次元)切分(跨行拼接樣本),并取出雙方使用者特征相同而使用者不完全相同的那部分資料進行訓練。
場景:比如業務相同但是分布在不同地區的兩家企業,它們的使用者群體分别來自各自所在的地區,互相的交集很小。但是,它們的業務很相似,是以,記錄的使用者特征是相同的。此時,就可以使用橫向聯邦學習來建構聯合模型。
縱向聯邦學習:在兩個資料集的使用者重疊較多而使用者特征重疊較少的情況下,我們把資料集按照縱向(即特征次元)切分,并取出雙方使用者相同而使用者特征不完全相同的那部分資料進行訓練。
這種方法叫做縱向聯邦學習。縱向聯邦學習就是将這些不同特征在加密的狀态下加以聚合,以增強模型能力的聯邦學習。目前,邏輯回歸模型,樹型結構模型和神經網絡模型等衆多機器學習模型已經逐漸被證明能夠建立在這個聯邦體系上
場景:假設這樣一個場景,淘寶和知乎聯合起來訓練一個模型,預測一個使用者是否對科技類産品感興趣。淘寶有使用者A、B、C三個人的購買曆史資料,而知乎有B、C、D三個人的知乎文章浏覽資料。使用縱向聯邦學習,在淘寶和知乎都不洩露各自的使用者資料前提下,我們可以整合B、C兩個人的淘寶和知乎資料特征,共同訓練一個預測模型,由于使用到了兩類資料進行訓練,理論上來說得到的結果應該比淘寶或者知乎各自訓練出的模型更準确。由于模型訓練需要同時使用淘寶和知乎的資料,我們發現使用者A僅僅有淘寶的資料,沒有知乎的資料,是以使用者A無法做為訓練樣本使用。同樣的,知乎的使用者D也無法參與訓練。是以在縱向聯邦學習之前,雙方需要計算出共有的樣本,也就是B、C兩人,後續的計算都圍繞BC兩人進行。而隐私集合求交就是雙方通過加密計算,得到B、C兩人這個集合,同時不暴露各自的原始集合的方法。
聯邦遷移學習: 在兩個資料集的使用者與使用者特征重疊都較少的情況下,我們不對資料進行切分,而可以利用遷移學習來克服資料或标簽不足的情況。
場景:比如有兩個不同機構,一家是位于中國的銀行,另一家是位于美國的電商。由于受到地域限制,這兩家機構的使用者群體交集很小。同時,由于機構類型的不同,二者的資料特征也隻有小部分重合。在這種情況下,要想進行有效的聯邦學習,就必須引入遷移學習,來解決單邊資料規模小和标簽樣本少的問題,進而提升模型的效果。
