APP下载

结合模仿对抗策略的深度强化学习鲁棒性增强方法

2023-05-12王雪柯陈晋音陆小松张旭鸿

小型微型计算机系统 2023年5期
关键词:鲁棒性扰动样本

王雪柯,陈晋音,2,陆小松,张旭鸿

1(浙江工业大学 信息工程学院,杭州 310023) 2(浙江工业大学 网络空间安全研究院,杭州 310023) 3(宁波视睿迪光电有限公司,浙江 宁波 315000) 4(浙江大学 控制科学与工程学院,杭州 310007)

1 引 言

深度强化学习是人工智能领域解决决策问题的一类关键研究方向,实现智能化的重要技术之一.寻找策略来实现既定目标的问题有很多,如棋类游戏中棋手为获胜而思考如何落子[1],自动驾驶中为安全快捷地到达终点而规划路径[2]等.长期以来,相关学者一直在探求如何在决策问题中实现与人类相当甚至超人的智能决策.近年来,深度强化学习(Deep Reinforcement Learning,DRL)[3]也已经在许多复杂的决策过程中显示出了较好结果,如机器人技术[4]指定完成任务,自动驾驶[5]、医疗保健[6]、金融交易[7],以及多机协作[8]等决策问题上取得了瞩目的进步.

随着DRL在现实场景中的应用,其安全问题逐渐暴露,相关研究也挖掘了DRL模型存在的安全漏洞.攻击者分别在模型的训练阶段和测试阶段,利用智能体的状态、动作、环境以及奖励展开攻击.已有研究在测试阶段通过各种策略对状态添加噪声[9],或者暴力更改动作或加入动作噪声[10],使用对抗智能体等间接误导目标智能体[11].在模型训练阶段,研究者们提出了奖励翻转攻击[12],木马中毒攻击[13],路径脆弱点攻击[14],以及动作空间扰动[15]等攻击,成功地在训练阶段迷惑智能体,最终训练的智能体是有残缺的,模型也不稳定.无论哪种攻击,都会对DRL模型造成很大安全风险,其安全问题亟待解决.

另一方面,研究者也提出了针对DRL攻击的防御方法,并取得了一定效果.针对DRL的训练阶段或测试阶段的攻击,倾向于修改智能体所观察到的状态信息发起进攻,由于状态作为模型输入较容易被攻击者操纵,因此现有的防御多数是面向状态干扰的防御方法,例如:使用FGSM(Fast Gradient Sign Method)与随机噪声重训练[16]、非连续扰动下的对抗训练[17]等.其中,使用FGSM与随机噪声重训练针对的是FGSM对抗攻击[1]和基于值函数的对抗攻击[16],非连续扰动下的对抗训练针对的是战略时间攻击[10]和基于值函数的对抗攻击.

因此,现有研究的防御方法是针对某几种或某几类攻击方法有效.因此,本文提出一种基于模仿对抗策略的DRL鲁棒增强方法(Robustness Enhancement Method Based on Imitation Learning Adversarial Strategy,REIL),可以实现对多种对抗攻击方法的有效防御.具体而言,设计对抗策略生成器,结合模仿学习构建专家知识,旨在训练对抗策略生成器生成接近专家的状态,并利用预训练DRL模型反馈使对抗策略能够完全迷惑智能体,实现泛化性对抗样本的生成旨在达到泛化性防御效果,然后利用对抗策略生成器动态生成对抗样本参与DRL模型训练以增强模型鲁棒性.

总结本文的主要贡献包括4个方面:

1) 提出了一种基于模仿对抗策略的深度强化学习鲁棒性增强方法,实现多模态对抗样本的防御;

2) 本文防御策略可以防御多样性对抗样本,同时可以抵御白盒攻击以及黑盒攻击;

3) REIL防御方法在对抗状态生成器优化阶段可以自适应的学习最优对抗扰动,生成具有泛化性的扰动状态;

4) 本文创新性地搭建了DRL鲁棒性增强框架,即REIL,通过大量实验验证了REIL在多种攻击方法下都有较好的效果.

2 相关工作

本节主要介绍面向DRL的攻击和防御方法.

2.1 面向DRL的攻击

