天天看點

聯邦學習概念聯邦學習相關概念縱向聯邦學習系統構架安全計算計算算法

文章目錄

  • 聯邦學習相關概念
    • 聯邦學習需要達到的效果
    • 聯邦學習概念
    • 聯邦學習的分類
  • 縱向聯邦學習系統構架
  • 安全計算計算算法
    • 同态加密Homomorphic Encryption

聯邦學習相關概念

聯邦學習是為了解決資料孤島以及隐私保護和資料安全問題在多方安全計算架構上實作的機器學習算法。

聯邦學習需要達到的效果

聯邦學習概念聯邦學習相關概念縱向聯邦學習系統構架安全計算計算算法

聯邦學習概念

聯邦學習概念聯邦學習相關概念縱向聯邦學習系統構架安全計算計算算法

聯邦學習的分類

根據孤島資料的不同分布特點,提供不同的聯邦學習方案,資料分布的三種情況:

聯邦學習概念聯邦學習相關概念縱向聯邦學習系統構架安全計算計算算法

對應三種不同形式的聯邦學習方式:

聯邦學習概念聯邦學習相關概念縱向聯邦學習系統構架安全計算計算算法

橫向聯邦學習:适用于兩個資料集的使用者特征重疊較多而使用者重疊較少的情況下,把資料集按照橫向(即使用者次元)切分(跨行拼接樣本),并取出雙方使用者特征相同而使用者不完全相同的那部分資料進行訓練。Google在2017年提出了一個針對安卓手機模型更新的資料聯合模組化方案[6-7]:在單個使用者使用安卓手機時,不斷在本地更新模型參數并将參數上傳到安卓雲上,進而使特征次元相同的各資料擁有方建立聯合模型的一種聯邦學習方案

縱向聯邦學習:在兩個資料集的使用者重疊較多而使用者特征重疊較少的情況下,我們把資料集按照縱向(即特征次元)切分,并取出雙方使用者相同而使用者特征不完全相同的那部分資料進行訓練。這種方法叫做縱向聯邦學習。縱向聯邦學習就是将這些不同特征在加密的狀态下加以聚合,以增強模型能力的聯邦學習。目前,邏輯回歸模型,樹型結構模型和神經網絡模型等衆多機器學習模型已經逐漸被證明能夠建立在這個聯邦體系上,

縱向聯邦學習系統構架

聯邦學習概念聯邦學習相關概念縱向聯邦學習系統構架安全計算計算算法

第一部分:加密樣本對齊。由于兩家企業的使用者群體并非完全重合,系統利用基于加密的使用者樣本對齊技術,在A和B不公開各自資料的前提下确認雙方的共有使用者,并且不暴露不互相重疊的使用者。以便聯合這些使用者的特征進行模組化。

第二部分:加密模型訓練。在确定共有使用者群體後,就可以利用這些資料訓練機器學習模型。為了保證訓練過程中資料的保密性,需要借助第三方協作者C進行加密訓練。以線性回歸模型為例,訓練過程可分為以下4步(如圖2b所示):

 第①步:A,B ,兩方分别對參數進行初始化,協作者C把公鑰分發給A和B,用以對訓練過程中需要交換的資料進行加密;

 第②步:A和B之間以加密形式互動計算

以LR為例,A,B雙方分别計算Sum Wa Xa 和 Sum Wb Xb,

 第③步:A和B分别基于加密的梯度值進行計算,同時B根據其标簽資料計算損失,并把這些結果彙總給C。C通過彙總結果計算總梯度并将其解密。

 第④步:C将解密後的梯度分别回傳給A和B;A和B根據梯度更新各自模型的參數。

疊代上述步驟直至損失函數收斂,這樣就完成了整個訓練過程。在樣本對齊及模型訓練過程中,A和B各自的資料均保留在本地,且訓練中的資料互動也不會導緻資料隐私洩露。是以,雙方在聯邦學習的幫助下得以實作合作訓練模型。

聯邦學習概念聯邦學習相關概念縱向聯邦學習系統構架安全計算計算算法

