基于深度强化学习的对抗攻击和防御在动态视频中的应用
目前深度强化学习中的对抗攻击和防御的研究大多集中在静态图像的分类任务方面,而在动态视频方面的应用研究还存在许多空白。对此,首先在 Atari 游戏,即动态视频中实现深度Q 网络(Deep Q Network,DQN)智能体模型;其次使用快速梯度符号方法(Fast Gradient SignMethod,FGSM)白盒攻击与黑盒攻击、投影梯度下降(Projected Gradient Descent,PGD)攻击和像素攻击对 DQN 模型进行对抗攻击实验;最后使用基于高斯数据增强的随机化防御和对抗训练方法对这些对抗攻击进行防御实验。实验结果表明,深度强化学习中的对抗攻击和防御在动态视频应用中同样具有有效性。
深度强化学习是深度学习与强化学习相结合的产物 ,是一种新兴的人工智能技术。但是,深度强化学习模型会面临一些安全性和鲁棒性的问题,其中之一就是对抗攻击和对抗防御 。对抗攻击是指攻击者针对深度强化学习模型的弱点或缺陷对模型进行攻击,使得模型产生错误的预测或输出,从而使得深度强化学习模型的效果降低甚至完全失效。对抗防御则是防御者为了保护深度强化学习模型免受对抗攻击的干扰,降低对抗攻击带来的危害,从而采取的一系列防御方法。
对抗攻击会影响深度强化学习智能体的性能,能够暴露其内部的弱点和缺陷。在此基础上进行针对性的对抗防御能够大大提高面对类似对抗攻击的防御效果。因此,深入研究深度强化学习模型的对抗攻击和防御问题,对于提高深度强化学习模型的安全性和鲁棒性,保证其在实际应用中的可靠性和稳定性具有非常重要的意义。目前对抗攻击与对抗防御的研究大多是面向静态图像的分类任务,在动态视频方面的应用研究关注较少。由于 Atari 游戏 简单的游戏规则和动态的游戏画面,因此本文选择 Atari 游戏作为实验平台,在 Atari 游戏中设计实验实现深度强化学习模型中的对抗攻击与对抗防御,在动态视频方面对对抗攻击与防御方法进行综合性探讨研究。
1
DQN 算法
深度 Q 网络(Deep Q-Network,DQN)属于基于值函数的算法 ,它的基本思想是用一个深度神经网络来表示 Q 值函数,输入数据是一幅图像或者一个状态,输出数据则是对应的选择各个动作时的Q 值。DQN 使用经验回放机制和目标网络来提高学习效率和稳定性,通过梯度下降最小化损失函数来不断更新网络权重,从而逼近最优的 Q 值函数。
本文利用经验回放机制、目标网络和对输入状态图像进行预处理等技巧完成 DQN 算法设计。DQN 模型在 Atari 中的 Pong 游戏上表现得分情况如表 1 所示。
表 1 不同训练轮次 DQN 模型得分情况
2
对抗攻击实现
2.1 FGSM 攻击
快速梯度符号方法(Fast Gradient Sign Method,FGSM)是一种基于梯度的对抗样本生成方法。FGSM 的基本思路是在原始输入样本的基础上计算损失函数对输入样本的梯度,然后将梯度符号作为扰动方向,并将梯度的绝对值作为扰动大小,向着使分类结果最差的方向添加扰动,从而得到对抗样本,使得模型对该样本的分类结果发生错误。对抗样本生成过程如图 1 所示,第 1 行原始图像加上第 2 行扰动,得到第 3 行的对抗样本。设 x 为原始输入样本,θ 表示模型参数,y 表示输入样本真实标签,J(θ,x,y) 表示损失函数,sign 是符号函数,ε 表示扰动的大小。对抗样本 生成公式:图 1 对抗样本生成过程
得到对抗样本后,将对抗样本作为输入图像,输入到 DQN 模型中,继而影响模型判断,通过不断地生成对抗样本就可达到攻击模型的效果。
在白盒环境中,基于 DQN 模型的 Q 值和动作张量使用交叉熵损失函数计算出损失函数,然后进行反向传播得到梯度,再用 sign() 符号函数得到梯度方向,之后扰动量乘以梯度方向再加上原本状态张量得到对抗样本。在实验过程中还设置了攻击概率,即对每一帧图像以一定概率值选择是否生成对抗样本。不同概率进行 FGSM 白盒攻击时,实验结果如表 2、表 3 和表 4 所示。
表 2 100% 概率进行 FGSM 白盒攻击时扰动量与得分关系
表 3 80% 概率进行 FGSM 白盒攻击时扰动量与得分关系
表 4 50% 概率进行 FGSM 白盒攻击时扰动量与得分关系
在黑盒环境中,首先根据游戏观测画面得到状态,然后将该状态输入替身模型中得到选择各个动作的 Q 值,再用替身模型计算出选择的动作,同时将动作转化为张量类型。然后将该 Q 值和动作张量使用交叉熵损失函数计算出损失函数,再进行反向传播得到替身模型的梯度,将这个梯度作为目标模型的梯度,再用 sign() 符号函数得到梯度方向,之后扰动量乘以梯度方向再加上原本状态张量得到最终的对抗样本。当替代模型为训练 400 轮的 DQN模型时,FGSM 黑盒攻击的实验结果如表 5 所示。
表 5 FGSM 黑盒攻击时扰动量与得分关系
利用 FGSM 攻击方式对输入图像进行攻击扰动,模型效果明显变差。白盒攻击时效果都较好,使用很小的扰动量即可以对模型性能造成较大影响;黑盒攻击的攻击效果很大部分取决于替代模型,当替代模型越接近最优策略时,攻击效果就越好。
2.2 PGD 攻击
投影梯度下降(Projected Gradient Descent,PGD)攻击是一种迭代的基于梯度的攻击方法,它通过多次迭代来使攻击更加精确,适用于求解带有约束条件的凸优化问题 。PGD 攻击的主要思想是利用梯度下降法在每次迭代时将当前解投影到可行域内,以满足约束条件,从而得到“最优”的扰动,即输出最差的结果使模型获得更低的奖励。PGD 攻击具体的步骤如下:
(1)给定输入数据为 xt、标签为 y 及模型的参数为 θ;
(2)计算模型的损失函数 L(θ,xt,y),并根据损失函数的梯度得到扰动(3)利用截断函数将投影到一个预定义的范围内,得到新的输入样本(4)以为输入,重复步骤(2)~(3),直到达到指定的迭代次数或满足停止条件。PGD 攻击可表示为:
式中:Clip 为截断函数。
PGD 攻击在迭代次数为 3、截断值为 0.2 时,不同扰动量对 DQN 模型的攻击结果如表 6 所示。
通过比较 PGD 攻击结果与 FGSM 攻击结果,发现 PGD 攻击进行多次小步的迭代得到的对抗样本效果比 FGSM 攻击进行一次一大步的扰动好很多。
FGSM 白盒攻击时,扰动量为 0.000 4 时模型被干扰效果仅相当于 PGD 迭代 3 次、截断为 0.2、扰动量为 0.000 2 的效果。可见 PGD 攻击是个强大的对抗攻击算法。
表 6 PGD 攻击不同扰动量对模型攻击时游戏得分
2.3 单像素攻击
单像素攻击(One Pixel Attack)是一种典型的黑盒攻击方法,只需获取输入图像即可对模型进行攻击。它的基本思想是通过改变图像中较少的像素点,甚至只改变其中的一个像素点就能够实现较好的攻击效果。
对原始游戏画面进行像素攻击后得到的图像如图 2 所示,其中一个像素点被改变。表 7 是进行简单随机像素攻击时,改变像素的个数与得分的关系。
图 2 像素攻击后 Pong 游戏图像
表 7 像素攻击时改变像素数目与得分关系
实验结果表明,改变图像像素点的像素攻击方式可以对 DQN 模型进行攻击,能够对 DQN 模型产生威胁,而且改变的像素个数越多,模型的得分就越低,像素攻击对模型的攻击效果就越明显。
3
对抗防御
3.1 随机化防御
随机化防御是一种基于随机化思想的对抗性防御方法,通过在程序代码、内存布局、执行文件等多个层面引入随机性、多样性和动态性,来消除软件的同质化现象,实现软件的多态化,减小或者动态变化系统攻击面,增加攻击者漏洞利用难度,能有效抵御针对软件缺陷的外部代码注入型攻击、文件篡改攻击、数据泄露攻击、感染攻击等攻击。随机化防御方法的核心思想是对输入数据进行随机化,使得攻击者难以构造有效的对抗样本。
本文使用高斯数据增强方法对 DQN 模型进行随机化防御 [15]。在实验中,高斯数据增强通过在行为网络的输出上使用 Pytorch 内置的高斯函数添加高斯噪声来实现,其中高斯噪声均值为 0,标准差为0.01(由交叉验证方法得出)。进行 FGSM 白盒攻击时,高斯数据增强 DQN 模型得分情况如表 8 所示,FGSM 黑盒攻击得分情况如表 9 所示,PGD 攻击得分情况如表 10 所示,像素攻击得分情况如表 11所示。
表 8 FGSM 白盒攻击时模型得分情况
表 9 FGSM 黑盒攻击时模型得分情况
表 10 PGD 攻击时模型得分情况
表 11 像素攻击时模型得分情况
使用高斯数据增强会影响一些 DQN 模型的训练效果,但从实验结果中可以得到高斯数据增强对 FGSM 攻击、PGD 攻击和像素攻击都能有一定的防御能力,尤其对 FGSM 黑盒攻击和像素攻击防御效果较好。但是整体而言防御效果并不是很显著,当对抗攻击强度增大到一定值时,模型性能仍然会受到较大影响。造成该结果可能的原因是训练轮次不足,使用高斯数据增强训练时会影响训练效果,所以需要更多的训练次数才能使模型达到较好的效果,以及得到更强的防御能力。
3.2 对抗训练
对 抗 训 练(Adversarial Training) 是 一 种 主动防御方法 [16-17],它通过向训练集中添加对抗样本,做一次数据增强,使得深度强化学习(DeepReinforcement Learning,DRL)系统在训练过程中能够更好地学习到对抗干扰,从而提高其抵抗能力。对抗训练方法包括基于 FGSM 算法的对抗训练、基于 PGD 算法的对抗训练等。
对抗训练的步骤如下:
(1)初始化 DRL 策略 πθ 和对抗攻击算法 A;
(2)从环境中采样一个状态 s,并使用策略πθ 选择一个动作 a;
(3) 使 用 对 抗 攻 击 算 法 A 生成一个对抗观 察 sadv=s+δ,其中 δ 是 一 个 小 的 扰 动, 使 得πθ(sadv)=πθ(s);
(4)将对抗观察 sadv 和原始观察 s 加入训练集中,作为输入特征;
(5)使用训练集中的数据更新策略 πθ 的参数,使其能够在对抗观察和原始观察下都表现良好;
(6)重复步骤(2)~(5),直到策略 πθ 达到预期的性能或收敛。
对对抗训练后的 DQN 模型进行对抗攻击实验,进行 500 轮对抗训练的模型防御 FGSM 白盒攻击时得分情况如表 12 所示;对抗训练 500 轮的模型防御 FGSM 黑盒攻击的得分情况如表 13 所示;进行PGD 攻击时,对抗训练 500 轮的模型得分情况如表 14 所示;进行像素攻击时,对抗训练 500 轮的模型得分情况如表 15 所示。
表 12 FGSM 白盒攻击时防御模型的得分情况
表 13 FGSM 黑盒攻击时各防御模型的得分情况
表 14 PGD 攻击时防御模型的得分情况
表 15 像素攻击时防御模型的得分情况
使用基于 FGSM 的对抗训练方法,对 FGSM 白盒攻击与黑盒攻击这两种同类型的对抗攻击具有很强大的防御能力;对于 PGD 攻击也有一定的防御效果,需要扰动量增大到一定值才能对模型产生影响。不过对于像素攻击,对抗训练并没有体现出良好的防御能力。总体而言,经过对抗训练,模型的鲁棒性得到明显提高,可见对抗训练防御方法是一种有效的对抗防御方法。
4
结 语
本文首先阐述了深度强化学习中的 DQN 算法,并且在 Atari 中的 Pong 游戏中训练了 DQN 智能体模型;其次引入对抗攻击和对抗防御,详细介绍了FGSM 攻击、PGD 攻击、单像素攻击 3 种对抗攻击方法和对抗训练、随机化防御、对抗检测 3 种对抗防御方法,阐述了它们的基本原理,然后对 DQN模型进行了对抗攻击和对抗防御实验,并且相互之间进行了分析比较。最后得出结论,对抗攻击可以轻松地影响 DRL 模型,能降低 DRL 模型的性能,会对 DRL 模型产生很大的危害,而对抗防御方法可以在一定程度上提高模型的鲁棒性,提高对对抗攻击的防御能力。
深度强化学习的对抗攻击与对抗防御是一个不断发展和改进的领域,需要不断地进行研究和探索,未来应更加深入研究各种对抗攻击,寻求破解之道,研究出更加有效的对抗防御方法,让智能体模型能够抵御攻击,不被干扰,发挥出它强大的能力,从而造福社会、造福人类。
免责声明:本文转自信息安全与通信保密杂志社,原作者熊水彬。文章内容系原作者个人观点,本公众号编译/转载仅为分享、传达不同观点,如有任何异议,欢迎联系我们!
转自丨信息安全与通信保密杂志社
作者丨熊水彬
研究所简介
国际技术经济研究所(IITE)成立于1985年11月,是隶属于国务院发展研究中心的非营利性研究机构,主要职能是研究我国经济、科技社会发展中的重大政策性、战略性、前瞻性问题,跟踪和分析世界科技、经济发展态势,为中央和有关部委提供决策咨询服务。“全球技术地图”为国际技术经济研究所官方微信账号,致力于向公众传递前沿技术资讯和科技创新洞见。
地址:北京市海淀区小南庄20号楼A座
- 免责声明
- 本文所包含的观点仅代表作者个人看法,不代表新火种的观点。在新火种上获取的所有信息均不应被视为投资建议。新火种对本文可能提及或链接的任何项目不表示认可。 交易和投资涉及高风险,读者在采取与本文内容相关的任何行动之前,请务必进行充分的尽职调查。最终的决策应该基于您自己的独立判断。新火种不对因依赖本文观点而产生的任何金钱损失负任何责任。