随着DRL的发展,面向DRL的安全问题引起了广泛关注,根据攻击发起的阶段不同,将面向DRL的攻击方法划分为测试阶段的对抗攻击和训练阶段的中毒攻击,并分别阐述.

对抗攻击:在测试阶段通过设计一种有针对性数值型向量干扰模型输入或环境、奖励以及动作等使智能体决策失误.Huang等人[1]首先发现神经网络策略在DRL中容易受到对抗攻击.他们利用Goodfellow等人[20]提出的FGSM攻击方法对DQN[3]的输入状态加微小扰动,导致智能体执行错误行为.利用FGSM攻击方法,Huang等人也验证了基于DQN、TRPO(Trust Region Policy Optimization)[21]算法的DRL模型容易受到对抗攻击.

中毒攻击:在训练阶段,通过将中毒样本添加到DRL模型的训练数据中使得模型中毒.Kiourti等人[13]提出木马攻击,在训练阶段用特洛伊木马进行中毒攻击.在这种木马攻击下,目标智能体在正常情况下的性能并没有受到任何影响,但是一旦木马触发器被触发,智能体就会执行攻击者预设的行为.在DRL训练过程中,训练样本以(s,a,s′,r)的形式存放在经验回放池中,Chen等人[12]根据该经验回放池提出翻转奖励符号攻击,翻转部分样本的奖励值符号来最大化目标智能体的损失函数.随后,Bai等人[14]提出路径脆弱点攻击,在路径脆弱点上添加障碍物,不仅需要对规划路径上的点进行角度分析,而且受到场景的限制.

总之,现有攻击方法绝大部分还是面向状态的攻击,而且状态很容易被攻击者拿来利用进而干扰整个策略造成安全威胁,因此针对状态的防御是一个亟待解决的问题.

2.2 面向DRL的防御

为了提高DRL的鲁棒性,已有一些防御方法用于抵抗DRL的攻击,本文主要针对面向对抗攻击的防御进行阐述.

现有防御方法主要通过对模型数据加以保护或增强达到防御目的.Kos等人[16]使用FGSM与随机噪声重训练,对正常训练后的策略使用对抗样本与随机噪声进行重训练,来防御FGSM[1]、由值函数指导的对抗攻击[16]状态扰动.进一步,Gu等人[22]提出了一种对抗式A3C(Asynchronous advantage actor-critic)学习框架.这种对抗学习框架在学习过程中引入一个敌对智能体,以此模拟环境中可能存在的不稳定因素.Pinto等人[23]基于零和博弈思想在环境中引入其它智能体,他们将建模误差以及训练及测试场景下的差异都看作是系统中的额外干扰,通过外加智能体干扰目标智能体.针对奖励的操纵,Wang等人[24]提出基于代理奖励的鲁棒训练,通过混淆矩阵得到代理奖励值以更新动作价值函数,防御结合对抗变换网络的对抗攻击的奖励扰动.Lutjens等人提出在线认证防御[18],在输入扰动范围内选择最优动作,防御FGSM、战略时间攻击、由值函数指导的对抗攻击、迷惑攻击的状态扰动.

3 基本概念

3.1 深度强化学习

DRL[3]是一种基于深度学习模型的决策算法,将深度学习的感知能力和强化学习的决策能力相结合,实现端到端的感知与控制系统,具有很强的通用性.其学习过程是智能体与环境的交互过程.在每个时刻agent与环境交互得到一个高维度的观察,并利用深度学习方法来感知观察,以得到具体的状态特征表示;然后基于预期回报来评价各动作的价值函数,并通过某种策略将当前状态映射为相应的动作;接着环境对此动作做出反应,并得到下一个观察.通过不断循环以上过程,最终可以得到实现目标的最优策略.

3.2 目标模型

本文目标模型选用基于近端策略优化算法(Proximal Policy Optimization,PPO)[25]的DRL模型,基于该模型进行攻击防御.该模型决策过程由元组(S,A,P,R,γ)描述,其中S={s1,s2,s3,…,st}为有限的状态集,A={a1,a2,a3,…,at}为有限的动作集,P为状态转移概率,R为奖励函数,γ为折扣因子,用来计算长期累积回报.DRL模型训练中智能体需要不断与环境进行交互,在当前状态st时智能体根据学习的策略采取动作at.同时,环境会给智能体反馈一个奖励值r(st,at)来评价当前动作的好坏.

