System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于分布式機器學習領域,具體涉及面向異構數據基于差分隱私保護的去中心化學習方法。
技術介紹
1、隨著人工智能技術的快速發展與智能設備的普及,形成了龐大的物聯網架構,現實網絡中設備數量和產生的數據量都大幅增加,為傳統用戶訓練與學習帶來了巨大的困擾。聯邦學習等分布式學習技術以其跨多設備協作的獨特優勢,分散了集中學習帶來的巨大時間與算力消耗,逐漸成為主流的訓練方法。然而隨著數據量和網絡規模的持續增長,中央服務器在通信、計算和存儲能力上的需求不斷增加,中央服務器的壓力日漸加劇,一旦其故障可能會導致整個分布式系統的崩潰,形成了聯邦學習的瓶頸所在。為了解決高質量中央服務器的限制,去中心化學習利用節點鄰居之間的合作,能夠有效地將訓練負載分散到系統中的各個節點,有效緩解集中式架構所帶來的挑戰,滿足現實網絡的需要。
2、盡管研究表明去中心化學習能夠達到與聯邦學習相當的效果,但數據異質性問題仍然不可避免。隨著設備數量的增加,參與用戶的多樣化以及設備的個性化程度不斷提升,各個用戶之間的數據差異呈現非獨立同分布,這會妨礙模型的收斂并降低整體效果。盡管諸如fedprox、scaffold和fedftg等眾多技術已在聯邦學習中較好地解決了數據異質性問題,但在去中心化學習中的解決方案尚不成熟。交叉梯度聚合和梯度跟蹤等技術在解決去中心化學習中的數據異質性問題上取得了一定的進展,但這些方法在一定程度上容易陷入局部最優解,在融合全局信息方面存在不足。
3、此外,去中心化學習的隱私問題仍然是一個重大挑戰,因為通過分析客戶端交換的更新
技術實現思路
1、針對上述提出的技術問題,本專利技術提供了一種面向異構數據基于差分隱私保護的去中心化學習方法。通過該方法,可以在數據異構的去中心環境下,使每個用戶都能學習到包含全局信息的近似全局最優的模型,能夠在處理非獨立同分布數據獲得優秀的效果;同時在用戶交換參數和梯度時通過引入基于差分隱私的噪聲,有效保護每個用戶的本地隱私數據;能夠合理平衡模型效果與隱私保護程度。
2、為達上述目的,本專利技術的技術方案如下:
3、面向異構數據的基于差分隱私保護的去中心化學習方法,包括如下步驟:
4、(1)初始化:構建去中心化場景,生成去中心化網絡圖和用戶連接關系的網絡拓撲;設置全局參數;完成用戶設置,加載各個用戶節點的數據,初始化用戶模型參數和動量參數;
5、(2)自梯度與跨梯度計算:用戶向鄰居用戶發送模型參數,基于自身數據計算自梯度,基于鄰居的模型參數計算跨梯度,對所述自梯度和所述跨梯度分別進行裁剪,根據差分隱私機制向所述自梯度和所述跨梯度添加噪聲,將添加噪聲后的跨梯度傳遞給鄰居;
6、(3)生成校正梯度:用戶根據自梯度和接收的跨梯度,計算自梯度和接收的跨梯度的相似性,根據所述相似性加權校正生成校正梯度;
7、(4)動量參數與模型參數更新:根據所述校正梯度更新動量參數,利用更新后動量參數更新用戶本地的模型參數,向鄰居廣播更新后的動量參數和模型參數,接收鄰居的動量參數和模型參數,對收到的動量參數和模型參數進行加權平均;
8、(5)每個用戶按照步驟(2)至步驟(4)開展多輪迭代,等到全部用戶學習結束后,平均全部用戶的模型得到全局模型。
9、進一步地,所述步驟(1)具體包括以下步驟:
10、(1.1)構建去中心化場景:構建的去中心化場景中,用戶集合,共包含n個用戶;
11、去中心化網絡圖,其中w為網絡拓撲的邊權矩陣,,邊權矩陣w為滿足的雙隨機矩陣,其中代表用戶i和用戶j之間的邊權,反映用戶i和j之間的關聯程度,若用戶i和j不是鄰居,則,集合n中的每個用戶i的鄰居集合表示為,;
12、(1.2)設置全局參數:設置全局最大迭代輪次數t、模型學習率、動量更新系數、單次訓練數據長度b、梯度裁剪閾值c、隱私預算、梯度噪聲大小、其中梯度噪聲大小;
13、(1.3)完成用戶設置:對于集合n中的每個用戶i,加載每個用戶i的自身數據集,初始化模型參數、初始化動量參數。
14、進一步地,步驟(2)中每個用戶i在第t輪向鄰居發送模型參數,用戶收到所有鄰居的模型參數后執行自梯度計算、跨梯度計算與傳遞。
15、進一步地,步驟(2)中,所述自梯度計算的方法包括:
16、根據單次訓練數據長度b從全部用戶數據中隨機采樣,獲得單批數據?,;
17、用戶i根據在第t輪向鄰居發送的模型參數,對單批數據計算自梯度:
18、;
19、其中為用戶i在第t輪的自梯度,表示對求的偏導,為單批數據的平均交叉熵損失函數,,;
20、為單批數據中的第i條單個數據。
21、進一步地,步驟(2)中,對所述自梯度進行裁剪、加噪的方法為:
22、自梯度裁剪:;
23、其中,為裁剪后用戶i在第t輪的自梯度;為用戶i在第t輪的初始自梯度;為初始自梯度范數;c為梯度裁剪閾值;
24、自梯度加噪:;
25、其中,為加噪后自梯度;是方差為的維高斯噪聲矩陣;為維單位矩陣。
26、進一步地,步驟(2)中,所述跨梯度計算的方法包括:
27、根據單次訓練數據長度b從全部用戶數據中隨機采樣出單批數據?,;
28、用戶i使用收到的第t輪鄰居j的模型參數對單批數據計算跨梯度;
29、;
30、其中為用戶i對鄰居j在第t輪的跨梯度,表示對求的偏導;
31、為單批數據的平均交叉熵損失函數,,;
32、為單批數據中的第i條單個數據。
33、進一步地,步驟(2)中,對所述跨梯度進行裁剪、加噪的方法為:
34、跨梯度裁剪:;
35、其中,為裁剪后的用戶i在第t輪對鄰居j的跨梯度;為用戶i在第t輪對鄰居j的初始跨梯度;為初始跨梯度范數,c為梯度裁剪閾值;
36、跨梯度加噪:;
37、其中,為加噪后跨梯度;是方差為的維高斯噪聲矩陣;為維單位矩陣;
38、用戶i將添加噪聲后的跨梯度傳遞給鄰居j。
39、進一步地,步驟(3)具體方法如下:
40、(3.1)等待當前用戶i計算完畢自梯度,等待當前用戶收到所有鄰居跨梯度,生成跨梯度集合;
41、(3.2)根據向量相似度計算每個跨梯度與自梯度的相似性因子,;
42、其中,代表鄰居跨梯度和裁剪自梯度的內積;代表鄰居跨梯度和裁剪自梯度的范數的積;
43本文檔來自技高網...
【技術保護點】
1.面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,包括如下步驟:
2.根據權利要求1所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,所述步驟(1)具體包括以下步驟:
3.根據權利要求1所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,步驟(2)中每個用戶i在第t輪向鄰居發送模型參數,用戶收到所有鄰居的模型參數后執行自梯度計算、跨梯度計算與傳遞。
4.根據權利要求3所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,步驟(2)中,所述自梯度計算的方法包括:
5.根據權利要求3所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,步驟(2)中,對所述自梯度進行裁剪、加噪的方法為:
6.根據權利要求3所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,步驟(2)中,所述跨梯度計算的方法包括:
7.根據權利要求3所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,步驟(2)中,對所述跨梯度進行裁剪、加噪的方法為:<
...【技術特征摘要】
1.面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,包括如下步驟:
2.根據權利要求1所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,所述步驟(1)具體包括以下步驟:
3.根據權利要求1所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,步驟(2)中每個用戶i在第t輪向鄰居發送模型參數,用戶收到所有鄰居的模型參數后執行自梯度計算、跨梯度計算與傳遞。
4.根據權利要求3所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,步驟(2)中,所述自梯度計算的方法包括:
5.根據權利要求3所述面向異構數據的基于差分隱私保護的去中心化學習方法,其特征在于,步驟(2)中,對所述自梯度進行裁剪、加噪的方法為:
6.根據權利要求3所述面向異構數據...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。