麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種增強魯棒性保護醫療隱私的聯邦學習方法

文檔序號:41773854發布日期:2025-04-29 18:46閱讀:7來源:國知局
一種增強魯棒性保護醫療隱私的聯邦學習方法

本發明涉及隱私保護聯邦學習、全同態加密、sigmoid邏輯回歸函數領域,尤其涉及一種增強魯棒性保護醫療隱私的聯邦學習方法。


背景技術:

1、在當前的醫療領域,個人信息的保密性是一個非常重要的課題。醫療信息中含有很多隱私信息,如健康信息、基因信息等,這些數據一旦泄露,可能會對患者的生活帶來極大的危害。隨著當前醫療大數據的發展,如何在保證患者隱私的前提下,實現對疾病的預測、診斷與模型訓練,是當前迫切需要解決的問題。

2、傳統的機器學習方法通常需要將醫療數據集中到中央服務器進行處理,這不僅存在隱私泄露的風險,也存在著數據孤島和數據異構的問題。由于各醫院的數據通常比較有限,且數據分布可能因地理位置、患者人群和醫院專長等因素而存在差異性,這使得訓練出的模型缺乏泛化能力。

3、為了解決這些問題,聯邦學習作為一種新興的分布式機器學習技術應運而生。在醫療領域,它允許各家醫院將原始醫療數據保留在本地,僅將本地訓練的模型參數或梯度信息上傳至中央服務器。因此不同醫院能夠在不直接共享隱私數據的前提下,共同參與疾病預測和診斷模型的訓練。從而充分利用數據,提升模型的精度和泛化能力。

4、然而,聯邦學習的訓練過程也面臨著一些挑戰。首先,即使醫院在本地進行模型訓練,并且僅上傳模型更新而非原始數據,也依然存在隱私泄露的風險。攻擊者可以通過這些更新來重構隱私信息或推斷出患者的特定信息,從而達到隱私泄露的目的。其次,醫療數據因其獨特的性質和來源,往往呈現出高度的異構性和分布不均勻性,這可能導致模型在某些醫院的疾病預測上表現良好,而在其他醫院的疾病預測上表現不佳。此外,聯邦學習系統還需要應對潛在的惡意節點攻擊,這些攻擊者可能利用發送任意更新來破壞訓練,降低系統的魯棒性。

5、如何解決上述技術問題為本發明面臨的課題。


技術實現思路

1、本發明的目的在于提供一種增強魯棒性保護醫療隱私的聯邦學習方法,通過全同態加密技術保護醫療患者的隱私數據,通過余弦相似度評估密文質量,通過新的聚合機制確保醫療模型具備高精度性。

2、本發明的發明思想為:首先,系統管理員sm設定安全參數,并生成密鑰集以保護本地模型,科研機構ri設置聯邦學習參數,并生成密鑰集以保護全局模型。然后,各參與醫院利用接收到的安全參數、初始模型參數及學習率,對本地醫療數據進行模型訓練,歸一化并加密梯度,上傳梯度密文給ri。接下來,ri和sm協同進行歸一化判斷,ri通過余弦相似度評估各醫院上傳梯度密文的質量,并據此調整聚合權重,然后繼續進行梯度密文聚合。sm在解密聚合結果后,通過公鑰重新加密并分發給ri和各參與醫院,實現全局模型的更新。每輪訓練后,ri測試模型精度,若達到預期則結束學習,否則繼續下一輪訓練。

