基于深度强化学习的对抗攻击和防御在动态视频中的应用*

2023-10-21 12:17熊水彬
通信技术 2023年9期
关键词:白盒黑盒扰动

熊水彬

(江西理工大学,江西 赣州 341000)

0 引言

深度强化学习是深度学习与强化学习相结合的产物[1],是一种新兴的人工智能技术。但是,深度强化学习模型会面临一些安全性和鲁棒性的问题,其中之一就是对抗攻击和对抗防御[2]。对抗攻击是指攻击者针对深度强化学习模型的弱点或缺陷对模型进行攻击,使得模型产生错误的预测或输出,从而使得深度强化学习模型的效果降低甚至完全失效。对抗防御则是防御者为了保护深度强化学习模型免受对抗攻击的干扰,降低对抗攻击带来的危害,从而采取的一系列防御方法。

对抗攻击会影响深度强化学习智能体的性能,能够暴露其内部的弱点和缺陷。在此基础上进行针对性的对抗防御能够大大提高面对类似对抗攻击的防御效果。因此,深入研究深度强化学习模型的对抗攻击和防御问题,对于提高深度强化学习模型的安全性和鲁棒性,保证其在实际应用中的可靠性和稳定性具有非常重要的意义。目前对抗攻击与对抗防御的研究大多是面向静态图像的分类任务,在动态视频方面的应用研究关注较少。由于Atari 游戏[3]简单的游戏规则和动态的游戏画面,因此本文选择Atari 游戏作为实验平台,在Atari 游戏[4]中设计实验实现深度强化学习模型中的对抗攻击与对抗防御,在动态视频方面对对抗攻击与防御方法进行综合性探讨研究。

1 DQN 算法

深度Q 网络(Deep Q-Network,DQN)属于基于值函数的算法[5],它的基本思想是用一个深度神经网络来表示Q 值函数,输入数据是一幅图像或者一个状态,输出数据则是对应的选择各个动作时的Q 值。DQN 使用经验回放机制和目标网络来提高学习效率和稳定性,通过梯度下降最小化损失函数来不断更新网络权重,从而逼近最优的Q 值函数。

本文利用经验回放机制[6]、目标网络和对输入状态图像进行预处理等技巧完成DQN 算法设计。DQN 模型在Atari 中的Pong 游戏上表现得分情况如表1 所示。

表1 不同训练轮次DQN 模型得分情况

2 对抗攻击实现

2.1 FGSM 攻击

快速梯度符号方法(Fast Gradient Sign Method,FGSM)是一种基于梯度的对抗样本生成方法[7-8]。FGSM 的基本思路是在原始输入样本的基础上计算损失函数对输入样本的梯度,然后将梯度符号作为扰动方向,并将梯度的绝对值作为扰动大小,向着使分类结果最差的方向添加扰动,从而得到对抗样本[9],使得模型对该样本的分类结果发生错误。对抗样本生成过程如图1 所示,第1 行原始图像加上第2 行扰动,得到第3 行的对抗样本。设x为原始输入样本,θ表示模型参数,y表示输入样本真实标签,J(θ,x,y)表示损失函数,sign是符号函数,ε表示扰动的大小。对抗样本生成公式为:

图1 对抗样本生成过程

得到对抗样本后,将对抗样本作为输入图像,输入到DQN 模型中,继而影响模型判断,通过不断地生成对抗样本就可达到攻击模型的效果。

在白盒环境中[10],基于DQN 模型的Q 值和动作张量使用交叉熵损失函数计算出损失函数,然后进行反向传播得到梯度,再用sign()符号函数得到梯度方向,之后扰动量乘以梯度方向再加上原本状态张量得到对抗样本。在实验过程中还设置了攻击概率,即对每一帧图像以一定概率值选择是否生成对抗样本。不同概率进行FGSM 白盒攻击时,实验结果如表2、表3 和表4 所示。

表2 100%概率进行FGSM 白盒攻击时扰动量与得分关系

表3 80%概率进行FGSM 白盒攻击时扰动量与得分关系

表4 50%概率进行FGSM 白盒攻击时扰动量与得分关系

在黑盒环境中[11],首先根据游戏观测画面得到状态,然后将该状态输入替身模型中得到选择各个动作的Q 值,再用替身模型计算出选择的动作,同时将动作转化为张量类型。然后将该Q 值和动作张量使用交叉熵损失函数计算出损失函数,再进行反向传播得到替身模型的梯度,将这个梯度作为目标模型的梯度,再用sign()符号函数得到梯度方向,之后扰动量乘以梯度方向再加上原本状态张量得到最终的对抗样本。当替代模型为训练400 轮的DQN模型时,FGSM 黑盒攻击的实验结果如表5 所示。

利用FGSM 攻击方式对输入图像进行攻击扰动,模型效果明显变差。白盒攻击时效果都较好,使用很小的扰动量即可以对模型性能造成较大影响;黑盒攻击的攻击效果很大部分取决于替代模型,当替代模型越接近最优策略时,攻击效果就越好。

