神经网络后门攻击与防御学习
本文旨在快速实现一个神经网络后门模型,并记录基本的防御思路。 攻击 前置准备 导入库并设置超参数 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader, Dataset import numpy as np import matplotlib.pyplot as plt EPOCHS = 5 # 训练轮数 BATCH_SIZE = 64 # 批处理大小 LEARNING_RATE = 0.001 # 学习率 TARGET_LABEL = 0 # 后门攻击的目标标签,我们希望模型将带触发器的图片识别为 "0" POISON_RATIO = 0.1 # 投毒比例,在训练集中注入10%的后门样本 TRIGGER_SIZE = 4 # 触发器(白色方块)的大小,4x4像素 接下来是数据准备,这里使用MNIST数据集作为后门植入的目标 ...