3、具體內容為:首先,在系統初始化階段,系統管理員sm選擇的安全參數,包括安全參數λ、左旋參數l以及縮放因子δ。然后,sm生成一組用于加密本地模型訓練的密鑰集,包括公鑰pks、私鑰sks、評估密鑰evks和旋轉密鑰rks。sm將pks、sks、evks、rks和縮放因子δ發送給科研機構ri。ri為本次聯邦學習任務設置參數,包括初始模型參數w0和學習率η,ri生成另一組用于保護全局模型的密鑰集,ri將密鑰集、安全參數、初始模型參數w0和學習率η等所有安全參數secpar發送給所有參與醫療數據模型訓練的醫院hi。然后,在本地模型訓練階段,各醫院hi在接收到ri發送的安全參數后,利用本地的醫療數據集、初始模型參數w0和學習率η進行模型訓練,得到各自的本地模型梯度。為確保數據隱私,醫院會對梯度進行歸一化處理,并使用安全參數對歸一化后的梯度進行加密,最終將加密后的梯度密文上傳至ri的服務器。接下來,梯度密文評估階段,sm與ri協同對各醫院上傳的梯度密文進行歸一化判斷,sm會剔除未進行歸一化處理的梯度密文。ri利用自己的干凈數據集訓練得到基線梯度,對基線梯度進行歸一化處理和加密,得到基線梯度密文。ri計算各醫院上傳的梯度密文與基線梯度密文之間的余弦相似度密文,并將此作為評估各醫院上傳梯度密文質量的標準。再然后,在梯度密文聚合階段,ri會根據余弦相似度調整每個梯度密文的聚合權重。具體地,ri會將sigmoid邏輯函數近似表示為一個多項式,然后將余弦相似度密文作為輸入值,利用這個多項式計算出各梯度密文對應的聚合權重。最后,ri會根據各梯度密文及其對應的權重值進行聚合。最后,在全局模型更新階段,ri將聚合結果發送給sm。sm使用私鑰sks對聚合結果進行解密,并通過公鑰pkr重新加密,然后發送給ri和各家參與訓練的醫院。ri和參與訓練的醫院在得到重新加密后的聚合梯度后,使用自己的私鑰skr進行解密,并根據解密得到的全局模型來更新自己的本地模型。在每一輪訓練結束后,ri會使用本輪全局模型在測試集上進行測試,若模型精度達到預期值,則結束本次聯邦學習任務;否則,ri會要求參與訓練的醫院進行下一輪的模型訓練,依次重復上述步驟。

4、為了實現上述發明目的,本發明采用技術方案具體為:一種增強魯棒性保護醫療隱私的聯邦學習方法,主要包括系統管理員sm、科研機構ri、各家醫院hi三個實體,包括以下步驟:

5、s10、系統初始化,首先,系統管理員sm選擇一個安全參數λ,左旋參數l和縮放因子δ,然后,sm為醫療數據的本地模型訓練任務生成一組密鑰集(pks,sks,evks,rks),并將其中的(pks,evks,rks)和縮放因子δ發送給科研機構ri。ri生成一組密鑰集(pkr,skr,evkr,rkr),用來保護醫療數據的全局模型。ri將所有安全參數secpar={(pks,evks,rks),δ,(pkr,skr,evkr,rkr)}、初始模型參數w0和學習率η發送給所有參與醫療數據模型訓練的醫院;

6、s20、本地模型訓練,在接收到ri發送的安全參數之后,所有參與訓練的醫院利用其本地的醫療數據集,結合初始模型參數w0和學習率η進行模型訓練,得到本地模型梯度,然后對該梯度進行歸一化處理,使用安全參數對歸一化之后的梯度進行加密,最后將梯度密文上傳至ri的服務器;

7、s30、梯度密文評估,sm和ri協同對各醫院上傳的梯度密文進行歸一化判斷,sm剔除未進行歸一化處理的梯度密文。ri利用自己的數據集訓練得到基線梯度,將基線梯度歸一化處理并加密得到基線梯度密文。ri計算各醫院上傳的梯度密文與基線梯度密文之間的余弦相似度密文,以余弦相似度密文作為評估各醫院上傳梯度密文質量的標準;

8、s40、梯度密文聚合,ri基于余弦相似度對每個梯度密文的聚合權重進行調整。首先,ri將sigmoid邏輯函數近似表示為一個多項式,然后,將余弦相似度密文作為輸入值,利用這個多項式計算得到各梯度密文對應的聚合權重,最后,ri根據各梯度密文及其對應權重值進行聚合;

9、s50、全局模型更新,ri將聚合結果發送給sm,sm利用私鑰sks對聚合結果進行解密,并將解密結果通過公鑰pkr重新加密,然后發送給ri和各家參與訓練的醫院。ri和參與訓練的醫院在得到重新加密后的聚合梯度后,使用自己的私鑰skr進行解密,然后根據解密得到的全局模型來更新自己的本地模型。在每一輪訓練結束后,ri會使用本輪全局模型在測試集上進行測試,當模型精度達到預期值時,ri結束本次聯邦學習任務。否則,ri則會要求參與訓練的醫院進行下一輪的模型訓練,依次重復步驟s20、步驟s30、步驟s40、步驟s50;

10、進一步地,所述步驟s10包括以下步驟:

11、s101、多家醫院聯合向sm發布聯邦學習任務需求。sm委托ri協助完成模型聚合,然后,sm對參與聯邦學習訓練的ri和各家醫院進行初始化,并將這些實體進行編號,每一個實體都有一個唯一的編號id,用作識別參與者的身份信息;

12、s102、sm選擇安全參數λ,左旋參數l和縮放因子δ。然后,sm選擇一個大素數q,用來限制多項式系數的大小,一個模數p用來重放縮,選擇一個2的冪次n作為多項式的階數,構建一個多項式商環rq=zq[x]/(xn+1),其中zq={0,1,…,q-1}表示模q的整數集合,環rq中的每一個元素都是一個多項式,zq[x]表示多項式系數的集合。

