本發(fā)明屬于人工智能聯(lián)邦學(xué)習(xí)領(lǐng)域,尤其涉及聯(lián)邦學(xué)習(xí)中的對抗后門惡意攻擊方法。
背景技術(shù):
1、聯(lián)邦學(xué)習(xí)(federated?learning)是一種分布式機(jī)器學(xué)習(xí)技術(shù),其核心思想是通過在多個擁有本地數(shù)據(jù)的數(shù)據(jù)源之間進(jìn)行分布式模型訓(xùn)練,在不需要交換本地個體或樣本數(shù)據(jù)的前提下,僅通過交換模型參數(shù)或中間結(jié)果的方式,構(gòu)建基于虛擬融合數(shù)據(jù)下的全局模型,從而實現(xiàn)數(shù)據(jù)隱私保護(hù)和數(shù)據(jù)共享計算的平衡,即“數(shù)據(jù)可用不可見”、“數(shù)據(jù)不動模型動”的應(yīng)用新范式。
2、聯(lián)邦機(jī)器學(xué)習(xí)算法是在分散的用戶處通過用戶的本地數(shù)據(jù)和中心服務(wù)器下發(fā)的數(shù)據(jù)訓(xùn)練和維護(hù)本地模型,并定期將本地模型參數(shù)傳輸?shù)街行姆?wù)器。中心服務(wù)器通過某種方法對來自不同用戶的模型參數(shù)進(jìn)行聚合得到中心模型參數(shù),再將中心模型參數(shù)下發(fā)給各用戶用于其本地模型的更新。
3、自聯(lián)邦學(xué)習(xí)方法問世以來,由于其分布式、多客戶端通訊的特點,后門惡意攻擊的威脅就持續(xù)存在。如果在聚合不同客戶端的本地模型時,遭遇了后門惡意攻擊,中心服務(wù)器將會把惡意攻擊者發(fā)送的虛假參數(shù)與誠信節(jié)點上傳的參數(shù)一起聚合,導(dǎo)致模型收到污染,訓(xùn)練效果變差,在攻擊者數(shù)量較多時,模型甚至?xí)粡氐灼茐?。因此,需要設(shè)計合理有效的方法應(yīng)對聯(lián)邦學(xué)習(xí)中的后門攻擊問題,識別并消除惡意攻擊者的影響,從而保證訓(xùn)練模型的有效性。多年來研究人員在fedavg基礎(chǔ)上提出了大量的算法來解決這一問題。比如multikrum,foolsgold等算法,但這些算法中的分析模塊在一些數(shù)據(jù)集,比如銀行信用卡數(shù)據(jù)集這樣的二分類數(shù)據(jù)集上,表現(xiàn)欠佳;并且這些算法適用于采樣率c=1,即每一輪都是全部節(jié)點參訓(xùn)的情況,然而在實際的生產(chǎn)應(yīng)用中,聯(lián)邦學(xué)習(xí)參訓(xùn)節(jié)點眾多,中心服務(wù)器每一輪只需采取部分節(jié)點上傳的結(jié)果即可完成聚合,即采樣率c<1,在這種情況下,上述算法難以適用。
4、optics(ordering?points?to?identify?the?clustering?structure)算法是一種聚類算法,它是基于dbscan算法進(jìn)行了一些改進(jìn)得到的新算法。它指出dbscan算法在某些情況下會忽視一些實際可形成簇的“噪點”的缺陷,并加以改進(jìn)。optics算法在dbscan算法的基礎(chǔ)上,引入了兩個新概念:核心距離(core?distance)與可達(dá)距離(reachabilitydistance)。其中,核心距離指的是該樣本點與要形成簇所需的至少minpts個樣本點之間的距離。可達(dá)距離指的是兩點之間的距離。利用這兩個距離,optics算法會構(gòu)建兩個列表,分別儲存每個點的核心距離,以及利用可達(dá)距離進(jìn)一步計算而來的可達(dá)分列表,根據(jù)可達(dá)分的分值高低形成的波峰與波谷來劃分聚類?,F(xiàn)有技術(shù)中,尚沒有將optics算法用于聯(lián)邦學(xué)習(xí)算法的先例。
技術(shù)實現(xiàn)思路
1、技術(shù)問題:在基于聯(lián)邦機(jī)器學(xué)習(xí)的聯(lián)邦學(xué)習(xí)算法中,各個節(jié)點用戶分別根據(jù)各自的數(shù)據(jù)庫訓(xùn)練本地數(shù)據(jù)集得出本地模型參數(shù),然后向中心服務(wù)器傳輸本地模型參數(shù),中心服務(wù)器對所有用戶的模型參數(shù)進(jìn)行聚合從而生成中心模型,再下發(fā)給用戶進(jìn)行下一輪的模型訓(xùn)練。
2、由于其分布式、多客戶端通訊的特點,中心服務(wù)器易于遭受到惡意攻擊者發(fā)起的后門攻擊,此時直接聚合得到的模型是被嚴(yán)重污染的。
3、針對上述技術(shù)問題,本發(fā)明提供了一種基于optics算法的跨輪次對抗后門惡意攻擊的聯(lián)邦機(jī)器學(xué)習(xí)方法,利用optics算法計算的核心距離core?distance來對每輪參訓(xùn)節(jié)點進(jìn)行排序,再利用信用分機(jī)制進(jìn)行跨輪次的模型誠信程度比較,最終消除惡意攻擊者。
4、技術(shù)方案
5、一種基于optics算法的跨輪次對抗后門惡意攻擊的聯(lián)邦機(jī)器學(xué)習(xí)方法,其特征在于:利用optics算法對參訓(xùn)節(jié)點的誠實情況進(jìn)行評價并計算其信用分,排除信用分低于閾值的節(jié)點,盡可能消除惡意節(jié)點的影響;
6、具體包括如下步驟:
7、步驟10:系統(tǒng)隨機(jī)選取的參訓(xùn)用戶接收到中心服務(wù)器發(fā)送的全局參數(shù),利用機(jī)器學(xué)習(xí)算法進(jìn)行本地模型的訓(xùn)練和更新,并將更新后的本地模型參數(shù)上傳給中心服務(wù)器;
8、步驟20:中心服務(wù)器接收到用戶的本地模型參數(shù)后,使用optics算法對接收到的本地模型參數(shù)進(jìn)行計算,根據(jù)計算結(jié)果更新每個節(jié)點的信用分;
9、步驟30:中心服務(wù)器根據(jù)系統(tǒng)設(shè)置的閾值和各參訓(xùn)用戶的信用分,排除信用分低于閾值的節(jié)點,將其余節(jié)點根據(jù)聯(lián)邦平均算法進(jìn)行聚合,得到新一輪的全局參數(shù)。
10、進(jìn)一步:所述步驟20中使用optics算法對本地模型參數(shù)進(jìn)行計算,根據(jù)計算結(jié)果更新每個節(jié)點的信用分的方法為:
11、步驟201:中心服務(wù)器使用optics算法對接收到的本地模型參數(shù)進(jìn)行計算,得到本輪參訓(xùn)節(jié)點的排序結(jié)果orderlist;
12、步驟202:中心服務(wù)器根據(jù)排序結(jié)果orderlist,更新本輪所有參訓(xùn)節(jié)點的信用分credits;
13、進(jìn)一步:所述步驟201中計算上傳節(jié)點的排序結(jié)果orderlist的方法為:
14、步驟2011:中心服務(wù)器加載上傳節(jié)點的模型參數(shù)數(shù)據(jù)
15、步驟2012:使用optics算法對模型參數(shù)數(shù)據(jù)進(jìn)行聚類計算,得到各節(jié)點的核心距離core?distance;
16、步驟2013:對各節(jié)點的核心距離core?distance進(jìn)行升序排序,得到排序結(jié)果orderlist。
17、進(jìn)一步:所述步驟202中根據(jù)排序結(jié)果orderlist,更新本輪所有參訓(xùn)節(jié)點的信用分credits的方法為:
18、步驟2021:計算本輪信用分變動的節(jié)點數(shù)量nprop
19、nprop=th×c×k
20、其中,th為總體威脅程度,其取值應(yīng)為后門惡意攻擊者占總訓(xùn)練節(jié)點數(shù)量的比例(不能超過50%);c為采樣率,即每一輪參訓(xùn)節(jié)點占總節(jié)點數(shù)量的比例;k為節(jié)點總數(shù)量。
21、步驟2022:根據(jù)排序結(jié)果orderlist更新本輪參訓(xùn)節(jié)點的信用分,對orderlist前nprop個節(jié)點增加信用分α,對orderlist后nprop個節(jié)點減少信用分α,得到更新后的各參訓(xùn)節(jié)點信用分credits;α的取值由節(jié)點在orderlist中的位次i決定,具體為:
22、
23、其中,β為參數(shù),一般取1;
24、步驟2023:規(guī)范限制更新后的各節(jié)點信用分credits在范圍[-2β,2β]內(nèi),避免極端值干擾后續(xù)計算。
25、進(jìn)一步:所述步驟30中排除信用分低于閾值的節(jié)點,將其余節(jié)點根據(jù)聯(lián)邦平均算法進(jìn)行聚合,得到新一輪的全局參數(shù)的方法為:
26、步驟301:計算本輪參訓(xùn)節(jié)點中的最低信用分min?credits;
27、步驟302:遍歷本輪參訓(xùn)所有節(jié)點的信用分credits,如果參訓(xùn)節(jié)點的信用分等于最低信用分min?credits且小于系統(tǒng)的設(shè)置的閾值m,則將該節(jié)點從本輪參與聚合計算的集合sr中刪除。其中,閾值m一般取值為m=1。
28、步驟303:對其余節(jié)點進(jìn)行聯(lián)邦平均計算,得到新一輪的全局參數(shù):
29、
30、有益效果
31、本發(fā)明通過optics算法計算出每一輪參訓(xùn)節(jié)點的排序情況,再通過全局有效的信用分機(jī)制,從而跨輪次對所有節(jié)點進(jìn)行誠信度比較,從而有效識別惡意攻擊者,保護(hù)聯(lián)邦學(xué)習(xí)模型免受或降低惡意攻擊者的影響。