隱私計算中的聯邦學習

WBOY
發布: 2023-04-29 22:55:05
轉載
1740 人瀏覽過

資料資產已成為產品和服務設計的關鍵工具,但是集中收集使用者資料會使個人隱私面臨風險,進而使組織面臨法律風險。從2016年開始,人們開始探索如何在用戶隱私保護下使用資料的所有權和來源,這使得聯邦學習和聯邦分析成為關注的熱點。隨著研究範圍的不斷擴大,聯邦學習已經開始應用到物聯網等更廣泛的領域。

隱私計算中的聯邦學習

那麼,什麼是聯邦學習呢?

聯邦學習是在中心伺服器或服務提供者的協調下,多個實體協作解決機器學習問題的一種機器學習設定。每個客戶端的原始資料儲存在本地,不進行交換或傳輸; 相反,使用用於即時聚合的重點資料更新來實現學習的目標。

類似地,從分散資料集的組合資訊產生分析的洞察力,稱為聯邦分析,在聯邦學習中遇到的場景同樣適用於 聯邦分析。

本文簡要介紹了聯合學習和分析中的關鍵概念,重點介紹瞭如何將隱私技術與現實世界的系統相結合,以及如何利用這些技術在新的領域透過匯總統計數據獲得社會效益,並將個人和資料保管機構的風險降至最低。

隱私計算中的聯邦學習

1. 隱私保護與聯邦學習

隱私本質上是一個多元概念,有三個關鍵的組成部分: 透明度和用戶許可; 資料最小化; 以及資料的匿名化。

透明度和使用者許可是隱私保護的基礎:,它們是使用者理解和認可其資料使用的方式。隱私權保護技術不能取代透明度和使用者許可,但是更容易推斷哪種類型的資料可以被使用或被設計排除在外 ,從而使隱私權聲明更容易理解、驗證和執行。資料使用的目標主要是產生聯邦學習的模型和計算使用者資料的度量或其他聚合統計(如聯邦分析)。

應用於聚合的數據最小化包括僅收集特定計算所需的數據,限制在所有階段都能對該數據進行訪問,儘早處理個人數據 ,並最小保留數據。也就是說,資料最小化意味著將對所有資料的存取權限制在盡可能小的人群中,通常透過安全機制來實現,例如加密,存取控制,以及安全多方計算和可信任執行環境等。

資料匿名化是指計算的最終輸出不會顯示任何個人獨有的東西。當用於匿名聚合時,任何個別使用者提供給計算的資料對最終聚合輸出的影響很小。例如,當向公眾發布聚合統計資料時,包括模型參數在內的聚合統計資料不應因聚合中是否包含特定使用者的資料而有顯著差異。

也就是說,資料最小化涉及計算的執行和資料的處理,而資料匿名化涉及計算和發布的內容。

聯邦學習在結構上體現了資料最小化。需要注意的是,資料收集和聚合在聯邦方法中是不可分割的,客戶端資料被轉換收集以便立即聚合,而分析人員無法存取每個客戶端的訊息。聯邦學習和聯邦分析是體現資料最小化實踐的一般聯邦計算模式的實例。傳統的方法是集中處理,即用資料收集取代設備上的預處理和聚合,在處理日誌資料期間,資料的最小化發生在伺服器上。

聯邦學習和聯邦分析的目標是與匿名聚合的目標一致的。使用機器學習,目標是訓練一個能夠準確預測所有使用者的模型,而不會過度擬合。同樣,對於統計查詢,目標是估計統計數據,這也不應該受到任何一個用戶數據的太大影響。

聯邦學習與差分隱私等隱私保護技術結合,可以確保發布的聚合具有足夠的匿名性。在許多情況下,資料匿名可能不適用,服務提供者直接存取個人的敏感資料是不可避免的,但是在這些互動中,服務提供者應該只為預期目的來使用資料。

2. 聯邦學習要點

聯邦學習的特點是保持了原始資料去中心化和透過聚合學習。本地產生的資料在分佈和數量上都是異質的,這使得聯邦學習與傳統的基於資料中心的分散式學習環境區分開來,後者的資料可以任意分佈和清洗,計算中的任何節點都可以存取任何資料。實際上,控制中心的作用是顯著的,並且通常是必要的,例如對於缺乏固定 IP 位址並且需要中心伺服器來通訊的行動裝置。

2.1 典型場景和應用

有兩個聯邦場景得到了特別的關注:

跨設備聯邦學習,客戶端是大量的行動裝置或物聯網設備。