13、接下來sm從環rq上的一個離散高斯分布g中進行n次隨機采樣以構成sks=s0+s1x+s2x2+…+sn-1xn-1(mod?xn+1),其中si表示從離散高斯分布g中隨機采樣的值,離散高斯分布g是一個以整數為值域的高斯分布,其概率質量函數為:

14、

15、類似的,sm在g中隨機采樣構造一個多項式e,在環rq上的一個均勻分布u中隨機采樣構造一個多項式a,然后計算b=-a·sks+e(mod?q)得到pks=(a,b)。然后,sm在g中隨機采樣構造多項式ev和ek,在u中隨機采樣構造多項式av和ak,計算bv=-av·sks+δ·sks2+ev(mod?q)得到evks=(av,bv),計算bk=-ak·sks+r(sks,l)+ek(mod?q)得到rks=(ak,bk),其中r(sks,l)表示將sks的系數旋轉l個位置后得到的新多項式。sm生成公鑰pks,用于加密醫院的本地梯度,保護醫療患者的隱私數據;生成私鑰sks,保留在sm本地,用于解密每一輪的聚合結果;生成評估密鑰evks,用于支持同態乘法操作;生成旋轉密鑰rks,用于支持密文旋轉操作,組成一組密鑰集(pks,sks,evks,rks)。然后,sm將密鑰集(pks,evks,rks)和縮放因子δ利用發送給ri;

16、s103、ri為本次聯邦學習任務設置全局參數,包括初始模型w0和學習率η。同時,ri生成一對公私鑰pkr和skr,其中pkr用于加密全局模型,保護全局模型的隱私,skr被ri和醫院hi用于解密全局模型;生成密鑰evkr和旋轉密鑰rkr,分別用于支持同態乘法和密文旋轉操作,組成一組密鑰集(pkr,skr,evkr,rkr)。ri將所有安全參數secpar={(pks,evks,rks),δ,(pkr,skr,evkr,rkr)}、初始模型參數w0和學習率η發送給所有參與醫療數據模型訓練的醫院hi;

17、進一步地,所述步驟s20包括以下步驟:

18、s201、醫院hi從ri處接收到初始模型參數w0、學習率η和加解密所需要的安全參數之后,利用本地醫療數據集mi={<xk,yk>|k=1,2,…,n}進行本地模型訓練,xk和yk分別表示醫療數據集mi的模型輸入值和樣本標簽。在聯邦學習的第r輪迭代中,醫院hi基于上一輪的全局模型參數wr-1進行模型訓練,通過梯度下降得到本輪次的梯度gi,r=(g0,g1,…,gn-1),n是梯度向量gi,r的維度。

19、s202、由于采集醫療數據的醫療設備型號不同,數據類型多樣復雜,缺乏統一標準,因此各家醫院之間的數據分布可能會存在很大的差異。這些差異通常會導致模型訓練效率降低和模型精度下降,因此醫院hi需要使用如下公式對梯度向量gi,r進行歸一化處理,將梯度向量gi,r的模限定為1。首先,醫院hi計算梯度向量gi,r的模||gi,r||:

20、

21、然后,hi對梯度向量gi,r中的每一個分量進行歸一化處理,得到

22、

23、要求各家醫院對梯度向量gi,r進行歸一化處理,不僅有助于減少各家醫院之間的數據分布差異,增加各模型之間的一致性,加快全局模型的收斂速度以及增強全局模型的精度,同時還能避免惡意參與者通過增強梯度發動的非目標攻擊,因為梯度向量gi,r的模始終會被限定為1,無法增強;

24、s203、由于梯度向量gi,r中可能會包含醫療患者的隱私數據,因此需要對梯度向量gi,r進行隱私保護。由于神經網絡模型在訓練過程中,每一層的梯度均可視為一個向量,因此醫院hi需要對每一層的梯度都進行加密,為方便說明,僅描述其中一層梯度向量的加密。首先,醫院hi使用編碼函數將歸一化處理后的梯度向量編碼成多項式g(x),然后將梯度向量gi,r擴展至長度為2n的向量其中表示gi的共軛,然后計算多項式g(x)的系數ci:

25、

26、然后通過式(5)計算得到多項式g(x):

27、

28、接下來醫院hi使用安全參數中的公鑰pks=(a,b),結合加密函數enc(pks,g(x))進行加密。首先,hi選擇隨機數構造多項式u0,n0和n1,然后計算y0=b·u0+n0+g(x)(mod?q),y1=a·u0+n1(mod?q)得到密文表示梯度向量gi,r由醫院hi經過歸一化處理、編碼和加密后得到的最終梯度密文;

