本發(fā)明涉及kan和遺忘學(xué)習(xí)技術(shù),具體涉及一種基于kan的網(wǎng)絡(luò)流量數(shù)據(jù)零損失類別遺忘方法。
背景技術(shù):
1、遺忘學(xué)習(xí)是一個相對新興且復(fù)雜的研究領(lǐng)域,它主要關(guān)注如何從已訓(xùn)練的機(jī)器學(xué)習(xí)模型中安全地移除或“遺忘”特定的數(shù)據(jù)點或信息,以滿足數(shù)據(jù)隱私保護(hù)的需求?,F(xiàn)有的遺忘學(xué)習(xí)技術(shù),包括知識蒸餾、模型修剪、差分隱私、精確遺忘與近似遺忘等方法,各自展現(xiàn)了獨特的優(yōu)勢與局限性,并在特定應(yīng)用場景下發(fā)揮著重要作用。然而,這些方法在推進(jìn)遺忘學(xué)習(xí)的同時,也普遍面臨著兩大核心挑戰(zhàn):效率問題以及準(zhǔn)確率與數(shù)據(jù)損失之間的微妙平衡:
2、1、效率:隨著數(shù)據(jù)量的爆炸性增長和模型復(fù)雜度的不斷提升,如何在保證遺忘效果的同時,實現(xiàn)快速且高效的模型更新成為了一個重大挑戰(zhàn)。
3、2、準(zhǔn)確率與損失度之間的關(guān)系:遺忘學(xué)習(xí)的核心目標(biāo)是在移除特定數(shù)據(jù)點后,盡量保持模型的預(yù)測性能不受影響。然而,在實際操作中,往往需要在模型的準(zhǔn)確率與數(shù)據(jù)損失度之間做出權(quán)衡。過度追求遺忘效果可能導(dǎo)致模型性能顯著下降,而過于保守則可能無法有效實現(xiàn)遺忘目標(biāo)。
4、kan模型由于其獨特的可解釋性,可以結(jié)合遺忘學(xué)習(xí),針對特定的參數(shù)進(jìn)行遺忘,實現(xiàn)更加高效的遺忘任務(wù),并且kan可以和傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,進(jìn)一步提高模型的擬合能力。
5、在入侵檢測場景中,一旦數(shù)據(jù)遭受污染,模型的可靠性就難以保證,由于重新訓(xùn)練帶來的高額成本,通常會使用遺忘學(xué)習(xí)技術(shù)來去除污染數(shù)據(jù),這里的污染數(shù)據(jù)是指被污染的網(wǎng)絡(luò)流量數(shù)據(jù),對于模型來說是惡意的知識。不斷地提高遺忘學(xué)習(xí)效率,實現(xiàn)模型惡意知識消除與原始知識保全的雙目標(biāo)優(yōu)化,是該領(lǐng)域追求的目標(biāo)。
技術(shù)實現(xiàn)思路
1、發(fā)明目的:本發(fā)明的目的在于解決現(xiàn)有技術(shù)中存在的不足,提供一種基于kan的網(wǎng)絡(luò)流量數(shù)據(jù)零損失類別遺忘方法。
2、技術(shù)方案:本發(fā)明的一種基于kan的網(wǎng)絡(luò)流量數(shù)據(jù)零損失類別遺忘方法,包括以下步驟:
3、步驟(1)、數(shù)據(jù)處理,對網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行處理,包括特征工程、清洗數(shù)據(jù)和確定污染數(shù)據(jù)和遺忘類別,并將數(shù)據(jù)劃分為保留集和遺忘集;
4、步驟(2)、搭建cnn+kan網(wǎng)絡(luò)模型,其中cnn的輸出層連接kan的輸入層,設(shè)定b樣條函數(shù)基函數(shù)的多項式階數(shù)k和網(wǎng)格數(shù)grid,確定輸入輸出維度;并對構(gòu)建好的cnn+kan網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,以及對訓(xùn)練好的kan模型進(jìn)行正則化與剪枝;此處通過cnn模型提取文本、圖片、視頻、音頻等數(shù)據(jù)特征,具有參數(shù)少且優(yōu)勢顯著,經(jīng)cnn模型與kan模型結(jié)合后,可處理各類數(shù)據(jù);
5、步驟(3)、將正則化和剪枝后的kan模型進(jìn)行可視化,根據(jù)樣條函數(shù)的形狀,選擇對應(yīng)的函數(shù)符號去固定激活函數(shù),并將模型轉(zhuǎn)化為公式;
6、步驟(4)、目標(biāo)計算,即使用遺忘集數(shù)據(jù)對步驟(3)所得公式進(jìn)行計算,得到除目標(biāo)公式以外的其他公式的計算結(jié)果,并對計算結(jié)果進(jìn)行處理,得到優(yōu)化后目標(biāo),具體方法為:
7、步驟(4-1)、將遺忘類別對應(yīng)的公式確定為目標(biāo)公式,將其他類的公式確定為計算公式;
8、步驟(4-2)、將遺忘集的數(shù)據(jù)代入計算公式中,其中數(shù)據(jù)特征與公式中的變量一一對應(yīng),將公式的自變量替換為每個數(shù)據(jù)特征,并計算每個公式的結(jié)果;
9、步驟(4-3)、將每個公式的計算結(jié)果進(jìn)行處理,得到結(jié)果的中位數(shù)值,將其作為目標(biāo)公式在該條數(shù)據(jù)上的優(yōu)化目標(biāo),記為target;
10、重復(fù)步驟(4-2)至步驟(4-3),直到所有遺忘集數(shù)據(jù)都被代入計算,得到所有優(yōu)化后的目標(biāo)target;
11、步驟(5)、目標(biāo)公式優(yōu)化:根據(jù)步驟(4)所得目標(biāo),使用梯度下降算法對目標(biāo)公式進(jìn)行優(yōu)化,并更新目標(biāo)公式,具體方法為:
12、步驟(5-1)、提取目標(biāo)公式所有自變量的系數(shù)θ1,θ2,…,θn;然后將遺忘集數(shù)據(jù)代入目標(biāo)公式中,得到計算結(jié)果output;
13、步驟(5-2)、計算結(jié)果output與target的均分誤差loss;
14、
15、并將loss作為損失函數(shù);
16、步驟(5-3)、對損失函數(shù)各參數(shù)求梯度,得到梯度向量
17、然后計算
18、并設(shè)定最大范數(shù)m;當(dāng)此時的梯度不需要縮放,即:
19、當(dāng)此時的梯度需要縮放和裁剪,對梯度的縮放公式為
20、步驟(5-4)、更新目標(biāo)公式的所有參數(shù),更新的公式為:其中α為學(xué)習(xí)率;
21、步驟(5-5)、重復(fù)步驟(5-2)至步驟(5-4),直到所有遺忘集數(shù)據(jù)都被代入到公式中;
22、步驟(5-6)、對上述步驟得到的所有系數(shù)θ1,θ2,…,θn進(jìn)行過濾,刪除系數(shù)小于閾值th的項;
23、更新目標(biāo)公式,將過濾所得系數(shù)替換到原目標(biāo)公式中;
24、步驟(6)、零損失遺忘測試:使用數(shù)據(jù)對更新后的公式進(jìn)行測試,比較在遺忘集和保留集上的準(zhǔn)確率。
25、進(jìn)一步地,所述步驟(1)數(shù)據(jù)處理的詳細(xì)過程為:
26、步驟(1-1)、讀取網(wǎng)絡(luò)流量數(shù)據(jù)集,由于入侵檢測數(shù)據(jù)集只包含文本序列,因此我們只需要將無窮大和無窮小的數(shù)替換為nan,刪掉所有的nan數(shù)據(jù),并對空數(shù)據(jù)進(jìn)行填充;
27、步驟(1-2)、接著對ip地址,mac地址等非數(shù)值數(shù)據(jù)特征進(jìn)行重新編碼,并對所有網(wǎng)絡(luò)流量特征進(jìn)行標(biāo)準(zhǔn)化和歸一化;
28、步驟(1-3)、將遺忘類別即污染數(shù)據(jù)類別的所有數(shù)據(jù)單獨整理為遺忘集,通常為某種網(wǎng)絡(luò)攻擊類別,模型從遺忘集中學(xué)到的為惡意知識,需要被遺忘,剩下的數(shù)據(jù)為保留集,是模型需要保留的知識。
29、步驟(1-4)、對遺忘集和保留集各自拆分為遺忘訓(xùn)練集、遺忘測試集、保留訓(xùn)練集、保留測試集。將數(shù)據(jù)集的攻擊類型字段作為標(biāo)簽y,去除數(shù)據(jù)集中的數(shù)據(jù)流唯一標(biāo)識如id等無關(guān)網(wǎng)絡(luò)流量特征的字段,將剩余的字段作為輸入字段x。
30、進(jìn)一步地,所述步驟(2)模型訓(xùn)練的具體過程如下:
31、步驟(2-1)、搭建cnn+kan網(wǎng)絡(luò),cnn的輸出層連接kan的輸入層,設(shè)定b樣條函數(shù)基函數(shù)的多項式階數(shù)k和網(wǎng)格數(shù)grid,確定輸入輸出維度;
32、步驟(2-2)、設(shè)定訓(xùn)練輪數(shù)epoch,進(jìn)行訓(xùn)練;
33、步驟(2-3)、添加l1正則化,對kan模型繼續(xù)訓(xùn)練;
34、步驟(2-4)、使用kan提供的接口函數(shù)prune對kan模型進(jìn)行剪枝,刪掉參數(shù)值過小的邊;
35、步驟(2-5)、使用保留集和遺忘集進(jìn)行準(zhǔn)確率測試,記錄結(jié)果accm和accf。
36、進(jìn)一步地,所述步驟(3)公式化的具體過程如下:
37、步驟(3-1)、使用kan提供的接口函數(shù)plot對步驟(2-4)所得的簡化模型進(jìn)行可視化;
38、步驟(3-2)、確定符號庫lib,在符號庫中添加基礎(chǔ)函數(shù);
39、步驟(3-3)、固定邊上的激活函數(shù),使用符號庫中的基礎(chǔ)函數(shù)替代可視化后的模型邊上的樣條函數(shù);
40、步驟(3-4)、將所有樣條函數(shù)進(jìn)行替換,對替換后的模型進(jìn)行再訓(xùn)練;
41、步驟(3-5)、將模型各層邊的權(quán)重與基礎(chǔ)函數(shù)輸出,根據(jù)模型的結(jié)構(gòu)整理為公式;
42、步驟(3-6)、保存每個輸出神經(jīng)元對應(yīng)的公式。
43、進(jìn)一步地,所述步驟(6)的具體過程為:
44、步驟(6-1)、再次使用保留集和遺忘集進(jìn)行準(zhǔn)確率測試,記錄結(jié)果acc′m和acc′f;
45、步驟(6-2)、如果acc′m≥accm并且acc′f<<accf則認(rèn)為實現(xiàn)了零損失的類別遺忘;
46、步驟(6-3)、使用多個數(shù)據(jù)集重復(fù)步驟(1)至步驟(6-2),以驗證零損失類別遺忘能力。
47、有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
48、(1)、本發(fā)明基于kan模型,通過將模型公式化,把類別遺忘問題轉(zhuǎn)化為多項式優(yōu)化問題,以實現(xiàn)遺忘效果。本發(fā)明在優(yōu)化時只有極少的參數(shù),因此擁有更高的效率,具體表現(xiàn)在更低的時間開銷和存儲開銷。在實際應(yīng)用中可用于去除入侵檢測模型中的污染數(shù)據(jù),使模型忘記惡意知識,確保模型在遭受投毒攻擊后可以快速地恢復(fù)。
49、(2)、本發(fā)明利用kan的可解釋性,將模型的輸出類別轉(zhuǎn)化為對應(yīng)的公式,對目標(biāo)公式系數(shù)優(yōu)化不會影響其他公式,因此本發(fā)明實現(xiàn)的類別遺忘為零損失的,即模型在遺忘前后,在保留集上不會出現(xiàn)準(zhǔn)確率上的損失。在實際應(yīng)用中,可去除深度學(xué)習(xí)模型中的污染數(shù)據(jù),使模型忘記惡意知識,并且保證模型對原有數(shù)據(jù)的準(zhǔn)確率不受影響,即不影響模型的保留知識。
50、(3)、本發(fā)明在實際應(yīng)用中可用于去除深度學(xué)習(xí)模型中的污染數(shù)據(jù),使模型忘記惡意知識,確保模型在遭受投毒攻擊后可以快速地恢復(fù),并且保證模型對原有數(shù)據(jù)的準(zhǔn)確率不受影響,即不影響模型的保留知識。