跨組織的聯邦學習,客戶端通常是一個較小的組織、機構或其他資料孤島。

表1,改編自 Kairouz 等人,10總結了 FL 設定的關鍵特徵,並強調了跨裝置和跨豎井設定之間的一些關鍵差異,以及與資料中心分散式學習的對比。

跨裝置的聯邦學習已經被分別用於 Android 和 iOS 手機,用於許多應用程序,例如鍵盤預測。跨組織的聯邦學習被用於健康研究等問題。另一個正在興起的應用是金融,來自 WeBank、瑞士信貸(Credit Suisse)、英特爾(Intel)等公司的投資。

聯邦學習典型場景的特徵對比如下表所示:

跨裝置的聯邦學習 #客戶端屬性

專案 

資料中心分散式學習 

#跨組織的聯邦學習 

設定 

在大型平面資料集上訓練模型,客戶端是一個叢集或一個資料中心上的節點 

跨越資料孤島訓練模型,客戶端是不同的組織或不同地理的資料中心 

#########客戶端是海量的行動裝置或IoT裝置 ###################資料分佈 ############資料是中心儲存的,可以跨客戶端清洗和均衡。任一客戶端可以存取資料集的任一部分。 ############資料本地產生並存儲,保持了去中心化。每個客戶端不能存取其他客戶端的數據,資料不是獨立的或同質分佈的 ############資料本地產生並存儲,保持了去中心化。每個客戶端不能存取其他客戶端的數據,資料不是獨立的或同質分佈的###

編排 

「集中編排

集中編排服務但原始資料不可見

集中編排服務但原始資料不可見

分佈規模 

1~1000 

2~100 

#成萬元

######客戶端真實可信,總是參與計算,並在計算中保持狀態。 ############客戶端真實可信,總是參與計算,並在計算中保持狀態。 ############並非所有用戶端都可用,通常從可用裝置中隨機抽樣。大量客戶端在一次計算著只參與一次。 ################

2.2 聯邦學習演算法

機器學習尤其是深度學習,一般都是資料飢餓和運算密集的,因此聯合訓練品質模型的可行性還遠遠沒有達到預定的結論。聯邦學習演算法建立在經典的隨機梯度下降演算法的基礎上,該演算法被廣泛用於傳統環境下訓練機器學習模型。該模型是一個從訓練樣本到預測的函數,由模型權重向量參數化,以及一個測量預測與真實輸出之間誤差的損失函數組成。透過採樣一批訓練樣本(通常從數萬到數千) ,計算損失函數相對於模型權重的平均梯度,然後在梯度的相反方向調整模型權重。透過適當調整每次迭代的步長,即使對於非凸函數,也可以獲得具有令人滿意的收斂性。

擴展到聯邦學習,是將目前的模型權重廣播給一組隨機的客戶端,讓它們各自計算本地資料上的損失梯度,在伺服器上的客戶端上平均這些梯度,然後更新全域模型權重。然而, 通常需要更多多次迭代才能產生高精度的模型。粗略的計算表明,在聯邦學習環境下,一次迭代可能需要幾分鐘,這意味著聯邦訓練可能需要一個月到一年的時間,超出了實用性的範圍。

聯邦學習的關鍵思想是直觀的,透過在每個裝置上本地執行隨機梯度下降的多個步驟來降低通訊和啟動成本,然後減少模型更新的平均次數。如果模型在每個局部步驟之後取平均值,那麼可能太慢了; 如果模型取平均值太少,就可能會發散,而取平均值可能會產生較差的模型。

模型訓練可以簡化為聯邦聚合的應用程序,即模型梯度或更新的平均值。

2.3 典型工作流程

擁有一個可行的聯邦演算法是一個必要的起點,但是,如果要使跨裝置聯邦學習成為驅動產品團隊的有效方法,則需要更多的東西。對於跨裝置聯邦學習而言,典型的工作流程通常如下:

(1)識別問題

通常這意味著需要一個中等大小(1-50MB )設備上的模型; 設備上可用的潛在訓練資料比資料中心可用的資料更豐富或更具代表性; 有隱私或其他原因傾向於不集中資料; 訓練模型所需的回饋訊號在設備上很容易獲得。

(2)模型開發與評估

