本文是深度学习恶意样本(Adversarial Example)实战系列文章的第三篇。在【1】中,我们详细解释了经典的AE生成算法FGSM,并手工编写实现了这个算法。在【2】中,我们介绍了IBM研究人员实现的一个开源工具箱ART,在Python编程时,调用该工具箱所提供的方法,可以很容易生成各种流行的图像恶意样本。本文将介绍另外一个比较常见的工具箱FoolBox(参见文献【3】)的使用方法。
与之前的文章类似,本文中的例子主要演示对CIFAR10中的彩色图像进行攻击的方法。代码采用Python编写,在实验下面的代码之前,请确保必要的软件包(例如FoolBox)都已经正确安装。作为开始,请先导入必要的库。
import os
import random
import shutil
import pickle
import time
import keras
import copy
import foolbox
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from foolbox.criteria import TargetClass
from keras.models import load_model
from keras.datasets impo