<code id="hhktd"></code>
    <ins id="hhktd"><option id="hhktd"></option></ins>
  • <ins id="hhktd"><video id="hhktd"><var id="hhktd"></var></video></ins>

        <tr id="hhktd"><track id="hhktd"></track></tr>
        <menuitem id="hhktd"><acronym id="hhktd"></acronym></menuitem>

        1. <ins id="hhktd"><video id="hhktd"></video></ins>
        2. 侵權投訴
          訂閱
          糾錯
          加入自媒體

          聯邦學習應用思考:需求還是方法?

          2021-12-01 17:20
          來源: 粵訊

          徐葳 清華大學交叉信息研究院長聘副教授、華控清交首席科學家

          前言:

          目前,“聯邦學習”這個術語在市場上存在很多認識上的誤解和混淆,主要原因是其既在廣義上表達了保護數據前提下聯合多方數據訓練模型的需求,又在狹義上表示了一類通過暴露部分數據信息來提升訓練性能的方法。有趣的是,作為廣義上的需求,它強調為了保護數據安全,可以犧牲部分準確性;但作為狹義的方法,它反而強調通過犧牲安全來換取性能提升。

          一、初心:聯邦學習要達到的目標是什么?

          1.聯邦學習的廣義定義:解決聯合建模的問題或需求

          人們在進行機器學習任務時發現必須面臨的一個關鍵問題是:需要更多的數據從而才能得到一個好的模型。而更多的數據意味著:(1)更多樣本點,以便減少模型偏差(bias),提升模型質量;(2)一個標簽(例如一個用戶是否還錢);(3)更多維度,以便更全面刻畫一個對象。但是這些額外數據經常由不同人持有,并且可能很敏感,沒人愿意拿出來共享、生怕暴露這些數據(例如用戶身份和某些行為特征),但是大家還都希望從訓練出來的更好的模型中獲益。

          上述這一類問題,就是“聯邦學習”的需求。從廣義上講,能夠解決這一需求的機器學習方法,即多個數據方聯合訓練一個機器學習模型的技術,都叫做“聯邦學習”。因此,廣義上的聯邦學習是一個問題,或者說是需求,而不是一種技術或解決方案。

          事實上,這一需求在多年前就已有解決方案。在密碼理論領域,采用多方數據訓練模型是多方安全計算技術的一個具體應用,理論上講我們可以用一個“多方計算”(也叫多方安全計算,Multi-party Computation, MPC)的方案來描述整個訓練過程;在數據挖掘領域,人們很早就提出了如k-匿名、差分隱私等方法;硬件領域,人們試圖做出更可信的硬件芯片來保證數據不泄露;近期人們也嘗試采取遷移學習等手段,試圖隱藏和個人相關的敏感信息。

          2.聯邦學習的狹義定義:一類特定算法

          然而現在市場上,聯邦學習這個術語被局限于一個更狹義的定義,F在人們普遍認為,聯邦學習是和多方安全計算、可信執行環境、差分隱私等并列的一種隱私保護計算技術,這實際上采用的是一種狹義的定義。這種定義下的聯邦學習特指一類算法,其本質特征是在多個數據控制方運行,能夠讓各數據方之間只交換了某些模型訓練的中間數據。如果我們假設這些被交換的數據不包含敏感信息,那么這個模型的訓練過程就能達到我們想要的數據隱私保護目標。然而這個假設是否真實成立,目前尚無理論上的證明。

          狹義的聯邦學習,作為一種獨特的方法提出,其主要動機是試圖在此前的幾種方法中取得一種平衡,即解決如下問題:(1)多方計算等密碼學方法計算和通訊開銷高;(2)k-匿名暴露信息太多;(3)在原始數據上加入差分隱私需要的噪聲,對于多次迭代的機器學習結果的準確度影響太大;(4)硬件可信程度未知。也就是說,狹義聯邦學習的主要目標是試圖通過有選擇地暴露一些信息,從而實現訓練精度、訓練速度和數據隱私安全的平衡。本文下述“聯邦學習”均是基于這一狹義意義上的方法。

          二、設計:聯邦學習理論上的挑戰

          聯邦學習相比之前的隱私保護計算技術,其本質特征是暴露某些中間數據,并假設了這些數據不泄露敏感信息。然而越來越多的研究發現,這一假設未必成立。

          1.聯邦學習真的能做到“數據不動”么?

          聯邦學習過程中雖然沒有發送任何原始數據,但它暴露的數據主要有兩類:一是模型迭代訓練中每輪的中間結果,二是在縱向聯邦學習中暴露的雙方數據交集中的元素。這一節我們著重探討第一類數據暴露,第二類留到第三節中討論。

          一個常見的認知誤區是,不發送原始數據,做到“數據不動”就是安全的。這里實際有個非常強的安全假設,即聯邦學習每次迭代中暴露的中間結果,不會泄露有價值的信息。很多工作都證明了這個安全假設是不容易達到的。

          聯邦學習每次迭代均會暴露中間結果,這一中間結果可能是每方提供的梯度,或者是多方聚合的梯度,或者是一個本輪結束之后的模型中間結果。這里的核心問題在于,中間結果是一個高維的向量或矩陣,在很多模型里,這個中間結果都缺少可解釋性。一個參與方可以根據這些暴露的結果以及結果之間的差異性去推算一些不應該暴露的信息[1][2][3][4]。中間結果具體會泄露什么信息很難確定,因此其安全性無法得到證明。有一些針對這一問題“打補丁”的方法,例如利用密碼學方法來計算梯度聚合,但無論如何加密,都不可避免地會向各方暴露一個本輪迭代訓練的中間結果,否則就失去了這一方法的核心價值,即通過暴露這個結果,減少加密,從而平衡計算代價與安全。

          也有一些方法利用差分隱私來給中間結果加一些噪聲,但是這對于最終訓練結果的準確性影響也是未知的。當然,一個觀察是,參與方數量的增多會緩解噪音對準確性的影響。Google最初提出聯邦學習應用在2C場景中,含有大量客戶端,參與方數量龐大,每個參與方加上一些專門設計的噪聲(噪聲會互相抵消),從而同時保證了數據隱私安全及計算準確性。但是這一方法對于只有少量參與方的情況是否有效,以及究竟可滿足多少參與方的模型訓練的準確性,往往與具體數據和模型相關,通用的方法仍有待探索。

          更為深層次的問題是,聯邦學習所專注的數據隱私保護一般定義在“原始數據不暴露”的層面上。然而實踐中需要保護的數據特定使用價值,很多情況下在于統計信息,例如某企業的平均薪資水平、訂單數,某金融機構的投資總額等。聯邦學習過程中交換的高維向量,顯然泄露了大量的統計信息,至于具體泄露了哪些統計信息,以及泄露這些信息的危害,一般與具體場景有關,因此非常難以判斷,極易形成“虛假的安全感”。無數信息安全領域的實踐證明,虛假的安全比沒有安全造成的后果更加嚴重。

          緩解該問題(當然不是根本性的徹底解決)的一種思路是,定義一種通用的明、密文混合計算方式,并根據不同的場景需求(安全需求、性能需求等)靈活地選擇可以暴漏什么,以及必須隱藏什么。也就是說,即使對于同一種機器學習算法,由于應用場景不同,也需要對算法的明文計算部分和密文計算部分進行適配性的規劃和調整。

          2.上述聯邦學習中各參與方真的能誠實地參與計算么?

          聯邦學習和很多隱私保護計算技術都基于一種“半誠實”的假設。從直觀上看,半誠實假設意味著參與方雖然有可能偷看或者泄露別人的數據,但是他們會遵守協議,即不會對數據造假。理論上,半誠實是一個安全假設,但在實踐中,我們應該有切實有效的機制來引導和制約使各參與方遵守協議。其中重要的一類方法是通過監管,讓不誠實的行為被發現和被舉證,因此大家就不敢作假;另一類方法是讓不誠實的行為造成的不良后果盡量少(例如只是讓計算不能進行下去了,或者大家都知道結果是錯的等等)。

          但遺憾的是,聯邦學習的分布式特點以及安全聚合機制往往讓數據造假變得更容易,更難被發現和舉證[5][6][7][8][9]。傳統數據挖掘算法無論是檢測數據造假還是容忍錯誤數據,均依賴于數據中內生的冗余信息,以及人們的先驗知識。由于聯邦學習交換的中間信息是高度凝練的統計信息,數據中缺乏冗余,又缺乏可解釋性,這些被傳遞的中間結果是否是捏造的假數據,難以確認。另外,攻擊者亦可通過加工假數據以逃避異常值檢測[10],從而對全局模型進行投毒攻擊。由于當前市面上許多方法使用了一種僅支持加法操作的半同態加密算法來保護各方提供的梯度,造假的檢測能力進一步喪失。退一步說,即使我們發現了造假行為,造假方完全可以抵賴說這些假數據就是自己的數據隨機采樣算出來的,理論上很難區分是其惡意造假,還是隨機抽樣造成的噪聲。

          更為嚴重的是,每方的中間結果對于模型的訓練影響都很大,因此每一方都可以通過構造“有毒數據”來控制整個模型的訓練結果。例如在模型中留一個后門(即某些特定樣本的推理完全受惡意一方的控制)。相比于傳統的模型訓練,在聯邦學習過程中人們更難舉證這一后門是哪一方下毒造成的。許多研究已經證明,這樣的攻擊在橫向聯邦學習中廣泛存在[10][11][12][13][14],此類攻擊方法在縱向聯邦學習中也已經被發現。

          《周易》上說,“慢藏誨盜”,意思是不把東西藏好了,就是教唆別人偷盜。我們認為一個技術不應該讓造假變得更容易、更難被發現,因此聯邦學習在這一方面仍需要很多改進。

          從監管角度看,目前緩解上述問題的一種思路是,采取一些方法來強化聯邦學習的中心管控功能,具體包括:(1)除了參數聚合,將更多的計算邏輯納入中心化可監管的范疇;(2)使用支持密文復雜計算邏輯的密碼學技術,如秘密分享(secret sharing),這樣可以最大程度上通過密文來分析數據的“造假”特征;(3)引入第三方獨立行使計算或監管職責,鼓勵針對高價值、敏感數據的場內流通方式,而不僅僅在聯邦學習參與方之間進行計算;(4)使用存證機制,增強事后回溯和舉證能力。

          3.聯邦學習真的促進了數據的公平共享么?

          在一個公平的場景中,參與聯邦學習的各方,希望共同獲得一個模型,雙方要么獲得了相同的價值,或者獲得價值少的一方能夠獲得額外的補償。然而,聯邦學習其實并不能達到這個效果,反而會導致數據多的一方獲益更大。

          當前國內聯邦學習主要應用場景是縱向聯邦學習,縱向聯邦學習的第一步是隱私求交(PSI),會將交集結果暴露出來。事實上,理論上的PSI方法,本身可以保護交集結果,但是如果不暴露交集,后續計算無法實現聯邦學習減少加密數據量的目的,因此我國業界常見做法就是把交集暴露出來。試想,一個大型互聯網公司擁有10億用戶上網數據,一個銀行擁有1000萬用戶金融數據;ヂ摼W公司根本不在乎暴露交集,因為幾乎所有客戶信息反正他已經有了,它可以通過聯邦學習獲得1000萬銀行用戶標簽,至少知道了這1000萬人是這個銀行的客戶,以后不依賴于銀行數據,互聯網平臺也可對他們進行精準營銷等等。銀行當然也知道了自己的哪些客戶是這一互聯網產品的客戶,但是這個信息顯然沒有太大價值,因為絕大多數用戶都是這個互聯網產品的用戶,這個不用訓練也知道。銀行泄露了自己客戶的信息,換來的是一個模型,而且這個模型其實也不能單獨使用,還需要輸入只有互聯網公司擁有的數據維度才能有用,所以銀行在數據上仍然存在被互聯網企業卡脖子的風險。因此這個交易顯然是不公平的。更為有趣的是,當前的市場環境下,經常是數據少的金融機構向數據多的互聯網企業付費,更加加劇了這一不公平性。因此,縱向聯邦學習技術有利于擁有大量數據的公司獲取數據量相對較小的公司的數據信息。這樣的“聯邦”,實際上成為了大公司數據壟斷的延伸,難以實現公平合作的共贏生態。

          理想的方式是,交集不暴露給雙方,在不暴露的交集上繼續完成后續機器學習過程,乃至后續推理的過程;但這樣做會完全損失聯邦學習暴露中間結果而帶來的性能優化,喪失了其特性。

          一個可行的解決方式也許是允許多種類型的參與方角色加入,促進數據生態和業務形態全面發展。比如,可以由小公司作為數據使用方提出聯合建模需求;也可以讓專門從事算法研究的參與方加入,通過貢獻算法模型獲取收益等。這樣每一方都可以貢獻自己的專長,同時也能夠使用他方的資源信息為自己服務。通過這樣不斷創新的技術應用方式,豐富業務發展模式,逐步構建良性循環的數據生態環境。

          三、實現:聯邦學習在系統工程與運維上的挑戰

          目前聯邦學習在工程上的架構是一種多個數據源直接互聯進行計算的模式。這一模式給現有的私有云和企業網絡的部署帶來了額外挑戰。這些挑戰具體體現在網絡安全、算力可擴展性、易用性和可監管性等方面。

          1.算力與原始數據的耦合,帶來部署時網絡安全與算力擴展的挑戰

          聯邦學習的主要算力都與原始數據源部署在一起。這里存在兩個問題,即企業防火墻配置的問題和算力可擴展性的問題。

          一般來說,大數據平臺位于企業內部的后臺,應該部署在企業防火墻內,不應從外網直接訪問。聯邦學習的軟件模塊需要直接訪問原始明文大數據(端上的迭代需要在明文上進行),因此也需要進行企業內網的部署。然而,在訓練過程中,不同數據源方的軟件模塊需要頻繁互相通訊,因此需要在防火墻上對外暴露網絡端口。這一部署模式給企業的網絡和信息安全帶來了額外挑戰。另一種部署方式是將聯邦學習軟件模塊部署在企業防火墻外的DMZ區域(demilitarized zone,隔離區)中,讓聯邦學習軟件跨過防火墻與內網中的大數據系統交換任務。這一部署模式安全性略好,但仍然需要給一個處于較低安全區(DMZ)中,且暴露網絡端口的聯邦學習模塊授權許多內網大數據平臺的訪問權限,一旦這個模塊被黑客攻破,后果會非常嚴重。

          另外,聯邦學習主要計算都發生在數據源端,數據源需要的算力與其數據量和計算復雜度成正比。因此每個參與方都需要部署相應的計算能力,具備計算資源的可擴展性。聯邦學習的穩定運行,也依賴于每一參與方的計算執行可靠性。這種跨多個參與方的計算資源調度和容錯機制,與通常的云計算等有顯著差別。目前尚缺乏這方面的可靠的系統設計方案。

          一種解決思路是,將一部分計算功能獨立出來(比如參數聚合功能),在額外的代理計算方上運行。這樣一來,各數據源方只需主動向代理計算方推送中間參數并適時獲取聚合結果,而無需暴漏自身的網絡接口。另外,將算力獨立出來,有利于充分利用云計算的擴展性和容錯性,而不用再依賴于各數據源方的算力水平。

          2.算法、系統和業務邏輯的耦合,帶來開發門檻高,難學難懂的挑戰

          當前使用聯邦學習系統開發一個AI算法,開發者需要在提升模型準確度的同時,時刻牢記“多方”的概念,時刻關注什么信息、可以暴露什么、不可以暴露什么,時刻注意加密了什么數據,加密后的數據可以做什么處理,時刻計算傳輸數據需要多少代價。這就要求開發者同時了解密碼學、分布式計算、AI等領域知識。這樣的開發者是非常難于培養的,寫出來的程序非聯邦學習專業工程師也很難看懂,更不用說驗證其安全性。當前的聯邦學習開源代碼都只提供了核心功能,一些對于系統和數據安全缺乏理解的開發者在進行二次開發的過程中,極易忽略一些基本的安全策略配置,例如此前提到的防火墻的配置,以及聯邦學習中關于密鑰管理和分發的配置方法,從而造成虛假的安全感。

          造成這一問題的根源在于,目前聯邦學習軟件的開發接口,抽象層級不夠高,把太多的實現細節暴露給開發者。這當然有工程成熟度的原因,但更深層次的原因是,為了應對我們在第二節中提到的聯邦學習的安全問題,導致現在聯邦學習的實現上都打上了多種安全補丁。一個常見的補丁方式是結合一些密碼學方法來掩蓋一些梯度,例如半同態加密,但這些密碼學方法都有比較復雜的密鑰管理機制的要求,并且只能進行一些特定操作(例如加法)。因此許多算法都需要圍繞這些密碼學方法在進行特定的改進,因此導致了更為復雜的軟件接口設計。如何利用更通用的密碼計算方法,定義一套抽象的開發接口,使得AI算法設計人員和業務人員不用再去關心系統底層的技術,是一個聯邦學習亟待解決的工程挑戰。

          一個可推薦的實現思路是,逐層級構建算法體系,對外開放友好的編程接口。具體地講,在底層將基礎的密碼學協議進行封裝,構建基本的密碼操作指令集,支持密文計算引擎以及它與明文計算間的轉換。這樣,聯邦學習算法的開發人員,可同時面向明文和密文開發并提供算法函數庫,而業務邏輯開發人員不僅可以直接引用這些算法庫解決問題,而且可以像修改明文算法庫一樣查驗、分析和修改這些聯邦學習算法,而不需要任何的密碼或者聯邦學習的專門知識,就像直接在明文數據上開發大數據算法一樣。在運行時,可定義開發者自主編程接口和IDE,通過配置數據源,IDE可自動適配程序中的數據指向,使得開發者就像在一個數據源(可稱為“虛擬的數據中心”)上開發一樣。

          3.P2P架構、半同態加密與參數聚合算法的耦合,帶來數據監管的挑戰

          監管在數據流通中非常重要。監管不僅僅是為了防止數據濫用對社會造成危害,同時也是避免數據造假和數據投毒的重要手段。

          然而,聯邦學習的系統和算法都部署在各個數據源方,之間交換的數據全部通過加密傳輸,即使有一些中心化聚合中間結果的架構設計,這個中心化聚合節點也僅僅是在中間結果上做了很簡單的匯聚計算(例如求和),并不可能知曉各方在進行什么樣的數據處理,也更無法實現計算過程的存證。因此,一個聯邦學習的算法是否做了它聲稱的計算,只有參與方自己才知道(而且只知道自己是否做了正確的事情,不知道對方是怎么做的)。這樣的系統會導致在它上面進行的明文數據的直接交易(即打著隱私計算的幌子做明文數據交易)更難被發現和監管。如果采用可驗證計算等手段對P2P系統進行監管,會造成非常大的額外開銷。因此,如何做到對數據使用可監管的聯邦學習,在技術和工程上都是很大的挑戰。其根源是,參數聚合階段只能做加法(目前由于全同態計算性能限制,只能選擇半同態加密算法),因此參數聚合服務器這個最適合履行監管責任的一方,沒有能力分析它所處理的數據。

          解決上述問題的一個途徑是采用支持通用密文計算的代理計算架構,在密文上進行數據特征分析。代理計算的通用計算功能越強大,對數據分析面就越大,所能實現的監管力度就越強。另外,為了防止參與方超范圍使用其他參與方的數據,應建立多方計算合約機制,由參與計算的各方在計算開始前就數據的具體使用目的和方式簽訂合約進行授權,各方嚴格按照計算合約執行,并對計算合約和執行過程進行存證,保證事后可回溯、可審計、可舉證,從而防止數據濫用。

          四、總結:需求還是方法?

          綜上所述,目前,“聯邦學習”這個術語在市場上存在很多認識上的誤解和混淆,主要原因是其既在廣義上表達了保護數據前提下聯合多方數據訓練模型的需求,又在狹義上表示了一類通過暴露部分數據信息來提升訓練性能的方法。有趣的是,作為廣義上的需求,它強調為了保護數據安全,可以犧牲部分準確性;但作為狹義的方法,它反而強調通過犧牲安全來換取性能提升。

          因此,作為行業用戶,選擇是不是存在“聯邦學習”的需求(也叫做數據融合計算、數據價值流通的需求),是一個純粹的業務問題,其判斷標準是數據價值流通能否帶來業務價值;在這一需求基礎上,是不是要選用狹義的“聯邦學習”方法和系統來滿足這個需求,是個純粹的IT技術和安全合規問題,需要考慮和平衡的是數據的敏感性、泄露的代價,和進行數據保護所需的技術成本。

          也許,這樣才能回歸到我們探索聯邦學習的初心。

          參考文獻:

          [1] Zhu, Ligeng, and Song Han. "Deep leakage from gradients." Federated learning. Springer, Cham, 2020. 17-31.

          [2] Geiping, Jonas, et al. "Inverting Gradients--How easy is it to break privacy in federated learning?." arXiv preprint arXiv:2003.14053 (2020).

          [3] Lyu, Lingjuan, Han Yu, and Qiang Yang. "Threats to federated learning: A survey." arXiv preprint arXiv:2003.02133 (2020).

          [4] Zhao, Bo, Konda Reddy Mopuri, and Hakan Bilen. "idlg: Improved deep leakage from gradients." arXiv preprint arXiv:2001.02610 (2020).

          [5] Bonawitz, Keith, et al. "Practical secure aggregation for privacy-preserving machine learning." proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017.

          [6] Kairouz, Peter, et al. "Advances and open problems in federated learning." arXiv preprint arXiv:1912.04977 (2019).

          [7] Melis, Luca, et al. "Exploiting unintended feature leakage in collaborative learning." 2019 IEEE Symposium on Security and Privacy (SP). IEEE, 2019.

          [8] Nasr, Milad, Reza Shokri, and Amir Houmansadr. "Comprehensive privacy analysis of deep learning: Stand-alone and federated learning under passive and active white-box inference attacks." (2018).

          [9] Bagdasaryan, Eugene, et al. "How to backdoor federated learning." International Conference on Artificial Intelligence and Statistics. PMLR, 2020.

          [10] Bhagoji, Arjun Nitin, et al. "Analyzing federated learning through an adversarial lens." International Conference on Machine Learning. PMLR, 2019.

          [11] Sun, Ziteng, et al. "Can you really backdoor federated learning?." arXiv preprint arXiv:1911.07963 (2019).

          [12] Xie, Chulin, et al. "Dba: Distributed backdoor attacks against federated learning." International Conference on Learning Representations. 2019.

          [13] Wang, Hongyi, et al. "Attack of the tails: Yes, you really can backdoor federated learning." arXiv preprint arXiv:2007.05084 (2020).

          [14] Wang, Zhibo, et al. "Beyond inferring class representatives: User-level privacy leakage from federated learning." IEEE INFOCOM 2019-IEEE Conference on Computer Communications. IEEE, 2019.

          聲明: 本文系OFweek根據授權轉載自其它媒體或授權刊載,目的在于信息傳遞,并不代表本站贊同其觀點和對其真實性負責,如有新聞稿件和圖片作品的內容、版權以及其它問題的,請聯系我們。

          發表評論

          0條評論,0人參與

          請輸入評論內容...

          請輸入評論/評論長度6~500個字

          您提交的評論過于頻繁,請輸入驗證碼繼續

          暫無評論

          暫無評論

          安防 獵頭職位 更多
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          无码人妻精品一区二区三区99
          <code id="hhktd"></code>
          <ins id="hhktd"><option id="hhktd"></option></ins>
        3. <ins id="hhktd"><video id="hhktd"><var id="hhktd"></var></video></ins>

              <tr id="hhktd"><track id="hhktd"></track></tr>
              <menuitem id="hhktd"><acronym id="hhktd"></acronym></menuitem>

              1. <ins id="hhktd"><video id="hhktd"></video></ins>