2.2 PGD 攻击

投影梯度下降(Projected Gradient Descent,PGD)攻击是一种迭代的基于梯度的攻击方法,它通过多次迭代来使攻击更加精确,适用于求解带有约束条件的凸优化问题[13]。PGD 攻击的主要思想是利用梯度下降法在每次迭代时将当前解投影到可行域内,以满足约束条件,从而得到“最优”的扰动,即输出最差的结果使模型获得更低的奖励。

PGD 攻击具体的步骤如下:

(1)给定输入数据为xt、标签为y及模型的参数为θ;

(2)计算模型的损失函数L(θ,xt,y),并根据损失函数的梯度得到扰动d=ϵ×sign(∇xJ(θ,xt+1,y));

(3)利用截断函数将xt+d投影到一个预定义的范围内,得到新的输入样本xt+1;

(4)以xt+1为输入,重复步骤(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 攻击是个强大的对抗攻击算法。

2.3 单像素攻击

单像素攻击(One Pixel Attack)[14]是一种典型的黑盒攻击方法,只需获取输入图像即可对模型进行攻击。它的基本思想是通过改变图像中较少的像素点,甚至只改变其中的一个像素点就能够实现较好的攻击效果。

对原始游戏画面进行像素攻击后得到的图像如图2 所示,其中一个像素点被改变。表7 是进行简单随机像素攻击时,改变像素的个数与得分的关系。

图2 像素攻击后Pong 游戏图像

表7 像素攻击时改变像素数目与得分关系

实验结果表明,改变图像像素点的像素攻击方式可以对DQN 模型进行攻击,能够对DQN 模型产生威胁,而且改变的像素个数越多,模型的得分就越低,像素攻击对模型的攻击效果就越明显。

3 对抗防御

3.1 随机化防御

随机化防御是一种基于随机化思想的对抗性防御方法,通过在程序代码、内存布局、执行文件等多个层面引入随机性、多样性和动态性,来消除软件的同质化现象,实现软件的多态化,减小或者动态变化系统攻击面,增加攻击者漏洞利用难度,能有效抵御针对软件缺陷的外部代码注入型攻击、文件篡改攻击、数据泄露攻击、感染攻击等攻击。随机化防御方法的核心思想是对输入数据进行随机化,使得攻击者难以构造有效的对抗样本。

本文使用高斯数据增强方法对DQN 模型进行随机化防御[15]。在实验中,高斯数据增强通过在行为网络的输出上使用Pytorch内置的高斯函数添加高斯噪声来实现,其中高斯噪声均值为0,标准差为0.01(由交叉验证方法得出)。进行FGSM 白盒攻击时,高斯数据增强DQN 模型得分情况如表8 所示,FGSM 黑盒攻击得分情况如表9 所示,PGD 攻击得分情况如表10 所示,像素攻击得分情况如表11所示。

表9 FGSM 黑盒攻击时模型得分情况

表10 PGD 攻击时模型得分情况

表11 像素攻击时模型得分情况

使用高斯数据增强会影响一些DQN 模型的训练效果,但从实验结果中可以得到高斯数据增强对FGSM 攻击、PGD 攻击和像素攻击都能有一定的防御能力,尤其对FGSM 黑盒攻击和像素攻击防御效果较好。但是整体而言防御效果并不是很显著,当对抗攻击强度增大到一定值时,模型性能仍然会受到较大影响。造成该结果可能的原因是训练轮次不足,使用高斯数据增强训练时会影响训练效果,所以需要更多的训练次数才能使模型达到较好的效果,以及得到更强的防御能力。

3.2 对抗训练

对抗训练(Adversarial Training)是一种主动防御方法[16-17],它通过向训练集中添加对抗样本,做一次数据增强,使得深度强化学习(Deep Reinforcement 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 模型产生很大的危害,而对抗防御方法可以在一定程度上提高模型的鲁棒性,提高对对抗攻击的防御能力。

深度强化学习的对抗攻击与对抗防御是一个不断发展和改进的领域,需要不断地进行研究和探索,未来应更加深入研究各种对抗攻击,寻求破解之道,研究出更加有效的对抗防御方法,让智能体模型能够抵御攻击,不被干扰,发挥出它强大的能力,从而造福社会、造福人类。

猜你喜欢
白盒黑盒扰动
一种基于局部平均有限差分的黑盒对抗攻击方法
Bernoulli泛函上典则酉对合的扰动
面向未来网络的白盒交换机体系综述
DWB-AES:基于AES 的动态白盒实现方法
(h)性质及其扰动
网络“黑”“白”之争
小噪声扰动的二维扩散的极大似然估计
用于光伏MPPT中的模糊控制占空比扰动法
基于EEPROM数据读写的智能电能表白盒测试方法