與任何機器學習任務一樣,選擇正確的模型結構和超參數(學習率、批次大小、正規化)對於機器學習的成功至關重要。在聯邦學習中,挑戰可能更大,它引入了許多新的超參數,例如,每輪參與的客戶端數量,需要執行多少本地步驟等。通常的起點是使用基於資料中心中可用代理資料的聯邦學習來模擬,並進行粗模型選擇和調優。最終的調整和評估必須使用真實設備上的聯邦訓練來進行。評估還必須以聯合方式進行: 獨立於訓練過程,候選全局模型被發送到設備,以便準確度指標可以在這些設備的本地數據集上計算並由伺服器匯總,例如每個客戶端性能的簡單平均值和直方圖都很重要。這些需求產生了兩個關鍵的基礎設施需求: (1)提供高效能的聯邦學習模擬基礎設施,允許平穩過渡到在真實設備上運行; (2)跨設備基礎設施,使其易於管理多個同時進行的訓練和評估任務。

(3)部署

一旦在步驟2中選擇了一個高品質的候選模型,該模型的部署通常遵循與資料中心訓練模型相同的程序,包括額外的驗證和測試(可能包括手動品質保證) ,與以前的生產模型進行比較的現場A/B 測試,以及分階段推出到整個設備群(可能比實際參與模型訓練的設備多出幾個數量級)。

值得注意的是,步驟2中的所有工作對參與訓練和評估的設備使用者體驗沒有影響; 使用聯邦學習進行訓練的模型不會讓使用者看到預測,除非他們完成了部署步驟。確保這種處理不會對設備造成負面影響是關鍵的基礎設施挑戰。例如,密集計算可能只在設備空閒、網路空閒上時執行。

這些工作流程為建立可伸縮的基礎架構和 API 是一項重大挑戰。

3. 聯邦計算中的隱私權保護

聯邦學習提供了各種開箱即用的隱私優勢。本著資料最小化的原則,原始資料保留在裝置上,發送到伺服器的更新集中在一個特定的目標上,且盡可能快速地聚合。特別地,沒有非聚合資料保存在伺服器上,端對端加密保護傳輸中的數據,解密金鑰和解密值都只是暫時保存在 RAM 中。與系統互動的機器學習工程師和分析師只能存取聚合資料。聚合是在聯邦方法中的基本作用,使得限制任何單一客戶對輸出的影響成為自然而然的事情,但如果目標是提供更正式的保證,例如差分隱私,那麼演算法就需要仔細設計。

雖然基本的聯邦學習方法已經被證明是可行的,並且得到了大量的採用,但是仍然遠遠不能默認使用,與公平性、準確性、開發速度和計算成本之間的內在緊張關係可能會阻礙數據最小化和匿名化方法。因此,我們需要可組合的隱私增強技術。最終,關於隱私權技術部署的決定是由產品或服務團隊在與特定領域的隱私、政策和法律專家協商後做出的。產品能夠透過可用的聯邦學習系統提供更多的隱私保護,或許更重要的是,隨著時間的推移,幫助政策專家加強隱私定義和要求。

在考慮聯邦系統的隱私特性時,考慮存取點和威脅模型是有用的。參與者可以存取實體設備或網路嗎?透過 root 或實體存取提供 FL 服務的伺服器?發布給機器學習工程師的模型和測量?最終部署的模型?當資訊流經這個系統時,潛在的惡意方的數量變化很大。因此,隱私權聲明必須評估為一個完整的端到端系統。如果沒有採取適當的安全措施來保護裝置上的原始資料或傳輸中的中間運算狀態,那麼最終部署的模型是否儲存使用者資料的保證可能無關緊要。

資料最小化透過提高安全性和最小化資料和中間結果的保留來解決設備、網路和伺服器的潛在威脅。當模型和度量被發布給模型工程師或部署到生產環境時,匿名聚合將保護個人資料不受存取這些已發布輸出的各方的影響。

3.1 聚合資料最小化

在聯邦計算的幾個點上,參與者期望彼此採取適當的操作,而且只能採取那些操作。例如,伺服器期望客戶端準確地執行他們的預處理步驟; 客戶端期望伺服器將他們的個人更新保密,直到它們被聚合; 客戶端和伺服器都期望資料分析師和已部署的機器學習模型使用者都不能提取個人資料; 等等。

保護隱私的技術支援這些跨組成部分的結構性執行,防止參與者偏離。事實上,聯邦系統本身可以被視為一種保護隱私的技術,從結構上防止伺服器存取用戶端提交的更新中沒有包含的任何客戶端資料。

以聚合階段為例。一個理想化的系統可以想像一個完全可信的第三方聚合客戶端的更新,並且只向伺服器顯示最終的聚合。實際上,通常不存在這種相互信任的第三方來扮演這個角色,但是各種技術允許 聯邦學習系統在各種條件下模擬這樣的第三方。

