標題:Federated Machine Learning: Concept and Applications
作者:Qiang Yang, Yang Liu, Tianjian Chen, Yongxin Tong
發(fā)表期刊:ACM Transactions on Intelligent Systems and Technology (TIST) Volume 10 Issue 2, Article No. 12, January 2019
之前已經(jīng)大概讀了一遍补履,為了做這個筆記斋否,總體而言使用谷歌翻譯完成的杯缺。
- Introduction
- An overview of federated learning
- difinition of federated learning
- privacy of federated learning
- a categorization of federated learning
- architecture for a federated learning system
- Related works
- privacy-preserving machine learning
- federated learning vs. distributed machine learning
- federated learning vs. edge computing
- federated learning vs. federated database systems
- Applications
- Federated learning and data alliance of enterprises
- Conclusions and prospects
Introduction
當今的AI仍然面臨兩個主要挑戰(zhàn)坑填。 一是在大多數(shù)行業(yè)中,數(shù)據(jù)以孤立的孤島形式存在躺屁。 另一個是加強數(shù)據(jù)隱私和安全性。 我們?yōu)檫@些挑戰(zhàn)提出了一種可能的解決方案:安全的聯(lián)邦學習。 除了Google在2016年首次提出的聯(lián)邦學習框架之外谨朝,我們還引入了一個全面的安全聯(lián)邦學習框架,其中包括水平聯(lián)邦學習甥绿,垂直聯(lián)邦學習和聯(lián)合轉(zhuǎn)移學習字币。 我們提供聯(lián)邦學習框架的定義,體系結(jié)構(gòu)和應用程序妹窖,并提供有關該主題的現(xiàn)有著作的全面概述纬朝。 另外,我們建議在基于聯(lián)盟機制的組織之間建立數(shù)據(jù)網(wǎng)絡骄呼,作為一種有效的解決方案共苛,使知識可以在不損害用戶隱私的情況下進行共享。
2016年是人工智能(AI)走向成熟的一年蜓萄。 隨著AlphaGo [59]擊敗人類頂尖的Go選手隅茎,我們真正見證了人工智能(AI)的巨大潛力,并開始期望在許多應用中使用更復雜嫉沽,最先進的AI技術辟犀,包括無人駕駛汽車,醫(yī)療保健绸硕, 如今堂竟,人工智能技術正在幾乎每個行業(yè)和各行各業(yè)中展示其優(yōu)勢。 但是玻佩,當我們回顧AI的發(fā)展時出嘹,不可避免的是AI的發(fā)展經(jīng)歷了幾次起伏。 人工智能會不會再下滑呢咬崔? 什么時候出現(xiàn)税稼?由于什么因素? 當前對人工智能的公共興趣部分是由大數(shù)據(jù)的可用性所驅(qū)動的:2016年垮斯,AlphaGo總共使用了300,000個游戲作為培訓數(shù)據(jù)郎仆,以取得出色的成績。
有了AlphaGo的成功兜蠕,人們自然希望扰肌,像AlphaGo這樣的大數(shù)據(jù)驅(qū)動型AI能夠在我們生活的方方面面早日實現(xiàn)。但是熊杨,現(xiàn)實情況令人有些失望:除少數(shù)行業(yè)外狡耻,大多數(shù)領域的數(shù)據(jù)有限或數(shù)據(jù)質(zhì)量較差墩剖,這使得AI技術的實現(xiàn)比我們想象的要困難得多。通過跨組織傳輸數(shù)據(jù)夷狰,是否可以將數(shù)據(jù)融合到一個公共站點中岭皂?實際上,要打破數(shù)據(jù)源之間的障礙沼头,即使在許多情況下爷绘,也是非常困難的。通常进倍,任何AI項目中所需的數(shù)據(jù)都涉及多種類型土至。例如,在AI驅(qū)動的產(chǎn)品推薦服務中猾昆,產(chǎn)品賣方擁有有關產(chǎn)品的信息陶因,用戶購買的數(shù)據(jù),但沒有描述用戶的購買能力和付款習慣的數(shù)據(jù)垂蜗。在大多數(shù)行業(yè)中楷扬,數(shù)據(jù)以孤立的孤島形式存在。由于行業(yè)競爭贴见,隱私安全和復雜的管理程序烘苹,即使同一公司的不同部門之間的數(shù)據(jù)集成也面臨著巨大的阻力。幾乎不可能整合遍布全國和機構(gòu)的數(shù)據(jù)片部,否則成本很高镣衡。
同時,隨著大型公司對數(shù)據(jù)安全性和用戶隱私的妥協(xié)意識日益增強档悠,對數(shù)據(jù)隱私和安全性的重視已成為全球性的主要問題廊鸥。有關公共數(shù)據(jù)泄漏的新聞引起了公共媒體和政府的極大關注。例如辖所,F(xiàn)acebook最近的數(shù)據(jù)泄露已經(jīng)引起了廣泛的抗議[70]惰说。作為回應,世界各國都在加強保護數(shù)據(jù)安全和隱私的法律奴烙。一個示例就是歐盟于2018年5月25日實施的《通用數(shù)據(jù)保護條例》 [GDPR] [19]。GDPR(圖1)旨在保護用戶的個人隱私和數(shù)據(jù)安全剖张。它要求企業(yè)使用清晰明了的語言來達成用戶協(xié)議切诀,并授予用戶“被遺忘的權利”,即用戶可以刪除或撤回其個人數(shù)據(jù)搔弄。違反該法案的公司將面臨嚴厲的罰款幅虑。美國和中國正在制定類似的隱私和安全法案。例如顾犹,2017年頒布的《中國網(wǎng)絡安全法》和《民法通則》要求互聯(lián)網(wǎng)業(yè)務不得泄露或篡改其收集的個人信息倒庵,并且在與第三方進行數(shù)據(jù)交易時褒墨,他們需要確保擬議合同遵守法律數(shù)據(jù)保護義務。這些法規(guī)的建立顯然將有助于建立一個更加文明的社會擎宝,但也會給當今AI中普遍使用的數(shù)據(jù)交易程序帶來新的挑戰(zhàn)郁妈。
更具體地說,人工智能中的傳統(tǒng)數(shù)據(jù)處理模型通常涉及簡單的數(shù)據(jù)事務處理模型绍申,其中一方收集數(shù)據(jù)并將其傳輸?shù)搅硪环截洌硪环綄⒇撠熐謇砗腿诤蠑?shù)據(jù)。最后极阅,第三方將獲取集成數(shù)據(jù)并構(gòu)建模型胃碾,以供其他各方使用。模型通常是作為服務出售的最終產(chǎn)品筋搏。這種傳統(tǒng)過程面臨著上述新數(shù)據(jù)法規(guī)和法律的挑戰(zhàn)仆百。同樣,由于用戶可能不清楚模型的未來用途奔脐,因此交易違反了GDPR之類的法律俄周。結(jié)果,我們面臨著一個難題帖族,即我們的數(shù)據(jù)是孤立的孤島形式栈源,但是在許多情況下,我們被禁止在不同地方收集竖般,融合和使用數(shù)據(jù)進行AI處理甚垦。對于當今的AI研究人員和從業(yè)人員來說,如何合法地解決數(shù)據(jù)碎片和隔離問題是一個重大挑戰(zhàn)涣雕。
在本文中艰亮,我們概述了一種稱為聯(lián)邦學習的新方法,這是應對這些挑戰(zhàn)的一種可能的解決方案挣郭。我們調(diào)查有關聯(lián)邦學習的現(xiàn)有工作迄埃,并為全面安全的聯(lián)邦學習框架提出定義,分類和應用兑障。我們討論了聯(lián)邦學習框架如何成功地應用于各種企業(yè)侄非。在促進聯(lián)邦學習方面,我們希望將AI開發(fā)的重點從改善模型性能(這是大多數(shù)AI領域目前正在做的事情)轉(zhuǎn)移到研究符合數(shù)據(jù)隱私和安全法的數(shù)據(jù)集成方法流译。
An overview of federated learning
谷歌最近提出了聯(lián)邦學習的概念[36逞怨,37,41]福澡。他們的主要思想是基于分布在多個設備上的數(shù)據(jù)集構(gòu)建機器學習模型叠赦,同時防止數(shù)據(jù)泄漏。最近的改進集中在克服聯(lián)邦學習中的統(tǒng)計挑戰(zhàn)[60革砸,77]和提高安全性[9除秀,23]糯累。也有研究工作使聯(lián)邦學習更加個性化[13,60]册踩。以上工作全部集中在設備上的聯(lián)邦學習上泳姐,其中涉及分布式移動用戶交互,并且大規(guī)模分布中的通信成本棍好,不平衡的數(shù)據(jù)分布和設備可靠性是優(yōu)化的一些主要因素仗岸。另外,數(shù)據(jù)由用戶ID或設備ID劃分借笙,因此在數(shù)據(jù)空間中水平劃分扒怖。這方面的工作與[58]這樣的隱私保護機器學習非常相關,因為它也考慮了分散式協(xié)作學習環(huán)境中的數(shù)據(jù)隱私业稼。為了將聯(lián)邦學習的概念擴展到涵蓋組織之間的協(xié)作學習方案盗痒,我們將原始的“聯(lián)邦學習”擴展到所有保留隱私的分散式協(xié)作機器學習技術的一般概念。在[71]中低散,我們對聯(lián)邦學習和聯(lián)合轉(zhuǎn)移學習技術進行了初步概述俯邓。在本文中,我們將進一步調(diào)查相關的安全基礎熔号,并探討與其他幾個相關領域的關系稽鞭,例如多主體理論和隱私保護數(shù)據(jù)挖掘。在本節(jié)中引镊,我們提供了關于聯(lián)邦學習的更全面的定義朦蕴,其中考慮了數(shù)據(jù)分區(qū),安全性和應用程序弟头。我們還描述了聯(lián)邦學習系統(tǒng)的工作流程和系統(tǒng)架構(gòu)吩抓。
Definition of Federated Learning
假定 個數(shù)據(jù)所有者
,這些人想用自己的數(shù)據(jù)
共同訓練出一個機器學習模型赴恨。傳統(tǒng)的方法是將這些數(shù)據(jù)集合成
來訓練一個模型
疹娶。聯(lián)邦學習的目標依然是他們合作訓練一個模型
,但是
并不泄露出其數(shù)據(jù)
伦连。除此之外雨饺,我們假設模型
的精確度為
,那么對于任意
惑淳,我們應該有:
我們就說這個聯(lián)邦學習算法有 -精確度損失额港。
Privacy of Federated Learning
隱私是聯(lián)邦學習的基本屬性之一。 這就需要安全模型和分析來提供有意義的隱私保證汛聚。 在本節(jié)中锹安,我們簡要回顧并比較了用于聯(lián)邦學習的不同隱私技術短荐,并確定了防止間接泄漏的方法和潛在挑戰(zhàn)倚舀。
安全多方計算(SMC)叹哭。 SMC安全模型自然包含多個參與方,并在定義明確的仿真框架中提供安全證明痕貌,以確保完全零知識风罩,也就是說,除了輸入和輸出之外舵稠,每個參與方都不知道超升。零知識是非常需要的,但是這種期望的屬性通常需要復雜的計算協(xié)議哺徊,并且可能無法有效實現(xiàn)室琢。在某些情況下,如果提供安全保證落追,則可以認為部分知識公開是可以接受的盈滴。有可能在較低的安全性要求下用SMC建立安全性模型以換取效率[16]。最近轿钠,研究[46]使用SMC框架訓練帶有兩個服務器和半誠實假設的機器學習模型巢钓。參考文獻[33]使用MPC協(xié)議進行模型訓練和驗證,而用戶無需透露敏感數(shù)據(jù)疗垛。最先進的SMC框架之一是Sharemind [8]症汹。 Ref [44]提出了一個誠實多數(shù)的3PC模型[5,21贷腕,45]背镇,并在半誠實和惡意假設中考慮了安全性。這些作品要求參與者的數(shù)據(jù)在非沖突服務器之間秘密共享花履。
差分隱私芽世。 另一行工作使用差分隱私[18]或k-匿名[63]技術保護數(shù)據(jù)隱私[1、12诡壁、42济瓢、61]。 差分隱私妹卿,k匿名和多樣化的方法[3]涉及給數(shù)據(jù)添加噪聲旺矾,或使用歸納方法掩蓋某些敏感屬性,直到第三方無法區(qū)分個人為止夺克,從而使數(shù)據(jù)無法還原到 保護用戶隱私箕宙。 但是,這些方法的根源仍然要求將數(shù)據(jù)傳輸?shù)狡渌胤狡膛Γ⑶疫@些工作通常需要在準確性和隱私之間進行權衡柬帕。 在[23]中,作者介紹了一種針對聯(lián)邦學習的差分隱私方法,目的是通過在培訓期間隱藏客戶的貢獻來為客戶端數(shù)據(jù)增加保護陷寝。
同態(tài)加密锅很。 在機器學習過程中,還采用了同態(tài)加密[53]來通過加密機制下的參數(shù)交換來保護用戶數(shù)據(jù)的隱私性[24凤跑、26爆安、48]。 與差分隱私保護不同仔引,數(shù)據(jù)和模型本身不會被傳輸薄湿,也不會被對方的數(shù)據(jù)猜中以故。 因此,在原始數(shù)據(jù)級別泄漏的可能性很小。 最近的工作采用同態(tài)加密來集中和訓練云上的數(shù)據(jù)[75须妻,76]处铛。 在實踐中违柏,加性同態(tài)加密[2]被廣泛使用脓斩,并且需要進行多項式逼近來評估機器學習算法中的非線性函數(shù),從而在準確性和隱私性之間進行權衡[4义桂,35]找筝。
間接信息泄漏
聯(lián)邦學習的先驅(qū)作品暴露了中間結(jié)果,例如來自諸如隨機梯度下降(SGD)等優(yōu)化算法的參數(shù)更新[41慷吊,58]袖裕,但是沒有提供安全保證,這些梯度的泄漏實際上可能泄漏重要的數(shù)據(jù)信息[51]溉瓶。當與數(shù)據(jù)結(jié)構(gòu)(例如圖像像素)一起暴露時急鳄。研究人員已經(jīng)考慮了一種情況,即聯(lián)邦學習系統(tǒng)的成員之一通過允許插入后門來學習他人的數(shù)據(jù)來惡意攻擊他人堰酿。在[6]中疾宏,作者證明了有可能將隱藏的后門插入到聯(lián)合全局模型中,并提出一種新的“約束和規(guī)拇ゴ矗”模型中毒方法以減少數(shù)據(jù)中毒坎藐。在[43]中,研究人員發(fā)現(xiàn)了協(xié)作機器學習系統(tǒng)中的潛在漏洞哼绑,協(xié)作學習中不同方使用的訓練數(shù)據(jù)容易受到推理攻擊岩馍。他們表明,對抗參與者可以推斷出成員資格以及與訓練數(shù)據(jù)子集相關的屬性抖韩。他們還討論了針對這些攻擊的可能防御措施蛀恩。在[62]中,作者揭露了與不同方之間進行梯度交換相關的潛在安全問題茂浮,并提出了梯度下降方法的安全變體双谆,并表明它可以承受恒定比例的拜占庭工人壳咕。
研究人員還開始考慮將區(qū)塊鏈作為促進聯(lián)邦學習的平臺。 在[34]中顽馋,研究人員考慮了區(qū)塊鏈聯(lián)邦學習(BlockFL)架構(gòu)囱井,該架構(gòu)通過利用區(qū)塊鏈來交換和驗證移動設備的本地學習模型更新。 他們考慮了最佳的塊生成趣避,網(wǎng)絡可擴展性和健壯性問題。
A Categorization of Federated Learning
在本節(jié)中新翎,我們討論如何根據(jù)數(shù)據(jù)的分布特征對聯(lián)邦學習進行分類程帕。
令矩陣 表示每個數(shù)據(jù)所有者i持有的數(shù)據(jù)。矩陣的每一行代表一個樣本地啰,每一列代表一個特征愁拭。同時,某些數(shù)據(jù)集可能還包含標簽數(shù)據(jù)亏吝。我們將要素空間表示為X岭埠,將標簽空間表示為Y,并使用I表示樣本ID空間蔚鸥。例如惜论,在財務字段中,標簽可能是用戶的信用止喷;在營銷字段中馆类,標簽可能是用戶的購買意愿;在教育領域弹谁,Y可能是學生的學位乾巧。特征X,標簽Y和樣本ID I構(gòu)成了完整的訓練數(shù)據(jù)集(I预愤,X沟于,Y)。數(shù)據(jù)參與方的特征和樣本空間可能并不相同植康,我們根據(jù)特征和樣本ID空間中各方之間的數(shù)據(jù)分配方式旷太,將聯(lián)邦學習分為水平聯(lián)邦學習,垂直聯(lián)邦學習和聯(lián)合轉(zhuǎn)移學習销睁。圖2顯示了針對兩方場景的各種聯(lián)邦學習框架泳秀。
Horizontal Federated Learning
在數(shù)據(jù)集共享相同特征空間但樣本不同的情況下引入了水平聯(lián)邦學習或基于樣本的聯(lián)邦學習(圖2a)。例如榄攀,兩個區(qū)域銀行可能具有與其各自區(qū)域不同的用戶組嗜傅,并且它們的用戶的交集非常小。但是檩赢,它們的業(yè)務非常相似吕嘀,因此要素空間相同违寞。參考文獻[58]提出了一種協(xié)作式深度學習方案,其中參與者獨立訓練并且僅共享參數(shù)更新的子集偶房。 2017年趁曼,Google提出了用于Android手機模型更新的水平聯(lián)邦學習解決方案[41]。在該框架中棕洋,使用Android手機的單個用戶可以在本地更新模型參數(shù)挡闰,并將參數(shù)上傳到Android云,從而與其他數(shù)據(jù)所有者一起共同訓練集中式模型掰盘。還引入了一種安全的聚合方案摄悯,以在其聯(lián)邦學習框架下保護聚合的用戶更新的隱私性[9]。參考文獻[51]使用加性同態(tài)加密進行模型參數(shù)聚合愧捕,以提供針對中央服務器的安全性奢驯。
在[60]中,提出了一種多任務樣式的聯(lián)邦學習系統(tǒng)次绘,以允許多個站點完成單獨的任務瘪阁,同時共享知識并維護安全性。他們提出的多任務學習模型還可以解決高通信成本邮偎,麻煩和容錯問題管跺。在[41]中,作者提議建立一個安全的客戶端-服務器結(jié)構(gòu)禾进,在該結(jié)構(gòu)中伙菜,聯(lián)邦學習系統(tǒng)按用戶劃分數(shù)據(jù),并允許在客戶端設備上構(gòu)建的模型在服務器站點上進行協(xié)作以構(gòu)建全局聯(lián)合模型命迈。建立模型的過程可確保沒有數(shù)據(jù)泄漏贩绕。同樣,在[36]中壶愤,作者提出了一些方法來提高通信成本淑倾,以促進基于分布在移動客戶端上的數(shù)據(jù)的集中模型的訓練。最近征椒,提出了一種稱為“深度梯度壓縮”的壓縮方法[39]娇哆,以在大規(guī)模分布式訓練中大大減少通信帶寬。
我們將橫向聯(lián)邦學習總結(jié)為:
安全定義勃救。 水平聯(lián)邦學習系統(tǒng)通常假設誠實的參與者和針對誠實但好奇的服務器的安全性[9碍讨,51]。 也就是說蒙秒,只有服務器才能損害數(shù)據(jù)參與者的隱私勃黍。 這些作品中已提供安全證明。 最近晕讲,還提出了考慮惡意用戶的另一種安全模型[29]覆获,這帶來了額外的隱私挑戰(zhàn)马澈。 在培訓結(jié)束時,通用模型和整個模型參數(shù)將向所有參與者公開弄息。
Verical Federated Learning
已經(jīng)提出了針對垂直劃分的數(shù)據(jù)的隱私保護機器學習算法痊班,包括合作統(tǒng)計分析[15],關聯(lián)規(guī)則挖掘[65]摹量,安全線性回歸[22涤伐、32、55]缨称,分類[16]和梯度下降[68]凝果。最近,參考文獻[27具钥,49]提出了一種垂直聯(lián)邦學習方案,以訓練隱私保護邏輯回歸模型液兽。作者研究了實體分辨率對學習性能的影響骂删,并將泰勒逼近應用于損失函數(shù)和梯度函數(shù),以便可以將同態(tài)加密用于隱私保護計算四啰。
垂直聯(lián)邦學習或基于特征的聯(lián)邦學習(圖2b)適用于兩個數(shù)據(jù)集共享相同的樣本ID空間但特征空間不同的情況宁玫。例如,考慮在同一城市中的兩家不同的公司柑晒,一家是銀行欧瘪,另一家是電子商務公司。他們的用戶集可能包含該地區(qū)的大多數(shù)居民匙赞,因此他們的用戶空間相交很大佛掖。但是,由于銀行記錄了用戶的收支行為和信用等級涌庭,并且電子商務保留了用戶的瀏覽和購買歷史芥被,因此它們的功能空間大不相同。假設我們希望雙方都有一個基于用戶和產(chǎn)品信息的產(chǎn)品購買預測模型坐榆。
垂直聯(lián)邦學習是聚合這些不同特征并以保護隱私的方式計算訓練損失和梯度的過程拴魄,以使用雙方的數(shù)據(jù)共同構(gòu)建模型。在這種聯(lián)邦機制下席镀,每個參與方的身份和地位都是相同的匹中,聯(lián)邦系統(tǒng)幫助每個人建立“共同財富”策略,這就是為什么該系統(tǒng)被稱為“聯(lián)邦學習”豪诲。因此顶捷,在這樣的系統(tǒng)中,我們具有:
安全定義屎篱。 垂直聯(lián)邦學習系統(tǒng)通常假設誠實但好奇的參與者焊切。 例如扮授,在兩黨的情況下,兩黨是無沖突的专肪,并且最多只有其中之一受到對手的妥協(xié)刹勃。 安全性定義是,攻擊者只能從其損壞的客戶端中學習數(shù)據(jù)嚎尤,而不能從其他客戶端中學習超出輸入和輸出所顯示內(nèi)容的數(shù)據(jù)荔仁。 為了促進兩方之間的安全計算,有時會引入半誠實的第三方(STP)芽死,在這種情況下乏梁,假定STP不與任何一方串通。 SMC為這些協(xié)議提供了正式的隱私證明[25]关贵。 在學習結(jié)束時遇骑,每一方只保留與其自身功能相關的模型參數(shù),因此在推理時揖曾,兩方還需要協(xié)作以生成輸出落萎。
Federated Transfer Learning (FTL)
聯(lián)合轉(zhuǎn)移學習適用于兩個數(shù)據(jù)集不僅在樣本上而且在特征空間上都不同的情況。 考慮兩個機構(gòu)炭剪,一個是位于中國的銀行练链,另一個是位于美國的電子商務公司。 由于地理位置的限制奴拦,兩個機構(gòu)的用戶群之間的交叉點很小媒鼓。 另一方面,由于業(yè)務不同错妖,雙方的特征空間只有一小部分重疊绿鸣。 在這種情況下,可以應用轉(zhuǎn)移學習[50]技術為聯(lián)合之下的整個樣本和特征空間提供解決方案(圖2c)暂氯。 特別地枚驻,使用有限的公共樣本集學習兩個特征空間之間的共同表示,然后將其應用于獲得僅具有一側(cè)特征的樣本的預測株旷。 FTL是現(xiàn)有聯(lián)邦學習系統(tǒng)的重要擴展再登,因為它處理的問題超出了現(xiàn)有聯(lián)邦學習算法的范圍:
安全定義。 聯(lián)邦轉(zhuǎn)移學習系統(tǒng)通常涉及兩個方面晾剖。 如下一節(jié)將顯示的锉矢,其協(xié)議類似于垂直聯(lián)邦學習中的協(xié)議,在這種情況下齿尽,可以在此處擴展垂直聯(lián)邦學習的安全性定義沽损。
Acchitecture for a federated learning sysmte
在本節(jié)中,我們說明了聯(lián)邦學習系統(tǒng)的一般體系結(jié)構(gòu)的示例循头。 請注意绵估,水平和垂直聯(lián)邦學習系統(tǒng)的體系結(jié)構(gòu)在設計上有很大的不同炎疆,我們將分別介紹它們。
Horizontal Federated Learning
圖3顯示了水平聯(lián)邦學習系統(tǒng)的典型體系結(jié)構(gòu)国裳。在該系統(tǒng)中形入,具有相同數(shù)據(jù)結(jié)構(gòu)的k個參與者借助參數(shù)或云服務器協(xié)作學習機器學習模型。 一個典型的假設是缝左,參與者是誠實的亿遂,而服務器是誠實但好奇的,因此渺杉,不允許任何參與者向服務器泄漏信息[51]蛇数。 這種系統(tǒng)的培訓過程通常包含以下四個步驟:
- Step 1: 參與者在本地計算訓練梯度,使用加密[51]是越,差分隱私[58]或秘密共享[9]技術掩蓋梯度的選擇耳舅,并將掩蔽的結(jié)果發(fā)送到服務器;
- Step 2: 服務器執(zhí)行安全聚合倚评,而無需了解有關任何參與的信息浦徊;
- Step 3: 服務器將匯總結(jié)果發(fā)回給參與者;
- Step 4: 參與者使用解密的漸變更新各自的模型蔓纠。
繼續(xù)執(zhí)行上述步驟辑畦,直到損失函數(shù)收斂為止吗蚌,從而完成了整個訓練過程腿倚。 這種架構(gòu)獨立于特定的機器學習算法(邏輯回歸,DNN等)蚯妇,并且所有參與者都將共享最終的模型參數(shù)敷燎。
安全分析。 如果使用SMC [9]或同態(tài)加密[51]完成梯度聚合箩言,則上述架構(gòu)被證明可以保護數(shù)據(jù)免受半誠實服務器的泄漏硬贯。 但是它可能會受到惡意參與者在協(xié)作學習過程中訓練生成對抗網(wǎng)絡(GAN)的另一種安全模型的攻擊[29]。
Vertical Federated Learning
假設公司A和公司B希望共同訓練機器學習模型陨收,并且他們的業(yè)務系統(tǒng)各自具有自己的數(shù)據(jù)饭豹。 此外,公司B還具有模型需要預測的標簽數(shù)據(jù)务漩。 出于數(shù)據(jù)隱私和安全原因拄衰,A和B無法直接交換數(shù)據(jù)。 為了確保在培訓過程中數(shù)據(jù)的機密性饵骨,需要第三方協(xié)作者C的參與翘悉。 在這里,我們假設協(xié)作者C是誠實的居触,并且不與A或B串通妖混,但甲方和B都是誠實但好奇的老赤。 受信任的第三方C是一個合理的假設,因為第三方C可以由政府等機構(gòu)扮演制市,也可以由諸如Intel Software Guard Extensions(SGX)[7]之類的安全計算節(jié)點代替抬旺。 聯(lián)邦學習系統(tǒng)由兩部分組成,如圖4所示息堂。
第1部分嚷狞。加密實體對齊。 由于兩家公司的用戶組不同荣堰,因此系統(tǒng)使用基于加密的用戶ID對齊技術(例如[38床未、56])來確認雙方的普通用戶,而A和B不會暴露各自的數(shù)據(jù)振坚。 在實體對齊期間薇搁,系統(tǒng)不會公開彼此不重疊的用戶。
第2部分渡八。加密模型訓練啃洋。 確定公共實體后,我們可以使用這些公共實體的數(shù)據(jù)來訓練機器學習模型屎鳍。 培訓過程可以分為以下四個步驟(如圖4所示):
- 步驟1:合作者C創(chuàng)建加密對宏娄,將公鑰發(fā)送給A和B;
- 步驟2:A和B加密并交換中間結(jié)果以進行梯度和損耗計算;
- 步驟3:A和B分別計算加密的梯度并添加額外的掩碼逮壁,B也計算加密的損失孵坚; A和B向C發(fā)送加密后的值;
- 步驟4:C解密并將解密的梯度和損失發(fā)送回A和B窥淆; A和B取消遮蓋漸變卖宠,相應地更新模型參數(shù)。
在這里忧饭,我們說明了使用線性回歸和同態(tài)加密作為一個例子扛伍。 要使用梯度下降方法訓練線性回歸模型,我們需要安全損耗和梯度的計算词裤。 假設學習率 刺洒,正則化參數(shù)
,數(shù)據(jù)集合
,
,模型參數(shù)
吼砂,訓練目標為:
令 逆航,那么加密之后的 loss 為:
其中,同態(tài)加密用 表示帅刊。令
纸泡,
,以及
,那么有:
類似道理女揭,令 蚤假,我們可以計算梯度為:
有關詳細步驟,請參見表1和2吧兔。在實體對齊和模型訓練過程中磷仰,A和B的數(shù)據(jù)保留在本地,并且訓練中的數(shù)據(jù)交互不會導致數(shù)據(jù)隱私泄露境蔼。注意向C泄漏的潛在信息可能會或可能不會被視為侵犯隱私灶平。為了進一步防止C在這種情況下從A或B學習信息,A和B可以通過添加加密的隨機掩碼來進一步向C隱藏其梯度箍土。因此逢享,雙方在聯(lián)邦學習的幫助下實現(xiàn)了對共同模型的共同訓練。因為在訓練過程中吴藻,當事方收到的損失和梯度與在沒有隱私約束的情況下共同建立一個在一個地方收集的數(shù)據(jù)的模型共同建立時瞒爬,他們將收到的損失和梯度完全相同,也就是說沟堡,該模型是無損的侧但。模型的效率取決于加密數(shù)據(jù)的通信成本和計算成本。在每次迭代中航罗,A和B之間發(fā)送的信息隨重疊樣本的數(shù)量而定禀横。因此,通過采用分布式并行計算技術可以進一步提高該算法的效率粥血。
安全分析柏锄。表1所示的訓練協(xié)議沒有向C透露任何信息,因為所有C獲悉的信息都是被掩蓋的梯度立莉,并且被掩蓋矩陣的隨機性和保密性得到了保證[16]绢彤。在上述協(xié)議中七问,甲方在每個步驟都學習其梯度蜓耻,但這不足以使甲根據(jù)等式8從乙學習任何信息,因為標量乘積協(xié)議的安全性基于無法解決 個未知數(shù)中的方程[16械巡,65]刹淌。在這里,我們假設樣本數(shù)量
遠大于
讥耗,其中
是特征數(shù)量有勾。同樣,乙方也無法向甲方學習任何信息古程。因此蔼卡,證明了該協(xié)議的安全性。請注意挣磨,我們假設雙方都是半誠實的雇逞。如果一方是惡意的并且通過偽造其輸入來欺騙系統(tǒng)荤懂,例如,方A僅提交具有一個非零功能的一個非零輸入塘砸,則它可以告訴該示例該功能的
值节仿。雖然它仍然不能告訴
或
,并且偏差將使下一次迭代的結(jié)果失真掉蔬,從而警告另一方終止學習過程廊宪。在訓練過程結(jié)束時,每一方(A或B)都不會理會另一方的數(shù)據(jù)結(jié)構(gòu)女轿,并且它僅獲得與自身功能相關的模型參數(shù)箭启。在推論時,雙方需要使用表2中所示的步驟來協(xié)同計算預測結(jié)果蛉迹,但這仍然不會導致信息泄漏册烈。
Federated Transfer Learning
假設在上面的垂直聯(lián)邦學習示例中,甲方和乙方只有很少的一組重疊樣本婿禽,并且我們有興趣學習甲方中所有數(shù)據(jù)集的標簽赏僧。對于重疊的數(shù)據(jù)集。為了將其覆蓋范圍擴展到整個樣本空間扭倾,我們引入了轉(zhuǎn)移學習淀零。這不會改變圖4所示的總體架構(gòu),而是會更改甲方和乙方之間交換的中間結(jié)果的細節(jié)膛壹。具體而言驾中,轉(zhuǎn)移學習通常涉及學習甲方和乙方特征之間的通用表示,并將其最小化通過利用源域參與方(在這種情況下為B)中的標簽來預測目標域參與方的標簽中的錯誤模聋。因此肩民,甲方和乙方的梯度計算與垂直聯(lián)邦學習方案中的梯度計算不同。在推論時链方,它仍然需要雙方計算預測結(jié)果持痰。
Incentives Mechanism
為了使不同組織之間的聯(lián)邦學習完全商業(yè)化,需要開發(fā)一個公平的平臺和激勵機制[20]祟蚀。構(gòu)建模型后工窍,模型的性能將在實際應用程序中體現(xiàn)出來,并且可以在永久數(shù)據(jù)記錄機制(例如前酿,區(qū)塊鏈)中記錄該性能患雏。提供更多數(shù)據(jù)的組織將會更好,而模型的有效性取決于數(shù)據(jù)提供商對系統(tǒng)的貢獻罢维。這些模型的有效性基于聯(lián)合機制分發(fā)給各方淹仑,并繼續(xù)激勵更多組織加入數(shù)據(jù)聯(lián)合會。
上述架構(gòu)的實現(xiàn)不僅考慮了多個組織之間的隱私保護和協(xié)作建模的有效性,還考慮了如何獎勵貢獻更多數(shù)據(jù)的組織匀借,以及如何以共識機制實施激勵措施取试。因此,聯(lián)邦學習是一種“閉環(huán)”學習機制怀吻。
Related Works
聯(lián)邦學習使多方可以協(xié)作構(gòu)建機器學習模型瞬浓,同時將其私人培訓數(shù)據(jù)保密。 聯(lián)邦學習作為一種新技術蓬坡,具有多個獨創(chuàng)性線程猿棉,其中一些根植于現(xiàn)有領域。 下面我們從多個角度解釋聯(lián)邦學習與其他相關概念之間的關系屑咳。
Privacy-preserving machine learning
聯(lián)邦學習可以被認為是保護隱私的分散協(xié)作機器學習萨赁,因此它與多方隱私保護機器學習緊密相關。過去兆龙,許多研究工作已致力于該領域杖爽。例如,參考文獻[17紫皇,67]提出了用于垂直分割數(shù)據(jù)的安全多方?jīng)Q策樹的算法慰安。 Vaidya和Clifton提出了用于垂直分區(qū)數(shù)據(jù)的安全關聯(lián)挖掘規(guī)則[65]砚嘴,安全k均值[66]和樸素貝葉斯分類器[64]票摇。參考文獻[31]提出了一種用于水平分割數(shù)據(jù)的關聯(lián)規(guī)則的算法。安全支持向量機算法是針對垂直分割的數(shù)據(jù)[73]和水平分割的數(shù)據(jù)[74]開發(fā)的坝咐。參考文獻[16]提出了用于多方線性回歸和分類的安全協(xié)議铃剔。參考文獻[68]提出了安全的多方梯度下降方法撒桨。上面的工作全部用于安全性多方計算(SMC)[25,72]键兜,以確保隱私凤类。
Nikolaenko等人[48]為了實現(xiàn)水平分割數(shù)據(jù)的線性回歸,使用同態(tài)加密和Yao的亂碼電路普气,實現(xiàn)了一種隱私保護協(xié)議谜疤,參考文獻[22,24]提出了一種用于垂直分割數(shù)據(jù)的線性回歸方法棋电。這些系統(tǒng)直接解決了線性回歸問題茎截。文獻[47]利用隨機梯度下降法(SGD)解決了這一問題苇侵,他們還提出了用于邏輯回歸和神經(jīng)網(wǎng)絡的隱私保護協(xié)議赶盔。最近,有人提出了采用三服務器模型的后續(xù)工作[44]榆浓。 Aono等人[4]提出了一種使用同態(tài)加密的安全邏輯回歸協(xié)議于未。 Shokri和Shmatikov [58]提出了通過交換更新參數(shù)對水平分割數(shù)據(jù)進行神經(jīng)網(wǎng)絡訓練的方法。文獻[51]使用加性同態(tài)加密來保護梯度的私密性并增強系統(tǒng)的安全性。隨著深度學習的最新進展烘浦,保護隱私的神經(jīng)網(wǎng)絡推理也收到了很多研究興趣[10抖坪,11,14闷叉,28擦俐,40,52握侧,54]蚯瞧。
Federated Learning vs Distributed Machine Learning
乍一看,水平聯(lián)邦學習與分布式機器學習有些相似品擎。分布式機器學習涵蓋了許多方面埋合,包括訓練數(shù)據(jù)的分布式存儲,計算任務的分布式操作萄传,模型結(jié)果的分布式分布等甚颂。參數(shù)服務器[30]是分布式機器學習中的典型元素。作為加速訓練過程的工具秀菱,參數(shù)服務器將數(shù)據(jù)存儲在分布式工作節(jié)點上振诬,通過中央調(diào)度節(jié)點分配數(shù)據(jù)和計算資源,從而更有效地訓練模型衍菱。對于水平聯(lián)邦學習贷揽,工作節(jié)點代表數(shù)據(jù)所有者。它具有本地數(shù)據(jù)的完全自治權梦碗,并且可以決定何時以及如何加入聯(lián)邦學習禽绪。在參數(shù)服務器中,中央節(jié)點始終負責控制洪规,因此聯(lián)邦學習面臨著更為復雜的學習環(huán)境印屁。其次,聯(lián)邦學習強調(diào)在模型訓練過程中對數(shù)據(jù)所有者的數(shù)據(jù)隱私保護斩例。保護數(shù)據(jù)隱私的有效措施可以更好地應對將來日益嚴格的數(shù)據(jù)隱私和數(shù)據(jù)安全監(jiān)管環(huán)境雄人。
像在分布式機器學習設置中一樣,聯(lián)邦學習也將需要處理非IID數(shù)據(jù)念赶。在[77]中表明础钠,使用非iid本地數(shù)據(jù),聯(lián)邦學習的性能會大大降低叉谜。作為回應旗吁,作者提供了一種類似于轉(zhuǎn)移學習的新方法來解決該問題。
Federated Learning vs Edge Computing
聯(lián)邦學習可以看作是邊緣計算的操作系統(tǒng)停局,因為它為協(xié)調(diào)和安全性提供了學習協(xié)議很钓。 在[69]中香府,作者考慮了使用基于梯度下降的方法訓練的通用機器學習模型。 他們從理論的角度分析了分布梯度下降的收斂范圍码倦,并在此基礎上提出了一種控制算法企孩,該算法確定了局部更新和全局參數(shù)聚合之間的最佳折衷,以在給定資源預算下將損失函數(shù)降至最低袁稽。
Federated Learning vs Federated Database Systems
聯(lián)合數(shù)據(jù)庫系統(tǒng)[57]是集成多個數(shù)據(jù)庫單元并整體管理集成系統(tǒng)的系統(tǒng)勿璃。提出了聯(lián)邦數(shù)據(jù)庫概念以實現(xiàn)與多個獨立數(shù)據(jù)庫的互操作性。聯(lián)邦數(shù)據(jù)庫系統(tǒng)通常使用分布式存儲來存儲數(shù)據(jù)庫單元推汽,實際上蝗柔,每個數(shù)據(jù)庫單元中的數(shù)據(jù)都是異構(gòu)的。因此民泵,就數(shù)據(jù)的類型和存儲而言癣丧,它與聯(lián)邦學習有很多相似之處。但是栈妆,聯(lián)邦數(shù)據(jù)庫系統(tǒng)在彼此交互的過程中不包含任何隱私保護機制胁编,并且所有數(shù)據(jù)庫單元對于管理系統(tǒng)都是完全可見的。此外鳞尔,聯(lián)合數(shù)據(jù)庫系統(tǒng)的重點是數(shù)據(jù)的基本操作嬉橙,包括插入,刪除寥假,搜索和合并等市框,而聯(lián)邦學習的目的是在以下前提下為每個數(shù)據(jù)所有者建立聯(lián)合模型。保護數(shù)據(jù)隱私糕韧,使數(shù)據(jù)所包含的各種價值和法律更好地為我們服務枫振。
Applications
作為一種創(chuàng)新的建模機制,它可以在不損害數(shù)據(jù)保密性和安全性的情況下萤彩,針對多方數(shù)據(jù)訓練統(tǒng)一模型粪滤,因此聯(lián)邦學習在銷售,金融和許多其他行業(yè)中很有希望雀扶,因為這些行業(yè)中的數(shù)據(jù)無法直接匯總用于訓練 由于諸如知識產(chǎn)權杖小,隱私保護和數(shù)據(jù)安全之類的因素而導致的機器學習模型。
以智能零售為例愚墓。其目的是使用機器學習技術為客戶提供個性化服務予权,主要包括產(chǎn)品推薦和銷售服務。智能零售業(yè)務涉及的數(shù)據(jù)特征主要包括用戶購買力浪册,用戶個人喜好和產(chǎn)品特征扫腺。在實際應用中,這三個數(shù)據(jù)特征可能分散在三個不同的部門或企業(yè)中议经。例如斧账,用戶的購買力可以從她的銀行存款中推斷出來谴返,而她的個人喜好可以從她的社交網(wǎng)絡中分析出來煞肾,而產(chǎn)品的特征則由電子商店記錄下來咧织。在這種情況下,我們面臨兩個問題籍救。首先习绢,為了保護數(shù)據(jù)隱私和數(shù)據(jù)安全,很難打破銀行蝙昙,社交網(wǎng)站和電子購物網(wǎng)站之間的數(shù)據(jù)障礙闪萄。結(jié)果,數(shù)據(jù)不能直接聚合以訓練模型奇颠。其次败去,存儲在三方中的數(shù)據(jù)通常是異構(gòu)的,并且傳統(tǒng)的機器學習模型無法直接在異構(gòu)數(shù)據(jù)上工作烈拒。目前圆裕,這些問題尚未通過傳統(tǒng)的機器學習方法得到有效解決,這阻礙了人工智能在更多領域的普及和應用荆几。
聯(lián)邦學習和遷移學習是解決這些問題的關鍵吓妆。首先,通過利用聯(lián)邦學習的特征吨铸,我們可以為三方構(gòu)建機器學習模型而無需導出企業(yè)數(shù)據(jù)行拢,不僅可以充分保護數(shù)據(jù)隱私和數(shù)據(jù)安全,還可以為客戶提供個性化和針對性的服務诞吱,從而實現(xiàn)互惠互利舟奠。同時,我們可以利用轉(zhuǎn)移學習來解決數(shù)據(jù)異質(zhì)性問題房维,并突破傳統(tǒng)人工智能技術的局限性鸭栖。因此,聯(lián)邦學習為我們構(gòu)建大數(shù)據(jù)握巢,人工智能的跨企業(yè)晕鹊,跨數(shù)據(jù)和跨域生態(tài)圈提供了良好的技術支持。
可以使用聯(lián)邦學習框架進行多方數(shù)據(jù)庫查詢而無需公開數(shù)據(jù)暴浦。例如溅话,假設在金融應用程序中,我們有興趣檢測多方借款歌焦,這是銀行業(yè)的主要風險因素飞几。當某些用戶惡意從一家銀行借款以支付另一家銀行的貸款時,就會發(fā)生這種情況独撇。多方借款對金融穩(wěn)定構(gòu)成威脅屑墨,因為大量此類違法行為可能導致整個金融體系崩潰躁锁。為了找到這樣的用戶而不會在銀行A和銀行B之間彼此暴露用戶列表,我們可以利用聯(lián)邦學習框架卵史。特別是战转,我們可以使用聯(lián)邦學習的加密機制,對各方的用戶列表進行加密以躯,然后在聯(lián)合身份驗證中獲取加密列表的交集槐秧。最終結(jié)果的解密給出了多方借款人的列表,而沒有將其他“好”用戶暴露給另一方忧设。正如我們將在下面看到的刁标,此操作對應于垂直聯(lián)邦學習框架。
智能醫(yī)療保健是我們預計將受益于聯(lián)邦學習技術的興起的另一個領域址晕。諸如疾病癥狀膀懈,基因序列,醫(yī)學報告之類的醫(yī)學數(shù)據(jù)非常敏感和私密谨垃,但是醫(yī)學數(shù)據(jù)很難收集启搂,并且存在于孤立的醫(yī)學中心和醫(yī)院中。數(shù)據(jù)源不足和標簽不足導致機器學習模型的性能不盡人意乘客,這成為當前智能醫(yī)療保健的瓶頸狐血。我們設想,如果所有醫(yī)療機構(gòu)聯(lián)合起來并共享其數(shù)據(jù)以形成一個大型醫(yī)療數(shù)據(jù)集易核,那么在該大型醫(yī)療數(shù)據(jù)集上訓練的機器學習模型的性能將得到顯著提高匈织。聯(lián)邦學習與遷移學習相結(jié)合是實現(xiàn)此愿景的主要方法∧抵保可以應用轉(zhuǎn)移學習來填補缺失的標簽缀匕,從而擴大可用數(shù)據(jù)的規(guī)模,并進一步提高訓練模型的性能碰逸。因此乡小,聯(lián)邦遷移學習將在智能醫(yī)療保健的發(fā)展中發(fā)揮關鍵作用,并且可能將人類保健提升到一個全新的水平饵史。
Federated Learning and Data Alliance of Enterprises
聯(lián)邦學習不僅是一種技術標準满钟,而且還是一種商業(yè)模式。當人們意識到大數(shù)據(jù)的影響時胳喷,首先想到的是將數(shù)據(jù)聚合在一起湃番,通過遠程處理器計算模型,然后下載結(jié)果以供進一步使用吭露。云計算應運而生吠撮。但是,隨著數(shù)據(jù)隱私和數(shù)據(jù)安全性的重要性日益提高讲竿,以及公司利潤與數(shù)據(jù)之間的緊密關系泥兰,云計算模型受到了挑戰(zhàn)弄屡。但是,聯(lián)邦學習的業(yè)務模型為大數(shù)據(jù)的應用提供了新的范例鞋诗。當每個機構(gòu)占用的孤立數(shù)據(jù)無法產(chǎn)生理想的模型時膀捷,聯(lián)邦學習的機制使機構(gòu)和企業(yè)無需數(shù)據(jù)交換就可以共享一個統(tǒng)一的模型。此外师脂,聯(lián)邦學習可以借助區(qū)塊鏈技術的共識機制制定公平的利潤分配規(guī)則担孔。數(shù)據(jù)擁有者江锨,無論他們擁有的數(shù)據(jù)規(guī)模如何吃警,都將被激勵加入數(shù)據(jù)聯(lián)盟并獲得自己的利潤。我們認為啄育,應該一起進行數(shù)據(jù)聯(lián)盟業(yè)務模型的建立和聯(lián)邦學習的技術機制酌心。我們還將制定各個領域的聯(lián)邦學習標準,以盡快將其投入使用挑豌。
Conclusions and Prospects
近年來安券,數(shù)據(jù)的隔離和對數(shù)據(jù)隱私的重視正成為人工智能的下一個挑戰(zhàn),但是聯(lián)邦學習為我們帶來了新的希望氓英。 它可以在保護本地數(shù)據(jù)的同時為多個企業(yè)建立統(tǒng)一的模型侯勉,從而使企業(yè)可以在以數(shù)據(jù)安全為前提的情況下共同取勝。 本文通常介紹聯(lián)邦學習的基本概念铝阐,體系結(jié)構(gòu)和技術址貌,并討論其在各種應用中的潛力。 預計在不久的將來徘键,聯(lián)邦學習將打破行業(yè)之間的障礙练对,并建立一個可以安全共享數(shù)據(jù)和知識的社區(qū),并且可以根據(jù)每個參與者的貢獻公平地分配利益吹害。 人工智能的好處將最終帶到我們生活的每個角落螟凭。
本期內(nèi)容到這里就結(jié)束了,歡迎關注公眾號《差分隱私》它呀。您的轉(zhuǎn)發(fā)螺男,是我不懈的動力。