20032202050 左玉晖
生成对抗网络(Generative Adversarial Network,GAN) 代表一大类先进的生成模型。
防御机制:跟对抗攻击、对抗样本相关的领域。(主要关心模型在小扰动下的稳健性)
1. 相对于原始输入,所添加的扰动是微小的
2. 能使模型犯错。
神经网络的线性的特点很容易受到线性扰动的攻击
可靠的人工智能应用场景需要很高的鲁棒性、安全性、可解释和可靠性
输入扰动上进行梯度上升(增大loss),在参数更新上进行梯度下降(减小loss)
对于每个x:
1.计算x的前向loss、反向传播得到梯度
2.根据embedding矩阵的梯度计算出r,并加到当前embedding上,相当于x+r
3.计算x+r的前向loss,反向传播得到对抗的梯度,累加到(1)的梯度上
4.将embedding恢复为(1)时的值
5.根据(3)的梯度对参数进行更新
对于每个x:
1.计算x的前向loss、反向传播得到梯度并备份
对于每步t:
2.根据embedding矩阵的梯度计算出r,并加到当前embedding上,相当于x+r(超出范围则投影回epsilon内)
3.t不是最后一步: 将梯度归0,根据1的x+r计算前后向并得到梯度
4.t是最后一步: 恢复(1)的梯度,计算最后的x+r并将梯度累加到(1)上
5.将embedding恢复为(1)时的值
6.根据(4)的梯度对参数进行更新
FreeAT (Free Adversarial Training): NIPS2019
YOPO (You Only Propagate Once): NIPS2019
FreeLB (Free Large-Batch): ICLR2020
1. 黑盒环境下对embedding进行扰动(对手不是从样本进行攻击)
2. 在输入中添加分散注意力的句子(人工)
3. 用GANs将输入投影到潜在空间,并搜索接近原始的文本对手
如何在没有人工评估的情况下通过单词/字符替换来构建保留标签的对抗性示例仍然不清楚,因为每个单词/字符的含义取决于上下文。
基于Embedding的对手严格来说比更传统的基于文本的对手更强大
对于每个x:
1.通过均匀分布初始化r,梯度g为0
对于每步t=1...K:
2.根据x+r计算前后向,累计梯度g
3.更新r
4.根据g/K更新梯度
场景:金融诈骗伪装