




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
April17,2025
卷積神經(jīng)網(wǎng)絡(luò)的安全應(yīng)用
基于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)投毒實踐實踐介紹本實踐內(nèi)容主要是在AlexNet模型訓(xùn)練過程中對所使用的訓(xùn)練集進(jìn)行投毒攻擊(PoisoningAttack),即更改原始標(biāo)簽,從而降低模型檢測的準(zhǔn)確率。1.投毒攻擊概述投毒攻擊是一種對機(jī)器學(xué)習(xí)模型的安全攻擊方法,特別是在模型訓(xùn)練階段進(jìn)行攻擊。在這種攻擊方式中,攻擊者通過故意引入、修改或注入惡意數(shù)據(jù)到訓(xùn)練數(shù)據(jù)集中,試圖影響模型的學(xué)習(xí)過程,使得模型在測試或?qū)嶋H應(yīng)用時表現(xiàn)出預(yù)定的錯誤行為或降低模型的整體性能。2.實踐目的(1)深入理解數(shù)據(jù)投毒攻擊及其對模型的影響(2)了解AlexNet模型結(jié)構(gòu)及其運作原理(3)實踐調(diào)整AlexNet模型參數(shù)以抵抗數(shù)據(jù)投毒(4)可視化訓(xùn)練過程和評估模型性能3.實踐環(huán)境環(huán)境4.實踐步驟第1步:訪問Python官方網(wǎng)站下載并安裝Python3.8.5。4.實踐步驟第2步:安裝實踐環(huán)境。Pytorch1.7.0,numpy1.24.3,matplotlib3.7.2,torchvision0.15.2。在命令行或終端中使用下面指令進(jìn)行安裝:4.實踐步驟第3步:導(dǎo)入第三方庫。首先設(shè)置和準(zhǔn)備使用PyTorch進(jìn)行深度學(xué)習(xí)項目的環(huán)境,包括導(dǎo)入必要的庫、模塊和數(shù)據(jù)加載器。下面將按照導(dǎo)入第三方庫的順序進(jìn)行詳細(xì)介紹:4.實踐步驟第4步:定義AlexNet的網(wǎng)絡(luò)結(jié)構(gòu)AlexNet這個類特別針對處理MNIST數(shù)據(jù)集進(jìn)行了調(diào)整,因為原始的AlexNet是為處理227x227像素的圖像而設(shè)計的,而MNIST數(shù)據(jù)集中的圖像大小是28x28像素。4.實踐步驟第5步:定義AlexNet網(wǎng)絡(luò)結(jié)構(gòu)的前向傳播函數(shù)定義了網(wǎng)絡(luò)的前向傳播過程。輸入數(shù)據(jù)x經(jīng)過上述定義的多層卷積層、池化層和ReLU激活函數(shù),然后將卷積層和池化層輸出的特征圖(x)展平為一個一維張量,以便可以輸入到全連接層中得到最終的預(yù)測值。4.實踐步驟第6步:定義數(shù)據(jù)集子集選擇函數(shù)。數(shù)據(jù)集子集選擇函數(shù)的目的是從一個給定的數(shù)據(jù)集(dataset)中隨機(jī)選擇一部分?jǐn)?shù)據(jù)作為子集,并返回這個子集。4.實踐步驟第7步:定義展示正確分類的圖片函數(shù)。展示模型正確分類的圖片,最多展示num_images張。模型的預(yù)測值與標(biāo)簽匹配時將其存儲并繪制圖像。4.實踐步驟第8步:定義展示錯誤分類的圖片函數(shù)類似于展示正確分類圖片的函數(shù),只是在for循環(huán)中的if判斷不同,所以這里就不過多解釋。4.實踐步驟第9步:定義投毒攻擊函數(shù)投毒攻擊函數(shù)主要目的是從一個完整的數(shù)據(jù)集(full_dataset)中根據(jù)給定的訓(xùn)練集索引(trainset.indices)和投毒比例(ratio)來分割出一個投毒訓(xùn)練集(poison_trainset)和一個干凈的訓(xùn)練集(clean_trainset)。4.實踐步驟第10步:定義投毒比例clean_rate和poison_rate分別表示干凈樣本和投毒樣本的比例。這里設(shè)置為1表示所有樣本為干凈數(shù)據(jù),0表示沒有投毒樣本。這個比例在后續(xù)實驗中會改變數(shù)值進(jìn)行對比實驗。4.實踐步驟第11步:獲取訓(xùn)練集數(shù)據(jù)主要執(zhí)行了從MNIST數(shù)據(jù)集中獲取訓(xùn)練集,并通過特定方式處理這些訓(xùn)練數(shù)據(jù)以生成帶有投毒樣本(poisonsamples)和干凈樣本(cleansamples)的訓(xùn)練集。4.實踐步驟第12步:獲取測試集數(shù)據(jù)從MNIST數(shù)據(jù)集中獲取測試集,并對這些測試數(shù)據(jù)進(jìn)行預(yù)處理以生成一個干凈的測試集clean_testset。具體步驟如下:4.實踐步驟第13步:定義數(shù)據(jù)加載器使用torch.utils.data.DataLoader創(chuàng)建一個數(shù)據(jù)加載器,用于在訓(xùn)練過程中批量加載all_trainset中的數(shù)據(jù)。batch_size=64表示每個批次包含64個樣本,shuffle=True表示在每個epoch開始時打亂數(shù)據(jù)。4.實踐步驟第14步:實例化模型首先控制臺輸出一條消息,表明程序開始執(zhí)行一個與模型“投毒”相關(guān)的操作。然后指定訓(xùn)練設(shè)備。如果系統(tǒng)支持CUDA(GPU加速),則使用GPU,否則使用CPU。最后實例化之前定義的AlexNet模型,并將其移動到指定設(shè)備(CPU或GPU)上。4.實踐步驟第15步:選擇模型的損失函數(shù)和優(yōu)化器首先創(chuàng)建了一個交叉熵?fù)p失函數(shù)的實例,并將其移動到了指定的設(shè)備上。交叉熵?fù)p失是分類任務(wù)中常用的損失函數(shù),它衡量了模型預(yù)測的概率分布與真實標(biāo)簽的概率分布之間的差異。4.實踐步驟第16步:準(zhǔn)備訓(xùn)練,定義訓(xùn)練所需的參數(shù)及列表clean_acc_list用于記錄每個epoch之后的測試集準(zhǔn)確率。clean_correct用于記錄模型對干凈測試樣本的正確預(yù)測數(shù)量。隨后設(shè)置訓(xùn)練的epoch數(shù)為2,這個輪次數(shù)在后續(xù)實驗中會修改它的值。最后打開一個名為training_log.txt的文件,用于記錄訓(xùn)練過程中的損失值。4.實踐步驟第17步:開始模型循環(huán)訓(xùn)練在一個深度學(xué)習(xí)訓(xùn)練循環(huán)中,通過迭代訓(xùn)練數(shù)據(jù)集(通過trainset_dataloader提供)來訓(xùn)練一個之前定義好的神經(jīng)網(wǎng)絡(luò)(net)。4.實踐步驟第18步:在循環(huán)體外部測試樣本準(zhǔn)確率初始化正確計數(shù),clean_correct置為0,用于記錄模型在干凈樣本上正確預(yù)測的數(shù)量。4.實踐步驟第19步:可視化正確、錯誤分類圖片并關(guān)閉文件調(diào)用之前定義的函數(shù),分別展示模型分類正確和錯誤的樣本圖片。并且關(guān)閉training_log.txt文件。4.實踐步驟第20步:可視化測試結(jié)果。使用Matplotlib庫繪制了一個關(guān)于模型在訓(xùn)練過程中準(zhǔn)確率的折線圖。它首先設(shè)置了Matplotlib的一些全局參數(shù),以確保圖表中的字體大小、字體類型以及如何處理Unicode符號都符合需求。5.實踐要求在編程實踐過程中,需要注意以下事項:(1)要求修改投毒樣本的比例,分別為0%,50%,100%,繪制相應(yīng)的線型圖。(2)要求修改投毒策略,例:將原有的標(biāo)簽修改為該標(biāo)簽的下一位數(shù)字(0->1,9->0),修改后對比變化。(3)
要求修改Adam優(yōu)化器中的學(xué)習(xí)率,觀察不同學(xué)習(xí)率得到的準(zhǔn)確率有何不同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 清除河道施工方案
- 消防維修培訓(xùn)課件
- 農(nóng)業(yè)綜合開發(fā)項目技術(shù)可行性研究報告(范文)
- 初中英語牛津譯林版七年級上冊Unit 8 Fashion教學(xué)設(shè)計
- 云浮廣東云浮新興縣消防救援大隊政府專職消防員招聘筆試歷年參考題庫附帶答案詳解
- 云南2024年云南師范大學(xué)附屬世紀(jì)金源學(xué)校招聘9人筆試歷年參考題庫附帶答案詳解
- 小學(xué)英語Unit 1 How can I get there Part A教案設(shè)計
- 工商儲能設(shè)備選型與可行性研究報告(模板范文)
- 烏蘭察布2024年內(nèi)蒙古烏蘭察布市人力資源和社會保障局所屬事業(yè)單位選調(diào)4人筆試歷年參考題庫附帶答案詳解
- 麗水2025年浙江麗水松陽縣衛(wèi)生健康系統(tǒng)引進(jìn)醫(yī)療衛(wèi)生專業(yè)技術(shù)人才(一)筆試歷年參考題庫附帶答案詳解
- 2025年山東省東營市廣饒縣一中中考一模英語試題(原卷版+解析版)
- 形勢與政策(貴州財經(jīng)大學(xué))知到智慧樹章節(jié)答案
- 老年綜合評估和老年綜合征PPT通用通用課件
- 超星爾雅學(xué)習(xí)通《人力資源招聘與選拔》章節(jié)測試含答案
- 路面級配砂礫石墊層施工總結(jié)報告
- 主提升機(jī)司機(jī)培訓(xùn)課件
- 變壓器容量計算表
- 連續(xù)油管作業(yè)技術(shù)(共122頁).ppt
- 互聯(lián)網(wǎng)大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽培訓(xùn)
- 3號鋼筋加工場桁吊安裝方案
- 部編版(統(tǒng)編)六年級語文下冊文學(xué)常識及文化常識(共4頁)
評論
0/150
提交評論