第三部分:效果激勵。聯邦學習的一大特點就是它解決了為什麼不同機構要加入聯邦共同模組化的問題,即建立模型以後模型的效果會在實際應用中表現出來,并記錄在永久資料記錄機制(如區塊鍊)上。提供的資料多的機構會看到模型的效果也更好,這展現在對自己機構的貢獻和對他人的貢獻。這些模型對他人效果在聯邦機制上以分給各個機構回報,并繼續激勵更多機構加入這一資料聯邦。

以上三個步驟的實施,即考慮了在多個機構間共同模組化的隐私保護和效果,有考慮了如何獎勵貢獻資料多的機構,以一個共識機制來實作。是以,聯邦學習是一個“閉環”的學習機制。

聯邦遷移學習: 在兩個資料集的使用者與使用者特征重疊都較少的情況下,我們不對資料進行切分,而可以利用遷移學習來克服資料或标簽不足的情況。這種方法叫做聯邦遷移學習。

安全計算計算算法

同态加密Homomorphic Encryption

作者:BinarySTD

連結:https://zhuanlan.zhihu.com/p/52808772

來源:知乎

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

同态加密是一種用于在不解密的情況下處理加密資料的技術。這将使敏感資料處理變得極其安全

同态加密與其他加密算法最不同的地方在于,除了要保證靜态存儲資料的安全性外,還要能支援在機密的資料上(密文)進行資料處理操作f。

同态性:明文a op b = f(a) op f(b)

Op為某種操作,比如加法,乘法,如果某個加密方案滿足a + b = f(a) + f(b), 則其具有加法同态性。

同态加密構成:

KeyGen函數:密鑰生成函數。這個函數應該由資料擁有者運作,用于産生加密資料Data所用的密鑰Key。當然了,應該還有一些公開常數PP(Public Parameter);

Encrypt函數:加密函數。這個函數也由資料擁有者運作,用Key對使用者資料Data進行加密,得到密文CT(Ciphertext);

Evaluate函數:評估函數。這個函數由第三方計算平台運作,在使用者給定的資料處理方法f下,對密文進行操作,使得結果相當于使用者用密鑰Key對f(Data)進行加密。

Decrypt函數:解密函數。這個函數由資料擁有者運作,用于解密第三方計算平台的處理的結果f(Data)。

Fully Homomorphic Encryption (FHE):HE方案支援任意給定的f函數,隻要這個f函數可以通過算法描述,用計算機實作。顯然,FHE方案是一個非常棒的方案,但是計算開銷極大,暫時還無法在實際中使用。

Somewhat Homomorphic Encryption (SWHE):這意味着HE方案隻支援一些特定的f函數。SWHE方案稍弱,但也意味着開銷會變得較小,容易實作,現在已經可以在實際中使用。

同态性來自代數領域,一般包括四種類型:加法同态、乘法同态、減法同态和除法同态。同時滿足加法同态和乘法同态,則意味着是代數同态,即全同态(Full Homomorphic)。同時滿足四種同态性,則被稱為算數同态。

對于計算機操作來講,實作了全同态意味着對于所有處理都可以實作同态性。也就是說,可以使用這個加密函數完成各種加密後的運算(加減乘除、多項式求值、指數、對數、三角函數)。而那些隻能實作部分特定操作的同态性,被稱為特定同态(Somewhat Homomorphic)。

目前全同态的加密方案主要包括如下三種類型:

基于理想格(ideal lattice)的方案:Gentry 和 Halevi 在 2011 年提出的基于理想格的方案可以實作 72 bit 的安全強度,對應的公鑰大小約為 2.3 GB,同時重新整理密文的處理時間需要幾十分鐘。

基于整數上近似 GCD 問題的方案:Dijk 等人在 2010 年提出的方案(及後續方案)采用了更簡化的概念模型,可以降低公鑰大小至幾十 MB 量級。

基于帶擾動學習(Learning With Errors,LWE)問題的方案:Brakerski 和 Vaikuntanathan 等在 2011 年左右提出了相關方案;Lopez-Alt A 等在 2012 年設計出多密鑰全同态加密方案,接近實時多方安全計算的需求。

繼續閱讀