




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
李劍博士,教授,博士生導(dǎo)師網(wǎng)絡(luò)空間安全學(xué)院lijian@January23,2025第三章卷積神經(jīng)網(wǎng)絡(luò)的安全應(yīng)用實(shí)踐3-1基于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)投毒實(shí)踐實(shí)踐介紹本實(shí)踐內(nèi)容主要是在AlexNet模型訓(xùn)練過程中對(duì)所使用的訓(xùn)練集進(jìn)行投毒攻擊(PoisoningAttack),即更改原始標(biāo)簽,從而降低模型檢測(cè)的準(zhǔn)確率。1.投毒攻擊概述投毒攻擊是一種對(duì)機(jī)器學(xué)習(xí)模型的安全攻擊方法,特別是在模型訓(xùn)練階段進(jìn)行攻擊。在這種攻擊方式中,攻擊者通過故意引入、修改或注入惡意數(shù)據(jù)到訓(xùn)練數(shù)據(jù)集中,試圖影響模型的學(xué)習(xí)過程,使得模型在測(cè)試或?qū)嶋H應(yīng)用時(shí)表現(xiàn)出預(yù)定的錯(cuò)誤行為或降低模型的整體性能。2.實(shí)踐目的(1)深入理解數(shù)據(jù)投毒攻擊及其對(duì)模型的影響(2)了解AlexNet模型結(jié)構(gòu)及其運(yùn)作原理(3)實(shí)踐調(diào)整AlexNet模型參數(shù)以抵抗數(shù)據(jù)投毒(4)可視化訓(xùn)練過程和評(píng)估模型性能3.實(shí)踐環(huán)境環(huán)境4.實(shí)踐步驟第1步:訪問Python官方網(wǎng)站下載并安裝Python3.8.5。4.實(shí)踐步驟第2步:安裝實(shí)踐環(huán)境。Pytorch1.7.0,numpy1.24.3,matplotlib3.7.2,torchvision0.15.2。在命令行或終端中使用下面指令進(jìn)行安裝:4.實(shí)踐步驟第3步:導(dǎo)入第三方庫。首先設(shè)置和準(zhǔn)備使用PyTorch進(jìn)行深度學(xué)習(xí)項(xiàng)目的環(huán)境,包括導(dǎo)入必要的庫、模塊和數(shù)據(jù)加載器。下面將按照導(dǎo)入第三方庫的順序進(jìn)行詳細(xì)介紹:4.實(shí)踐步驟第4步:定義AlexNet的網(wǎng)絡(luò)結(jié)構(gòu)AlexNet這個(gè)類特別針對(duì)處理MNIST數(shù)據(jù)集進(jìn)行了調(diào)整,因?yàn)樵嫉腁lexNet是為處理227x227像素的圖像而設(shè)計(jì)的,而MNIST數(shù)據(jù)集中的圖像大小是28x28像素。4.實(shí)踐步驟第5步:定義AlexNet網(wǎng)絡(luò)結(jié)構(gòu)的前向傳播函數(shù)定義了網(wǎng)絡(luò)的前向傳播過程。輸入數(shù)據(jù)x經(jīng)過上述定義的多層卷積層、池化層和ReLU激活函數(shù),然后將卷積層和池化層輸出的特征圖(x)展平為一個(gè)一維張量,以便可以輸入到全連接層中得到最終的預(yù)測(cè)值。4.實(shí)踐步驟第6步:定義數(shù)據(jù)集子集選擇函數(shù)。數(shù)據(jù)集子集選擇函數(shù)的目的是從一個(gè)給定的數(shù)據(jù)集(dataset)中隨機(jī)選擇一部分?jǐn)?shù)據(jù)作為子集,并返回這個(gè)子集。4.實(shí)踐步驟第7步:定義展示正確分類的圖片函數(shù)。展示模型正確分類的圖片,最多展示num_images張。模型的預(yù)測(cè)值與標(biāo)簽匹配時(shí)將其存儲(chǔ)并繪制圖像。4.實(shí)踐步驟第8步:定義展示錯(cuò)誤分類的圖片函數(shù)類似于展示正確分類圖片的函數(shù),只是在for循環(huán)中的if判斷不同,所以這里就不過多解釋。4.實(shí)踐步驟第9步:定義投毒攻擊函數(shù)投毒攻擊函數(shù)主要目的是從一個(gè)完整的數(shù)據(jù)集(full_dataset)中根據(jù)給定的訓(xùn)練集索引(trainset.indices)和投毒比例(ratio)來分割出一個(gè)投毒訓(xùn)練集(poison_trainset)和一個(gè)干凈的訓(xùn)練集(clean_trainset)。4.實(shí)踐步驟第10步:定義投毒比例clean_rate和poison_rate分別表示干凈樣本和投毒樣本的比例。這里設(shè)置為1表示所有樣本為干凈數(shù)據(jù),0表示沒有投毒樣本。這個(gè)比例在后續(xù)實(shí)驗(yàn)中會(huì)改變數(shù)值進(jìn)行對(duì)比實(shí)驗(yàn)。4.實(shí)踐步驟第11步:獲取訓(xùn)練集數(shù)據(jù)主要執(zhí)行了從MNIST數(shù)據(jù)集中獲取訓(xùn)練集,并通過特定方式處理這些訓(xùn)練數(shù)據(jù)以生成帶有投毒樣本(poisonsamples)和干凈樣本(cleansamples)的訓(xùn)練集。4.實(shí)踐步驟第12步:獲取測(cè)試集數(shù)據(jù)從MNIST數(shù)據(jù)集中獲取測(cè)試集,并對(duì)這些測(cè)試數(shù)據(jù)進(jìn)行預(yù)處理以生成一個(gè)干凈的測(cè)試集clean_testset。具體步驟如下:4.實(shí)踐步驟第13步:定義數(shù)據(jù)加載器使用torch.utils.data.DataLoader創(chuàng)建一個(gè)數(shù)據(jù)加載器,用于在訓(xùn)練過程中批量加載all_trainset中的數(shù)據(jù)。batch_size=64表示每個(gè)批次包含64個(gè)樣本,shuffle=True表示在每個(gè)epoch開始時(shí)打亂數(shù)據(jù)。4.實(shí)踐步驟第14步:實(shí)例化模型首先控制臺(tái)輸出一條消息,表明程序開始執(zhí)行一個(gè)與模型“投毒”相關(guān)的操作。然后指定訓(xùn)練設(shè)備。如果系統(tǒng)支持CUDA(GPU加速),則使用GPU,否則使用CPU。最后實(shí)例化之前定義的AlexNet模型,并將其移動(dòng)到指定設(shè)備(CPU或GPU)上。4.實(shí)踐步驟第15步:選擇模型的損失函數(shù)和優(yōu)化器首先創(chuàng)建了一個(gè)交叉熵?fù)p失函數(shù)的實(shí)例,并將其移動(dòng)到了指定的設(shè)備上。交叉熵?fù)p失是分類任務(wù)中常用的損失函數(shù),它衡量了模型預(yù)測(cè)的概率分布與真實(shí)標(biāo)簽的概率分布之間的差異。4.實(shí)踐步驟第16步:準(zhǔn)備訓(xùn)練,定義訓(xùn)練所需的參數(shù)及列表clean_acc_list用于記錄每個(gè)epoch之后的測(cè)試集準(zhǔn)確率。clean_correct用于記錄模型對(duì)干凈測(cè)試樣本的正確預(yù)測(cè)數(shù)量。隨后設(shè)置訓(xùn)練的epoch數(shù)為2,這個(gè)輪次數(shù)在后續(xù)實(shí)驗(yàn)中會(huì)修改它的值。最后打開一個(gè)名為training_log.txt的文件,用于記錄訓(xùn)練過程中的損失值。4.實(shí)踐步驟第17步:開始模型循環(huán)訓(xùn)練在一個(gè)深度學(xué)習(xí)訓(xùn)練循環(huán)中,通過迭代訓(xùn)練數(shù)據(jù)集(通過trainset_dataloader提供)來訓(xùn)練一個(gè)之前定義好的神經(jīng)網(wǎng)絡(luò)(net)。4.實(shí)踐步驟第18步:在循環(huán)體外部測(cè)試樣本準(zhǔn)確率初始化正確計(jì)數(shù),clean_correct置為0,用于記錄模型在干凈樣本上正確預(yù)測(cè)的數(shù)量。4.實(shí)踐步驟第19步:可視化正確、錯(cuò)誤分類圖片并關(guān)閉文件調(diào)用之前定義的函數(shù),分別展示模型分類正確和錯(cuò)誤的樣本圖片。并且關(guān)閉training_log.txt文件。4.實(shí)踐步驟第20步:可視化測(cè)試結(jié)果。使用Matplotlib庫繪制了一個(gè)關(guān)于模型在訓(xùn)練過程中準(zhǔn)確率的折線圖。它首先設(shè)置了Matplotlib的一些全局參數(shù),以確保圖表中的字體大小、字體類型以及如何處理Unicode符號(hào)都符合需求。5.實(shí)踐要求在編程實(shí)踐過程中,需要注意以下事項(xiàng):(1)要求修改投毒樣本的比例,分別為0%,50%,100%,繪制相應(yīng)的線型圖。(2)要求修改投毒策略,例:將原有的標(biāo)簽修改為該標(biāo)簽的下一位數(shù)字(0->1,9->0),修改后對(duì)比變化。(3)
要求修改Adam優(yōu)化器中的學(xué)習(xí)率,觀察不同學(xué)習(xí)率得到的準(zhǔn)確率有何
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)職業(yè)經(jīng)理人管理技能試題及答案
- 福建事業(yè)單位考試衛(wèi)生健康政策題及答案
- 重要審查系統(tǒng)分析師試題及答案
- 找到信心備戰(zhàn)花藝師考試試題及答案
- 一年級(jí)道德與法治上冊(cè)第一單元我是小學(xué)生啦老師您好教案未來版
- 調(diào)酒師飲品定價(jià)與利潤計(jì)算試題及答案
- 七年級(jí)數(shù)學(xué)下冊(cè)第10章軸對(duì)稱平移與旋轉(zhuǎn)10.3旋轉(zhuǎn)10.3.3旋轉(zhuǎn)對(duì)稱圖形教案新版華東師大版
- 2024秋三年級(jí)英語上冊(cè) Module 6 Unit 2 Whats this教學(xué)設(shè)計(jì) 外研版(三起)
- Unit 6 Is this your skirt Lesson 32(教學(xué)設(shè)計(jì))-2023-2024學(xué)年人教精通版英語三年級(jí)下冊(cè)
- 客運(yùn)站使用協(xié)議
- AI在護(hù)理查房中的應(yīng)用
- 西師版小學(xué)六年級(jí)數(shù)學(xué)教學(xué)大綱與計(jì)劃
- 2025養(yǎng)殖場(chǎng)租賃合同(合同版本)
- 2025年山西華陽新材料科技集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2024雅安雨城區(qū)中小學(xué)教師招聘考試試題及答案
- 20以內(nèi)三個(gè)數(shù)加減混合運(yùn)算競(jìng)賽練習(xí)訓(xùn)練題大全附答案
- 2025年鄭州電力職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫匯編
- 2025年公務(wù)員遴選考試公共基礎(chǔ)知識(shí)必考題庫170題及答案(三)
- 吊籃安全技術(shù)交底課件
- 吉蘭-巴雷綜合征指南解讀課件
- 2025年國家發(fā)展和改革委員會(huì)城市和小城鎮(zhèn)改革發(fā)展中心招聘工作人員6人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
評(píng)論
0/150
提交評(píng)論