PPO使用了重要性采样,解决的采样很困难的问题,所以提出从另一个容易采样的分布中采样.当PPO将重要性采样与actor-critic框架结合时, 智能体的由两部分组成,一部分是actor,负责与环境互动收集样本,另一部分是critic,负责评判actor的动作好坏.actor的更新即可使用PPO梯度更新公式:

(1)

At=δt+(γλ)δt+1+…+(γλ)T-t+1δT-1

(2)

其中,δt=rt+γV(st+1)-V(st),V(st)是t时刻的critic网络计算得到的状态值函数,rt是t时刻奖励值.critic的损失计算如下:

Lc=(r+γ(max(Q(s′,a′)))-Q(s,a))

(3)

其中,r+γ(max(Q(s′,a′)))是目标值函数,Q(s,a)是预测值,s和a分别是状态和动作.

3.3 模仿学习

本文提出的基于模仿对抗策略的DRL鲁棒性增强方法,对抗状态生成器是基于模仿学习搭建的,本文用到的模仿学习算法是生成对抗模仿学习(Generative Adversarial Imitation Learning,GAIL)[26],其模型主要有两部分组成.包括Actor网络和Discriminator判别器网络.判别器用于区分智能体的探索样本与专家样本,进而利用判别器描述的奖惩函数探索环境并通过强化学习训练智能体策略.提供专家样本为:{(s1,a1),(s2,a2),…,(sT,aT)},其中,s和a分别是状态和动作,其优化目标可以表示为:

(4)

其中,ρπ是学徒示例,ρE是专家示例,s和a分别是状态和动作.模型参数wi→wi+1更新公式:

(5)

其中,w是网络参数,s和a分别是当前状态和动作,其中状态是由专家数提供,D是判别器网络.之后就可以把状态作为特征,动作作为标签进行监督学习从而得到最优策略模型.模型的训练目标是使模型生成的状态-动作轨迹和专家策略相匹配.

4 基于模仿对抗策略的强化学习鲁棒性增强方法

本节首先介绍了提高强化学习模型鲁棒性的方法框架; 然后分析本文防御方法的通用性,在3.2小结分析了防御的泛化性;为了进一步详细分析REIL具体方法,在3.3小结中详细介绍了对抗样本的生成方法,通过目标模型的反馈、模仿学习模型以及生成器和优化过程,保证了对抗性样本的质量和泛化性.最后给出了算法伪代码,并对模型的训练与实施进行了描述.

4.1 总体框架

本文提出了一种强化学习鲁棒增强方法,即REIL.设计对抗状态生成器,生成具有泛化性的对抗状态,利用该状态辅助目标模型训练,寻找模型脆弱点并结合基于GAIL的对抗状态生成器联合训练增强对脆弱点的抵抗能力.

DRL模型增强整体框图如图1所示,首先进行模型训练,即图中REIL-PPO模型训练阶段;然后是测试阶段验证模型鲁棒性.在DRL模型的训练阶段加入模型加固技术,模型在训练过程中需要采样数据到缓冲区,并通过批量数据迭代训练模型,每次模型更新时以一定比例掺入REIL生成的扰动样本,提高模型对强破坏性样本的适应能力,然后在模型测试阶段验证鲁棒性.本文采用几种比较成熟的攻击方法对原模型进行攻击,通过实验效果总结REIL确实对模型鲁棒性有一定增强能力,并能应对各种攻击方法.

图1 DRL模型增强整体框图Fig.1 Framework of the robust enhancement of DRL model

4.2 防御泛化性

本文防御的泛化性是通过对抗样本的泛化性实现的,通过对抗样本生成器生成具有泛化性的对抗样本,然后在DRL模型的训练阶段动态加入具有泛化性的对抗样本训练来提高模型鲁棒性,训练后的模型也能够防御各种基于状态噪声的攻击,因此实现了防御的泛化性.主要环节是对抗样本要具有泛化性,下面主要分析对抗样本的泛化性,模型训练阶段的对抗样本是指参与目标模型训练以增强模型鲁棒性的样本.在对抗攻击中,其目标是最小限度地干扰正常的样本,同时最大限度地误导模型预测.这可以被建模为一个优化问题,而通过单一生成器生成的对抗样本不足以保证与原样本的相近程度,因此引入了模仿学习.通过调研发现模仿学习是指以仿效专家的行为方式为特征的一种学习模式,是基于生成式对抗网络[27](Generative Adversarial Network,GAN)提出的,用于模仿学习专家策略.

