聯邦機器學習 Federated Machine Learning

聯邦機器學習 Federated Machine Learning

聯邦學習簡介

  • 聯邦機器學習又名聯邦學習,聯合學習,聯盟學習。聯邦機器學習是一個機器學習框架,能有效幫助多個機構在滿足用戶隱私保護、數據安全和政府法規的要求下,進行數據使用和機器學習建模。其設計目標是在保障大數據交換時的信息安全、保護終端數據和個人數據隱私、保證合法合規的前提下,在多參與方或多計算結點之間開展高效率的機器學習
  • 聯邦學習作爲分佈式的機器學習範式,可以有效解決數據孤島問題,讓參與方在不共享數據的基礎上聯合建模,能從技術上打破數據孤島,實現AI協作。谷歌在2016年提出了針對手機終端的聯邦學習,微衆銀行AI團隊則從金融行業實踐出發,關注跨機構跨組織的大數據合作場景,首次提出“聯邦遷移學習”的解決方案,將遷移學習和聯邦學習結合起來。據楊強教授在“聯邦學習研討會”上介紹,聯邦遷移學習讓聯邦學習更加通用化,可以在不同數據結構、不同機構間發揮作用,沒有領域和算法限制,同時具有模型質量無損、保護隱私、確保數據安全的優勢。

聯邦學習框架

  • 目前主流聯邦學習框架有兩種

Google框架

WeBank框架

該構架可擴展至包含多個數據擁有方的場景。

實景舉例

包含兩個數據擁有方(即企業 A 和 B)的場景。假設企業 A 和 B 想聯合訓練一個機器學習模型,它們的業務系統分別擁有各自用戶的相關數據。此外,企業 B 還擁有模型需要預測的標籤數據。出於數據隱私保護和安全考慮,A 和 B 無法直接進行數據交換,可使用聯邦學習系統建立模型。

  • **第一部分:加密樣本對齊。**由於兩家企業的用戶羣體並非完全重合,系統利用基於加密的用戶樣本對齊技術,在A和B不公開各自數據的前提下確認雙方的共有用戶,並且不暴露不互相重疊的用戶,以便聯合這些用戶的特徵進行建模。
  • **第二部分:加密模型訓練。**在確定共有用戶羣體後,就可以利用這些數據訓練機器學習模型。爲了保證訓練過程中數據的保密性,需要藉助第三方協作者C進行加密訓練。以線性迴歸模型爲例,訓練過程可分爲以下4步:
  1. 協作者 C 把公鑰分發給 A 和 B,用以對訓練過程中需要交換的數據進行加密。
  2. A 和 B 之間以加密形式交互用於計算梯度的中間結果。
  3. A 和 B 分別基於加密的梯度值進行計算,同時 B 根據其標籤數據計算損失,並把結果彙總給 C。C 通過彙總結果計算總梯度值並將其解密。
  4. C 將解密後的梯度分別回傳給 A 和 B,A 和 B 根據梯度更新各自模型的參數。
  • 迭代上述步驟直至損失函數收斂,這樣就完成了整個訓練過程。在樣本對齊及模型訓練過程中,A 和 B 各自的數據均保留在本地,且訓練中的數據交互也不會導致數據隱私泄露。因此,雙方在聯邦學習的幫助下得以實現合作訓練模型。
  • **第三部分:效果激勵。**聯邦學習的一大特點就是它解決了爲什麼不同機構要加入聯邦共同建模的問題,即建立模型以後模型的效果會在實際應用中表現出來,並記錄在永久數據記錄機制(如區塊鏈)上。提供數據多的機構所獲得的模型效果會更好,模型效果取決於數據提供方對自己和他人的貢獻。這些模型的效果在聯邦機制上會分發給各個機構反饋,並繼續激勵更多機構加入這一數據聯邦。以上三部分的實施,既考慮了在多個機構間共同建模的隱私保護和效果,又考慮了以一個共識機制獎勵貢獻數據多的機構。所以,聯邦學習是一個「閉環」的學習機制。

