System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機,具體地,涉及一種聯邦學習中針對安全可信、隱私保護和拜占庭容錯等問題的算法解決方案,更為具體地,涉及一種基于區塊鏈和零知識證明的可信聯邦學習系統及方法。
技術介紹
1、近年來,隨著計算硬件和通信技術的進步,區塊鏈技術和聯邦學習技術得到了迅速的發展。區塊鏈技術旨在為網絡中多方節點構建一個可信的數據交互環境,網絡中的節點共同維護一致的區塊數據;而聯邦學習是由多個計算設備構建機器學習模型,它允許計算設備用隱私數據在本地進行訓練,并將訓練得到的本地模型聚合成最終模型。由于二者天然存在的分布式特性,基于區塊鏈技術構建安全可信的聯邦學習系統,已受到越來越廣泛的關注。
2、在典型的基于區塊鏈的聯邦學習系統中,機器學習模型參數被傳輸到多個訓練者處。然后,這些訓練者用他們的本地隱私數據作為訓練數據,訓練并向驗證節點傳輸局部模型。為了進一波保護本地數據隱私安全,訓練者在傳輸局部模型之前通常會為模型參數加入噪聲。在收到局部模型后,驗證節點進行本地驗證過程評估局部模型質量,并借助區塊鏈共識機制,選取部分局部模型聚合得到心得全局模型。
3、盡管區塊鏈和差分隱私技術已經提升了聯邦學習的安全性,但也引入了新的挑戰。首先,為本地模型添加噪聲的機制需要精心設計。一方面,添加噪聲會在一定程度上引入全局模型的性能損失,為了綜合考慮隱私保護和訓練精度,在設計方案時需要精心控制噪聲大小,并在理論上限制噪聲對訓練精度的影響;另一方面,在引入差分隱私的聯邦學習系統中,其模型精度依賴于訓練節點能夠誠實添加符合條件噪聲,因此,需要設計
4、對于上述挑戰,一種可行的方法是應用零知識證明(zkp)來驗證局部訓練過程。然而,至于在fl中常添加的高斯噪聲,目前尚未有工作能夠確保其可驗證性。此外,應用zkp通常涉及將設計的算法轉換為線性算術電路,但生成高斯噪聲涉及大量非線性函數,這增加了驗證過程的難度。
5、第二個挑戰來自于驗證過程的復雜性。在基于區塊鏈的聯邦學習系統中,惡意節點除了為局部模型添加非法噪聲之外,還可以采用各種攻擊手段來破壞學習模型的性能,包括隨機梯度攻擊、注入技術等。此外,現有方法要求所有驗證者參與每個模型驗證,這導致了隨著模型參數規模以及網絡節點數量的增加,驗證過程中產生的額外計算和通信開銷顯著提高。一種可行的方案是利用分片技術來提高驗證效率。
6、目前綜合考慮上述挑戰,設計高效、安全、可信的聯邦學習系統,到目前為止,還沒有一種行之有效的解決方案。因此,基于零知識證明和分片區塊鏈技術,設計安全、可信和高效的聯邦學習系統,具有極其重要的實際意義。需要一種方案解決聯邦學習的隱私泄露、效率低下、缺乏可信驗證等問題,
7、目前沒有發現同本專利技術類似技術的說明或報道,也尚未收集到國內外類似的資料。
技術實現思路
1、針對現有技術中的缺陷,本專利技術的目的是提供一種基于區塊鏈和零知識證明的可信聯邦學習系統及方法。
2、根據本專利技術提供的一種基于區塊鏈和零知識證明的可信聯邦學習系統,包括:
3、擾動模塊:包含差分隱私子模塊和零知識證明子模塊,為局部模型添加噪聲,同時生成零知識證明;
4、應用非交互式零知識協議,使得對局部模型添加的噪聲能夠被驗證;訓練者和驗證者獨立且分別使用線性逼近構建包含特定高斯噪聲的相同電路,訓練者使用電路和公共生成器以及模型參數構建證明,驗證者使用電路驗證接收到的證明,并將驗證輸出字段與噪聲模型進行比較,如果比較結果正確,接受該證明;
5、驗證模塊:包含本地驗證和分片共識過程;
6、驗證者均勻隨機地形成一個包含多個分片的集合,在每個驗證循環中,滿足特定標準的分片中的驗證者利用系統中的公共數據集,并行驗證本地模型質量;分片中的一個驗證者提議一個投票程序區塊,并將其廣播給分片的其他成員;區塊內容為局部模型的選擇結果;分片中的驗證者提交投票以達成結論,過程持續進行直到達成一致決定;驗證者選擇部分本地模型進行全局聚合。
7、優選地,在所述擾動模塊中:
8、在初始化系統參數后,首先基于壓縮σ協議構建公共生成器,并在所有訓練者和驗證者之間共享,訓練者和驗證者基于特定的高斯噪聲用線性估計分別構建一致的電路;在本地訓練過程中,訓練者利用電路、公共生成器和模型參數構造證明;驗證者收到證明后,利用所生成電路驗證擾動模型的合法性;
9、為模型添加噪聲過程滿足(∈,δ)差分隱私,其中∈和δ為差分隱私參數,其數值均處于0到1之間。
10、優選地,在所述差分隱私子模塊中:
11、所述噪聲服從均值為0,方差為的高斯分布,且方差滿足:
12、
13、其中c1,c2,g均為常數,δ,∈為差分隱私參數,,t為訓練輪數,q為訓練者個數,n為公共數據集訓練樣本數量;
14、在所述零知識證明子模塊中:
15、訓練者完成本地訓練,重復共計模型維度d次噪聲計算步驟,為局部模型的所有參數添加噪聲,利用壓縮σ-協議,通過生成電路和公共生成器,計算得到零知識證明;
16、本地訓練采用的目標函數f(θ)對于模型參數θ可微,且具備強凸、g利普希茨和l光滑特性,當學習率η=1/l時,目標函數將期望誤差滿足:
17、
18、其中,n為訓練樣本數量,f*為最優目標函數,t為訓練輪數,c為常數,e表示對方括號內的表達式求數學期望。
19、優選地,在所述驗證模塊中:
20、驗證模塊采用基于投票的高性能分片區塊鏈共識算法,包括如下步驟:
21、驗證模塊評估局部模型的質量,并根據模型質量選取部分模型進行聚合,防御來自惡意訓練者的拜占庭攻擊;在本地驗證階段,驗證者分別計算局部模型和上一輪全局模型的精度,選擇精度優于全局模型精度的局部模型進行聚合;在共識階段,每個分片中的所有驗證者相互發送其生成的投票摘要,隨機選取一個驗證者,將正確的投票結果打包成區塊,所有的驗證者對此區塊達成共識,若共識通過,則確定用于聚合的局部模型;否則,重新進行下一輪共識;
22、用于聚合的局部模型首先在一個分片中達成共識,當有超過一定比例的驗證者提交了一致的投票則共識結束,否則,引入下一個分片重復進行共識;所述比例表示為sl;的計算公式如下:
23、
24、其中,r=α/v表示此模塊能夠容忍的最大惡意驗證節點比例,α為驗證者中惡意節點數量,v為驗證者數量,z為設定系統安全參數的變量,j為系統中區塊鏈分片的下標,r為第一輪分片下標,l為共識輪數,hj為第j個區塊鏈分片。
25、優選地,在所述驗證模塊中:
26、對于分片中的每個驗證者vj,分別計算局部模型和上一輪全局模型θt-1的精度;
27、對于給定訓練者τi和驗證者vj,驗證者獲取該訓練者的局部模型評估此訓練者的模型精度為:
28、
29、其中,為本文檔來自技高網...
【技術保護點】
1.一種基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于,包括:
2.根據權利要求1所述的基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于,在所述擾動模塊中:
3.根據權利要求1所述的基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于:
4.根據權利要求1所述的基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于,在所述驗證模塊中:
5.根據權利要求1所述的基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于,在所述驗證模塊中:
6.一種基于區塊鏈和零知識證明的可信聯邦學習方法,其特征在于,包括:
7.根據權利要求6所述的基于區塊鏈和零知識證明的可信聯邦學習方法,其特征在于:在所述擾動模塊中:
8.根據權利要求6所述的基于區塊鏈和零知識證明的可信聯邦學習方法,其特征在于:
9.根據權利要求6所述的基于區塊鏈和零知識證明的可信聯邦學習方法,其特征在于:在所述驗證模塊中:
10.根據權利要求6所述的基于區塊鏈和零知識證明的可信聯邦學習方法,其特征在于:在所述驗證模塊中
...【技術特征摘要】
1.一種基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于,包括:
2.根據權利要求1所述的基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于,在所述擾動模塊中:
3.根據權利要求1所述的基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于:
4.根據權利要求1所述的基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于,在所述驗證模塊中:
5.根據權利要求1所述的基于區塊鏈和零知識證明的可信聯邦學習系統,其特征在于,在所述驗證模塊中:
...【專利技術屬性】
技術研發人員:駱源,應臣浩,夏福源,陳煒,潘妍,許智鑫,張暢,趙哲,
申請(專利權)人:上海交通大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。