本文利用模仿学习训练对抗样本生成器,不断逼近专家策略,与GAN不同的是,模仿学习不是学习生成图像,而是学习到接近专家的策略.本文提出的REIL对抗样本生成器模型就利用了模仿学习学习专家策略这一特点,搭建对抗样本生成器生成接近专家状态的样本,而且又结合目标模型的反馈保证生成的对抗样本能完全迷惑智能体.REIL对抗样本生成器的训练损失函数有两部分组成,第1部分由模仿学习的判别器提供,第1部分损失定义为:

(6)

其中,x是生成器的输入噪声,s和a分别是状态和动作,D是模仿学习中的判别器,用于判别专家策略和学习者策略之间的相似度,G是生成器,用于生成扰动状态,A是模仿学习的actor网络,用于生成动作.通过极小化这个损失函数使生成器模型生成的扰动状态无限接近专家状态.

第2部分损失函数由预训练PPO模型提供,该损失函数的目的是使生成的状态能达到迷惑目标模型智能体的目的,使目标模型预测出错.第2部分损失函数为:

Lppo=-(Jppo+Lc)

(7)

其中,Jppo是PPO模型得actor网络对应的损失,Lc是PPO模型得critic网络对应的损失,-Lppo是PPO网络的总损失,为了使对抗状态对模型噪声的影响越大越好,因此本文将PPO模型的负损失作为生成器网络损失函数的第2项.

生成器模型的总损失函数为:

Ltotal=LIL+Lppo

(8)

通过与模仿学习模型的博弈生成接近专家数据的样本,同时又通过与目标模型的博弈生成能迷惑目标智能体的状态,以此实现多样泛化的对抗样本,实现既接近专家状态又能完全迷惑目标智能体的目的.

4.3 REIL

本节详细介绍REIL对抗样本生成模型,图2是REIL的方法框架,图中包含预训练好的PPO模型、IL模型中的actor网络、IL中的discriminator判别器网络以及generator生成器模型.

REIL扰动样本生成器主要目标是生成器的训练,同时保证IL模型接近专家水平.如图3所示,首先给IL模型中的actor网络输入专家状态,并输出动作;同时制造随机噪声输入生成器网络中,生成扰动状态,并通过actor网络生成对应扰动动作.然后利用actor网络输出动作与专家状态输入IL中的判别器网络进行判别,并利用反馈损失更新actor网络参数;同时也将专家状态和动作输入判别器网络中保证能正常判别专家数据,与此同时将扰动状态以及对应扰动动作输入到判别器网络进行判别,并反馈训练生成器网络,生成器网络的损失也需要预训练的DRL模型提供,以保证生成的扰动状态能迷惑目标智能体.接着利用判别器对actor正常智能体动作的判别结果与对应非专家标签的交叉熵损失、判别器对扰动状态及动作的判别结果与非专家标签的交叉熵损失以及判别器对专家数据的判别结果与专家标签的损失等个损失作为判别器的损失,并更新判别器网络参数.最后利用训练好的生成器参与DRL模型的训练,在训练过程中增强DRL模型鲁棒性.

图2 REIL方法框架Fig.2 Framework of REIL

4.4 算法伪代码

REIL算法的伪代码说明如下.

算法伪代码:REIL

输入:噪声x,游戏运行回合数t,专家轨迹τE,预训练PPO模型损失-Lppo,迭代次数n_iter,每回合最大步长max_timesteps,游戏场景env,生成器G(.),actor模型A(.)

输出:输出对抗状态sad

1.初始化REIL模型参数φ.

2.FORi=0∶tDO

3. 初始化环境env.reset();

4.FORj=0∶n_iterDO

5. 采样专家状态和动作sE,aE~τE;

6. 生成正常智能体动作a=A(sE);

7.生成对抗状态sad=G(x);