聯邦學習分類

橫向聯邦學習

  • 在兩個數據集的用戶特徵重疊較多而用戶重疊較少的情況下,我們把數據集按照橫向(即用戶維度)切分,並取出雙方用戶特徵相同而用戶不完全相同的那部分數據進行訓練。這種方法叫做橫向聯邦學習。
  • 比如業務相同但是分佈在不同地區的兩家企業,它們的用戶羣體分別來自各自所在的地區,相互的交集很小。但是,它們的業務很相似,因此,記錄的用戶特徵是相同的。此時,就可以使用橫向聯邦學習來構建聯合模型。
  • 橫向聯邦學習中多方聯合訓練的方式與分佈式機器學習(Distributed Machine Learning)有部分相似的地方。分佈式機器學習涵蓋了多個方面,包括把機器學習中的訓練數據分佈式存儲、計算任務分佈式運行、模型結果分佈式發佈等。
  • 對於聯邦學習而言,首先在於橫向聯邦學習中的工作節點代表的是模型訓練的數據擁有方,其對本地的數據具有完全的自治權限,可以自主決定何時加入聯邦學習進行建模,相對地在參數服務器中,中心節點始終佔據着主導地位,因此聯邦學習面對的是一個更復雜的學習環境;其次,聯邦學習則強調模型訓練過程中對數據擁有方的數據隱私保護,是一種應對數據隱私保護的有效措施,能夠更好地應對未來愈加嚴格的數據隱私和數據安全監管環境。

縱向聯邦學習

  • 在兩個數據集的用戶重疊較多而用戶特徵重疊較少的情況下,我們把數據集按照縱向(即特徵維度)切分,並取出雙方用戶相同而用戶特徵不完全相同的那部分數據進行訓練。這種方法叫做縱向聯邦學習。

  • 比如有兩個不同機構,一家是某地的銀行,另一家是同一個地方的電商。它們的用戶羣體很有可能包含該地的大部分居民,因此用戶的交集較大。但是,由於銀行記錄的都是用戶的收支行爲與信用評級,而電商則保有用戶的瀏覽與購買歷史,因此它們的用戶特徵交集較小。
  • 縱向聯邦學習就是將這些不同特徵在加密的狀態下加以聚合,以增強模型能力的聯邦學習。目前機器學習模型如邏輯迴歸、決策樹等均是建立在縱向聯邦學習系統框架之下的。

聯邦遷移學習

  • 在兩個數據集的用戶與用戶特徵重疊都較少的情況下,我們不對數據進行切分,而可以利用遷移學習來克服數據或標籤不足的情況。這種方法叫做聯邦遷移學習。

  • 比如有兩個不同機構,一家是位於中國的銀行,另一家是位於美國的電商。由於受到地域限制,這兩家機構的用戶羣體交集很小。同時,由於機構類型的不同,二者的數據特徵也只有小部分重合。在這種情況下,要想進行有效的聯邦學習,就必須引入遷移學習,來解決單邊數據規模小和標籤樣本少的問題,從而提升模型的效果。

聯邦學習前景

  • 近年來,數據的隔離和對數據隱私的重視正成爲人工智能的下一個挑戰,但聯邦學習爲我們帶來了新的希望。 它可以在保護本地數據的同時爲多個企業建立統一的模型,從而使企業可以在以數據安全爲前提的情況下共同取勝。 本文介紹了聯邦學習的基本概念,體系結構和技術,並討論其在各種應用中的潛力。 預計在不久的將來,聯邦學習將打破行業之間的障礙,並建立一個可以安全共享數據和知識的社區, 人工智能的好處最終將帶入我們生活的每個角落。

相關鏈接

參考鏈接
https://www.jianshu.com/p/f268baa0f21e
https://zhuanlan.zhihu.com/p/93715164
https://blog.csdn.net/cao812755156/article/details/89598410

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章