例如,伺服器可以在一個安全區域內運行聚合過程,這個安全區域是一個特殊構造的硬件,它不僅可以向客戶機證明它正在運行什麼程式碼,還可以確保沒有人可以觀察或篡改程式碼的執行。然而,目前,安全環境的可用性是有限的,無論是在雲端還是在消費者設備上,可用的安全環境可能只會實現一些指定的屬性領域。此外,即使在可用和功能齊全的情況下,安全環境也可能帶來額外的限制,包括非常有限的內存或速度; 容易受到通過副通道暴露的數據(例如,緩存定時攻擊) ; 難以驗證的正確性; 依賴製造商提供的認證服務(如密鑰保密) 等等。

用於多方安全計算的分散式加密協定可以協同使用來模擬可信任的第三方,而不需要專門的硬件,只要參與者的足夠誠實。雖然任意函數的多方安全計算在大多數情況下仍然是計算上的障礙,但是已經開發了聯邦環境中向量求和的專門聚合演算法,即使對觀察伺服器並控制大部分客戶端的對手也可以保護隱私,同時保持對客戶端退出計算的穩健性:

通信效率-每個客戶端的O (log n l)通信,其中n 表示用戶數量,l 表示向量長度,在廣泛的應用中,小常數產生的通訊量不到聚合通訊量的兩倍; 

計算效率-每個客戶端的O (log2n llogn)計算

密碼安全聚合協定已經在商業聯邦運算系統中部署了很多。除了私有聚合之外,隱私保護技術還可用於保護 聯邦系統的其他部分。例如,安全環境或加密技術(例如,零知識證明)可以確保伺服器可以信任客戶端已經如實地進行了預處理。甚至模型廣播階段也可以受益: 對於許多學習任務,一個單獨的客戶端可能只有與模型的一小部分相關的數據,在這種情況下,客戶端可以私下檢索模型的那一部分用於訓練,再次使用安全環境或加密技術,以確保伺服器不會了解與客戶端有相關訓練資料的模型的任何部分。

3.2 計算和驗證的匿名聚合

雖然安全環境和隱私聚合技術可以加強資料最小化,但它們並非專門用於產生匿名聚合的。例如,限制使用者對正在訓練模型的影響。事實上,學習的模型在某些情況下是會洩漏敏感資訊的。

資料匿名的標準方法是差分隱私。對於一個聚合資料庫中記錄的通用過程,差分隱私需要將任何記錄的貢獻限定在聚合上,然後加入一個適當比例的隨機擾動。例如,在差分隱私隨機梯度下降演算法中,剪切了梯度的範數,聚合了剪切後的梯度,並在每個訓練回合中添加高斯雜訊。

差分隱私演算法必然是隨機的,因此可以考慮由演算法產生的模型在特定資料集上的分佈。直觀地說,當差分隱私演算法運行在單一記錄不同的輸入資料集上時,這種模型之間的分佈是相似的。形式上,差分隱私由隱私損失參數(ε,δ)量化,其中較小的(ε,δ)對應於增加的隱私。這不僅僅是簡單地將模型的靈敏度限制在每個記錄上,透過添加與任何記錄的影響成比例的噪聲,從而確保足夠的隨機性來掩蓋任何一個記錄對輸出的貢獻。

在跨裝置聯邦學習的場景中,記錄被定義為單一使用者/客戶端的所有訓練實例。差分隱私可以是使用者級的,也可以是比例級。即使在中心化的配置中,聯邦學習演算法也非常適合用戶級隱私保證的訓練,因為它們從一個用戶的所有數據中計算出一個單一的模型更新,使得更容易綁定每個用戶對模型更新的總影響。

在跨裝置聯邦學習系統的背景下提供形式(ε,δ)保證可能特別具有挑戰性,因為所有合格使用者的集合是動態的,事先不知道,參與的使用者可能在訓練階段中的任何點退出,建立一個適用於生產型聯邦學習系統的端到端協議仍然是一個需要解決的重要問題。

在跨組織聯邦學習的場景中,隱私單元可以有不同的意義。例如,如果參與機構希望確保能夠存取模型迭代或最終模型無法確定某個特定機構的資料集是否用於該模型的訓練,則可以將記錄定義為資料孤島中的所有範例。使用者級差分隱私在跨組織設定中仍然有意義。然而,如果多個機構擁有來自同一個使用者的記錄,實施使用者級隱私可能會更具挑戰性。