8. 生成对抗动作aad=A(sad);

9. 根据公式(9)计算判别器critic模型损失Lc;

10. 计算动作actor模型损失La=-D(s,a);

11. 计算生成器模型损失Ltotal=LIL+Lppo,其中LIL根据公式(6)计算;

12. 计算总模型损失LREIL=Ltotal+La+Lc;

13. 模型更新φ←φ-β∇φ∑sE,aE~τELREIL;

14.END

15.FORj=0∶max_timestepsDO

16. 动作选择aj=REIL.select_action(state);

17. 下一时刻状态sj+1,rj+1,done,_=env.step(aj);

18.R+=rj+1

19.IFdoneTHEN

20. Break;

21.END

22.END

23.Return:sad

4.5 训练与实施

首先对基于PPO的DRL模型在Gym[28]游戏的 box2d 场景上测试本文提出的方法.采用 box2d 里的 BipedalWalkerHardcore-v2(连续动作双足机器人)作为验证场景,预训练PPO模型.PPO模型训练过成损失函数已在准备工作的目标模型中给出.然后需要利用预先收集的专家数据训练基于模仿学习的对抗状态生成器模型,这个模型有3部分组成,第1部分是生成器网络,第2部分是模仿学习的actor网络,第3部分是模仿学习的critic网络,其中本文所用actor网络的损失函数是La=-Dw(s,a),critic网络的损失函数是:

(9)

其中,w是判别器网络参数,s和a分别是当前状态和动作,其中状态是专家状态,D是判别器网络,A是模仿学习的actor网络,用于生成动作.用于生成器网络更新的损失函数是公式(8).

然后利用训练好的生成器模型参与与PPO模型训练,在PPO模型训练过程中间歇插入生成器生成的扰动状态,分别以10%和0.1%的比例混入扰动状态,以提高目标智能体对扰动状态的适应能力,并在训练过程中抵御这种扰动状态,执行评价值高的动作,增强模型的鲁棒性.

5 实验与分析

本节给出了基线防御方法和本文防御方法的实验结果,同时对实验结果进行分析.

5.1 实验设置

实验场景:BipedalWalkerHardcore-v2(Gym[28]游戏中box2d场景里的连续动作双足机器人).

基线防御方法:本文采用6种对比防御方法,分别是噪声网络NoiseNet[19]、基于FGSM攻击的对抗训练方法adv_FGSM[16]、基于MIFGSM攻击的对抗训练方法adv_MIFGSM[29]、基于PGD攻击的对抗训练方法adv_PGD[30]以及基于随机噪声攻击的对抗训练方法adv_RandomNoise[16],同时也结合FGSM[31]、MIFGSM[32]、PGD[33]以及RandomNoise[34]等多种攻击方法生成的对抗样本进行对抗训练,该方法命名为adv_Various,通过加入多种对抗样本验证能否防御多种对抗攻击.

攻击方法:在测试阶段进行对抗攻击验证模型的鲁棒性,为了验证本文方法对黑盒攻击与白盒攻击都有效,分别进行黑盒攻击以及白盒攻击,白盒攻击方法包括FGSM[31]、MIFGSM[32]以及PGD[33],黑盒攻击采用随机噪声RandomNoise[34].

扰动度量:常用扰动计算方法有0范数、2范数以及∞范数.其中0范数用来计算像素点改变的数量,2范数计算扰动像素点绝对值平方和的均方根,∞范数用来计算像素的最大扰动量,本文使用2范数度量扰动大小.

实验平台:i7-7700K 4.20GHzx8 (CPU),TITAN Xp 12GiBx2 (GPU),16GBx4 内存(DDR4),Ubuntu 16.04 (操作系统),Python 3.6,Pytorch-1.4.0(深度学习框架),gym-0.10.8,Box2D-2.3.10.

5.2 REIL训练

REIL实现目标是既能学到生成接近专家状态的对抗样本,又能完全迷惑目标智能体.REIL是在基于模仿学习搭建的对抗样本生成器,二者联合训练,模仿学习的过程需要生成器的反馈,而生成器的训练也需要模仿学习的反馈,最终训练效果要保证整个REIL模型奖励达到正常单独模仿学习训练的水平,同时生成器要能够收敛,以保证生成状态接近专家状态.

