版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
李劍博士,教授,博士生導(dǎo)師網(wǎng)絡(luò)空間安全學(xué)院lijianeptember13,2025第九章人工智能模型的攻擊和防護(hù)本章介紹
本章對(duì)人工智能模型的攻擊類(lèi)型及防護(hù)措施進(jìn)行了全面探討。首先概述了各類(lèi)模型攻擊,包括對(duì)抗攻擊、模型反演攻擊、模型竊取攻擊、數(shù)據(jù)毒化攻擊等,揭示了其原理和潛在威脅。通過(guò)模型反演攻擊的實(shí)戰(zhàn)案例,強(qiáng)調(diào)了攻擊可能帶來(lái)的數(shù)據(jù)安全風(fēng)險(xiǎn)。知識(shí)要點(diǎn):1)了解模型攻擊的目標(biāo)與分類(lèi),包括對(duì)抗攻擊、模型反演攻擊等主要形式。2)掌握主要的模型竊取原理,認(rèn)識(shí)其對(duì)模型安全性的威脅。3)熟悉對(duì)抗性攻擊案例的實(shí)際應(yīng)用,理解攻擊實(shí)施的步驟與效果。4)學(xué)習(xí)模型防護(hù)的關(guān)鍵策略,如對(duì)抗訓(xùn)練、輸入檢查和消毒等防護(hù)措施。內(nèi)容提綱9.3實(shí)踐案例:模型反演攻擊實(shí)踐9.2模型攻擊原理9.1模型攻擊概述9.4實(shí)踐案例:基于影子模型的成員推理攻擊9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊小結(jié)9.6模型攻擊防護(hù)9.1模型攻擊概述模型攻擊是指對(duì)訓(xùn)練好的機(jī)器學(xué)習(xí)模型進(jìn)行惡意利用或操控的行為,旨在影響模型的決策、輸出或?qū)W習(xí)過(guò)程。攻擊者可以利用多種手段對(duì)模型進(jìn)行攻擊,可能會(huì)導(dǎo)致模型輸出不準(zhǔn)確的結(jié)果、泄露敏感信息,甚至導(dǎo)致系統(tǒng)崩潰。隨著人工智能技術(shù)的發(fā)展,模型攻擊的復(fù)雜性和隱蔽性不斷提高,對(duì)模型安全性帶來(lái)了前所未有的挑戰(zhàn)?,F(xiàn)有針對(duì)人工智能模型的攻擊大致可以分為以下幾種:1.對(duì)抗攻擊:在測(cè)試階段向測(cè)試樣本中添加對(duì)抗噪聲,讓模型做出錯(cuò)誤預(yù)測(cè)結(jié)果,從而破壞模型在實(shí)際應(yīng)用中的性能。2.模型竊取攻擊:通過(guò)與目標(biāo)模型交互的方式,訓(xùn)練一個(gè)竊取模型來(lái)模擬目標(biāo)模型的結(jié)構(gòu)功能和性能。3.模型反演攻擊:通過(guò)逆向工程技術(shù),從目標(biāo)模型中提取出原始訓(xùn)練數(shù)據(jù)或特征。例如,在圖像分類(lèi)模型中,反推出某些特定的訓(xùn)練樣本的內(nèi)容。9.1模型攻擊概述4.數(shù)據(jù)毒化攻擊:數(shù)據(jù)毒化攻擊是指攻擊者通過(guò)向訓(xùn)練數(shù)據(jù)集中注入惡意樣本來(lái)破壞或操縱機(jī)器學(xué)習(xí)模型的訓(xùn)練過(guò)程。這種攻擊的目的是使模型學(xué)習(xí)到錯(cuò)誤的信息,從而降低其性能或使其產(chǎn)生特定的錯(cuò)誤行為。5.數(shù)據(jù)提取攻擊:數(shù)據(jù)提取攻擊試圖通過(guò)訪問(wèn)機(jī)器學(xué)習(xí)模型的服務(wù),來(lái)重建或獲取該模型的訓(xùn)練數(shù)據(jù)。攻擊者可以使用模型的輸出結(jié)果來(lái)推測(cè)和恢復(fù)訓(xùn)練數(shù)據(jù)中的敏感信息。9.1模型攻擊概述6.成員推理攻擊:成員推理攻擊中攻擊者通過(guò)觀察模型的輸出,推測(cè)某個(gè)特定樣本是否在訓(xùn)練數(shù)據(jù)集中。這種攻擊可以用于確定目標(biāo)用戶(hù)的數(shù)據(jù)是否被用于模型訓(xùn)練,從而引發(fā)隱私和安全問(wèn)題。圖9-1更為詳細(xì)地總結(jié)了對(duì)不同人工智能模型的安全攻擊類(lèi)型及特點(diǎn)。9.1模型攻擊概述內(nèi)容提綱9.3實(shí)踐案例:模型反演攻擊實(shí)踐9.2模型攻擊原理9.1模型攻擊概述9.4實(shí)踐案例:基于影子模型的成員推理攻擊9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊小結(jié)9.6模型攻擊防護(hù)
這部分內(nèi)容中,我們將詳細(xì)探討六種主要的模型攻擊類(lèi)型:對(duì)抗攻擊、模型反演攻擊、模型竊取攻擊、數(shù)據(jù)毒化攻擊、數(shù)據(jù)提取攻擊以及成員推理攻擊。每一種攻擊都有其獨(dú)特的工作原理和方法。9.2模型攻擊原理一.對(duì)抗攻擊原理
對(duì)抗攻擊是通過(guò)在輸入數(shù)據(jù)上添加微小的擾動(dòng),使得模型輸出錯(cuò)誤的結(jié)果或預(yù)測(cè)。這種干擾通常肉眼難以察覺(jué),但在模型看來(lái)卻可能導(dǎo)致顯著的誤判,圖9-2展示了對(duì)抗攻擊的一般形式。9.2模型攻擊原理工作原理:目標(biāo)函數(shù)構(gòu)建:攻擊者需要構(gòu)造一個(gè)損失函數(shù),用于衡量對(duì)抗樣本生成的效果。例如,攻擊者可以追求最大化分類(lèi)錯(cuò)誤的概率。梯度計(jì)算:利用深度學(xué)習(xí)中的反向傳播機(jī)制,計(jì)算出輸入數(shù)據(jù)相對(duì)于模型損失的梯度方向。擾動(dòng)生成:根據(jù)梯度方向調(diào)整輸入數(shù)據(jù),生成對(duì)抗樣本。9.2模型攻擊原理示例算法:FGSM(FastGradientSignMethod):一種快速且有效的對(duì)抗攻擊方法,通過(guò)一步迭代來(lái)生成對(duì)抗樣本。PGD(ProjectedGradientDescent):迭代優(yōu)化擾動(dòng),使得對(duì)抗樣本更接近真實(shí)數(shù)據(jù)分布。9.2模型攻擊原理二.模型反演攻擊原理模型反演攻擊(modelinversionattack),又稱(chēng)模型逆向攻擊,是一種針對(duì)機(jī)器學(xué)習(xí)模型的攻擊手段,其核心目的在于通過(guò)利用模型的輸出結(jié)果推斷其訓(xùn)練數(shù)據(jù)或其他敏感信息。攻擊者通過(guò)觀察模型的輸出,并根據(jù)輸出結(jié)果推斷出模型所使用的數(shù)據(jù)或參數(shù),從而可能泄露隱私信息或者揭示模型的敏感特性。9.2模型攻擊原理
9.2模型攻擊原理
9.2模型攻擊原理三.模型竊取攻擊原理模型竊取攻擊(modelstealingattack)是一種隱蔽而具有挑戰(zhàn)性的攻擊手段,其背后的目的是獲取目標(biāo)模型的知識(shí)或敏感信息。攻擊者通過(guò)觀察目標(biāo)模型的行為或利用其輸出來(lái)嘗試復(fù)制或重建原始模型,從而獲取其內(nèi)部結(jié)構(gòu)、參數(shù)或訓(xùn)練數(shù)據(jù)的近似信息。9.2模型攻擊原理如圖9-4所示,模型竊取可以在與受害者模型交互的過(guò)程中完成。攻擊者通過(guò)有限次黑盒訪問(wèn)受害者模型的API接口,向模型輸入不同的査詢(xún)樣本并觀察受害者模型輸出的變化,然后通過(guò)不斷地調(diào)整查詢(xún)樣本來(lái)獲取受害者模型更多的決策邊界信息。在此交互過(guò)程中,攻擊者可以通過(guò)模仿學(xué)習(xí)得到一個(gè)與受害者模型相似的竊取模型,或者直接竊取受害者模型的參數(shù)和超參數(shù)等信息。9.2模型攻擊原理一般來(lái)說(shuō),模型竊取攻擊的主要目標(biāo)包括以下三種。低代價(jià):以遠(yuǎn)低于受害者模型訓(xùn)練成本的代價(jià)獲得可免費(fèi)使用的竊取模型。高收益:竊取得到的模型與受害者模型的功能和性能相當(dāng)。低風(fēng)險(xiǎn):在竊取過(guò)程中可以避開(kāi)相關(guān)檢測(cè)并在竊取完成后無(wú)法被溯源。9.2模型攻擊原理四.數(shù)據(jù)毒化攻擊原理在數(shù)據(jù)毒化攻擊中,攻擊者的意圖主要包括惡意活動(dòng)未被檢測(cè)但不影響正常操作的安全性侵犯;正常功能受損導(dǎo)致合法用戶(hù)的服務(wù)中斷的可用性侵犯或攻擊者試圖獲取系統(tǒng)、用戶(hù)或數(shù)據(jù)的私密信息的隱私侵犯,攻擊者們希望模型受到攻擊后,將樣本錯(cuò)誤地分類(lèi)為特定類(lèi)別。主流的攻擊策略有:無(wú)差別攻擊、目標(biāo)中毒攻擊以及后門(mén)攻擊。9.2模型攻擊原理
在無(wú)差別攻擊中,主要包含標(biāo)簽翻轉(zhuǎn)攻擊、雙層中毒攻擊以及清潔標(biāo)簽攻擊.標(biāo)簽翻轉(zhuǎn)攻擊是一種最簡(jiǎn)單的毒化攻擊策略,如圖9-5所示,攻擊者不改變特征值,而是錯(cuò)誤地標(biāo)記訓(xùn)練數(shù)據(jù)集的一部分樣本,從而降低如支持向量機(jī)等機(jī)器學(xué)習(xí)模型的性能準(zhǔn)確性。2.2模型屬性竊取算法
五.數(shù)據(jù)提取攻擊原理數(shù)據(jù)提取攻擊的主要目的是獲取訓(xùn)練數(shù)據(jù)中的特定特征或訓(xùn)練數(shù)據(jù)的某些統(tǒng)計(jì)性質(zhì),常見(jiàn)的攻擊方式為模型反演攻擊。這些攻擊主要分為兩類(lèi):屬性推斷和個(gè)體重建。9.2模型攻擊原理數(shù)據(jù)提取攻擊通常較為高效且具有較強(qiáng)的針對(duì)性,但需要大量的計(jì)算資源,在實(shí)際應(yīng)用中成功率往往相對(duì)較低。圖9-6列出了迄今為止已研究過(guò)的具有代表性的各類(lèi)算法的部分攻擊類(lèi)型分布圖,紅色方框表示未發(fā)現(xiàn)攻擊,綠色方框表示存在攻擊,M代表成員推理攻擊、E表示模型提取攻擊、P表示數(shù)據(jù)推理攻擊、R表示模型重建。9.2模型攻擊原理六.成員推理攻擊原理成員推理攻擊是一種黑盒攻擊方式,主要目的是推測(cè)某個(gè)數(shù)據(jù)點(diǎn)是否屬于模型的訓(xùn)練數(shù)據(jù)集。攻擊的準(zhǔn)確性受模型泛化誤差、模型復(fù)雜度、數(shù)據(jù)集結(jié)構(gòu)等因素影響,過(guò)度擬合雖然可以增加攻擊成功的機(jī)會(huì),但不是必要條件。成員推理攻擊的效果受到模型類(lèi)型、訓(xùn)練數(shù)據(jù)質(zhì)量和數(shù)量等多種因素的影響,且需要攻擊者對(duì)于人工智能模型與訓(xùn)練過(guò)程有著一定的先驗(yàn)知識(shí),但現(xiàn)有的針對(duì)成員推理攻擊的防御方式往往依賴(lài)對(duì)模型性能的犧牲,這使得成員推理攻擊是一種防御較大的攻擊方式。9.2模型攻擊原理攻擊者可以創(chuàng)建多個(gè)影子模型來(lái)模仿目標(biāo)模型的訓(xùn)練過(guò)程,從而學(xué)習(xí)訓(xùn)練數(shù)據(jù)和非訓(xùn)練數(shù)據(jù)的分布差異。對(duì)于這些影子模型,攻擊者擁有他們的訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集,因此可以構(gòu)建一個(gè)包含訓(xùn)練和非訓(xùn)練(測(cè)試)數(shù)據(jù)的標(biāo)記數(shù)據(jù)集。利用這個(gè)構(gòu)建的數(shù)據(jù)集,攻擊者可以訓(xùn)練一個(gè)二分類(lèi)器用以區(qū)分訓(xùn)練數(shù)據(jù)和非訓(xùn)練數(shù)據(jù),從而實(shí)現(xiàn)對(duì)目標(biāo)模型的成員推理攻擊。圖9-7中詳細(xì)展示了成員推理攻擊的過(guò)程。9.2模型攻擊原理七.屬性推理攻擊原理屬性推理攻擊的目標(biāo)通常包括個(gè)人敏感信息,用戶(hù)行為模式,社交關(guān)系等。除了造成對(duì)用戶(hù)隱私的嚴(yán)重侵犯,通過(guò)屬性推理攻擊獲取的信息,攻擊者可以進(jìn)一步進(jìn)行社會(huì)工程學(xué)攻擊,例如假冒身份進(jìn)行詐騙、獲取更多個(gè)人敏感信息,甚至進(jìn)行身份盜用。如圖9-8所示為機(jī)器學(xué)習(xí)中的屬性隱私問(wèn)題。9.2模型攻擊原理
屬性推理攻擊通常有以下攻擊方法:
第一種是基于對(duì)抗變分自動(dòng)編碼器,它結(jié)合了變分自動(dòng)編碼器(VAE)和生成對(duì)抗網(wǎng)絡(luò)(GANs)的優(yōu)點(diǎn)。它通過(guò)引入對(duì)抗性訓(xùn)練,使得編碼器生成的隱變量分布更接近真實(shí)數(shù)據(jù)分布,從而增強(qiáng)推斷的準(zhǔn)確性。
第二種是基于圖卷積網(wǎng)絡(luò)的屬性推理,它適用于處理圖結(jié)構(gòu)數(shù)據(jù),通過(guò)聚合節(jié)點(diǎn)的鄰居信息進(jìn)行特征學(xué)習(xí),可以用于社交網(wǎng)絡(luò)中推斷用戶(hù)的隱私屬性。
最后一種常用方法是基于隱馬爾可夫模型的屬性推理,隱馬爾可夫模型是一種統(tǒng)計(jì)模型,通過(guò)觀測(cè)序列推斷隱藏狀態(tài)序列,可以用于時(shí)間序列數(shù)據(jù)中的隱私屬性推斷。9.2模型攻擊原理內(nèi)容提綱9.3實(shí)踐案例:模型反演攻擊實(shí)踐9.2模型攻擊原理9.1模型攻擊概述9.4實(shí)踐案例:基于影子模型的成員推理攻擊9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊小結(jié)9.6模型攻擊防護(hù)
實(shí)踐概述
模型反演攻擊(ModelInversionAttack)是一種利用機(jī)器學(xué)習(xí)模型輸出推斷出訓(xùn)練數(shù)據(jù)特征的攻擊方法。本實(shí)戰(zhàn)案例旨在通過(guò)構(gòu)建并實(shí)施一種模型反演攻擊,展示如何從一個(gè)訓(xùn)練好的面部識(shí)別模型中恢復(fù)出原始的面部圖像。此次實(shí)驗(yàn)的目標(biāo)是揭示模型在安全性和隱私保護(hù)方面的潛在漏洞,并分析模型反演攻擊的有效性和可行性。
9.3實(shí)踐案例:模型反演攻擊實(shí)踐實(shí)踐環(huán)境Python版本:3.9或者更高的版本Pytorch1.11.0GPU:A40(AUTODL云服務(wù)器)所需安裝庫(kù):numpy1.21.5,matplotlib3.4.3,pyqt55.15.2
9.3實(shí)踐案例:模型反演攻擊實(shí)踐實(shí)踐步驟:實(shí)驗(yàn)流程圖如圖9-9所示:9.3實(shí)踐案例:模型反演攻擊實(shí)踐
第1步:使用選擇的數(shù)據(jù)集訓(xùn)練一個(gè)面部識(shí)別模型。該模型使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)架構(gòu),旨在識(shí)別和分類(lèi)不同面部特征。訓(xùn)練過(guò)程中,記錄模型的性能指標(biāo),如準(zhǔn)確率和損失,以確保模型良好的泛化能力。
第2步:構(gòu)造攻擊。定義損失函數(shù)(c),用于量化恢復(fù)圖像和目標(biāo)圖像之間的差異。設(shè)定輔助函數(shù)
,利用訓(xùn)練過(guò)程中收集的元數(shù)據(jù)(例如特征向量及其關(guān)聯(lián)標(biāo)簽),增強(qiáng)重建過(guò)程。設(shè)置超參數(shù),如學(xué)習(xí)率、最大迭代次數(shù)、未改善迭代次數(shù)以及損失閾值。9.3實(shí)踐案例:模型反演攻擊實(shí)踐
第3步:應(yīng)用MIFace。我們的攻擊目標(biāo)是希望恢復(fù)出訓(xùn)練集中的樣本,我們知道MNIST數(shù)據(jù)集中共有10類(lèi),從0到9,我們希望每種類(lèi)別都可以恢復(fù)出來(lái)。
第4步:執(zhí)行攻擊。將測(cè)試集樣本求個(gè)平均,然后作為模型逆向攻擊的初始樣本,確保梯度存在并發(fā)動(dòng)攻擊。9.3實(shí)踐案例:模型反演攻擊實(shí)踐實(shí)踐結(jié)果:可視化模型逆向攻擊的結(jié)果如圖9-10所示,每張圖片基本都可以看到對(duì)應(yīng)類(lèi)別數(shù)字的輪廓了,說(shuō)明模型逆向攻擊成功了。9.3實(shí)踐案例:模型反演攻擊實(shí)踐內(nèi)容提綱9.3實(shí)踐案例:模型反演攻擊實(shí)踐9.2模型攻擊原理9.1模型攻擊概述9.4實(shí)踐案例:基于影子模型的成員推理攻擊9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊小結(jié)9.6模型攻擊防護(hù)
實(shí)踐目的:1.理解機(jī)器學(xué)習(xí)隱私問(wèn)題,了解在設(shè)計(jì)和部署機(jī)器學(xué)習(xí)模型時(shí),保護(hù)訓(xùn)練數(shù)據(jù)的隱私為何至關(guān)重要。理解敏感數(shù)據(jù)可能如何通過(guò)模型預(yù)測(cè)被間接泄露。2.熟悉基于影子模型的成員推理攻擊及實(shí)現(xiàn),通過(guò)具體學(xué)習(xí)影子模型攻擊和實(shí)現(xiàn)代碼,從原理上了解攻擊的核心思想,理解算法的特點(diǎn)及應(yīng)用場(chǎng)景,培養(yǎng)實(shí)踐能力。3.體驗(yàn)對(duì)抗性思維,培養(yǎng)在設(shè)計(jì)和部署模型時(shí)主動(dòng)思考和應(yīng)對(duì)潛在攻擊的安全意識(shí)。激發(fā)創(chuàng)新思考和開(kāi)發(fā)新的防御機(jī)制,以對(duì)抗成員推理攻擊和保護(hù)數(shù)據(jù)隱私。
9.4實(shí)踐案例:基于影子模型的成員推理攻擊實(shí)踐環(huán)境Python版本:3.10.12或更高版本深度學(xué)習(xí)框架:torch2.2.,torchvision0.17.1其他庫(kù)版本:numpy1.24.3,scikit-learn1.3.0運(yùn)行平臺(tái):PyCharm
9.4實(shí)踐案例:基于影子模型的成員推理攻擊實(shí)踐步驟實(shí)驗(yàn)流程圖如圖9-11所示:
9.4實(shí)踐案例:基于影子模型的成員推理攻擊第1步:建立模型文件model.py。(1)size_conv和size_max_pool函數(shù)用于計(jì)算卷積層和池化層操作后的輸出尺寸。這對(duì)于設(shè)計(jì)CNN結(jié)構(gòu)時(shí),確定全連接層前的特征維度非常有用。(2)calc_feat_linear_cifar和calc_feat_linear_mnist函數(shù)根據(jù)輸入圖像的尺寸計(jì)算CIFAR和MNIST數(shù)據(jù)集上CNN模型最后一個(gè)卷積層輸出的特征尺寸,為全連接層提供輸入特征數(shù)量。(3)init_params函數(shù)定義了不同類(lèi)型層的權(quán)重初始化方法。對(duì)于卷積層(nn.Conv2d),使用Kaiming初始化;對(duì)于批歸一化層(nn.BatchNorm2d),權(quán)重初始化為1,偏置初始化為0;對(duì)于全連接層(nn.Linear),使用Xavier初始化方法
9.4實(shí)踐案例:基于影子模型的成員推理攻擊(4)TargetNet和ShadowNet針對(duì)CIFAR數(shù)據(jù)集設(shè)計(jì)自定義CNN模型。這兩個(gè)模型結(jié)構(gòu)相似,包括兩個(gè)卷積層和兩個(gè)全連接層。其中TargetNet為使用CIFAR10為數(shù)據(jù)集的目標(biāo)模型,ShadowNet為對(duì)應(yīng)的白盒影子模型。(5)MNISTNet是針對(duì)MNIST數(shù)據(jù)集設(shè)計(jì)的CNN模型,包括兩個(gè)卷積層和兩個(gè)全連接層。實(shí)驗(yàn)中同時(shí)可以用于目標(biāo)模型和影子模型。(6)AttackMLP是一個(gè)多層感知機(jī)(MLP)模型,用于攻擊模型,根據(jù)目標(biāo)/影子模型的輸出預(yù)測(cè)樣本是否屬于訓(xùn)練集(成員推斷攻擊)。
9.4實(shí)踐案例:基于影子模型的成員推理攻擊第2步:建立訓(xùn)練文件train.py。(1)prepare_attack_data函數(shù)為攻擊模型準(zhǔn)備數(shù)據(jù),包含影子模型的輸出和對(duì)應(yīng)的標(biāo)簽。(2)train_per_epoch和val_per_epoch定義模型的一次訓(xùn)練迭代和驗(yàn)證過(guò)程。(3)train_attack_model使用準(zhǔn)備好的數(shù)據(jù)訓(xùn)練攻擊模型。(4)train_model定義了目標(biāo)模型或影子模型的訓(xùn)練和測(cè)試流程。9.4實(shí)踐案例:基于影子模型的成員推理攻擊第3步:建立攻擊文件attack.py。(1)環(huán)境設(shè)置與數(shù)據(jù)預(yù)處理:設(shè)置隨機(jī)種子以確保結(jié)果的可重復(fù)性。解析命令行參數(shù),允許用戶(hù)指定數(shù)據(jù)集、是否訓(xùn)練目標(biāo)/影子模型、是否使用數(shù)據(jù)增強(qiáng)等選項(xiàng)。(2)數(shù)據(jù)加載與劃分:使用get_data_loader函數(shù),根據(jù)用戶(hù)的指定下載和準(zhǔn)備訓(xùn)練和測(cè)試數(shù)據(jù)。數(shù)據(jù)被分為目標(biāo)模型和影子模型的訓(xùn)練、驗(yàn)證和測(cè)試集。(3)模型定義與訓(xùn)練:根據(jù)數(shù)據(jù)集定義目標(biāo)模型和影子模型,對(duì)于CIFAR10使用TargetNet和ShadowNet,對(duì)于MNIST使用MNISTNet。(4)攻擊模型訓(xùn)練與評(píng)估:使用收集到的目標(biāo)和影子模型的輸出數(shù)據(jù)來(lái)訓(xùn)練攻擊模型。攻擊模型是前面定義的多層感知機(jī)(AttackMLP),旨在根據(jù)模型輸出預(yù)測(cè)輸入樣本是訓(xùn)練集的成員還是非成員。9.4實(shí)踐案例:基于影子模型的成員推理攻擊
第4步:建立cli.py。
通過(guò)click庫(kù)實(shí)現(xiàn)了簡(jiǎn)單的命令行界面CLI。其中@符號(hào)是用來(lái)應(yīng)用Python的裝飾器的,用于在不修改函數(shù)內(nèi)容的前提下增加函數(shù)功能。(1)成員推理攻擊的主要命令9.4實(shí)踐案例:基于影子模型的成員推理攻擊(2)可選項(xiàng)及其影響
每個(gè)命令都提供了一系列可選項(xiàng),這些選項(xiàng)允許用戶(hù)自定義命令行工具的行為:--dataset:指定使用的數(shù)據(jù)集(如CIFAR10或MNIST)。--data_path:指定數(shù)據(jù)存儲(chǔ)路徑。--model_path:指定模型存儲(chǔ)或加載的路徑。--need_augm:是否使用數(shù)據(jù)增強(qiáng)。--need_topk:是否使用Top3后驗(yàn)概率。9.4實(shí)踐案例:基于影子模型的成員推理攻擊
實(shí)踐結(jié)果:
使用訓(xùn)練好的新的攻擊模型對(duì)MNIST數(shù)據(jù)集進(jìn)行成員推理攻擊,觀察輸出。攻擊效果如圖9-12所示。
可以看到優(yōu)化后的攻擊準(zhǔn)確率為59.14%,比原來(lái)的52.32%提高了,說(shuō)明優(yōu)化后的攻擊模型獲得了更好的成員推理攻擊效果。9.4實(shí)踐案例:基于影子模型的成員推理攻擊內(nèi)容提綱9.3實(shí)踐案例:模型反演攻擊實(shí)踐9.2模型攻擊原理9.1模型攻擊概述9.4實(shí)踐案例:基于影子模型的成員推理攻擊9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊小結(jié)9.6模型攻擊防護(hù)
實(shí)踐概述:
本次實(shí)踐中使用的攻擊方法的基本步驟為:首先目標(biāo)模型訓(xùn)練,目的是訓(xùn)練一個(gè)能夠預(yù)測(cè)已知屬性(如性別)的目標(biāo)模型。目標(biāo)模型的輸出會(huì)用于后續(xù)的攻擊模型訓(xùn)練。隨后進(jìn)行攻擊數(shù)據(jù)的準(zhǔn)備,目的是通過(guò)目標(biāo)模型的中間特征或輸出,生成用于訓(xùn)練攻擊模型的數(shù)據(jù)。然后進(jìn)行攻擊模型訓(xùn)練,實(shí)驗(yàn)中屬性推理攻擊的一般步驟如圖9-13所示。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊
實(shí)踐環(huán)境:Python版本:3.10或更高版本深度學(xué)習(xí)框架:torch2.2.2,torchvision0.17.2其他庫(kù)版本:scikit-learn1.3.0,numpy1.24.3,pandas1.5.3、torchvision0.15.2、click7.1.2運(yùn)行平臺(tái):pycharm數(shù)據(jù)集:使用本地pkl數(shù)據(jù)集,廣泛使用的人臉圖像數(shù)據(jù)集,通常用于面部識(shí)別,年齡估計(jì),性別分類(lèi)等任務(wù),包含大量不同年齡、性別和種族的人的面部圖像。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊
實(shí)踐步驟:第1步:編寫(xiě)模型文件af_models.py。這段代碼實(shí)現(xiàn)了一個(gè)攻擊模型(AttackModel)和一個(gè)目標(biāo)模型(TargetModel)。攻擊模型用于執(zhí)行攻擊,預(yù)測(cè)某個(gè)特定維度(輸入的特征向量)的輸出結(jié)果。目標(biāo)模型則是一個(gè)典型的卷積神經(jīng)網(wǎng)絡(luò)(CNN),負(fù)責(zé)從圖像中提取特征并進(jìn)行分類(lèi)預(yù)測(cè)。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊第2步:編寫(xiě)數(shù)據(jù)加載文件af_datasets.py。定義了兩個(gè)數(shù)據(jù)集類(lèi):UTKFace和AttackData,分別用于處理UTKFace數(shù)據(jù)集的加載和攻擊模型所需的數(shù)據(jù)。UTKFace類(lèi)主要從數(shù)據(jù)集中讀取圖像及其標(biāo)簽(如性別或種族);AttackData類(lèi)則進(jìn)一步通過(guò)目標(biāo)模型提取特征向量z,并將其與標(biāo)簽一起返回。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊第3步:模型訓(xùn)練文件af_train.py。模型訓(xùn)練文件af_train.py主要用于訓(xùn)練和測(cè)試神經(jīng)網(wǎng)絡(luò)模型,包括三個(gè)主要功能:一是training函數(shù):用于在給定的訓(xùn)練數(shù)據(jù)集上訓(xùn)練模型,并保存訓(xùn)練好的模型參數(shù)。二是test函數(shù):用于在測(cè)試集上評(píng)估模型的整體準(zhǔn)確率。最后是test_class函數(shù):用于評(píng)估模型在每個(gè)類(lèi)別上的分類(lèi)準(zhǔn)確率。并且支持在CPU和GPU上運(yùn)行,且可以處理目標(biāo)模型和非目標(biāo)模型的兩種情況。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊第4步:屬性推理攻擊文件af_attack.py。該文件用于訓(xùn)練和測(cè)試目標(biāo)模型以及攻擊模型,主要目的是執(zhí)行屬性推斷攻擊。首先通過(guò)加載UTKFace人臉數(shù)據(jù)集,訓(xùn)練目標(biāo)模型進(jìn)行性別分類(lèi)。接著,攻擊模型利用目標(biāo)模型的輸出特征進(jìn)行種族分類(lèi)預(yù)測(cè)。文件還提供了三種執(zhí)行攻擊的方式:加載預(yù)訓(xùn)練模型進(jìn)行攻擊、訓(xùn)練目標(biāo)模型并攻擊、以及提供自定義的目標(biāo)模型進(jìn)行攻擊。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊首先設(shè)置隨機(jī)種子,確保每次數(shù)據(jù)劃分結(jié)果一致。然后獲取樣本的總數(shù)量。生成從0到dataset_size的索引列表,并計(jì)算測(cè)試集的大小,隨后隨機(jī)打亂索引順序,以便隨機(jī)分割數(shù)據(jù),然后將數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集。并且計(jì)算攻擊集的大小、打亂訓(xùn)練集索引,最后從訓(xùn)練集中再劃分出攻擊集。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊初始化目標(biāo)模型,并將其移動(dòng)到指定的設(shè)備(CPU或GPU)。隨后使用交叉熵?fù)p失函數(shù)、Adam優(yōu)化器學(xué)習(xí)率為0.001。創(chuàng)建數(shù)據(jù)加載器,它將UTKFace數(shù)據(jù)集包裝成Dataset對(duì)象,并指定訓(xùn)練集和測(cè)試集的批次大小為128。隨后指定要加載的數(shù)據(jù)為性別分類(lèi)任務(wù),并進(jìn)行圖像預(yù)處理(transform)。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊第5步:命令行指令cli.py文件。該定義了一個(gè)基于Click庫(kù)的命令行接口,用于執(zhí)行"AttributeInference"攻擊實(shí)驗(yàn)。主要功能包括加載預(yù)訓(xùn)練的目標(biāo)模型和攻擊模型、訓(xùn)練新模型,以及使用自定義的目標(biāo)模型并訓(xùn)練攻擊模型。通過(guò)命令行可以運(yùn)行不同的任務(wù)并設(shè)置相關(guān)的參數(shù)。click.option()定義了四個(gè)命令行選項(xiàng),用戶(hù)需要提供自定義的模型文件路徑、模型權(quán)重和維度。隨后af_attack.perform_supply_target()函數(shù)執(zhí)行自定義目標(biāo)模型的加載和攻擊模型的訓(xùn)練。
9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊實(shí)踐結(jié)果:在終端中輸入:pythoncli.pyattribute_inferencepretrained_dummy得到各個(gè)分類(lèi)的屬性推理的準(zhǔn)確率的結(jié)果如圖9-14所示:9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊內(nèi)容提綱9.3實(shí)踐案例:模型反演攻擊實(shí)踐9.2模型攻擊原理9.1模型攻擊概述9.4實(shí)踐案例:基于影子模型的成員推理攻擊9.5實(shí)踐案例:基于神經(jīng)網(wǎng)絡(luò)的屬性推理攻擊小結(jié)9.6模型攻擊防護(hù)概述:在人工智能技術(shù)迅猛發(fā)展的今天,其安全防御對(duì)抵御惡意攻擊至關(guān)重要。本節(jié)深入探討了人工智能模型的多層防御策略,覆蓋了數(shù)據(jù)預(yù)處理、模型設(shè)計(jì)、訓(xùn)練方法及知識(shí)產(chǎn)權(quán)保護(hù)等方面。其中,對(duì)抗訓(xùn)練通過(guò)引入對(duì)手樣本增強(qiáng)模型魯棒性;輸入檢查與消毒預(yù)先篩除惡意輸入;模型結(jié)構(gòu)調(diào)整以?xún)?nèi)在強(qiáng)化防御能力;查詢(xún)控制防御減少信息泄漏;聯(lián)邦學(xué)習(xí)提升數(shù)據(jù)隱私保護(hù);數(shù)字水印則守護(hù)模型知識(shí)產(chǎn)權(quán)。這些策略構(gòu)建了一個(gè)全方位的防御體系,旨在應(yīng)對(duì)和緩解人工智能面臨的安全威脅,同時(shí)指明了未來(lái)研究的新方向。9.6模型攻擊防護(hù)對(duì)抗訓(xùn)練:人工智能的廣泛應(yīng)用給人類(lèi)生活帶來(lái)了諸多便利,但同時(shí)也帶來(lái)了新的挑戰(zhàn)。在人工智能模型中,特別是深度學(xué)習(xí)模型,攻擊者通過(guò)設(shè)計(jì)對(duì)抗樣本,可以成功地欺騙模型,使其做出錯(cuò)誤的預(yù)測(cè)。這種現(xiàn)象引起了學(xué)術(shù)界的廣泛關(guān)注。對(duì)抗訓(xùn)練作為一種有效的防御策略,已經(jīng)在多個(gè)領(lǐng)域得到了驗(yàn)證。對(duì)抗訓(xùn)練的主要思想是在訓(xùn)練過(guò)程中,通過(guò)引入對(duì)抗樣本,提高模型對(duì)于對(duì)抗攻擊的魯棒性。9.6模型攻擊防護(hù)
如圖9-15所示,通過(guò)對(duì)比實(shí)驗(yàn)發(fā)現(xiàn),對(duì)抗訓(xùn)練在提升模型防御性能方面優(yōu)于其他防御策略,包括輸入轉(zhuǎn)換和特征壓縮等。9.6模型攻擊防護(hù)輸入檢查、消毒:近年來(lái),人工智能模型的輸入檢查和消毒已成為研究熱點(diǎn)。例如通過(guò)在訓(xùn)練過(guò)程中添加敵對(duì)樣本以增強(qiáng)模型的魯棒性。該研究分別從MNIST數(shù)據(jù)集中訓(xùn)練集、驗(yàn)證集和測(cè)試集數(shù)據(jù)中選擇10000個(gè)樣本,每個(gè)樣本產(chǎn)生對(duì)應(yīng)的9個(gè)目標(biāo)對(duì)抗樣本,從而總共產(chǎn)生270000個(gè)對(duì)抗樣本.實(shí)驗(yàn)結(jié)果如圖9-16所示。9.6模型攻擊防護(hù)模型結(jié)構(gòu)防御:隨著人工智能技術(shù)的迅速發(fā)展,深度學(xué)習(xí)模型在圖像識(shí)別、自然語(yǔ)言處理、推薦系統(tǒng)等領(lǐng)域取得了顯著的成果。然而,這些模型也暴露出了嚴(yán)重的安全問(wèn)題,例如對(duì)抗樣本攻擊以及模型竊取等威脅。為了提高模型的魯棒性和安全性,研究者們提出了多種模型防御策略,其中模型結(jié)構(gòu)防御是一種廣受關(guān)注的防御手段。
模型結(jié)構(gòu)防御主要是通過(guò)改變模型的結(jié)構(gòu)或者增加新的結(jié)構(gòu),以提高模型對(duì)抗樣本攻擊的魯棒性。最常見(jiàn)的方法包括增加模型的深度和寬度、添加正則項(xiàng),以及引入新的網(wǎng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校出租商鋪合同范本
- 專(zhuān)利轉(zhuǎn)讓的合同范本
- 高中英語(yǔ)課堂注意力培養(yǎng)的英語(yǔ)口語(yǔ)與寫(xiě)作能力提升教學(xué)研究課題報(bào)告
- 美容行業(yè)用工合同范本
- 未來(lái)五年?duì)I養(yǎng)犬糧行業(yè)跨境出海戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年VOCs在線監(jiān)測(cè)系統(tǒng)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年鈑金設(shè)備企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略分析研究報(bào)告
- 網(wǎng)絡(luò)安全崗位面試題集及解析
- 未來(lái)五年商務(wù)計(jì)算機(jī)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 租住房屋合同范本
- 2025年贛州市崇義縣發(fā)展投資集團(tuán)有限公司2025年第一批公開(kāi)招聘19人筆試歷年典型考點(diǎn)題庫(kù)附帶答案詳解2套試卷
- 稻谷原料銷(xiāo)售合同范本
- 老舊小區(qū)消防安全改造施工方案
- 2025年修船業(yè)行業(yè)分析報(bào)告及未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)
- 鄭州鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握芯W(wǎng)試題庫(kù)及答案
- 2024-2025學(xué)年廣西壯族自治區(qū)河池市人教PEP版(2012)六年級(jí)上學(xué)期11月期中英語(yǔ)試卷 (含答案)
- 2025年5G網(wǎng)絡(luò)的5G網(wǎng)絡(luò)技術(shù)標(biāo)準(zhǔn)
- 盆底康復(fù)進(jìn)修課件
- 羊絨紗線知識(shí)培訓(xùn)
- 鋼板租賃合同條款(2025版)
- 輻射性白內(nèi)障的發(fā)現(xiàn)與研究
評(píng)論
0/150
提交評(píng)論