過去的差分隱私資料分析主要是用於中央或可信任聚合器,其中原始資料由實現差分隱私演算法的可信任服務提供者收集。本地差分隱私避免了對完全可信的聚合器的需要,但是會導致精確度的急劇下降。

為了恢復中心化差分隱私的效用而不必依賴一個完全可信任的中央伺服器,可以使用一些新興的方法,通常稱為分散式差分隱私。目標是在伺服器看到輸出之前(以明文形式)使輸出具有不同的隱私性。在分散式差分隱私下,客戶端首先計算特定於應用程式的最小數據,用隨機雜訊輕微幹擾這些數據,並執行隱私聚合協議。然後,伺服器只能存取隱私聚合協定的輸出。單一客戶添加的噪音通常不足以為本地差分提供有意義的擔保。然而,在隱私聚合之後,隱私聚合協定的輸出是基於所有客戶端的噪音總和提供了更強的 DP 保證。根據隱私聚合協議所需的安全假設,這甚至適用於具有伺服器存取權限的人。

对于一个提供正式用户级隐私保证的算法,不仅必须将模型的灵敏度与每个用户的数据绑定在一起,而且还必须添加与该灵敏度成比例的噪声。虽然需要添加足够的随机噪声来确保差分隐私定义具有足够小的 ε 来提供强有力的保证,但是即使使用小噪声限制灵敏度也可以显著降低破译。因为差分隐私假设了一个“最坏情况的对手”,具有无限的计算和访问任意侧的信息。这些假设在实践中往往是不切实际的。因此,使用限制每个用户影响的差分隐私算法进行训练具有实质性的优势。然而,设计实用的联邦学习和联邦分析算法来实现小 ε 的保证是一个重要的研究领域。

模型审计技术可以用来进一步量化用差分隐私进行训练的优势。它们包括量化模型过度学习或罕见训练例子的程度,以及量化在何种程度上可以推断用户是否在训练期间使用该技术。这些审计技术甚至在使用大 ε 时也很有用,它们可以量化差分隐私最坏情况下的对手与计算能力和侧面信息有限的现实对手之间的差距。它们还可以作为压力测试的补充技术: 与差分隐私的正式数学声明不同,这些审计技术适用于完整的端到端系统,可能捕获软件错误或错误的参数选择。

4. 联邦分析

除了学习机器学习模型之外,数据分析师通常对将数据科学方法应用于分析本地用户设备上的原始数据感兴趣。例如,分析师可能对聚合模型度量、流行趋势和活动或地理空间位置热力图感兴趣。所有这些都可以通过使用联邦分析来完成。与联邦学习类似,联邦分析的工作方式是对每个设备的数据运行本地计算,并且只提供聚合的结果。然而,与联邦学习不同的是,联邦分析旨在支持基本的数据科学需求,如计数、平均值、直方图、分位数和其他类似 SQL 的查询。

对于一个应用程序,其中分析人员希望使用联邦分析来学习许多用户共享的音乐库中最常播放的10首歌曲。可以使用上面讨论的联邦技术和隐私技术来执行此任务。例如,客户端可以将他们听过的歌曲编码成一个长度等于库大小的二进制向量,并使用分布式差分隐私来确保服务器只能看到这些向量的一个值,给出每首歌曲有多少用户播放的 差分隐私直方图。

然而,联邦分析任务与联邦学习任务在几个方面有所不同:

联邦分析算法通常是非交互式的,并且涉及大量客户端。换句话说,与联邦学习应用不同,在一轮中拥有更多的客户是没有收益递减的。因此,在联邦分析中应用差分隐私的挑战性较小,因为每一轮可以包含大量的客户,并且需要的轮数较少。

相同的客户没有必要再次参与以后的轮次。事实上,再次参与的客户可能还会使算法的结果产生偏差。因此,一个限制任何个体可以参与的次数的基础结构可以最好地服务联邦分析任务。

联邦分析任务通常是稀疏的,这使得有效的隐私稀疏聚合成为一个特别重要的主题。

值得注意的是,尽管限制客户参与和稀疏聚合与联邦分析特别相关,但它们也可以应用于联邦学习问题。

5. 小结

联邦学习正在应用到更多类型的数据和问题领域,甚至已经被认为是隐私计算的重要方式,即面向AI的隐私保护手段,个人精力所限,本文没有涉及联邦学习中个性化、健壮性、公平性和系统实现的挑战。关于联邦学习的实践,TensorFlow Federated 或许是一个不错的起点。

以上是隱私計算中的聯邦學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!