29、s204、醫院hi將最終計算得到的梯度密文上傳至ri;

30、進一步地,所述步驟s30包括以下步驟:

31、s301、ri接收從醫院hi處發送的梯度密文

32、s302、ri使用安全參數中的評估密鑰evks和旋轉密鑰rks,結合同態加法函數add(·)、同態乘法函數mult(·)和內積函數計算得到每家醫院hi上傳的梯度向量模的密文假設兩個密文ct1=(c1,1,c1,2),ct2=(c2,1,c2,2),ri首先定義同態加法函數add(·)和同態乘法函數mult(·),,則兩個密文的同態加法結果為ctadd=(c1,1+c2,1,c1,2+c2,2),同態乘法結果為ctmult=(c1+av·c3,c2+bv·c3),其中c1=c1,1·c2,1,c2=c1,1·c2,2+c1,2·c2,2,c3=c1,2·c2,2,av和bv是評估密鑰中evks的多項式。然后ri定義內積函數dot(·),使用旋轉密鑰rks計算:

33、

34、得到密文ct1和ct2的內積密文ct=(cm,1,cm,2),其中r(·)表示將對應多項式系數旋轉i個位置后得到的新多項式。ri計算得到每家醫院hi上傳的梯度向量模的密文然后將所有醫院的編號及其對應的計算結果上傳至sm;

35、s303、sm接收從ri處發送的醫院編號及其對應的計算結果利用自己保留在本地的私鑰sks對所有的計算結果進行解密,假設密文首先,利用解密函數計算多項式u(x)=cm,1+cm,2·sks,然后利用解碼函數計算m(x)=u(x)/δ,提取多項式m(x)前n/2個分量組成系數向量(m0,m1,…,mn/2-1),然后計算:

36、

37、得到解密結果mi,r。由于誠實參與訓練的醫院會按照要求將梯度向量進行歸一化處理,因此解密的結果應該是mi,r=1,若解密結果不為1,則可認為該醫院hi是惡意參與者,或者該醫院的梯度值受到了外部攻擊者的篡改。sm將解密結果mi,r=1的醫院的編號添加到列表l中,然后將l發送給ri;

38、s304、ri利用自身擁有的初始訓練集d0訓練一個基線模型,得到基線梯度g0,r,然后歸一化本地梯度g0,r,得到接下來對進行編碼和加密,得到一個基線梯度密文,具體過程可以通過以下公式描述:

39、

40、其中,g0(x)表示對進行編碼生成的多項式,表示ri本地擁有的基線梯度密文,然后,ri使用安全參數中的評估密鑰evks和旋轉密鑰rks,結合內積函數計算基線梯度密文與列表l中每家醫院上傳的梯度密文之間的余弦相似度密文:

41、

42、其中表示在第r輪迭代中,醫院hi的梯度密文與ri的基線梯度密文之間的余弦相似度密文,它表示兩個密文向量之間的夾角,范圍在-1到1之間,余弦相似度的值越接近于1,則表示這兩個密文向量越相似,即醫院hi提交的數據越有可能是真實且有效的數據,反之,余弦相似度的值越接近于-1,則表示這兩個密文向量偏離程度越大,即醫院hi提交的數據越有可能是惡意的數據;

43、進一步地,所述步驟s40包括以下步驟:

44、s401、對于列表l中的每一家醫院hi,ri利用同態加法函數得到密文

45、

46、密文的范圍被調整為[0,2],然后ri利用旋轉密鑰evks,結合同態乘法函數得到密文

47、

48、假設密文ri利用重縮放函數計算得到密文其中p和q是s102已選擇的參數。密文的范圍被調整為[0,1];

49、s402、ri利用密文結合sigmoid函數為列表l中的每一家醫院hi分配權重。首先,ri調整sigmoid函數中的參數,將其轉換為以0.5為中心的函數:

50、

51、其中,β是一個超參數,它調整sigmoid函數的彎曲程度,ri將其值設置為50。

52、s403、由于同態加密后的密文只能進行同態加法操作和同態乘法操作,因此ri使用多項式對式(12)進行近似表示,近似多項式表示為:

53、y=0.2787x3+0.4214x2+1.0181x+0.9991????(13)

54、對于列表l中的每一家醫院hi,首先,ri利用旋轉密鑰evks,結合同態乘法函數得到密文

55、

56、ri利用重縮放函數得到密文接下來,ri利用旋轉密鑰evks,結合同態乘法函數得到密文

