《Adversarial Attacks on Neural Network Policies》阅读笔记
目录
-
摘要
-
介绍
-
白盒攻击过程
-
黑盒攻击过程
-
- Transferability Across Policies
- Transferability Across Algorithms
-
总结
摘要
对抗攻击可以攻击基本的神经网络模型,攻击常见的深度学习任务(如分类、识别)等,仅需要通过修改一像素的值,就可以使得神经网络输出目标结果,并且在白盒与黑盒场景下均可以攻击成功。值得注意的是,考虑到现实任务中积攒的数据往往总是那么规整,全面,且需要人工智能模型参与决策的任务变得更多了,对无监督学习、强化学习模型的攻击(在某些应用场景下也可以理解为测试)也需要考虑到其特质,进行进一步研究。本文认为目前的对抗攻击方法也能用于攻击强化学习策略。
介绍
强化学习没有大量的标记好的训练样本,其训练数据是通过训练过程得来的,可以理解为“试错”的过程。因此,其不像对抗攻击常用于的图像分类领域,没有大量标注好的训练数据可以用来生成对抗样本。同时,对比于白盒攻击,在黑盒攻击场景下,攻击者既无法获得目标策略网络的细节,也无法获得大量训练集,因此对强化学习模型的攻击难度更大。
对抗样本的有效性受到两方面因素影响,首先是用于学习策略的深度强化学习算法,其次是攻击前提是白盒还是黑盒。因此本文主要内容包括以下两个方面:
- 分析了白盒攻击(本文中是FGSM方法)对三种强化学习训练出的Atari games的攻击。
- 分析了针对以上策略的黑盒攻击(可以访问训练环境,但不知道具体算法是什么,也不能初始化目标策略)。
白盒攻击过程
采用FGSM方法,计算损失函数关于输入x的梯度。类似于用于图像分类的CNN,输出y是多维的,维数n代表采取的action。在计算梯度时,我们认为采取的最优action即是输出y中值最高的一维代表的action。在三种我们考虑的学习算法中,TRPO和A3C均为随机性策略强化学习,DQN则是确定性策略强化学习。
DQN是value-based的,基于Q-Learning,其每一步action的选择是基于计算出的Q-value来决定的,因此,其损失函数是target的Q-value值与当前步的Q-value值的差。
L(w) = E[(r_{t+1}+\gamma max Q(s_{t+1},a_{t+1},w) - Q(s_t,a_t,w))^2]
FGSM的公式是:
\eta=\epsilon sign(\nabla _x J(\theta,x,y))
其中,J即是被攻击网络的损失函数,x为原始的输入,y为输出
从损失函数看来,在利用FGSM对DQN进行对抗攻击时,会带来一个问题,即:\nabla _x J(\theta,x,y)对几乎所有原始输入x计算出的梯度值均为0。我的理解是,由于Q-learning是决定性的,即其在除了决定方向之外的不同方向没有变化率,即没有梯度。因此在计算DQN的损失函数梯度时,需要对输出的Q-value做一个softmax处理,使之对不同action的Q-value值转化为概率值,使得其在各个不同action上的Q-value是连续可以计算的。
通过FGSM对损失函数的求导,生成对抗样本的扰动量\eta,本文设定了三种norm,即第一范数、第二范数和无穷范数,分别对应一维、一维和高维的扰动量。这些范数用来限制扰动量的值的范围,受“扰动量不能过大,使得自然人能发觉”的限制。这个扰动量是加在有着最大梯度的输入特征上的,和FGSM其他的运用方式类似。
黑盒攻击过程
白盒的攻击在实验中表现良好,但实际应用场景下,大部分时候攻击者无法得知目标网络、初试状态和训练策略等信息。本文假设了两种前提条件下的攻击:1. 跨策略的对抗迁移:攻击者了解训练环境、训练算法及所有超参数,但不知道其初始化过程。2. 跨算法的攻击迁移:攻击者不知道训练算法及超参数,但知道训练环境,拥有训练数据。
Transferability Across Policies
即采用不同策略,采用同一个训练算法实现同一个功能的其他强化学习模型生成的对抗样本,攻击目标强化学习模型。
Transferability Across Algorithms
采用性能表现最好的策略,采用不同的训练算法实现同一个功能的其他强化学习模型生成的对抗样本,攻击目标强化学习模型。
可以想见,对抗攻击这领域确实是白盒效果好于黑盒,对目标模型越了解,越能生成有效的对抗样本,当然黑盒方法也能用就是了。
总结
实验了FGSM方法对强化学习模型攻击也是有效的,那么其他方法,比如JSMA、C&W等应该也是有效。黑盒方法由于其本身就不了解内部网络细节,生成的对抗样本应该是不会受模型、方法局限的,肯定也是有效的。不过由于强化学习在自动驾驶中有着应用,对强化学习的攻击/测试也需要重视,或许会有更适合强化学习模型本身的对抗样本生成方法(可能已经有了吧)。