首先结合基于模仿学习的对抗状态生成器(REIL)要能达到与模仿学习模型训练相当的效果,二者实验场景一致,都是BipedalWalkerHardcore-v2,训练过程中的样本由智能体与环境交互过程采样得到,输入数据分布一致.从图3中可以看出,REIL的训练奖励能达到与模仿学习模型训练相当的效果,而且要比正常模仿学习到的奖励还要高.图中REIL是本文提出的基于模仿学习的对抗状态生成器模型,模仿学习(Imitation Learning,IL)本文指基于GAIL的模仿学习模型.

图3 IL以及REIL训练后奖励值Fig.3 Reward of IL and REIL after training

REIL训练后的模型能达到正常模仿学习的效果,主要原因是生成器的加入不影响整体策略的学习.生成器用于生成对抗状态,而对抗状态对应的动作需要用到模仿学习中的生成器来生成,对抗状态及其动作参与判别器训练之前已经标注为非专家数据,目的也是让判别器区分专家与非专家数据,因此不会影响判别器的判断,反而会在一定程度上增强判别器的判别,从而对整体模仿学习模型有一定增强效果,这也说明了图3后半部分奖励值为什么大于正常模仿学习奖励值.另一方面生成器的损失是有判别器反馈的,当反馈损失较大时,判别器将调整生成的对抗状态与专家状态的接近程度,而DRL模型的反馈保证生成的状态能达到迷惑目标智能体的目的,生成器、判别器以及动作网络经过博弈训练达到纳什均衡,最终生成器随时也会时候收敛.

5.3 DRL模型的鲁棒性验证

5.3.1 基于对抗训练的鲁棒增强

本节给出了各种基线防御方法以及本文所提出的防御方法的鲁棒增强模型训练结果,通过各种攻击方法生成对抗样本参与到目标模型的训练,经过对抗训练得到鲁棒性增强的目标模型.其中实验场景统一使用BipedalWalkerHardcore-v2,训练过程的输入数据从环境中采样得到,其中实验环境一致,智能体在与环境交互的过程中会动态采样大量样本,而且实验场景单一,采样空间有限,最终各个模型的输入数据分布会在同一有限空间中,样本分布一致,由此也保证了训练环境以及输入数据的一致性.全文实验设置将和本部分一致,输入数据分布一致.

在目标PPO模型的训练过程中间隔插入对抗样本进行对抗训练,结合经验在模型训练过程中加入10%对抗样本,模型训练结果如图4所示,图4(a)是在插入10%对抗样本比例下模型训练结果.除了10%对抗样本量的加入,本文也对较少对抗样本进行了实验,图4(b)则是在插入0.1%对抗样本比例下模型训练结果,其中标签Nature是没有对抗样本下正常目标模型的训练结果.

图4 不同对抗样本比例下模型训练结果Fig.4 Model training results under different adversarial example ratios

从图中可以看出各种防御方法下模型训练后奖励值都在正常训练后奖励值上下波动,只有随机噪声以及PGD对抗训练下奖励波动较大,其它都能达到与目标模型训练相当的效果,但正常模型训练过程中也会有波动,训练结束时奖励都能达到与正常模型相当水平,说明各种防御方法下不影响模型整体训练效果,达到了预期训练效果.主要原因的是DRL智能体的训练是不断探索学习的过程,掺杂的对抗样本量在目标智能体能承受的范围内,不足以让它不断受挫无法恢复,反而能在学习的过程中克服制造的阻碍,并能学习应对这些对抗状态达到期望效果.

5.3.2 面向白盒攻击的模型鲁棒性验证

本节在白盒攻击下,验证多种攻击方法下防御有效性,攻击方法包括FGSM、PGD以及MIFGSM.实验结果如图5所示,图中横坐标表示扰动大小,纵坐标表示奖励值,不同形状的点线代表不同防御方法,每张图下方标出了防御方法与图中点线的对应关系,该防御过程对抗样本加入量都是10%.图5(a)是FGSM攻击后的奖励值,图5(b)是PGD攻击后的奖励值,图5(c)是在MIFGSM攻击下的奖励值.该部分对抗攻击的样本分布是一致的,从而保证实验的合理性与科学性.其中每种攻击和模型以及不同扰动对应的奖励值都是取100个回合的平均值,每个回合最大步数限制到1500步.该场景类似游戏场景,主要对比每个回合结束玩家的得分,实验环境不变,输入分布一致,最终可以对比回合奖励,为了降低测试代价同时保证实验对比结果的科学性,本文采用100回合的平均奖励值进行对比分析,后文相关攻击防御的对比与本部分一致,都是100回合的平均奖励值.

