Generating Adversarial Examples with Adversarial Networks

Xiao C, Li B, Zhu J, et al. Generating Adversarial Examples with Adversarial Networks[J]. arXiv: Cryptography and Security, 2018.

@article{xiao2018generating,
title={Generating Adversarial Examples with Adversarial Networks},
author={Xiao, Chaowei and Li, Bo and Zhu, Junyan and He, Warren and Liu, Mingyan and Song, Dawn},
journal={arXiv: Cryptography and Security},
year={2018}}

本文利用GAN生成adversarial samples.

主要内容

在这里插入图片描述

其中 G \mathcal{G} G是生成器, D \mathcal{D} D是用于判别真假的判别器, 二者都是需要训练的, 而 f f f是已知的我们需要攻击的模型(在white-box下是不需要训练的).

训练判别器很普通的GAN是类似的, 即最大化下式:
L G A N = E x log ⁡ D ( x ) + E x log ⁡ ( 1 − D ( x + G ( x ) ) ) . (1) \tag{1} \mathcal{L}_{GAN} = \mathbb{E}_{x} \log \mathcal{D}(x) + \mathbb{E}_{x} \log (1-\mathcal{D}(x+\mathcal{G}(x))). LGAN=ExlogD(x)+Exlog(1D(x+G(x))).(1)

训练生成器, 除了 L G A N \mathcal{L}_{GAN} LGAN, 还需要
L a d v f = E x ℓ f ( x + G ( x ) , t ) , (2) \tag{2} \mathcal{L}_{adv}^f = \mathbb{E}_x \ell_f (x+\mathcal{G}(x),t), Ladvf=Exf(x+G(x),t),(2)
其中 t t t是我们所需要的攻击目标(注意这里通过对 ℓ \ell 的一些额外的选择, 是可以用到untargeted attack的).
L h i n g e = E x max ⁡ ( 0 , ∥ G ( x ) ∥ 2 − c ) , (3) \tag{3} \mathcal{L}_{hinge} = \mathbb{E}_x \max (0, \|\mathcal{G}(x)\|_2 -c), Lhinge=Exmax(0,G(x)2c),(3)
显然(3)是保证摄动不要太大.

所以训练生成器是最小化
L = L a d v f + α L G A N + β L h i n g e . (4) \tag{4} \mathcal{L}=\mathcal{L}_{adv}^f+ \alpha \mathcal{L}_{GAN} + \beta \mathcal{L}_{hinge}. L=Ladvf+αLGAN+βLhinge.(4)

black-box 拓展

该方法可以拓展到black-box上, 假设 b ( x ) b(x) b(x)是目标网络, 其结构和训练数据都是未知的, 此时我们构建一个替代网络 f ( x ) f(x) f(x)用于逼近 b ( x ) b(x) b(x). 利用交替训练, 更新生成器 G \mathcal{G} G f f f.

  1. 固定 f i − 1 f_{i-1} fi1, 更新 G i \mathcal{G}_i Gi: G i \mathcal{G}_i Gi初始化参数为 G i − 1 \mathcal{G}_{i-1} Gi1, 则
    G i , D i = arg ⁡ min ⁡ G max ⁡ D L a d v f + α L G A N + β L h i n g e . \mathcal{G}_i, \mathcal{D}_i = \arg \min _{\mathcal{G}} \max_{\mathcal{D}} \mathcal{L}_{adv}^f+ \alpha \mathcal{L}_{GAN} + \beta \mathcal{L}_{hinge}. Gi,Di=argGminDmaxLadvf+αLGAN+βLhinge.
  2. 固定 G i \mathcal{G}_i Gi, 更新 f i f_i fi: 初始化 f i f_i fi的参数为 f i − 1 f_{i-1} fi1, 则
    f i = arg ⁡ min ⁡ f E x H ( f ( x ) , b ( x ) ) + E x H ( f ( x + G i ( x ) ) , b ( x + G i ( x ) ) ) . f_i=\arg \min_f \mathbb{E}_x \mathcal{H} (f(x), b(x)) + \mathbb{E}_x \mathcal{H} (f(x+\mathcal{G}_i(x)), b(x+\mathcal{G}_i(x))). fi=argfminExH(f(x),b(x))+ExH(f(x+Gi(x)),b(x+Gi(x))).
    其中 H \mathcal{H} H表示交叉熵损失.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值