本發(fā)明涉及網(wǎng)絡(luò)防御,尤其涉及一種基于模型決策邊界的通用模型竊取防御方法及系統(tǒng)。
背景技術(shù):
1、近年來在計(jì)算機(jī)視覺和自然語言處理領(lǐng)域,訓(xùn)練深度學(xué)習(xí)模型是解決許多具有挑戰(zhàn)性的問題的重要方法之一。然而,訓(xùn)練一個(gè)表現(xiàn)優(yōu)異的神經(jīng)網(wǎng)絡(luò)需要海量的訓(xùn)練數(shù)據(jù)和昂貴的計(jì)算資源,這需要大量的成本,這為成本有限的開發(fā)者訓(xùn)練和部署自己的模型帶來了極大的限制。以gpt-3語言模型為例,其培訓(xùn)成本高達(dá)約460萬美元。因此,一些大型廠商將機(jī)器學(xué)習(xí)中數(shù)據(jù)預(yù)處理、特征提取、模型訓(xùn)練等一系列服務(wù)上傳到云服務(wù)器上,為眾多開發(fā)者提供服務(wù),并命名為機(jī)器學(xué)習(xí)即服務(wù)(machine?learning?as?a?service,mlaas),例如微軟的azure?ml、亞馬遜的amazon?ml等。mlaas極大地便利了開發(fā)者和中小企業(yè)訓(xùn)練部署自己的模型。mlaas允許用戶將自己的私有模型上傳到云服務(wù)器上,出于學(xué)術(shù)或商業(yè)目的,為公眾開放預(yù)測接口。在這種情況下,模型持有者的數(shù)據(jù)和模型結(jié)構(gòu)、模型參數(shù)等模型信息因其私密性和論文商業(yè)性,對(duì)公共用戶是不可見的,所以模型持有者通常會(huì)向請(qǐng)求用戶收取一定費(fèi)用以分?jǐn)傆?xùn)練成本。
2、由于上傳模型到云服務(wù)器并提供服務(wù)可以獲得經(jīng)濟(jì)利益或?qū)W術(shù)關(guān)注,因此經(jīng)過訓(xùn)練的模型成為模型所有者的知識(shí)產(chǎn)權(quán)(ip)。最近的研究表明,敵手可以在沒有任何先驗(yàn)知識(shí)的情況下“竊取”模型,包括訓(xùn)練數(shù)據(jù)或內(nèi)部參數(shù)。例如,敵手可以使用受害者模型來標(biāo)記未標(biāo)記的公共數(shù)據(jù)集,并用其訓(xùn)練復(fù)制模型,這種威脅被稱為模型竊取攻擊。
3、盡管mlaas為開發(fā)人員帶來了極大的便利,降低他們開發(fā)部署模型的成本,但同時(shí)也帶來了重大的安全隱患。惡意用戶可以通過mlaas暴露的接口竊取已部署的dnn模型和相關(guān)數(shù)據(jù)信息,攻擊者僅需向接口發(fā)送有限數(shù)量的查詢請(qǐng)求,就能夠利用輸出的推斷結(jié)果標(biāo)記輸入的圖像以構(gòu)建盜版數(shù)據(jù)集,然后使用該數(shù)據(jù)集來訓(xùn)練克隆模型。有研究表明,這種克隆模型在原任務(wù)的表現(xiàn)可以達(dá)到高度類似(95%以上)甚至超過原模型。因此,在設(shè)計(jì)與訓(xùn)練dnn模型時(shí)保護(hù)其知識(shí)產(chǎn)權(quán)已成為深度學(xué)習(xí)領(lǐng)域中刻不容緩的問題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)中存在的技術(shù)問題,本發(fā)明提供一種基于模型決策邊界的通用模型竊取防御方法及系統(tǒng),為確保人工智能安全、可靠、可控,防止攻擊者可以通過輸入輸出對(duì)構(gòu)建盜版數(shù)據(jù)集以獲得克隆模型。
2、根據(jù)本發(fā)明的第一方面,本發(fā)明提供一種基于模型決策邊界的通用模型竊取防御方法,包括訓(xùn)練階段及推理階段,其中,
3、訓(xùn)練階段:云平臺(tái)服務(wù)器獲得用戶預(yù)測樣本,計(jì)算原始置信度分布向量,通過通用擾動(dòng)生成算法將用戶預(yù)測樣本和云平臺(tái)模型針對(duì)預(yù)測樣本的置信度分布向量作為輸入,輸出原始擾動(dòng)樣本;
4、將原始擾動(dòng)樣本添加到所述用戶預(yù)測樣本,再輸入云平臺(tái)模型獲得擾動(dòng)置信度分布向量,作為通用擾動(dòng)生成算法輸入得到迭代擾動(dòng)樣本;
5、推理階段:判斷原始置信度分布向量得到的預(yù)測標(biāo)簽與隱藏置信度分布得到的預(yù)測標(biāo)簽是否相同:
6、當(dāng)原始置信度分布向量得到的預(yù)測標(biāo)簽和隱藏置信度分布得到的預(yù)測標(biāo)簽相同時(shí),則繼續(xù)迭代;
7、當(dāng)原始置信度分布向量得到的預(yù)測標(biāo)簽和隱藏置信度分布得到的預(yù)測標(biāo)簽不同時(shí)則停止迭代,根據(jù)迭代次數(shù)確定預(yù)測樣本到?jīng)Q策邊界的距離;
8、根據(jù)得到的預(yù)測樣本到?jīng)Q策邊界的距離與給定的比較結(jié)果確定惡意樣本;返回惡意樣本擾動(dòng)置信度分布向量,并限制該用戶訪問。
9、在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以作出如下改進(jìn)。
10、可選的,所述云平臺(tái)服務(wù)器獲得用戶預(yù)測樣本,計(jì)算原始置信度分布向量包括:
11、準(zhǔn)備好待預(yù)測樣本的輸入數(shù)據(jù);所述輸入數(shù)據(jù)符合模型預(yù)期的格式和結(jié)構(gòu);
12、構(gòu)建一個(gè)http請(qǐng)求,將待預(yù)測樣本包含在云平臺(tái)模型請(qǐng)求的主體中;
13、通過http客戶端發(fā)送請(qǐng)求到云平臺(tái)模型的預(yù)測端點(diǎn);
14、云平臺(tái)模型處理請(qǐng)求,使用托管的模型進(jìn)行預(yù)測,并返回結(jié)果。
15、可選的,所述通過通用擾動(dòng)生成算法將用戶預(yù)測樣本和云平臺(tái)模型針對(duì)預(yù)測樣本的置信度分布向量作為輸入包括:
16、在輸入云平臺(tái)模型之前,對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)處理,將圖像數(shù)據(jù)需要調(diào)整為固定大小,以匹配模型的輸入要求;將圖像像素值進(jìn)行歸一化處理;將圖像轉(zhuǎn)換為numpy數(shù)組或深度學(xué)習(xí)框架的張量格式。
17、可選的,所述原始擾動(dòng)樣本生成包括:
18、云平臺(tái)模型提供商使用模型訓(xùn)練集或者測試集中的圖像樣本和圖像樣本對(duì)應(yīng)的原始置信度分布向量作為通用擾動(dòng)生成算法的輸入,通用擾動(dòng)生成算法的輸出即為原始擾動(dòng)樣本。
19、可選的,所述將原始擾動(dòng)樣本添加到所述用戶預(yù)測樣本,再輸入云平臺(tái)模型獲得擾動(dòng)置信度分布向量,作為通用擾動(dòng)生成算法輸入得到迭代擾動(dòng)樣本包括:
20、在原始擾動(dòng)樣本的基礎(chǔ)上,將每一次用戶訪問云平臺(tái)模型使用的圖像樣本和圖像樣本對(duì)應(yīng)的原始置信度分布向量添加到通用擾動(dòng)生成算法的輸入中,由此得到的輸出即所述迭代擾動(dòng)樣本。
21、可選的,所述將每一次用戶訪問云平臺(tái)模型使用的圖像樣本和圖像樣本對(duì)應(yīng)的原始置信度分布向量添加到通用擾動(dòng)生成算法的輸入中表示為:
22、y(x,i),x={x1,…,xm}是通用擾動(dòng)生成算法輸入,每一次用戶輸入的預(yù)測樣本將會(huì)被添加到x,v是通用擾動(dòng)生成算法的輸出;
23、當(dāng)滿足err(xv)≤1-δ與||v||p≤ξ時(shí),對(duì)x中所有樣本計(jì)算擾動(dòng),得到擾動(dòng)樣本。
24、可選的,所述當(dāng)原始置信度分布向量得到的預(yù)測標(biāo)簽和隱藏置信度分布得到的預(yù)測標(biāo)簽不同時(shí)則停止迭代,停止迭代的條件判斷公式為:
25、k(xi+v)≠k(xi)
26、式中,k(xi)表示樣本xi的預(yù)測標(biāo)簽,v為擾動(dòng)樣本。
27、可選的,所述根據(jù)得到的預(yù)測樣本到?jīng)Q策邊界的距離與給定的比較結(jié)果確定惡意樣本包括:
28、比較迭代次數(shù)與給定θ的結(jié)果確定惡意樣本,當(dāng)?shù)螖?shù)小于θ時(shí),該預(yù)測樣本為惡意樣本,其中,θ為預(yù)設(shè)值,可通過實(shí)驗(yàn)得知設(shè)置θ的初始值。
29、可選的,所述返回惡意樣本擾動(dòng)置信度分布向量后,還包括:
30、利用模型竊取防御的衡量指標(biāo)來衡量被攻擊模型竊取的防御效果;所述模型竊取防御的衡量指標(biāo)定義為:
31、
32、其中,accstl表示竊取未應(yīng)用防御方法的目標(biāo)模型獲得的模型在測試集上的準(zhǔn)確率,accdefense表示竊取應(yīng)用本文防御方法后的目標(biāo)模型獲得的竊取模型在測試集上的準(zhǔn)確率,acctest表示目標(biāo)模型在測試集上的準(zhǔn)確率,performance越高代表防御效果越好。
33、根據(jù)本發(fā)明的第二方面,提供一種基于模型決策邊界的通用模型竊取防御系統(tǒng),包括:
34、訓(xùn)練模塊,用于云平臺(tái)服務(wù)器獲得用戶預(yù)測樣本,計(jì)算原始置信度分布向量,通過通用擾動(dòng)生成算法將用戶預(yù)測樣本和云平臺(tái)模型針對(duì)預(yù)測樣本的置信度分布向量作為輸入,輸出原始擾動(dòng)樣本;將原始擾動(dòng)樣本添加到所述用戶預(yù)測樣本,再輸入云平臺(tái)模型獲得擾動(dòng)置信度分布向量,作為通用擾動(dòng)生成算法輸入得到迭代擾動(dòng)樣本;
35、推理模塊,用于判斷原始置信度分布向量得到的預(yù)測標(biāo)簽與隱藏置信度分布得到的預(yù)測標(biāo)簽是否相同:當(dāng)原始置信度分布向量得到的預(yù)測標(biāo)簽和隱藏置信度分布得到的預(yù)測標(biāo)簽相同時(shí),則繼續(xù)迭代;當(dāng)原始置信度分布向量得到的預(yù)測標(biāo)簽和隱藏置信度分布得到的預(yù)測標(biāo)簽不同時(shí)則停止迭代,根據(jù)迭代次數(shù)確定預(yù)測樣本到?jīng)Q策邊界的距離;根據(jù)得到的預(yù)測樣本到?jīng)Q策邊界的距離與給定的比較結(jié)果確定惡意樣本;返回惡意樣本擾動(dòng)置信度分布向量,并限制該用戶訪問。
36、本發(fā)明的技術(shù)效果和優(yōu)點(diǎn):
37、本發(fā)明提供的一種基于模型決策邊界的通用模型竊取防御方法及系統(tǒng),通過分析現(xiàn)有對(duì)抗樣本生成方法特性,設(shè)計(jì)通用擾動(dòng)生成算法以此檢測異常樣本的同時(shí)可以抵抗自適應(yīng)攻擊,本發(fā)明在不改變目標(biāo)模型輸出標(biāo)簽下,最大程度改變了目標(biāo)模型輸出置信度分布向量,以降低竊取模型的可用性。由于本方明作為一種插件可以部署在模型訓(xùn)練階段完成以后,只需要在迭代訪問階段多次訪問api,產(chǎn)生的開銷對(duì)于大模型可以忽略。本發(fā)明不需要修改模型內(nèi)部結(jié)構(gòu)或者參數(shù),不會(huì)降低模型本身準(zhǔn)確率。
38、本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。