从图5中可以看出,本文提出的防御方法REIL防御后的效果都较好,在各种攻击方法下的奖励值都较大.虽然有个别扰动下奖励有波动,比如图5(a)中,扰动值大小为0.18时,adv_PGD防御效果较好些,图5(b)中扰动值大小为0.20以及图5(c)中扰动值大小为0.30时奖励值比不过adv_PGD的防御效果,但整体上看,REIL都有较好的防御效果,对模型鲁棒性有一定增强能力.

图5 10%对抗样本防御及不同攻击方法对应的奖励值Fig.5 Rewards under 10% adversarial sample defense and different attack methods

REIL之所以能达到较好的防御效果,关键原因是利用REIL生成的对抗样本能很接近专家状态同时又能很好的迷惑智能体.而其他防御方法在对抗训练阶段加入的对抗样本并不能保证很接近专家状态,而且不能保证一定能迷惑智能体,利用REIL生成的对抗状态保证了完全迷惑智能体,而且对抗状态又具有泛化性,因此防御也具有泛化性,能防御多种攻击.

除了针对10%对抗样本防御的攻击,本文也使用了较少对抗样本进行模型防御,图4(b)是在0.1%对抗样本比例下进行对抗训练的结果,图6是在图4(b)防御后模型的基础上进行对抗攻击.图6(a)是FGSM攻击后的奖励值,图6(b)是PGD攻击后的奖励值,图6(c)是在MIFGSM攻击下的奖励值.从图中可以看出除个别扰动下REIL防御后奖励值较低,其他扰动大小对应奖励值都较高,总体性能较好.

加入少量的对抗样本很容易使智能体通过学习恢复正常策略,但以较少比例的对抗样本动态加入目标模型的输入中会一定程度上促进目标智能体对对抗样本的学习,目标智能体学习对抗样本并抵御它的能力与加入对抗样本的攻击能力有关,基线防御加入的对抗样本扰动是较大,但迷惑性不能保证.而REIL生成的对抗样本要满足的条件之一就是能迷惑智能体,也以此利用REIL的防御效果也较好.

图6 0.1%对抗样本防御及不同攻击方法对应的奖励值Fig.6 Rewards under 0.1% adversarial sample defense and different attack methods

5.3.3 面向黑盒攻击的模型鲁棒性验证

REIL防御方法不仅适用于抵御白盒攻击也适用于黑盒对抗攻击.目前面向DRL模型的黑盒攻击方法较少,一些黑盒攻击方法是面向动作、奖励以及环境的攻击,大多针对性较强.本文解决的主要是面向状态的攻击,在白盒攻击防御可行性基础上,进一步验证黑盒攻击可能性,因此黑盒攻击就选择了较简单而且比较成熟的RandomNoise随机噪声攻击方法.

首先针对10%对抗样本训练后的模型进行黑盒攻击,实验结果如表1所示,表中给出了RandomNoise攻击下不同防御以及扰动值大小下奖励值,从表中可以看出REIL防御后的奖励值都较大,模型防御效果较好,因此REIL防御后模型鲁棒性较强.除了针对10%对抗样本防御的黑盒攻击,本文也使用了较少对抗样本进行模型防御,表2是在0.1%对抗样本训练后的模型进行黑盒攻击的结果,表中给出了防御方法和攻击方法,以及扰动值大小和对应奖励值,从表中可以看出REIL防御后被攻击模型的奖励值都较大,说明REIL防御效果较好,模型抗攻击能力较强.

表中REIL的防御效果最好,原因是利用REIL进行防御时,目标模型的对抗训练阶段加入的对抗样本具有泛化性,而且对抗状态能保证很好的迷惑智能体,其余防御方法所用的对抗状态并不能保证都能很好的迷惑智能体,对抗样本泛化性差.

