项目简介
本项目是基于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】