对抗训练和对抗样本
对抗训练 分类模型:对已有图片训练模型并分类 生成模型:分类模型的反向过程生成一张图片, 从一个类别向量反向生成一张图片 对抗样本 对图片通过算法增加一些噪声,变成新的图片,新的图片人眼无法分辨出变化,但是机器能分辨出来而且还会判错类别。 目前一些对抗样本生成算法: FGSM、FGMT:基于攻击者设置的对抗目标函数,利用梯度来优化原数据样本feature的值。 JSMA:基于模型输入输出之间的雅可比矩阵(Jacobian)来决定对输出影响最大的输入feature,进而改变这些feature来生成对抗样本。 DeepFool: 目的是寻找可以使分类器产生误判的最小扰动。简单理解就是点到分界面的各个最小距离。 开源项目 cleverhans Tensorflow下的子项目,完成了FGSM、FGMT、deepfool、CW2、JSMA等对抗样本攻击算法,提供tensorflow,keras,pytorch接口支持,可加载预训练模型。 https://github.com/tensorflow/cleverhans.git Foolbox 用来产生对抗样本的python工具箱,支持Pytorch、TensorFlow、Keras https://github.com/bethgelab/foolbox.git AdvBox 百度提供的AI模型安全工具箱,可产生对抗样本 https:/