5.3.4 对抗样本占比对模型鲁棒增强的影响

针对本文提出的REIL防御方法,分析不同对抗样本比

表1 面向黑盒攻击的DRL模型鲁棒性验证结果(对抗训练样本比例为10%,评价指标采用奖励值,奖励值越高说明模型越鲁棒)Table 1 Robustness verification results of the DRL model for black box attacks (the ratio of adversarial training examples is 10%,and the evaluation index adopts the reward value.The higher the reward value,the more robust the model)

表2 面向黑盒攻击的DRL模型鲁棒性验证结果(对抗训练样本比例为0.1%,评价指标采用奖励值,奖励值越高说明模型越鲁棒)Table 2 Robustness verification results of the DRL model for black box attacks (the ratio of adversarial training examples is 0.1%,and the evaluation index adopts the reward value.The higher the reward value,the more robust the model)

例对模型鲁棒性影响.而且在REIL防御策略下10%、1%以及0.1%对抗样本参与对抗训练后的奖励值并无太大差异,效果相当.

但是,REIL防御下训练好的模型受到攻击之后奖励值相差较大,表3是不同对抗样本比例训练后的模型受到对抗攻击后奖励值.从表3中可以看出,对抗样本比例在10%以及0.1%下的模型受攻击后奖励值较大,模型鲁棒性较高,而1%对抗样本比例下模型受攻击后奖励值较低,由此可以推断出模型鲁棒性与对抗样本比例不是线性相关的,对抗样本比例较大和较小情况下,模型鲁棒性都较强.

进一步分析,由于DRL的训练过成是一个不断探索不断学习的过程,如果训练过程中加入较多对抗样本,智能体很难恢复到正常环境中探索学习但又不至于完全失去探索学习能力,就必须要学会适应并探索对抗状态下的最优策略,因此10%对抗样本比例下智能体鲁棒性较强.较少对抗样本的情况下,智能体会学习执行较优策略,但对抗样本量较少,不至于影响智能体的探索,反而会适当有一定增强.但1%对抗样本的比例下,智能体在学习过程中会受到一定干扰,但又在其能承受的范围内,反而会学习恢复本身策略,因此10%以及0.1%对抗样本比例下模型鲁棒性较强,而1%对抗样本比例下模型鲁棒性比较弱.

表3 不同比例对抗样本防御及不同攻击方法对应的的奖励值Table 3 Reward values corresponding different ratios of adversarial example defense and different attack methods

6 结 论

本文研究了深度强化学习的安全性问题,提出了一种基于模仿学习对抗策略的鲁棒性增强方法,创新性的搭建基于模仿学习的对抗策略生成器.其中对抗策略生成器模型可以生成泛化性较好的对抗状态,不仅利用模仿学习的反馈训练达到逼近专家策略的效果,同时也极大化对抗状态在深度强化学习模型执行时的损失.然后将对抗状态生成器动态生成的对抗样本参与到DRL模型的训练以提高目标智能体对干扰环境的适应能力.不仅如此本文也对比了5中基线方法,同时在测试阶段进行黑盒攻击以及白盒攻击,验证了本文所提DRL鲁棒性增强方法能较好的增强模型鲁棒性,优于基线方法.实验结果也证明模型鲁棒增强训练过程中参与训练的对抗状态比例也对模型鲁棒程度有一定影响,这对于研究如何提高DRL的鲁棒性具有很大的理论意义.

虽然大量实验证明本文提出的方法是有效的,但是本文的工作仍存在一些缺陷.其中实验场景较少,而且需要预先提供专家数据,一些游戏场景是有专家数据开源的,也会存在一些场景没有开源专家数据,就需要提前搜集,代价较大.未来工作将进一步研究DRL模型的安全问题,进一步验证多种场景以及多种算法模型的适用性,探索针对多场景多模型的新的防御策略,同时要最小化时间代价以及空间代价.

猜你喜欢

鲁棒性扰动样本
Bernoulli泛函上典则酉对合的扰动
用样本估计总体复习点拨
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
(h)性质及其扰动
基于确定性指标的弦支结构鲁棒性评价
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
小噪声扰动的二维扩散的极大似然估计
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析