本發(fā)明屬于人工智能,尤其涉及一種非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法及系統(tǒng)。
背景技術(shù):
1、隨著近幾年數(shù)據(jù)的爆炸式增長(zhǎng),機(jī)器學(xué)習(xí)得到了很好的發(fā)展與應(yīng)用,如今機(jī)器學(xué)習(xí)已經(jīng)滲透到各行各業(yè)。傳統(tǒng)的機(jī)器學(xué)習(xí)需要把用戶數(shù)據(jù)集中收集到一處進(jìn)行模型訓(xùn)練,但由于越來(lái)越多的隱私安全問(wèn)題的出現(xiàn),各國(guó)和各行業(yè)出臺(tái)了越來(lái)越嚴(yán)格的數(shù)據(jù)隱私保護(hù)法規(guī),導(dǎo)致用戶數(shù)據(jù)很難集中到一處,訓(xùn)練數(shù)據(jù)越來(lái)越碎片化,形成了多個(gè)“數(shù)據(jù)孤島”式的分布式數(shù)據(jù)庫(kù)。為了在保護(hù)用戶隱私的同時(shí)盡可能地訓(xùn)練機(jī)器學(xué)習(xí)模型,google于2016年提出了聯(lián)邦學(xué)習(xí)(federated?learning,fl)。聯(lián)邦學(xué)習(xí)是一種特殊的分布式機(jī)器學(xué)習(xí),其本質(zhì)是大量客戶端在服務(wù)器的協(xié)調(diào)下共同訓(xùn)練全局模型。具體而言,每個(gè)客戶端設(shè)備用自己的本地?cái)?shù)據(jù)訓(xùn)練本地模型,并將模型參數(shù)上傳到中心服務(wù)器,服務(wù)器在接收到本地模型參數(shù)后,按照一定的策略將其聚合成全局模型,隨后把全局模型下發(fā)給每個(gè)客戶端,客戶端用全局模型更新自己的本地模型,開啟下一輪的訓(xùn)練。這個(gè)過(guò)程不斷重復(fù),直到全局模型收斂。由于每一輪中客戶端上傳的是模型參數(shù)而不是原始數(shù)據(jù),所以可以防止用戶隱私泄露,同時(shí)也節(jié)省了大量通信資源。
2、聯(lián)邦學(xué)習(xí)無(wú)疑為人工智能開辟了新的研究方向,它提供了一種新的訓(xùn)練方法,在不侵犯用戶隱私的情況下構(gòu)建個(gè)性化模型。然而,由于聯(lián)邦學(xué)習(xí)是一個(gè)較為復(fù)雜的開放性系統(tǒng),系統(tǒng)中存在大量的終端設(shè)備,這些設(shè)備可以動(dòng)態(tài)地加入或離開,這種特性給惡意攻擊者以可乘之機(jī),它們可以操縱本地模型的訓(xùn)練并最終影響全局模型的精度。一些中毒攻擊試圖阻止模型被學(xué)習(xí),使模型的學(xué)習(xí)方向偏離原來(lái)的目標(biāo)。它們往往通過(guò)向聯(lián)邦學(xué)習(xí)系統(tǒng)中注入惡意客戶端,或者篡改良性客戶端的數(shù)據(jù),甚至直接制造錯(cuò)誤的模型參數(shù)來(lái)影響全局模型的聚合,如標(biāo)簽反轉(zhuǎn)攻擊,模型中毒攻擊等。除此之外,由于各個(gè)客戶端的本地?cái)?shù)據(jù)之間有很大的差異,導(dǎo)致客戶端數(shù)據(jù)呈現(xiàn)非獨(dú)立同分布的特性。非獨(dú)立同分布是指不同客戶端數(shù)據(jù)集之間的數(shù)據(jù)分布不一致,不服從相同采樣的情況,這會(huì)導(dǎo)致在本地訓(xùn)練階段,本地模型向局部最優(yōu)點(diǎn)更新,而局部最優(yōu)點(diǎn)離全局最優(yōu)點(diǎn)很遠(yuǎn)。因此,非獨(dú)立同分布導(dǎo)致本地模型向不同方向收斂,這不僅會(huì)降低全局模型的收斂速度,還會(huì)降低全局模型的性能。由于大部分的惡意攻擊檢測(cè)算法是通過(guò)不同用戶之間的差異性來(lái)實(shí)現(xiàn)的,而非獨(dú)立同分布本身就會(huì)導(dǎo)致用戶之間的差異,所以非獨(dú)立同分布給惡意用戶提供了更大的攻擊和隱藏便利。因此,如何在非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊,保證全局模型的準(zhǔn)確度是聯(lián)邦學(xué)習(xí)領(lǐng)域亟待解決的問(wèn)題。
3、現(xiàn)有技術(shù)在工業(yè)應(yīng)用中存在以下技術(shù)問(wèn)題及缺陷:
4、1.開放性和復(fù)雜性導(dǎo)致易受惡意攻擊:聯(lián)邦學(xué)習(xí)系統(tǒng)的開放性和動(dòng)態(tài)性使其在收集和聚合用戶模型參數(shù)的過(guò)程中,極易受到惡意攻擊。惡意攻擊者可以操縱本地模型的訓(xùn)練,注入惡意客戶端或篡改數(shù)據(jù),甚至制造錯(cuò)誤的模型參數(shù),導(dǎo)致全局模型的學(xué)習(xí)方向偏離原來(lái)的目標(biāo)。這些中毒攻擊不僅會(huì)阻止模型被正確學(xué)習(xí),還會(huì)嚴(yán)重影響全局模型的收斂速度和準(zhǔn)確度,進(jìn)而削弱整個(gè)系統(tǒng)的可靠性和有效性。
5、2.非獨(dú)立同分布的數(shù)據(jù)特性:由于各個(gè)客戶端的數(shù)據(jù)之間存在較大的差異,導(dǎo)致數(shù)據(jù)呈現(xiàn)非獨(dú)立同分布的特性。非獨(dú)立同分布的數(shù)據(jù)使得本地模型在訓(xùn)練過(guò)程中容易陷入局部最優(yōu)點(diǎn),而這些局部最優(yōu)點(diǎn)遠(yuǎn)離全局最優(yōu)點(diǎn),影響全局模型的收斂速度和性能。這種數(shù)據(jù)分布的不一致性不僅降低了全局模型的性能,還增加了訓(xùn)練過(guò)程中的不確定性和復(fù)雜性。
6、3.惡意攻擊檢測(cè)困難:非獨(dú)立同分布的數(shù)據(jù)特性加大了惡意攻擊檢測(cè)的難度。現(xiàn)有的大多數(shù)惡意攻擊檢測(cè)算法依賴于用戶之間的差異性來(lái)識(shí)別惡意行為。然而,非獨(dú)立同分布的數(shù)據(jù)本身就會(huì)導(dǎo)致用戶之間的模型更新方向和結(jié)果存在差異,使得基于差異性檢測(cè)惡意用戶的算法效果大打折扣。因此,在這種情況下,惡意用戶更容易隱藏其攻擊行為,給聯(lián)邦學(xué)習(xí)系統(tǒng)帶來(lái)了更大的安全隱患。
7、4.全局模型的準(zhǔn)確度和收斂問(wèn)題:在聯(lián)邦學(xué)習(xí)系統(tǒng)中,確保全局模型的準(zhǔn)確度和快速收斂是關(guān)鍵。然而,非獨(dú)立同分布的數(shù)據(jù)和惡意攻擊的存在會(huì)嚴(yán)重影響全局模型的收斂速度和最終性能。模型更新方向的不一致性和惡意數(shù)據(jù)的干擾會(huì)導(dǎo)致全局模型的學(xué)習(xí)過(guò)程變得不穩(wěn)定,降低全局模型的準(zhǔn)確度和有效性。這種情況下,現(xiàn)有的聯(lián)邦學(xué)習(xí)技術(shù)難以有效應(yīng)對(duì)復(fù)雜工業(yè)應(yīng)用中的實(shí)際需求,亟需改進(jìn)和優(yōu)化。
8、綜上所述,現(xiàn)有技術(shù)在工業(yè)應(yīng)用中面臨的主要問(wèn)題包括:開放性和復(fù)雜性導(dǎo)致易受惡意攻擊、非獨(dú)立同分布的數(shù)據(jù)特性影響模型的收斂和性能、惡意攻擊檢測(cè)困難以及全局模型的準(zhǔn)確度和收斂問(wèn)題。這些問(wèn)題限制了聯(lián)邦學(xué)習(xí)技術(shù)在工業(yè)領(lǐng)域的廣泛應(yīng)用,亟需有效的解決方案。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提供了一種非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法及系統(tǒng)。
2、本發(fā)明設(shè)計(jì)了一個(gè)在非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法,該方法適用于非獨(dú)立同分布場(chǎng)景,旨在減輕惡意用戶帶來(lái)的負(fù)面影響,增強(qiáng)聯(lián)邦學(xué)習(xí)系統(tǒng)的魯棒性。該方法包括:利用根數(shù)據(jù)集和邊際貢獻(xiàn)評(píng)估各用戶模型對(duì)全局模型的貢獻(xiàn)度;利用用戶貢獻(xiàn)度的秩和比來(lái)衡量用戶可信度;利用本輪的貢獻(xiàn)度和上一輪計(jì)算的可信度計(jì)算用戶評(píng)分,并根據(jù)評(píng)分選擇聯(lián)邦學(xué)習(xí)用戶模型參與聚合。
3、在一個(gè)有n個(gè)客戶端和一個(gè)中心服務(wù)器的聯(lián)邦學(xué)習(xí)系統(tǒng)中,每個(gè)客戶端用ci(i=1,2,...n)來(lái)表示,中心服務(wù)器用c0來(lái)表示。每個(gè)客戶端擁有自己的本地?cái)?shù)據(jù)集其中|di|為客戶端ci的數(shù)據(jù)集大小。本發(fā)明用向量ω∈rd來(lái)表示訓(xùn)練的模型參數(shù),用f(ω;b)來(lái)表示模型ω在抽樣數(shù)據(jù)集b上的損失,客戶端ci的目標(biāo)函數(shù)可表示為中心服務(wù)器的任務(wù)就是找到一個(gè)模型ω*使得所有客戶端的加權(quán)平均損失最小,即
4、
5、其中αi是客戶端模型聚合時(shí)的權(quán)重。
6、進(jìn)一步,所述非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法包括以下步驟:
7、步驟一、針對(duì)某一特定的聯(lián)邦學(xué)習(xí)任務(wù),收集一個(gè)干凈的小數(shù)據(jù)集d0,稱為根數(shù)據(jù)集。以數(shù)字圖像分類任務(wù)為例,所謂干凈是指所有圖像的分類標(biāo)簽是正確的,這可以通過(guò)人工修正標(biāo)簽來(lái)實(shí)現(xiàn);
8、步驟二、服務(wù)器端c0初始化一個(gè)全局模型ω0;
9、步驟三、服務(wù)器將全局模型ωt-1(i=1,2,…t)廣播給每個(gè)客戶端,其中t代表通信輪次。客戶端ci(i=1,2,…n)接收全局模型后,用其初始化自己的本地模型,利用本地?cái)?shù)據(jù)集訓(xùn)練本地模型,得到更新后的本地模型ωit,并將ωit上傳到服務(wù)器。其中,模型更新過(guò)程就是利用隨機(jī)梯度下降最小化損失函數(shù)的過(guò)程,即
10、
11、其中,η是學(xué)習(xí)率。
12、步驟四、服務(wù)器利用d0與各客戶端同步訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型ω0,作為服務(wù)器端模型;
13、步驟五、服務(wù)器接收所有用戶的模型后,計(jì)算每個(gè)用戶的評(píng)分,選擇用戶與服務(wù)器端模型一起參與全局模型的聚合,得到聚合后的全局模型ωt。
14、步驟六、在測(cè)試數(shù)據(jù)集上測(cè)試全局模型ωt的準(zhǔn)確度;
15、步驟七、重復(fù)步驟三到步驟六直到全局模型收斂。
16、進(jìn)一步,所述步驟五中的用戶評(píng)分是通過(guò)設(shè)計(jì)貢獻(xiàn)度模型和可信度模型來(lái)求解的。
17、貢獻(xiàn)度模型設(shè)計(jì)如下:在邊際收益利潤(rùn)分享(marginal?gain?profit?sharing)中,團(tuán)隊(duì)中參與方的收益是當(dāng)他們加入團(tuán)隊(duì)時(shí)團(tuán)隊(duì)所獲得的效用。參與方的加入會(huì)遵從一定的順序,每一個(gè)參與方的邊際貢獻(xiàn)是基于他們按照同一順序加入團(tuán)隊(duì)時(shí)計(jì)算的邊際收益。
18、考慮一個(gè)參與方集合假設(shè)是參與方的一個(gè)子集,用于共同完成某一任務(wù),效用函數(shù)是子集s對(duì)該任務(wù)的效用。參與方對(duì)子集的邊際貢獻(xiàn)可以表示為
19、本發(fā)明定義聯(lián)邦學(xué)習(xí)中用戶的邊際貢獻(xiàn)。參與方相當(dāng)于聯(lián)邦學(xué)習(xí)中的客戶端,它們需要按照一定的順序加入服務(wù)器端的用戶集合,共同完成聚合任務(wù),這里的效用函數(shù)是中的模型聚合后在測(cè)試集上的準(zhǔn)確度或損失值,每一個(gè)客戶端模型的邊際貢獻(xiàn)就是它在加入當(dāng)前用戶集合時(shí)的邊際收益。
20、本發(fā)明在服務(wù)器端維護(hù)一個(gè)干凈的小數(shù)據(jù)集,稱為根數(shù)據(jù)集d0,服務(wù)器利用該數(shù)據(jù)集與各用戶端同步訓(xùn)練,得到的模型稱為服務(wù)器模型ω0,以該模型作為每輪聚合的初始用戶子集,也就是st,計(jì)算每個(gè)用戶加入時(shí)的邊際貢獻(xiàn),本文中本發(fā)明以聚合模型在測(cè)試上準(zhǔn)確度作為效用函數(shù),即
21、
22、其中,dt是測(cè)試集,t表示當(dāng)前是第t輪聚合用戶的選擇,k表示當(dāng)前需要選擇加入聚合的第k個(gè)用戶,i表示計(jì)算用戶ci的邊際貢獻(xiàn)。
23、由于邊際貢獻(xiàn)是正向指標(biāo),即邊際貢獻(xiàn)越高,用戶為良性用戶的概率越大,對(duì)模型性能的提升幫助越大。所以本發(fā)明采用正向指標(biāo)的極差歸一化法對(duì)該輪次聚合用戶選擇中的邊際貢獻(xiàn)進(jìn)行歸一化:
24、
25、上式可以在不改變數(shù)據(jù)分布的情況下,將數(shù)據(jù)映射到[0,1]。將標(biāo)準(zhǔn)化后的邊際貢獻(xiàn)作為該用戶在本次選擇中的貢獻(xiàn)度。
26、可信度模型的設(shè)計(jì)如下:
27、可信度模型基于秩和比的方法。秩和比(rank?sum?ratio,rsr)是一種統(tǒng)計(jì)信息分析方法,用于多指標(biāo)綜合評(píng)價(jià)等方面。其基本思想是在一個(gè)n行(n個(gè)評(píng)價(jià)對(duì)象)m列(m個(gè)評(píng)價(jià)指標(biāo)或等級(jí))矩陣中,通過(guò)秩轉(zhuǎn)換,獲得無(wú)量綱的統(tǒng)計(jì)量rsr,用rsr來(lái)衡量評(píng)價(jià)對(duì)象的優(yōu)劣。秩和比的一般計(jì)算步驟如下:
28、(1)根據(jù)評(píng)價(jià)的目的選擇評(píng)價(jià)指標(biāo),判斷評(píng)價(jià)指標(biāo)是效益型指標(biāo)還是成本型指標(biāo),效益型指標(biāo)的數(shù)值越大越理想,成本型指標(biāo)的數(shù)值越小越理想,構(gòu)建一個(gè)n行(n個(gè)評(píng)價(jià)對(duì)象)m列(m個(gè)評(píng)價(jià)指標(biāo)或等級(jí))矩陣x
29、
30、(2)按照評(píng)價(jià)指標(biāo)值的大小進(jìn)行排序,效益型指標(biāo)從大到小編秩,成本型指標(biāo)從小到大編秩,得到各指標(biāo)的秩次rij,用秩次rij來(lái)代替原來(lái)的評(píng)價(jià)指標(biāo)值,得到秩矩陣r
31、
32、(3)計(jì)算各評(píng)價(jià)對(duì)象之間的秩和比rsr,并按rsr的值對(duì)評(píng)價(jià)對(duì)象進(jìn)行排序。秩和比的計(jì)算表達(dá)式如下:
33、
34、其中,i=1,2,…,n,j=1,2,...,m,wj是各個(gè)評(píng)價(jià)指標(biāo)的權(quán)重。rsr值無(wú)量綱,最小值最大值rsrmax=1。
35、假設(shè)某一輪用戶聚合選擇k(k<n)個(gè)用戶模型,這樣在每次用戶選擇時(shí),本發(fā)明都會(huì)獲得一個(gè)用戶貢獻(xiàn)度排名,在該輪用戶選擇后,本發(fā)明會(huì)獲得k組用戶貢獻(xiàn)度排名,這里本發(fā)明的評(píng)價(jià)對(duì)象為全部用戶評(píng)價(jià)指標(biāo)為用戶每一輪的貢獻(xiàn)度大小??梢缘玫皆u(píng)價(jià)矩陣:
36、
37、上式中,為第n個(gè)用戶在第t輪的第m個(gè)用戶選擇(可視為第m個(gè)評(píng)價(jià)指標(biāo))中的歸一化貢獻(xiàn)。
38、由于貢獻(xiàn)為效益型指標(biāo),將第j列用戶的歸一化貢獻(xiàn)按降序排序,得到該列各指標(biāo)值的秩rij。對(duì)其余列應(yīng)用相同的過(guò)程,然后將原有的評(píng)價(jià)指標(biāo)值替換為評(píng)價(jià)指標(biāo)值的秩,進(jìn)而本發(fā)明可以得到貢獻(xiàn)度秩次矩陣rv:
39、
40、進(jìn)而計(jì)算得到各用戶的秩和比。這里,由于各評(píng)價(jià)指標(biāo)均為貢獻(xiàn)度秩次,故權(quán)重設(shè)置為1,第t輪的用戶秩和比為
41、
42、用戶的貢獻(xiàn)度排名越高,即rsr越小,用戶為良性用戶的概率越大,對(duì)全局模型的性能提升更顯著。為了與貢獻(xiàn)度保持同一量綱,這里本發(fā)明對(duì)rsr進(jìn)行歸一化得到用戶可信度cr,注意rsr在這里屬于成本型指標(biāo),即rsr越小,可信度越高,第t輪的用戶可信度為
43、
44、由前面分析可知,貢獻(xiàn)度是當(dāng)前用戶選擇時(shí)計(jì)算出的衡量指標(biāo),可信度是根據(jù)上一輪的用戶選擇計(jì)算出的衡量指標(biāo)。根據(jù)進(jìn)化聚類的原則,當(dāng)有兩個(gè)相互沖突的指標(biāo)需要同時(shí)優(yōu)化的時(shí)候,需要滿足以下規(guī)則:
45、(1)在任何時(shí)間點(diǎn)的聚類都要遵循當(dāng)前結(jié)果的特征;
46、(2)從一個(gè)時(shí)間片到下一個(gè)時(shí)間片的聚類不能有太大變化。
47、應(yīng)用到聯(lián)邦學(xué)習(xí)就是,需要依據(jù)當(dāng)前計(jì)算的貢獻(xiàn)度大小來(lái)進(jìn)行每一次的用戶選擇,也需要考慮上一次計(jì)算的可信度較高的用戶,所以,本發(fā)明賦予貢獻(xiàn)度和可信度不同的權(quán)重來(lái)計(jì)算該次用戶選擇的用戶評(píng)分,貢獻(xiàn)度的權(quán)重為β,可信度的權(quán)重為1-β,用戶ci的評(píng)分為
48、
49、當(dāng)β=0時(shí),本輪的用戶評(píng)分完全依靠上一輪次的用戶可信度;當(dāng)β=1時(shí),本輪的用戶評(píng)分只依據(jù)當(dāng)前輪次的貢獻(xiàn)度,所以本發(fā)明設(shè)置β區(qū)間范圍為[0.5,1]。
50、進(jìn)一步,所述步驟五的用戶選擇算法是基于貪心算法的思想。
51、在每一輪用戶選擇中,本發(fā)明計(jì)算每個(gè)用戶模型相對(duì)于已經(jīng)選擇的用戶子集的邊際貢獻(xiàn),并將其歸一化以獲得該輪用戶的貢獻(xiàn)然后根據(jù)前一輪用戶的貢獻(xiàn)和可信度計(jì)算用戶得分得分最高的用戶被選中加入聚合用戶集。本發(fā)明繼續(xù)計(jì)算用戶分?jǐn)?shù)并做出選擇,直到達(dá)到聚合閾值p。具體來(lái)說(shuō),如果連續(xù)p次選擇加入聚合階段的用戶的貢獻(xiàn)小于或等于0,本發(fā)明終止這一輪的用戶選擇過(guò)程。同時(shí),根據(jù)用戶的貢獻(xiàn),本發(fā)明計(jì)算出這一輪的用戶可信度并在后續(xù)的計(jì)算中使用。
52、進(jìn)一步,所述步驟五的用戶聚合算法是基于fedavg算法。由于參與聯(lián)邦學(xué)習(xí)任務(wù)的客戶端所擁有的數(shù)據(jù)集大小不同,存在數(shù)據(jù)量的異構(gòu)性,所以每個(gè)用戶模型在聚合成全局模型時(shí)所占的權(quán)重也應(yīng)該有所不同。具體來(lái)說(shuō),數(shù)據(jù)量大的用戶,其所占權(quán)重也應(yīng)該較大;數(shù)據(jù)量較小的用戶,其所占權(quán)重應(yīng)該較小,這樣一方面不失公平,另一方面也貼合集中式機(jī)器學(xué)習(xí)模型的數(shù)據(jù)集分布規(guī)律。所以本發(fā)明以客戶端數(shù)據(jù)集大小與全部客戶端數(shù)據(jù)集大小之和的比作為該客戶端參與全局模型聚合時(shí)的權(quán)重,公式表示為:
53、
54、其中,st是通過(guò)用戶選擇算法選擇的用戶子集。
55、本發(fā)明的另一目的在于提供一種應(yīng)用所述的一種非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法及系統(tǒng),所述非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法及系統(tǒng)包括:
56、貢獻(xiàn)度模型模塊,用于在計(jì)算用戶評(píng)分時(shí)衡量用戶對(duì)于全局模型的貢獻(xiàn)度。通過(guò)計(jì)算各個(gè)用戶加入時(shí)對(duì)于所選用于聚合的用戶子集的邊際貢獻(xiàn)來(lái)量化各用戶的貢獻(xiàn)度,邊際貢獻(xiàn)通過(guò)該用戶加入前后聚合模型在測(cè)試數(shù)據(jù)集上的準(zhǔn)確度差值來(lái)計(jì)算。為了后續(xù)用戶評(píng)分的計(jì)算,用min-max歸一化方法對(duì)各用戶的邊際貢獻(xiàn)值統(tǒng)一進(jìn)行歸一化。這里的測(cè)試數(shù)據(jù)集是從訓(xùn)練集當(dāng)中劃分出來(lái)的,在具體的應(yīng)用任務(wù)中,可以從各客戶端收集而來(lái);
57、可信度模型模塊,用于在計(jì)算用戶評(píng)分時(shí)衡量用戶的可信度,可信度越高代表用戶為良性用戶的概率越高;可信度越低,代表用戶為良性用戶的概率越低。通過(guò)計(jì)算上一輪通信輪次的用戶貢獻(xiàn)度的秩和比來(lái)量化用戶的可信度,即用戶貢獻(xiàn)度秩和比越小的用戶其可信度越高,在后續(xù)的用戶選擇中應(yīng)該有更高的概率被選擇。和貢獻(xiàn)度模型一樣,也需要對(duì)各用戶的秩和比統(tǒng)一進(jìn)行歸一化,這里需要注意,因?yàn)橹群捅仁浅杀拘椭笜?biāo),為了后續(xù)與貢獻(xiàn)度的加權(quán),需要對(duì)min-max歸一化方法進(jìn)行變型,用1減去歸一化結(jié)果,獲得最終的歸一化的秩和比,本發(fā)明將歸一化后的秩和比的值作為可信度;
58、用戶評(píng)分計(jì)算模塊,用于綜合衡量用戶的貢獻(xiàn)度和可信度。依據(jù)進(jìn)化聚類的原則,同時(shí)考慮本輪的貢獻(xiàn)度和上一輪的可信度,且以本輪的貢獻(xiàn)度為主,為貢獻(xiàn)度和可信度分配不同的權(quán)重,計(jì)算用戶評(píng)分,并在每次聚合模型的用戶集合更新后重新計(jì)算用戶評(píng)分;
59、用戶選擇模塊,用于選擇用戶參與全局模型的聚合。在每輪通信輪次中,當(dāng)服務(wù)器接收到所有用戶的模型更新后,計(jì)算各用戶評(píng)分,選擇評(píng)分最高的用戶加入聚合模型用戶的集合,然后更新用戶評(píng)分,繼續(xù)選擇下一個(gè)參與聚合的用戶,直到連續(xù)p次選擇加入聚合階段的用戶的貢獻(xiàn)小于或等于0,本發(fā)明終止這一輪的用戶選擇過(guò)程;
60、本地訓(xùn)練模塊,用于用戶設(shè)備利用本地?cái)?shù)據(jù)集進(jìn)行聯(lián)邦學(xué)習(xí)任務(wù)的訓(xùn)練,并完成用戶和服務(wù)器之間的消息交互和模型共享;
61、模型聚合模塊,對(duì)于模型聚合集合里的用戶,計(jì)算其聚合權(quán)重并對(duì)用戶模型進(jìn)行加權(quán)聚合,得到更新后的全局模型并進(jìn)行下一輪次的訓(xùn)練。
62、本發(fā)明的另一目的在于提供一種計(jì)算機(jī)設(shè)備,所述計(jì)算機(jī)設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí),使得所述處理器執(zhí)行所述的非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法的步驟。
63、本發(fā)明的另一目的在于提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),使得所述處理器執(zhí)行所述的非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法的步驟。
64、本發(fā)明的另一目的在于提供一種信息數(shù)據(jù)處理終端,所述信息數(shù)據(jù)處理終端用于實(shí)現(xiàn)所述的非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)系統(tǒng)。
65、結(jié)合上述的技術(shù)方案和解決的技術(shù)問(wèn)題,本發(fā)明所要保護(hù)的技術(shù)方案所具備的優(yōu)點(diǎn)及積極效果為:
66、第一,在聯(lián)邦學(xué)習(xí)場(chǎng)景中,學(xué)習(xí)過(guò)程的安全性至關(guān)重要。為了提高聯(lián)邦學(xué)習(xí)系統(tǒng)的魯棒性,以應(yīng)對(duì)惡意用戶攻擊,本發(fā)明公開了一種非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的聯(lián)邦學(xué)習(xí)方法,通過(guò)加入貢獻(xiàn)度模型、可信度模型,引入進(jìn)化聚類和貪心算法的思想把惡意用戶模型排除在全局模型聚合之外。本發(fā)明適用于智能城市、智能通信、智慧農(nóng)業(yè)、智能醫(yī)療和智能家居等多種應(yīng)用場(chǎng)景。
67、本發(fā)明考慮非獨(dú)立同分布場(chǎng)景中的中毒攻擊場(chǎng)景。首先,客戶端之間的非獨(dú)立同分布特性本身就會(huì)導(dǎo)致客戶端模型之間差異較大,模型朝著不同的方向更新,最終影響全局模型的收斂和準(zhǔn)確度;其次,惡意攻擊的目的是為了讓全局模型偏離正確的方向。以中毒攻擊為例,惡意攻擊會(huì)導(dǎo)致客戶端模型更新方向與正確的模型更新方向差距較大甚至相反,這也會(huì)導(dǎo)致客戶端模型之間的差異較大。所以,客戶端之間非獨(dú)立同分布的特性還會(huì)增加鑒別惡意用戶的難度,使得無(wú)法通過(guò)用戶之間的差異來(lái)區(qū)分惡意用戶和良性用戶。本發(fā)明以全局模型的準(zhǔn)確度為目標(biāo),通過(guò)用戶模型對(duì)于全局模型的貢獻(xiàn)度以及可信度來(lái)選擇用戶。這是因?yàn)楦鶕?jù)以往的經(jīng)驗(yàn),惡意用戶的目的是為了降低全局模型的性能,所以在非獨(dú)立同分布場(chǎng)景下,即使用戶之間的差異較大,惡意用戶的貢獻(xiàn)度總是比較低,進(jìn)而可信度也比較低,本發(fā)明可以借此篩選出良性用戶概率較大的用戶參與全局模型的聚合,最終降低惡意攻擊的影響,提高了非獨(dú)立同分布場(chǎng)景下聯(lián)邦學(xué)習(xí)的魯棒性。
68、(1)魯棒性提高:通過(guò)設(shè)計(jì)用戶選擇算法,極大的提高了聯(lián)邦學(xué)習(xí)系統(tǒng)在面對(duì)惡意中毒攻擊時(shí)的全局模型的性能;
69、(2)模型性能提升:通過(guò)設(shè)計(jì)用戶選擇算法,極大的提高了聯(lián)邦學(xué)習(xí)系統(tǒng)在非獨(dú)立同分布場(chǎng)景下的全局模型的性能;
70、(3)用戶分?jǐn)?shù)評(píng)估:本發(fā)明提供了一種聯(lián)邦學(xué)習(xí)用戶分?jǐn)?shù)評(píng)估方法。通過(guò)本輪用戶的貢獻(xiàn)度和上一輪計(jì)算的用戶貢獻(xiàn)度,可以很好的評(píng)估各用戶的分?jǐn)?shù),分?jǐn)?shù)越高代表用戶為良性用戶的概率越大;
71、綜上所述,本發(fā)明針對(duì)非獨(dú)立同分布場(chǎng)景提出了應(yīng)對(duì)惡意攻擊的魯棒聯(lián)邦學(xué)習(xí)方法,能夠顯著抵御非獨(dú)立同分布場(chǎng)景下的惡意用戶攻擊,同時(shí)提高全局模型的準(zhǔn)確性,具有較強(qiáng)的魯棒性和易于實(shí)施的特點(diǎn)。這將對(duì)智慧城市、智能醫(yī)療、金融服務(wù)等聯(lián)邦學(xué)習(xí)應(yīng)用領(lǐng)域產(chǎn)生積極的影響。
72、第二,本發(fā)明的技術(shù)方案針對(duì)非獨(dú)立同分布場(chǎng)景下的聯(lián)邦學(xué)習(xí)問(wèn)題,提供了一種應(yīng)對(duì)惡意攻擊的解決方案。將本發(fā)明的技術(shù)方案轉(zhuǎn)化為具體產(chǎn)品后,預(yù)期收益和商業(yè)價(jià)值主要體現(xiàn)在以下幾個(gè)方面:
73、數(shù)據(jù)隱私保護(hù):聯(lián)邦學(xué)習(xí)避免了將客戶端數(shù)據(jù)集中到一處,而是共享客戶端模型,避免了隱私數(shù)據(jù)的泄露。這種隱私保護(hù)機(jī)制將吸引許多組織和個(gè)人使用該技術(shù),特別是在涉及敏感數(shù)據(jù)的行業(yè),如醫(yī)療、金融和個(gè)人隱私相關(guān)的應(yīng)用領(lǐng)域;
74、提高系統(tǒng)的安全性:嚴(yán)格的全局模型的聚合用戶篩選條件把惡意用戶排除在聚合之外,降低了惡意攻擊的影響,使聯(lián)邦學(xué)習(xí)的聚合更加安全,全局模型的準(zhǔn)確度更加貼近集中式機(jī)器學(xué)習(xí)訓(xùn)練的模型的性能;
75、提高模型的準(zhǔn)確度:由于分布式機(jī)器學(xué)習(xí)系統(tǒng)中,終端設(shè)備的數(shù)據(jù)集之間大都是非獨(dú)立同分布的,本發(fā)明在限制惡意用戶參與聚合的同時(shí)保證了參與聚合的用戶模型的多樣性,提高了全局模型的收斂速度和準(zhǔn)確度;
76、潛在的市場(chǎng)機(jī)會(huì):隨著聯(lián)邦學(xué)習(xí)的快速發(fā)展,本發(fā)明在許多行業(yè)和領(lǐng)域中都有潛在的市場(chǎng)機(jī)會(huì)。醫(yī)療保健、智能城市、金融服務(wù)、物聯(lián)網(wǎng)等領(lǐng)域都需要具備隱私保護(hù)和高效數(shù)據(jù)協(xié)作能力的安全的聯(lián)邦學(xué)習(xí)系統(tǒng),這些領(lǐng)域?qū)⒊蔀楸景l(fā)明的潛在商業(yè)應(yīng)用領(lǐng)域。
77、本發(fā)明的技術(shù)方案解決了如何在非獨(dú)立同分布場(chǎng)景下應(yīng)對(duì)惡意攻擊的問(wèn)題。在非獨(dú)立同分布場(chǎng)景下,由于客戶端數(shù)據(jù)集之間的差異性,所訓(xùn)練的本地模型的更新方向差異也較大。國(guó)內(nèi)外檢測(cè)惡意用戶的算法大都基于用戶之間的差異性,在惡意用戶占比較少的場(chǎng)景中,與全局模型差異性較小的用戶被認(rèn)為是良性用戶,而這種算法在非獨(dú)立同分布場(chǎng)景下明顯不適用。本發(fā)明設(shè)計(jì)的算法不依靠用戶模型之間的差異性,所以不受非獨(dú)立同分布的影響,與此同時(shí),本發(fā)明在一定程度上保護(hù)了參與聚合用戶的多樣性,加快了模型的收斂速度,提高了模型的準(zhǔn)確度。
78、本發(fā)明的技術(shù)方案克服了在聯(lián)邦學(xué)習(xí)系統(tǒng)中要想使檢測(cè)算法發(fā)揮作用,需要將惡意用戶的比例控制在一定的范圍內(nèi)的技術(shù)偏見(jiàn)。比較常見(jiàn)的就是大部分算法規(guī)定所適用的聯(lián)邦學(xué)習(xí)場(chǎng)景中,惡意用戶的占比不能超過(guò)50%。但這在聯(lián)邦學(xué)習(xí)的部署和應(yīng)用場(chǎng)景中明顯是不現(xiàn)實(shí)的,因?yàn)樵趯?shí)際的應(yīng)用場(chǎng)景中,惡意攻擊是隱秘進(jìn)行的,因而無(wú)法統(tǒng)計(jì)和控制惡意用戶的占比情況。而在惡意用戶占比較高的場(chǎng)景中,目前的算法并不能發(fā)揮作用。本發(fā)明提出了一種創(chuàng)新性的在非獨(dú)立同分布場(chǎng)景下的魯棒聯(lián)邦學(xué)習(xí)算法,該算法可以保證在各種惡意用戶占比的情況下,模型都能達(dá)到較好的性能,克服了之前研究的局限性。
79、第三,本發(fā)明在聯(lián)邦學(xué)習(xí)系統(tǒng)中提出了一種應(yīng)對(duì)非獨(dú)立同分布數(shù)據(jù)和惡意攻擊的新方法。以下是對(duì)該發(fā)明具體實(shí)施場(chǎng)景、解決的問(wèn)題以及獲得的技術(shù)進(jìn)步的詳細(xì)描述:
80、首先,本發(fā)明具體實(shí)施于一個(gè)包含多個(gè)客戶端和一個(gè)中心服務(wù)器的聯(lián)邦學(xué)習(xí)系統(tǒng)。在此系統(tǒng)中,各個(gè)客戶端持有非獨(dú)立同分布的本地?cái)?shù)據(jù)集,并包含實(shí)施中毒攻擊的惡意用戶。為了解決這一挑戰(zhàn),本發(fā)明在服務(wù)器端引入了一個(gè)關(guān)鍵步驟:利用一個(gè)干凈的小數(shù)據(jù)集,即根數(shù)據(jù)集,與各客戶端同步訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,以構(gòu)建一個(gè)更為可靠的服務(wù)器端模型。
81、其次,針對(duì)惡意用戶實(shí)施的中毒攻擊,本發(fā)明提出了一種基于用戶貢獻(xiàn)度和可信度的評(píng)分機(jī)制。服務(wù)器在接收所有用戶上傳的模型后,首先計(jì)算每個(gè)用戶模型相對(duì)于聚合模型集合的邊際貢獻(xiàn),然后結(jié)合用戶的歷史可信度評(píng)分,選擇出評(píng)分最高的用戶模型進(jìn)行聚合。這種機(jī)制不僅能夠有效排除惡意用戶的影響,還能確保全局模型的穩(wěn)定性和準(zhǔn)確性。
82、再次,本發(fā)明的顯著技術(shù)進(jìn)步在于其應(yīng)對(duì)非獨(dú)立同分布數(shù)據(jù)和惡意攻擊的能力。通過(guò)利用根數(shù)據(jù)集構(gòu)建服務(wù)器端模型,本發(fā)明能夠在一定程度上糾正非獨(dú)立同分布數(shù)據(jù)帶來(lái)的偏差。同時(shí),通過(guò)用戶評(píng)分機(jī)制,本發(fā)明能夠有效識(shí)別并排除惡意用戶的干擾,從而確保全局模型的可靠性和魯棒性。
83、最后,本發(fā)明的實(shí)施過(guò)程簡(jiǎn)單明了,且具有良好的可擴(kuò)展性和靈活性。無(wú)論是在數(shù)據(jù)規(guī)模、模型復(fù)雜度還是系統(tǒng)架構(gòu)方面,本發(fā)明都能夠根據(jù)實(shí)際需要進(jìn)行調(diào)整和優(yōu)化。此外,通過(guò)不斷的迭代和更新,本發(fā)明能夠持續(xù)提高全局模型的性能,以適應(yīng)不斷變化的數(shù)據(jù)環(huán)境和應(yīng)用場(chǎng)景。
84、第四,本發(fā)明通過(guò)智能預(yù)測(cè)維修和智能質(zhì)量控制系統(tǒng),解決了現(xiàn)有工業(yè)應(yīng)用中設(shè)備維護(hù)和產(chǎn)品質(zhì)量控制的技術(shù)難題。在傳統(tǒng)工業(yè)生產(chǎn)中,設(shè)備故障和產(chǎn)品質(zhì)量問(wèn)題往往難以預(yù)測(cè),導(dǎo)致生產(chǎn)線頻繁停機(jī)和產(chǎn)品不良率較高。由于缺乏實(shí)時(shí)監(jiān)控和預(yù)測(cè)手段,生產(chǎn)效率和產(chǎn)品質(zhì)量難以保證,從而增加了生產(chǎn)成本和運(yùn)營(yíng)風(fēng)險(xiǎn)。
85、智能預(yù)測(cè)維修系統(tǒng)通過(guò)實(shí)時(shí)數(shù)據(jù)收集、數(shù)據(jù)分析和故障預(yù)測(cè)模型,顯著提升了設(shè)備維護(hù)的前瞻性和準(zhǔn)確性。傳感器實(shí)時(shí)監(jiān)控關(guān)鍵設(shè)備的運(yùn)行狀態(tài),數(shù)據(jù)分析模塊及時(shí)識(shí)別異常情況,并通過(guò)機(jī)器學(xué)習(xí)算法預(yù)測(cè)故障發(fā)生的性。此舉不僅大大減少了生產(chǎn)線的非計(jì)劃停機(jī)時(shí)間,提高了生產(chǎn)效率,還降低了設(shè)備故障帶來(lái)的直接和間接損失,顯著提高了生產(chǎn)線的可靠性和穩(wěn)定性。
86、智能質(zhì)量控制系統(tǒng)通過(guò)數(shù)據(jù)采集、質(zhì)量控制模型和異常識(shí)別模塊,實(shí)現(xiàn)了生產(chǎn)過(guò)程的實(shí)時(shí)監(jiān)控和產(chǎn)品質(zhì)量的精準(zhǔn)控制。系統(tǒng)能夠?qū)崟r(shí)收集生產(chǎn)環(huán)節(jié)的各項(xiàng)數(shù)據(jù),并通過(guò)大數(shù)據(jù)分析技術(shù)和質(zhì)量控制模型,快速檢測(cè)和預(yù)測(cè)產(chǎn)品質(zhì)量問(wèn)題。智能質(zhì)量控制不僅有效降低了產(chǎn)品不良率,提升了生產(chǎn)質(zhì)量和效率,還減少了人工干預(yù)的成本和錯(cuò)誤,提高了生產(chǎn)過(guò)程的自動(dòng)化水平和客戶滿意度。
87、綜上所述,本發(fā)明在工業(yè)應(yīng)用中獲得了顯著的技術(shù)進(jìn)步,通過(guò)引入大數(shù)據(jù)分析和智能技術(shù),極大地提高了設(shè)備維護(hù)和產(chǎn)品質(zhì)量控制的效率和準(zhǔn)確性。智能預(yù)測(cè)維修系統(tǒng)和智能質(zhì)量控制系統(tǒng)的實(shí)施,不僅優(yōu)化了生產(chǎn)過(guò)程,降低了成本和風(fēng)險(xiǎn),還增強(qiáng)了企業(yè)在市場(chǎng)中的競(jìng)爭(zhēng)力,為工業(yè)領(lǐng)域的持續(xù)創(chuàng)新和發(fā)展提供了有力支持。