57、

58、ri利用重縮放函數得到密文接下來,ri根據式(13),將密文以及乘上對應系數:

59、

60、ri利用重縮放函數,分別得到密文以及最后,得到醫院hi的聚合權重密文

61、

62、s404、對于列表l中的每一家醫院hi,ri利用旋轉密鑰evks,結合同態乘法函數計算得到密文

63、

64、然后,ri利用重縮放函數得到密文最后,ri利用同態加法函數將所有的密文進行累加,得到聚合密文

65、

66、進一步地,所述步驟s50包括以下步驟:

67、s501、ri利用同態加法函數add(sj,r,sj+1,r),計算l個參與訓練的醫院在聚合時的權重之和

68、

69、其中,|l|表示列表l中醫院的數量。然后,ri將權重之和密文以及聚合密文發送給sm。

70、s502、sm在接收到權重之和密文以及聚合密文之后,利用自己保留在本地的私鑰sks進行解密:

71、

72、其中,t(x)和sum(x)分別表示權重之和密文以及聚合密文解密后得到的明文多項式。然后,sm使用解碼函數分別得到第r輪次的聚合結果gr和權重之和sumr:

73、gr=dcd(t(x),δ),sumr=dcd(sum(x),δ)????(22)

74、最后,sm計算本輪次的最終聚合梯度

75、

76、s503、sm使用編碼函數將最終聚合梯度編碼成多項式m(x):

77、

78、然后,sm使用ri的公鑰pkr,結合加密函數enc(pkr,m(x))對聚合結果進行重新加密,得到聚合梯度密文

79、

80、最后,sm將聚合梯度密文發送給ri和各家醫院。

81、s504、ri和醫院hi從sm處接收到聚合梯度密文之后,利用ri的私鑰skr,結合解密函數得到明文多項式p(x):

82、

83、然后,ri和醫院hi使用解碼函數dcd(p(x),δ)得到本輪次全局聚合梯度

84、

85、最后,ri和醫院hi使用全局聚合梯度來更新自己的本地模型:

86、

87、s505、ri在測試集上對更新后的模型進行準確率測試,若準確率達到期望值,則表示此訓練完成,反之,則各醫院hi轉入階段s201,在此基礎上,進行第r+1輪的局部模型訓練。

88、本發明使用全同態加密算法保護醫療患者的隱私數據,使用余弦相似度評估梯度密文,設計一種新的聚合機制確保聚合結果具備高度精確性。

89、(1)本發明在醫療數據模型訓練過程中,通過系統管理員和科研機構生成的密鑰集,實現了對醫療數據的全同態加密,這種加密方式允許對加密后的數據進行計算并得到加密結果,而無需解密數據本身,從而有效保護了醫療患者的隱私。現有的隱私保護聯邦學習通常采用pailler加密方法,該方法只能對模型向量中的每個參數進行逐個加密,計算開銷大,加解密時間長,本發明的全同態加密方法能夠對模型向量進行整體加密,大幅度減少計算開銷,加解密時間短。

90、(2)本發明引入了余弦相似度作為評估各醫院上傳梯度密文質量的標準。通過計算各醫院上傳的梯度密文與基線梯度密文之間的余弦相似度,科研機構能夠準確判斷梯度密文的質量,并據此對聚合權重進行調整。現有的密文評估方法通常基于krum、median和trim-mean等統計方法,這些方法容易受到惡意參與者比例的影響,當惡意參與者的比例較高時,無法準確判斷密文質量,本發明的余弦相似度方法不受惡意參與者比例的影響。

91、(3)本發明設計了一種新的梯度密文聚合機制,該機制基于余弦相似度,利用sigmoid邏輯函數近似表示的多項式計算聚合權重。現有的聚合方法通常只考慮數據同分布的情況,在數據分布存在顯著差異的異構場景下,模型精度較差。本發明設計的機制能夠有效應對異構場景下的模型訓練挑戰,保證在數據分布、模型結構等存在差異的情況下,全局模型仍然能夠保持高精度。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 古浪县| 临汾市| 阜宁县| 宁晋县| 和政县| 神农架林区| 龙陵县| 兴国县| 阿勒泰市| 长沙市| 洛扎县| 杭州市| 昌黎县| 红原县| 营口市| 衡南县| 邯郸市| 双辽市| 峨眉山市| 庄河市| 江北区| 广灵县| 丹阳市| 武汉市| 民丰县| 肇源县| 峨眉山市| 泾源县| 宁安市| 九江市| 通山县| 灵川县| 宁明县| 高台县| 贵阳市| 西林县| 开封县| 中江县| 屏山县| 田林县| 滨州市|