TWI818708B - 驗證模型更新的方法 - Google Patents

驗證模型更新的方法 Download PDF

Info

Publication number
TWI818708B
TWI818708B TW111133312A TW111133312A TWI818708B TW I818708 B TWI818708 B TW I818708B TW 111133312 A TW111133312 A TW 111133312A TW 111133312 A TW111133312 A TW 111133312A TW I818708 B TWI818708 B TW I818708B
Authority
TW
Taiwan
Prior art keywords
model
update
devices
client
parameter
Prior art date
Application number
TW111133312A
Other languages
English (en)
Other versions
TW202411896A (zh
Inventor
許之凡
陳維超
黃敬倫
張明清
劉峰豪
Original Assignee
英業達股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英業達股份有限公司 filed Critical 英業達股份有限公司
Priority to TW111133312A priority Critical patent/TWI818708B/zh
Application granted granted Critical
Publication of TWI818708B publication Critical patent/TWI818708B/zh
Publication of TW202411896A publication Critical patent/TW202411896A/zh

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

聯邦學習系統包括一協調裝置及多個客戶裝置。每個客戶裝置驗證模型更新的方法如下:從協調裝置接收雜湊函數及通用模型,依據通用模型及原始資料訓練客戶模型,計算通用模型與客戶模型之間的差異作為更新參數發送至協調裝置,使協調裝置接收到多個更新參數,輸入更新參數至雜湊函數以產生雜湊值,發送雜湊值至其他客戶裝置,從而接收到多個雜湊值,加總所有雜湊值以產生信任值,從協調裝置接收協調裝置依據所有更新參數計算得到的聚合參數,輸入聚合參數至雜湊函數以產生待驗證值,當待驗證值等於信任值時,依據聚合參數更新客戶模型。

Description

驗證模型更新的方法
本發明關於聯邦學習系統,特別是一種驗證模型更新的方法。
當資料成為確保機器學習模型解決實際問題的效能的關鍵時,允許擁有不同資料的多方共同訓練模型對公眾更具吸引力。聯邦學習(Federated Learning,FL)在去中心的多模態特徵學習方面表現得越來越成功。然而,由於FL的分散式特性,安全和隱私風險威脅著整個FL架構。當協調裝置(moderator)需要評估模型並將其發佈給消費者時,就會出現另一個問題。由於協調裝置無法存取客戶裝置的私有資料,當客戶裝置停止協作時,代表性資料將丟失,導致大幅偏差的FL梯度更新和長期訓練退化。在訓練過程中記住梯度的簡單方法不是一個合適的解決方案,因為隨著迭代的進行,梯度很快就變得不具代表性。
協調裝置聚合來自客戶裝置的梯度更新。大多數現有的FL演算法假設協調裝置是值得信賴和誠實的,而且只適用於單一協調裝置的設定。然而,要求客戶裝置完全信任協調裝置代表客戶裝置端存在弱點。此外,在考慮來自個人和企業實體的資料隱私時,前述假設是強而有力的。如何保護協調裝置避免損壞(corruption)或失效(failure)的研究較少。在前一種情況,協調裝置可能沒有遵循規定的聚合程序,因此產生錯誤的模型;在後一種情況,協調裝置可能因為網路不穩定或硬體故障而斷開連接或退出(dropout)。協調裝置失效(甚至是單純的退出)可能會突然停止訓練過程,最終破壞協作訓練。
另一方面,雖然存在一般的加密方案和機制,例如多方計算(multi-party computation)和可驗證計算(verifiable computation),但它們需要大量的計算和通訊成本。
有鑑於此,本發明提出一種驗證模型更新的方法,以提高聯邦學習系統中的協調裝置的可信度和穩健性。本發明提出的驗證模型更新的方法包括多個實施例,其中某些實施例具有輕量級加密協定。
依據本發明一實施例的一種驗證模型更新的方法,適用於包括一個協調裝置及多個客戶裝置的聯邦學習系統,包括以該些客戶裝置的每一者執行下列步驟:從該協調裝置接收一雜湊函數及一通用模型;依據該通用模型及一原始資料訓練一客戶模型;計算該通用模型與該客戶模型之間的差異作為更新參數;發送該更新參數至該協調裝置,從而該協調裝置接收到多個更新參數;輸入該更新參數至該雜湊函數以產生一雜湊值;發送該雜湊值至除本身以外的該些客戶裝置,從而接收到除本身產生的該雜湊值以外的多個雜湊值;加總該雜湊值與該些雜湊值以產生一信任值;從該協調裝置接收一聚合參數,該聚合參數係該協調裝置依據該些更新參數計算得到;輸入該聚合參數至該雜湊函數以產生一待驗證值;以及比對該待驗證值與該信任值,當該待驗證值等於該信任值時,依據該聚合參數更新該客戶模型。
依據本發明一實施例的一種驗證模型更新的方法,適用於包括多個協調裝置及多個客戶裝置的聯邦學習系統,包括以該些客戶裝置的每一者執行下列步驟:從該聯邦學習系統接收一通用模型;依據該通用模 型及一原始資料訓練一客戶模型;計算該通用模型與該客戶模型之間的差異;依據一公鑰加密該差異以產生一更新參數;發送該更新參數至該些協調裝置,從而該些協調裝置的每一者接收到多個更新參數;從該些協調裝置接收多個聚合參數,該些聚合參數的每一者係該些協調裝置的每一者依據該些更新參數計算得到;在該些聚合參數中尋找一眾數;當該眾數的數量超過該些協調裝置的數量的一半時,依據該眾數及一私鑰解密產生一解密結果;以及依據該解密結果更新該客戶模型。
依據本發明一實施例的一種驗證模型更新的方法,適用於包括多個協調裝置及多個客戶裝置的聯邦學習系統,包括以該些客戶裝置的每一者執行下列步驟:從該聯邦學習系統接收一雜湊函數及一通用模型;依據該通用模型及一原始資料訓練一客戶模型;計算該通用模型與該客戶模型之間的差異;依據一公鑰加密該差異以產生一更新參數;發送該更新參數至該些協調裝置,從而該些協調裝置的每一者接收到多個更新參數;輸入該更新參數至該雜湊函數以產生一雜湊值;發送該雜湊值至除本身以外的該些客戶裝置,從而接收到除本身產生的該雜湊值以外的多個雜湊值;加總該雜湊值與該些雜湊值以產生一信任值;從該些協調裝置接收多個聚合參數,該些聚合參數的每一者係該些協調裝置的每一者依據該些更新參數計算得到;分別輸入該些聚合參數的每一者至該雜湊函數以產生多個待驗證值;依序比對該些待驗證值的每一者與該信任值;以及當找到該待驗證值中的一者等於該信任值時,依據一私鑰解密等於該信任值的該待驗證值對應的該聚合參數,並依據被解密的該聚合參數更新該客戶模型。
以上之關於本揭露內容之說明及以下之實施方式之說明係 用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
C 1 ,C i ,C n :客戶裝置
M 1 ,M j ,M m :協調裝置
z,
Figure 111133312-A0305-02-0021-124
,
Figure 111133312-A0305-02-0021-125
,
Figure 111133312-A0305-02-0021-127
,
Figure 111133312-A0305-02-0021-129
,
Figure 111133312-A0305-02-0021-130
:聚合參數
h 1 ,h i ,h n ,
Figure 111133312-A0305-02-0021-131
,
Figure 111133312-A0305-02-0021-132
,
Figure 111133312-A0305-02-0021-133
:雜湊值
x 1 ,x i ,x n ,
Figure 111133312-A0305-02-0021-134
,
Figure 111133312-A0305-02-0021-135
,
Figure 111133312-A0305-02-0021-136
,P i (1),P i (m):更新參數
S1-S10:步驟
T1-T10:步驟
U1-U8:步驟
V1-V9:步驟
W1-W13:步驟
圖1A至圖5A分別是本發明第一至第五實施例適用的聯邦系統的架構示意圖;圖1B至圖5B分別是依據本發明第一至第五實施例的驗證模型更新的方法的流程圖;以及圖6是通用模型的平均最大測試準確度的比較圖。
以下在實施方式中詳細敘述本發明之詳細特徵以及特點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之構想及特點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
本發明的實施例的詳細說明中包含多個技術名詞,以下為這些技術名詞的定義:協調者(moderator):一個服務提供者,從多個客戶收集模型以聚合成一個用於提供服務的通用模型,又稱為協調裝置。
客戶:一個端點(endpoint),提供資料以加入分散式訓練或聯邦學習,又稱為客戶裝置。
原始資料(raw data):由客戶持有且需要被保護的資料,又稱為私有資料(private data)。
聯邦學習(Federated Learning,FL):一種協作訓練架構,用於訓練機器學習模型,不共享客戶資料以保護資料隱私。
機器學習:一個研究領域,使電腦能夠在沒有明確編寫程式的情況下學習。
同態加密(Homomorphic Encryption,HE):一種加密形式,允許使用者對加密資料執行運算,而無需先進行解密。
對於值得信賴的FL系統,必須滿足幾個關鍵的安全需求:協調裝置的可靠性、穩健性以及客戶的隱私,並具有以下目標:(1)可靠的聚合結果:如何在客戶裝置驗證聚合結果的正確性,這涉及可驗證計算(verifiable computing)的概念;(2)客戶隱私:如何保護每個客戶裝置的更新參數,這涉及資料加密;以及(3)穩健的協調裝置:當協調裝置在訓練期間退出或故障時如何進行計算,這涉及多方計算(Multi-Party Computation,MPC)的概念。
本發明提出的驗證模型更新的方法包括多個實施例,這些實施例分別適用於具有不同配置的FL系統,實施例與系統配置的對應關係如表格1所示。依據協調裝置的數量,FL系統可區分為單個協調裝置和多個協調裝置。依據協調裝置從多個客戶裝置接收到的多個更新參數是否被加密,FL系統可區分為非私有聚合(更新參數未加密)和私有聚合(更新參數被加密)。FL系統的配置是上述兩種分類方式的組合。
表格1,驗證模型更新的方法的實施例與適用的FL系統的 配置。
Figure 111133312-A0305-02-0008-1
圖1A是本發明第一實施例適用的聯邦系統的架構圖,圖1B是依據本發明第一實施例的驗證模型更新的方法的流程圖。在本發明中,第一實施例又被稱為「單個可驗證的協調裝置(Single Verifiable Moderator)」,簡稱為SVM。SVM適用於具有單個協調裝置及多個客戶裝置的FL系統,而且客戶裝置發送到協調裝置的資料屬於非私有資料。在SVM中,每個客戶裝置各自執行圖1B的方法,對協調裝置提供的模型更新進行驗證。由於每個客戶裝置執行的步驟都相同,所以下文提到的客戶裝置,可以是FL系統中的任一個客戶裝置。
在步驟S1中,客戶裝置從協調裝置接收雜湊函數及通用模型。關於通用模型,在FL系統第一次訓練時,通用模型由協調裝置自行初始化後廣播給所有客戶裝置。在FL系統第二次以後訓練時,協調裝置依據客戶裝置的反饋,更新通用模型後再廣播給所有客戶裝置。關於雜湊函數,在一實施例中,雜湊函數為加性同態雜湊(additively homomorphic hash, AHH)函數。
在步驟S2,客戶裝置依據通用模型及原始資料訓練客戶模型。在步驟S3,客戶計算通用模型與客戶模型之間的差異作為更新參數。在步驟S4,客戶裝置發送更新參數至協調裝置,從而協調裝置接收到所有客戶裝置發送的多個更新參數。步驟S2至步驟S4為FL系統的常見操作。因此其細節於此不敘述。至於步驟S3中的更新參數,可以是模型的權重,或是模型的梯度(gradient),本發明對此不予限制。
在步驟S3的一實施例中,客戶裝置計算出差異之後,執行量化程序將此差異從浮點數型態轉換為整數型態。詳言之,所有客戶裝置自行協調出用於量化的參數,包括零點(zero-point)和尺度(scale),從而將浮點數轉換為指定位元長度的整數作為更新參數。
在步驟S4,所有的客戶裝置都發送自己的更新參數至協調裝置,因此協調裝置會接收到來自多個客戶裝置的多個更新參數。
在步驟S5,客戶裝置輸入更新參數至雜湊函數以產生一雜湊值。在一實施例中,假設HXY是某個抗碰撞(collision resistant)的雜湊函數,即在計算上不可能找到x 1x 2使得H(x 1)=H(x 2),其中x 1x 2代表資料。如果對於任意的x 1 ,,x k ,滿足
Figure 111133312-A0305-02-0009-40
,則此雜湊函數H為加性同態(additively homomorphic),其中k是參數。在一實施例中,依據此文獻“C.Peikert,"A Decade of Lattice Cryptography," Found. Trends Theor.Comput.Sci.,vol.10,p.283-424,2016”中的lattice problem Ring-SIS,可以將AHH實例化(instantiate)。詳言之,假測R是分圓多項式環(cyclotomic ring),具有維度N,其中N是2的冪次方,即:R=
Figure 111133312-A0305-02-0010-3
,且對於某些模數Q
Figure 111133312-A0305-02-0010-5
,則建立AHH的流程如下述: 定義函數H,其輸入域為
Figure 111133312-A0305-02-0010-6
,對於某個β
Figure 111133312-A0305-02-0010-42
;而且輸出域為
Figure 111133312-A0305-02-0010-4
。函數H的描述是一個矩陣環 A
Figure 111133312-A0305-02-0010-43
。對於輸入x
Figure 111133312-A0305-02-0010-44
X,其中x可以解讀為R l 中的環向量。H(x)輸出h= A x mod Q,其中h為所述雜湊值。須注意的是,上述流程僅為一範例,本發明不限制用於實現AHH的函數。
在步驟S6,客戶裝置發送雜湊值至除本身以外的客戶裝置,從而接收到除本身產生的雜湊值以外的多個雜湊值。換言之,FL系統中的每個客戶裝置都廣播自己的雜湊值給其他客戶裝置。因此每個客戶裝置都會收到所有客戶裝置產生的雜湊值
在步驟S7,客戶裝置加總所有雜湊值以產生一信任值。
在步驟S8,客戶裝置從協調裝置接收聚合參數。詳言之,協調裝置依據所有更新參數執行聚合運算(aggregation),以更新通用模型,本文將更新後的通用模型稱為聚合模型,此聚合模型的權重或梯度則稱為聚合參數。步驟S8為FL系統的常規操作,
在步驟S9中,客戶裝置輸入聚合參數至雜湊函數以產生一待驗證值。
在步驟S10中,客戶裝置比對待驗證值與信任值,當待驗證值等於信任值時,代表協調裝置產生的聚合參數是正常的,因此客戶裝置可依據聚合參數更新客戶模型。
整體而言,SVM在步驟S4至步驟S10提出一種可驗證聚合協定(Verifiable Aggregation Protocol,VAP)。藉由使用AHH,本發 明第一實施例設計了VAP來對抗惡意的協調裝置。考慮如下場景:n個誠實的客戶裝置C 1 ,,C n ,各自擁有(非私有)的輸入x 1 ,,x n (即步驟S3所述的更新參數)。協調裝置M以可驗證的方式計算所有輸入的聚合。在步驟S4及步驟S6中,每個客戶裝置C i 廣播更新參數的雜湊值h i =H(x i ),並且將更新參數x i 送給協調裝置M。在步驟S8中,協調裝置M廣播聚合參數z給所有客戶裝置C i 。在步驟S7、步驟S9及步驟S10中,每個客戶裝置C i 檢查
Figure 111133312-A0305-02-0011-12
是否成立,也就是待驗證值H(z)是否等於
Figure 111133312-A0305-02-0011-51
,從而決定聚合參數z是否正確的聚合結果。
請參考表格1。當客戶裝置傳送至協調裝置的更新參數不需要被加密時,可以將第一實施例的SVM直接應用在具有多個協調裝置的FL系統。因為在正常狀況下,每個協調裝置所執行的聚合運算都相同。因此,對於多個協調裝置的每一者執行SVM既可以滿足「多協調裝置、非私有聚合」的FL系統配置,又能夠達成驗證每一個協調裝置的聚合結果的效果。
圖2A是本發明第二實施例適用的聯邦系統的架構圖,圖2B是依據本發明第二實施例的驗證模型更新的方法的流程圖。在本發明中,第二實施例又被稱為「單個安全且可驗證的協調裝置(Single Secure and Verifiable Moderator)」簡稱為SSVM。請參考圖1B及圖2B,SSVM的步驟T1至T10與SVM的步驟S1至S10大部分相同,以下敘述兩者差異之處。
在步驟T3執行期間,在客戶裝置計算通用模型與客戶模型之間的差異作為更新參數時,客戶裝置依據公鑰加密差異以產生更新參數。 另外,在步驟T10執行期間,在客戶裝置依據聚合參數更新客戶模型之前,客戶裝置依據私鑰解密聚合參數,然後再依據被解密的聚合參數更新客戶模型。
在一實施例中,每個客戶裝置執行閾值加性同態加密(Threshold Additive Homomorphic Encryption,TAHE)中的密鑰產生協定KeyGen以產生公鑰及私鑰。請參考“S.Gordon,F.-H.Liu and E.Shi,"Constant-Round MPC with Fairness and Guarantee of Output Delivery," in CRYPTO,2015”。TAHE由KeyGen協定、Enc(.)和Dec(.)組成。KeyGen協定產生一個公鑰pk並將相應的私鑰sk發送至給每一方(如客戶裝置)。Enc(x,pk)將x加密為密文
Figure 111133312-A0305-02-0012-19
。Dec(
Figure 111133312-A0305-02-0012-48
,sk)將密文
Figure 111133312-A0305-02-0012-49
解密為x,而且上述功能只有在一定比例以上的私鑰sk持有者參與時才起作用。
整體而言,第二實施例是使用客戶裝置C i 持有的私有輸入
Figure 111133312-A0305-02-0012-57
來延伸SVM的場景。所述私有輸入
Figure 111133312-A0305-02-0012-58
是被加密的更新參數。客戶裝置C i 想要透過協調裝置M執行可驗證的FL訓練,而不想洩漏他們的私有輸入。因此,在訓練開始時,即步驟T1到步驟T3的期間,每個客戶裝置C i 執行TAHE中的KeyGen協定產生公鑰pk和各自的私鑰sk i 。然後在步驟T4到步驟T10的期間,客戶裝置C i 及協調裝置M執行VAP。其中,在步驟T4,每個客戶裝置C i 傳送加密後的更新參數
Figure 111133312-A0305-02-0012-15
←Enc(x i ,pk)到協調裝置M。在步驟T5,客戶裝置C i 使用加密後的更新參數
Figure 111133312-A0305-02-0012-17
計算雜湊值
Figure 111133312-A0305-02-0012-16
。在步驟T8,客戶裝置C i 從協調裝置M接收聚合參數
Figure 111133312-A0305-02-0012-18
。聚合參數
Figure 111133312-A0305-02-0012-54
也是被加密後的結果。如果通過步驟T6到步驟T10的一致性檢查,換言之,
Figure 111133312-A0305-02-0012-13
Figure 111133312-A0305-02-0012-14
,客戶裝置C i 就可以執行解密程序Dec(
Figure 111133312-A0305-02-0012-56
,sk i )以產生解密後的聚合參 數,然後更新客戶模型。否則(沒有通過一致性檢查),客戶裝置C i 會因為抓到協調裝置M的不正常行為而中止。
在SVM和SSVM中,前提是單個協調裝置總是會完成工作。本發明提出更穩健的協定,防止可能的協調裝置故障(惡意或隨機故障),從而鬆綁所述前提。為了具有穩健性(robustness),在FL系統中引入冗餘計算。換言之,將單個協調裝置的任務交給多個協調裝置各自處理。如同前述實施例,本發明假設客戶裝置是誠實的(例如沒有資安威脅、沒有硬體故障也沒有網路斷線等等)。請參考表格1。本發明將第三至第五實施例統稱為「多個安全且可驗證的協調裝置(Multiple Secure and Verifiable Moderator,MSVM)」。在第三至第五實施例中提到的FL系統都具有多個協調裝置,每個協調裝置都需要執行私有聚合。實務上,可依據協調裝置損壞的數量,從第三、第四或第五實施例中選擇一者執行。
本發明將第三實施例稱為MSVM-2/3。第三實施例適用的場景如下:假設所有協調裝置
Figure 111133312-A0305-02-0013-21
的數量為m,至少
Figure 111133312-A0305-02-0013-60
m個誠實的協調裝置會完成工作,而其他
Figure 111133312-A0305-02-0013-61
m的協調裝置可能隨時故障或退出。請參考下列文獻:“M.Ben-Or,S.Goldwasser and A.Wigderson,"Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract)," in STOC,1988”;以及“A.Shamir,"How to Share a Secret," Commun.ACM,vol.22,p.612-613,1979”。本發明提出的MSVM-2/3應用上述文獻中提到的BGW協議,以及Shamir秘密共享。
(n,t)秘密共享由Share(.)和Recon(.)兩個演算法組成,其中Share(x)將輸入x分配到n個裝置中,只有從其中t個裝置收集到資料時,才 能透過Recon(.)恢復原本的輸入x。否則理論上x是隱藏的資訊。Shamir秘密共享基於多項式評估和內插法實現上述目標。
圖3A是本發明第三實施例適用的聯邦系統的架構圖,圖3B是依據本發明第三實施例的驗證模型更新的方法的流程圖。步驟U1至步驟U3與第一實施例中的步驟S1至步驟S3大致相同。差別在於第三實施例並不需要用到雜湊函數,因此在步驟U1中,客戶裝置從協調裝置接收到的只有通用模型。
在步驟U4中,客戶裝置C i 依據協調裝置的數量m,產生一個次數(degree)為
Figure 111133312-A0305-02-0014-63
m-1的多項式P i ,並滿足更新參數x i =P i (0)。
在步驟U5中,客戶裝置C i 透過Share(x i )將多項式P i (j)發送到所有的協調裝置M j
在步驟U6中,客戶裝置C i 從所有的協調裝置M j 接收多個聚合參數
Figure 111133312-A0305-02-0014-22
在步驟U7中,客戶裝置C i 檢查從所有的協調裝置M j 收到的聚合參數(p 1 ,,p m ),並透過Recon(p 1 ,,p m )重建出多項式P。依據Shamir的同態性和穩健性,只要超過
Figure 111133312-A0305-02-0014-64
m的聚合參數p j 是正確的,就可以重建出唯一的多項式P,然後計算出聚合參數
Figure 111133312-A0305-02-0014-23
。否則,代表m個協調裝置M j 中,超過
Figure 111133312-A0305-02-0014-65
m數量的協調裝置M j 是異常的。
在步驟U8中,客戶裝置C i 依據聚合參數z更新客戶模型。
值得注意的是,第三實施例在資訊理論上是安全的,而且不需要使用加密工具。
圖4A是本發明第四實施例適用的聯邦系統的架構圖,圖4B 是依據本發明第四實施例的驗證模型更新的方法的流程圖。第四實施例進一步放寬第三實施例的條件,假設在FL系統中具有至少
Figure 111133312-A0305-02-0015-67
m個誠實的協調裝置M j 。本發明將第四實施例稱為MSVM-half。
在步驟V1中,客戶裝置C i 從聯邦學習系統接收通用模型。例如,從多個協調裝置中的一者接收通用模型。在聯邦學習系統中的所有協調裝置和所有客戶裝置擁有相同的通用模型的前提下,本發明不限制由聯邦學習系統中的哪一個裝置負責廣播此通用模型。在步驟V2中,客戶裝置C i 依據通用模型及原始資料訓練客戶模型。在步驟V3中,計算通用模型與客戶模型之間的差異x i 。步驟V1至V3與第一實施例中的步驟S1至S3基本上相同。
在步驟V4中,客戶裝置C i 依據公鑰pk加密差異x i 以產生更新參數
Figure 111133312-A0305-02-0015-24
。在一實施例中,客戶裝置C i 在步驟V4之前執行TAHE中的KeyGen協定產生公鑰pk及私鑰sk i
在步驟V5中,客戶裝置C i 發送更新參數
Figure 111133312-A0305-02-0015-68
至所有的協調裝置M j ,從而每個協調裝置M j 都接收到多個更新參數
Figure 111133312-A0305-02-0015-70
在步驟V6中,客戶裝置C i 從多個協調裝置M j 接收多個聚合參數
Figure 111133312-A0305-02-0015-73
,每個聚合參數
Figure 111133312-A0305-02-0015-76
係每個協調裝置M j 依據前述多個更新參數
Figure 111133312-A0305-02-0015-77
計算得到,即
Figure 111133312-A0305-02-0015-25
在步驟V7中,客戶裝置C i 在所有聚合參數(
Figure 111133312-A0305-02-0015-80
,,
Figure 111133312-A0305-02-0015-81
)中尋找眾數
Figure 111133312-A0305-02-0015-82
。在一組資料中,出現次數最多的那個資料被稱為眾數。換言之,在步驟V7中,客戶裝置C i 檢查
Figure 111133312-A0305-02-0015-83
的多數一致性(majority consistency)。
在步驟V8中,當眾數
Figure 111133312-A0305-02-0015-84
的數量超過聚合參數(
Figure 111133312-A0305-02-0015-85
,,
Figure 111133312-A0305-02-0015-86
)的數 量的一半時,也就是超過一半的聚合參數(
Figure 111133312-A0305-02-0016-87
,,
Figure 111133312-A0305-02-0016-89
)具有相同數值時,客戶裝置C i 依據眾數
Figure 111133312-A0305-02-0016-90
及私鑰sk i 解密產生解密結果z
在步驟V9中,客戶裝置C i 依據解密結果更新客戶模型。
在第四實施例MSVM-half中,前提是FL系統具有誠實多數的協調裝置。因此,多數票足以保證密文總和
Figure 111133312-A0305-02-0016-26
的正確性,而不需要使用到第一實施例SVM中的VAP。
第五實施例考慮最糟的狀況:在多協調裝置的FL系統中只有一個協調裝置是誠實的。圖5A是本發明第五實施例適用的聯邦系統的架構圖,圖5B是依據本發明第五實施例的驗證模型更新的方法的流程圖。本發明將第五實施例稱為MSVM-one。
在步驟W1中,客戶裝置C i 從聯邦學習系統接收雜湊函數H及通用模型。例如,從多個協調裝置中的一者接收通用模型。在一實施例中,雜湊函數為AHH。在步驟W2中,客戶裝置C i 依據通用模型及原始資料訓練客戶模型。在步驟W3中,客戶裝置C i 計算通用模型與客戶模型C i 之間的差異x i 。步驟W1至步驟W3與第一實施例中的步驟S1至步驟S3基本上相同。
在步驟W4中,客戶裝置C i 依據公鑰pk加密差異
Figure 111133312-A0305-02-0016-91
以產生更新參數
Figure 111133312-A0305-02-0016-27
。在一實施例中,客戶裝置C i 在步驟W4之前執行TAHE中的KeyGen協定產生公鑰pk及私鑰sk i
在步驟W5中,客戶裝置C i 發送更新參數
Figure 111133312-A0305-02-0016-93
至所有協調裝置M j ,從而每個協調裝置M j 接收到多個更新參數(
Figure 111133312-A0305-02-0016-94
,,
Figure 111133312-A0305-02-0016-95
)。
在步驟W6中,客戶裝置C i 輸入更新參數
Figure 111133312-A0305-02-0016-98
至雜湊函數H以 產生雜湊值
Figure 111133312-A0305-02-0017-29
在步驟W7中,客戶裝置C i 發送雜湊值
Figure 111133312-A0305-02-0017-30
至其他客戶裝置,從而接收到除本身產生的雜湊值
Figure 111133312-A0305-02-0017-32
以外的多個雜湊值。
在步驟W8中,客戶裝置C i 加總所有雜湊值
Figure 111133312-A0305-02-0017-31
以產生信任值
Figure 111133312-A0305-02-0017-101
在步驟W9中,客戶裝置C i 從所有協調裝置M j 接收多個聚合參數(
Figure 111133312-A0305-02-0017-102
,,
Figure 111133312-A0305-02-0017-103
),每個聚合參數
Figure 111133312-A0305-02-0017-104
是每個協調裝置M j 依據多個更新參數(
Figure 111133312-A0305-02-0017-108
,,
Figure 111133312-A0305-02-0017-110
)計算得到,即
Figure 111133312-A0305-02-0017-34
在步驟W10中,客戶裝置C i 分別輸入每個聚合參數
Figure 111133312-A0305-02-0017-113
至雜湊函數H以產生多個待驗證值H(
Figure 111133312-A0305-02-0017-114
);
在步驟W11中,依序比對每個待驗證值H(
Figure 111133312-A0305-02-0017-115
)與信任值
Figure 111133312-A0305-02-0017-118
。換言之,對於j=1,...,m,客戶裝置C i 檢查
Figure 111133312-A0305-02-0017-35
是否為真。整體而言,步驟W10及步驟W11是客戶裝置執行的雜湊一致性(hash consistency)檢查。
在步驟W12,當找到第一個等於信任值的待驗證值時,所有的客戶裝置C i 依據各自的私鑰sk i 解密此待驗證值所對應的聚合參數
Figure 111133312-A0305-02-0017-119
,即
Figure 111133312-A0305-02-0017-36
。換言之,
Figure 111133312-A0305-02-0017-120
是第一個通過雜湊一致性檢查的密文。
在步驟W13中,客戶裝置C i 依據被解密的聚合參數z更新客戶模型。
本發明採用了多種加密工具來建構安全且可信賴的協調裝置。在第一實施例中,本發明使用加性同態雜湊(AHH)在具有單一協調裝置的聯邦學習(FL)系統中建構可驗證的聚合協定(VAP),以便客戶 裝置可以驗證聚合參數計算的正確性。本發明在具有多個協調裝置的FL系統中使用(穩健閾值)秘密共享。在協調裝置可能不誠實的情況下,本發明使用閾值加性同態加密(TAHE)來保客戶裝置的更新參數的隱私。
以下從通用模型的效能(測試準確度)和訓練時間兩個層面說明本發明提出的驗證模型更新的方法。
圖6是通用模型的平均最大測試準確度的比較圖。由左至右的四個長條分別對應到不同的訓練通用模型的方法:常規集中訓練Cen、常規量化訓練Cen(Q)、常規聯邦學習FL以及量化聯邦學習FL(Q)。每個長條上的間隔代表五次獨立實驗的標準差。整體而言,實驗之間的最大準確度是穩定的。
從圖6中可觀察到:(1)更新參數的量化對於準確度的影響不大;(2)FL方法的準確度略低於集中訓練;以及(3)資料偏斜度(skewness)的大小確實會影響準確率,且其參數值與準確率呈現正相關。具體來說,SVM、SSVM、MSVM-half和MSVM-one的測試準確度分別是:0.742(0.009)、0.741(0.009)、0.736(0.002)和0.734(0.002),其中括號內的數值代表五次實驗的標準差。
Figure 111133312-A0305-02-0018-37
Figure 111133312-A0305-02-0019-39
表格2展示本發明的多個實施例和集中訓練在每個程序的時間成本。其中標示「-」的欄位代表該方法不執行該程序。訓練的時間包括執行前向(forward)和反向(backward)程序以更新通用模型的時間。一致性檢查包括雜湊一致性檢查(hash consistency check)、多數一致性檢查(majority consistency check)和聚合相等檢查的時間。可驗證的計算過程如AHH和一致性檢查在每次迭代增加約4秒。與集中訓練相比,每次迭代會增加30%的訓練時間。如果更新參數被加密,可驗證的計算過程會需要額外的時間,取決於密文相對於明文增加的資料量。整體而言,使用同態加法到加密的更新參數會大幅增加訓練時間,但可以透過硬體支援和較好的實作以減少時間。在多協調裝置的實施例中,聚合時間增加,但增量相對小於加密更新參數的時間。一致性檢查的時間在MSVM-one中大幅增加,花費約8.5秒進行兩次雜湊一致性檢查,這是因為在實驗中是隨機設置誠實的協調裝置。檢查一個聚合參數
Figure 111133312-A0305-02-0019-121
和對應的雜湊值花費約4.3秒。MSVM-half在一致性檢查的時間很少,因為檢查多數一致性的速度很快。整體而言,加密更新參數會大幅增加訓練時間。
本發明提出的驗證模型更新的方法包括多個實施例,適用於不同安全需求的各種場景。特別是本發明考慮到兩個重要的設計需求:(1)客戶的梯度是否需要保密;以及(2)在聯邦學習期間是否有更多的協調裝置可用。具體來說,本發明提出了解決以下三種情況的協定:(1)單個可驗證的協調裝置(SVM):假設客戶裝置的更新參數是非私有的,SVM的目標是檢查協調裝置聚合結果的正確性。這個協定可以擴展到具有多個協調裝置的聯邦學習系統,因為客戶裝置只需要與每個協調裝置一起運行SVM即可。只要其中一個協調裝置在聯邦學習的訓練期間沒有退出,客戶裝置就可以收到預期的聚合參數;(2)單個安全且可驗證的協調裝置(SSVM):其應用場景類似於SVM,但是客戶裝置的更新參數是私有的並且應該受到保護,以實現可驗證的私有聚合;以及(3)多個安全且可驗證的協調裝置(MSVM):MSVM注重協調裝置的穩健性,其中聚合操作不會因為協調裝置的故障而中斷。為了實現這個目標,本發明將單個協調裝置分散為多個協調裝置,以便它們可以運行一些分散式協定,防止協調裝置故障造成的中斷。
綜上所述,本發明在具有漸進式安全級別的多個聯邦學習系統的配置中評估它們的具體效能及成本,結果證明了本發明的實用性,從客戶裝置的角度增強了保護,並朝著為當前和未來的應用開發強大且值得信賴的聯邦學習系統邁出了重要的一步。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明 之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
S1-S10:步驟

Claims (10)

  1. 一種驗證模型更新的方法,適用於包括一個協調裝置及多個客戶裝置的聯邦學習系統,包括以該些客戶裝置的每一者執行下列步驟:從該協調裝置接收一雜湊函數及一通用模型;依據該通用模型及一原始資料訓練一客戶模型;計算該通用模型與該客戶模型之間的差異作為更新參數;發送該更新參數至該協調裝置,從而該協調裝置接收到多個更新參數;輸入該更新參數至該雜湊函數以產生一雜湊值;發送該雜湊值至除本身以外的該些客戶裝置,從而接收到除本身產生的該雜湊值以外的多個雜湊值;加總該雜湊值與該些雜湊值以產生一信任值;從該協調裝置接收一聚合參數,該聚合參數係該協調裝置依據該些更新參數計算得到;輸入該聚合參數至該雜湊函數以產生一待驗證值;以及比對該待驗證值與該信任值,當該待驗證值等於該信任值時,依據該聚合參數更新該客戶模型。
  2. 如請求項1所述驗證模型更新的方法,其中該雜湊函數為加性同態雜湊(additively homomorphic hash)函數。
  3. 如請求項1所述驗證模型更新的方法,其中該些客戶裝置的每一者計算該通用模型與該客戶模型之間的該差異作為該更新參數包括:計算該通用模型與該客戶模型之間的該差異;以及執行量化程序以將該差異從浮點數型態轉換為整數型態。
  4. 如請求項1所述驗證模型更新的方法,其中:在該些客戶裝置的每一者計算該通用模型與該客戶模型之間的差異作為該更新參數包括:該些客戶裝置的每一者依據一公鑰加密該差異以產生該更新參數;以及依據該聚合參數更新該客戶模型包括:該些客戶裝置的每一者依據一私鑰解密該聚合參數,並依據被解密的該聚合參數更新該客戶模型。
  5. 如請求項4所述驗證模型更新的方法,更包括:該些客戶裝置的每一者執行閾值加性同態加密(Threshold Additive Homomorphic Encryption,TAHE)中的密鑰產生協定以產生該公鑰及該私鑰。
  6. 一種驗證模型更新的方法,適用於包括多個協調裝置及多個客戶裝置的聯邦學習系統,包括以該些客戶裝置的每一者執行下列步驟:從該聯邦學習系統的該些協調裝置中的一者接收一通用模型;依據該通用模型及一原始資料訓練一客戶模型;計算該通用模型與該客戶模型之間的差異;依據一公鑰加密該差異以產生一更新參數;發送該更新參數至該些協調裝置,從而該些協調裝置的每一者接收到多個更新參數;從該些協調裝置接收多個聚合參數,該些聚合參數的每一者係該些協調裝置的每一者依據該些更新參數計算得到;在該些聚合參數中尋找一眾數;當該眾數的數量超過該些協調裝置的數量的一半時,依據該眾數及一私鑰解密產生一解密結果;以及 依據該解密結果更新該客戶模型。
  7. 如請求項6所述驗證模型更新的方法,更包括:該些客戶裝置的每一者執行閾值加性同態加密(Threshold Additive Homomorphic Encryption,TAHE)中的密鑰產生協定以產生該公鑰及該私鑰。
  8. 一種驗證模型更新的方法,適用於包括多個協調裝置及多個客戶裝置的聯邦學習系統,包括以該些客戶裝置的每一者執行下列步驟:從該聯邦學習系統的該些協調裝置中的一者接收一雜湊函數及一通用模型;依據該通用模型及一原始資料訓練一客戶模型;計算該通用模型與該客戶模型之間的差異;依據一公鑰加密該差異以產生一更新參數;發送該更新參數至該些協調裝置,從而該些協調裝置的每一者接收到多個更新參數;輸入該更新參數至該雜湊函數以產生一雜湊值;發送該雜湊值至除本身以外的該些客戶裝置,從而接收到除本身產生的該雜湊值以外的多個雜湊值;加總該雜湊值與該些雜湊值以產生一信任值;從該些協調裝置接收多個聚合參數,該些聚合參數的每一者係該些協調裝置的每一者依據該些更新參數計算得到;分別輸入該些聚合參數的每一者至該雜湊函數以產生多個待驗證值;依序比對該些待驗證值的每一者與該信任值;以及 當找到該待驗證值中的一者等於該信任值時,依據一私鑰解密等於該信任值的該待驗證值對應的該聚合參數,並依據被解密的該聚合參數更新該客戶模型。
  9. 如請求項8所述驗證模型更新的方法,其中該雜湊函數為加性同態雜湊(additively homomorphic hash)函數。
  10. 如請求項8所述驗證模型更新的方法,更包括:該些客戶裝置的每一者執行閾值加性同態加密(Threshold Additive Homomorphic Encryption,TAHE)中的密鑰產生協定以產生該公鑰及該私鑰。
TW111133312A 2022-09-02 2022-09-02 驗證模型更新的方法 TWI818708B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW111133312A TWI818708B (zh) 2022-09-02 2022-09-02 驗證模型更新的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111133312A TWI818708B (zh) 2022-09-02 2022-09-02 驗證模型更新的方法

Publications (2)

Publication Number Publication Date
TWI818708B true TWI818708B (zh) 2023-10-11
TW202411896A TW202411896A (zh) 2024-03-16

Family

ID=89857565

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111133312A TWI818708B (zh) 2022-09-02 2022-09-02 驗證模型更新的方法

Country Status (1)

Country Link
TW (1) TWI818708B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111967609A (zh) * 2020-08-14 2020-11-20 深圳前海微众银行股份有限公司 模型参数验证方法、设备及可读存储介质
CN114169387A (zh) * 2021-10-19 2022-03-11 平安科技(深圳)有限公司 模型训练方法和装置、电子设备、存储介质
CN114254398A (zh) * 2021-12-16 2022-03-29 重庆大学 一种基于区块链的联邦学习系统及参数聚合方法
CN114372589A (zh) * 2021-12-30 2022-04-19 远光软件股份有限公司 一种联邦学习方法及相关装置
CN114897190A (zh) * 2022-05-18 2022-08-12 中国农业银行股份有限公司 一种联邦学习框架的构建方法、装置、介质及设备
CN114978533A (zh) * 2022-05-12 2022-08-30 西安邮电大学 基于有权重分层异步联邦学习的可验证安全聚合方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111967609A (zh) * 2020-08-14 2020-11-20 深圳前海微众银行股份有限公司 模型参数验证方法、设备及可读存储介质
CN114169387A (zh) * 2021-10-19 2022-03-11 平安科技(深圳)有限公司 模型训练方法和装置、电子设备、存储介质
CN114254398A (zh) * 2021-12-16 2022-03-29 重庆大学 一种基于区块链的联邦学习系统及参数聚合方法
CN114372589A (zh) * 2021-12-30 2022-04-19 远光软件股份有限公司 一种联邦学习方法及相关装置
CN114978533A (zh) * 2022-05-12 2022-08-30 西安邮电大学 基于有权重分层异步联邦学习的可验证安全聚合方法
CN114897190A (zh) * 2022-05-18 2022-08-12 中国农业银行股份有限公司 一种联邦学习框架的构建方法、装置、介质及设备

Also Published As

Publication number Publication date
TW202411896A (zh) 2024-03-16

Similar Documents

Publication Publication Date Title
Bonawitz et al. Practical secure aggregation for privacy-preserving machine learning
Goryczka et al. A comprehensive comparison of multiparty secure additions with differential privacy
US11606203B2 (en) Method for faster secure multiparty inner product with SPDZ
Ion et al. Private intersection-sum protocol with applications to attributing aggregate ad conversions
Araki et al. High-throughput semi-honest secure three-party computation with an honest majority
Ruan et al. Secure and privacy-preserving average consensus
US20230087864A1 (en) Secure multi-party computation method and apparatus, device, and storage medium
Goryczka et al. Secure multiparty aggregation with differential privacy: A comparative study
US20120002811A1 (en) Secure outsourced computation
CN109361510B (zh) 一种支持溢出检测和大整数运算的信息处理方法及应用
Yu et al. Verifiable outsourced computation over encrypted data
CN113114451A (zh) 基于同态加密的企业云erp系统数据统计分析方法和系统
US20110060901A1 (en) Cryptographic System for Performing Secure Iterative Matrix Inversions and Solving Systems of Linear Equations
Miyaji et al. A scalable multiparty private set intersection
KR20230141845A (ko) 임계값 키 교환
Guo et al. MicroFedML: Privacy Preserving Federated Learning for Small Weights.
Andersen et al. Privacy preserving health data processing
Liu et al. Confidentially judging the relationship between an integer and an interval against malicious adversaries and its applications
Kim et al. Private and secure post-quantum verifiable random function with nizk proof and ring-lwe encryption in blockchain
Dou et al. Efficient private subset computation
Sun et al. Flexible revocation and verifiability for outsourced Private Set Intersection computation
TWI818708B (zh) 驗證模型更新的方法
CN113901500B (zh) 图拓扑嵌入方法、装置、系统、设备及介质
Hsu et al. Fedtrust: Towards building secure robust and trustworthy moderators for federated learning
Yang et al. An improved scheme for outsourced computation with attribute‐based encryption