项目简介
本项目是基于Python和PyTorch框架构建的对抗样本防御与模型评估系统。运用Fast Gradient Sign Method (FGSM)和Projected Gradient Descent (PGD)生成对抗样本,采用Triplet Network结合Ensemble Defense方法增强模型在对抗样本攻击下的鲁棒性,旨在评估和提升模型在CIFAR10数据集上的防御能力。
项目的主要特性和功能
- 可使用FGSM和PGD方法生成对抗样本,以此测试模型在攻击下的性能。
- 经过多阶段训练与评估,生成并测试原始模型、对抗训练模型以及增强对抗训练模型。
- 借助Triplet Network结合多个模型的预测结果,提升模型整体性能和鲁棒性。
- 提供训练过程中的损失和准确率曲线,便于用户直观了解模型训练效果。
安装使用步骤
环境准备
确保已安装Python和PyTorch,且已下载本项目的源码文件。
数据准备
创建必要文件夹存储数据集和模型权重,包括data、data_adv、data_adv_adv、data_model、data_model_adv和data_model_f3。
运行项目
- 运行0_Learning目录下的1_train.py和2_acc.py,生成并保存原始模型的权重。
- 使用生成的模型权重运行1_Adversary目录下的0_generate.py,生成对抗样本并保存。
- 使用对抗样本运行2_Advertraining目录下的0_train.py,生成对抗训练模型并保存。
- 再次使用对抗训练模型生成更强的对抗样本,并运行3_train_f3目录下的0_train.py,生成增强对抗训练模型。
- 最后,使用原始模型、对抗训练模型和增强对抗训练模型组成Triplet Network进行联合决策。
结果评估
通过运行相应的评估脚本,查看模型在原始数据和对抗样本上的准确率。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】