Wang X., He K., Guo C., Weinberger K., Hopcroft H., AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets. arXiv preprint, arXiv: 1904.00783, 2019.
概
用GAN生成adversarial samples, 且不需要樣本(AdvGAN需要).
主要內容
AT-GAN的訓練過程主要分成倆步, 首先, 生成一個普通的條件GAN, 接着在這個條件GAN的基礎上訓練一個AT-GAN.
符號說明
x: 樣本;
y:標籤;
Sy: 標籤爲y爲圖像;
z:隨機噪聲;
G(z,y): 生成器;
D:x→R: 判別器;
f(x): 分類器;
Original Generator
首先, 我們需要訓練一個普通的條件GAN, 爲此, 關於G的損失函數爲
LG(z,y)=Ez∼pz(z)H(D(G(z,y)),1)+Ez∼pz(z)H(f(G(z,y)),y),(11)
其中H(a,b)是a和b的熵(應該是指交叉熵吧, 當二分類是就是二分類熵). 顯然這個損失就是希望生成器生成的圖片既真實, 其標籤亦爲真實的標籤.
關於判別器D的損失則是
LD(x,z,y)=Ex∼pdata(x)H(D(x),1)+Ez∼pz(z)H(D(G(z,y),0).(12)
關於分類器的損失則是
Lf(x,y)=Ex∼pdata(x)H(f(x),y).(13)
注: 三者分別關於G,D,f最小化(雖然作者沒有明講).
Transfer the Generator
假設由上面的算法生成的生成器爲Goriginal, 並給定我們希望攻破的分類器ftarget, 我們要構建一個新的分類器Gattack去生成對抗樣本. 顯然, Gattack需要滿足:
- 其生成的樣本與真實樣本無異, 即
∥Goriginal(z,y)−Gattack(z,y)∥p
足夠小;
- 其生成的圖像能夠騙過目標分類器ftarget, 最好是存在一個一一映射g, 使得
ftarget(Gattack(z,y))=y,g(ftarget(Gattack(z,y)))=y.
於是作者構建了倆個損失:
La(z,y)=H(g(ftarget(Gattack(z,y))),y),(15)
Ld(z,y)=∥Gorginal(z,y)+P−Gattack(z,y)∥p,(16)
其中g是我們給定的可逆函數. 顯然La的目的是騙過目標分類器, 而Ld的目的是使得生成的樣本具有足夠的真實性, 另外P是額外加入的高斯噪聲, 用於柔化距離(?).
於是訓練Gattack就是最小化下式
L(z,y)=αLd(z,y)+βLa(z,y).(17)
注: Gattack的參數初始化爲Gorginal.