王雪柯,陳晉音,2,陸小松,張旭鴻
1(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023) 2(浙江工業(yè)大學(xué) 網(wǎng)絡(luò)空間安全研究院,杭州 310023) 3(寧波視睿迪光電有限公司,浙江 寧波 315000) 4(浙江大學(xué) 控制科學(xué)與工程學(xué)院,杭州 310007)
深度強(qiáng)化學(xué)習(xí)是人工智能領(lǐng)域解決決策問題的一類關(guān)鍵研究方向,實(shí)現(xiàn)智能化的重要技術(shù)之一.尋找策略來實(shí)現(xiàn)既定目標(biāo)的問題有很多,如棋類游戲中棋手為獲勝而思考如何落子[1],自動駕駛中為安全快捷地到達(dá)終點(diǎn)而規(guī)劃路徑[2]等.長期以來,相關(guān)學(xué)者一直在探求如何在決策問題中實(shí)現(xiàn)與人類相當(dāng)甚至超人的智能決策.近年來,深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)[3]也已經(jīng)在許多復(fù)雜的決策過程中顯示出了較好結(jié)果,如機(jī)器人技術(shù)[4]指定完成任務(wù),自動駕駛[5]、醫(yī)療保健[6]、金融交易[7],以及多機(jī)協(xié)作[8]等決策問題上取得了矚目的進(jìn)步.
隨著DRL在現(xiàn)實(shí)場景中的應(yīng)用,其安全問題逐漸暴露,相關(guān)研究也挖掘了DRL模型存在的安全漏洞.攻擊者分別在模型的訓(xùn)練階段和測試階段,利用智能體的狀態(tài)、動作、環(huán)境以及獎(jiǎng)勵(lì)展開攻擊.已有研究在測試階段通過各種策略對狀態(tài)添加噪聲[9],或者暴力更改動作或加入動作噪聲[10],使用對抗智能體等間接誤導(dǎo)目標(biāo)智能體[11].在模型訓(xùn)練階段,研究者們提出了獎(jiǎng)勵(lì)翻轉(zhuǎn)攻擊[12],木馬中毒攻擊[13],路徑脆弱點(diǎn)攻擊[14],以及動作空間擾動[15]等攻擊,成功地在訓(xùn)練階段迷惑智能體,最終訓(xùn)練的智能體是有殘缺的,模型也不穩(wěn)定.無論哪種攻擊,都會對DRL模型造成很大安全風(fēng)險(xiǎn),其安全問題亟待解決.
另一方面,研究者也提出了針對DRL攻擊的防御方法,并取得了一定效果.針對DRL的訓(xùn)練階段或測試階段的攻擊,傾向于修改智能體所觀察到的狀態(tài)信息發(fā)起進(jìn)攻,由于狀態(tài)作為模型輸入較容易被攻擊者操縱,因此現(xiàn)有的防御多數(shù)是面向狀態(tài)干擾的防御方法,例如:使用FGSM(Fast Gradient Sign Method)與隨機(jī)噪聲重訓(xùn)練[16]、非連續(xù)擾動下的對抗訓(xùn)練[17]等.其中,使用FGSM與隨機(jī)噪聲重訓(xùn)練針對的是FGSM對抗攻擊[1]和基于值函數(shù)的對抗攻擊[16],非連續(xù)擾動下的對抗訓(xùn)練針對的是戰(zhàn)略時(shí)間攻擊[10]和基于值函數(shù)的對抗攻擊.
因此,現(xiàn)有研究的防御方法是針對某幾種或某幾類攻擊方法有效.因此,本文提出一種基于模仿對抗策略的DRL魯棒增強(qiáng)方法(Robustness Enhancement Method Based on Imitation Learning Adversarial Strategy,REIL),可以實(shí)現(xiàn)對多種對抗攻擊方法的有效防御.具體而言,設(shè)計(jì)對抗策略生成器,結(jié)合模仿學(xué)習(xí)構(gòu)建專家知識,旨在訓(xùn)練對抗策略生成器生成接近專家的狀態(tài),并利用預(yù)訓(xùn)練DRL模型反饋使對抗策略能夠完全迷惑智能體,實(shí)現(xiàn)泛化性對抗樣本的生成旨在達(dá)到泛化性防御效果,然后利用對抗策略生成器動態(tài)生成對抗樣本參與DRL模型訓(xùn)練以增強(qiáng)模型魯棒性.
總結(jié)本文的主要貢獻(xiàn)包括4個(gè)方面:
1) 提出了一種基于模仿對抗策略的深度強(qiáng)化學(xué)習(xí)魯棒性增強(qiáng)方法,實(shí)現(xiàn)多模態(tài)對抗樣本的防御;
2) 本文防御策略可以防御多樣性對抗樣本,同時(shí)可以抵御白盒攻擊以及黑盒攻擊;
3) REIL防御方法在對抗?fàn)顟B(tài)生成器優(yōu)化階段可以自適應(yīng)的學(xué)習(xí)最優(yōu)對抗擾動,生成具有泛化性的擾動狀態(tài);
4) 本文創(chuàng)新性地搭建了DRL魯棒性增強(qiáng)框架,即REIL,通過大量實(shí)驗(yàn)驗(yàn)證了REIL在多種攻擊方法下都有較好的效果.
本節(jié)主要介紹面向DRL的攻擊和防御方法.
隨著DRL的發(fā)展,面向DRL的安全問題引起了廣泛關(guān)注,根據(jù)攻擊發(fā)起的階段不同,將面向DRL的攻擊方法劃分為測試階段的對抗攻擊和訓(xùn)練階段的中毒攻擊,并分別闡述.
對抗攻擊:在測試階段通過設(shè)計(jì)一種有針對性數(shù)值型向量干擾模型輸入或環(huán)境、獎(jiǎng)勵(lì)以及動作等使智能體決策失誤.Huang等人[1]首先發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)策略在DRL中容易受到對抗攻擊.他們利用Goodfellow等人[20]提出的FGSM攻擊方法對DQN[3]的輸入狀態(tài)加微小擾動,導(dǎo)致智能體執(zhí)行錯(cuò)誤行為.利用FGSM攻擊方法,Huang等人也驗(yàn)證了基于DQN、TRPO(Trust Region Policy Optimization)[21]算法的DRL模型容易受到對抗攻擊.
中毒攻擊:在訓(xùn)練階段,通過將中毒樣本添加到DRL模型的訓(xùn)練數(shù)據(jù)中使得模型中毒.Kiourti等人[13]提出木馬攻擊,在訓(xùn)練階段用特洛伊木馬進(jìn)行中毒攻擊.在這種木馬攻擊下,目標(biāo)智能體在正常情況下的性能并沒有受到任何影響,但是一旦木馬觸發(fā)器被觸發(fā),智能體就會執(zhí)行攻擊者預(yù)設(shè)的行為.在DRL訓(xùn)練過程中,訓(xùn)練樣本以(s,a,s′,r)的形式存放在經(jīng)驗(yàn)回放池中,Chen等人[12]根據(jù)該經(jīng)驗(yàn)回放池提出翻轉(zhuǎn)獎(jiǎng)勵(lì)符號攻擊,翻轉(zhuǎn)部分樣本的獎(jiǎng)勵(lì)值符號來最大化目標(biāo)智能體的損失函數(shù).隨后,Bai等人[14]提出路徑脆弱點(diǎn)攻擊,在路徑脆弱點(diǎn)上添加障礙物,不僅需要對規(guī)劃路徑上的點(diǎn)進(jìn)行角度分析,而且受到場景的限制.
總之,現(xiàn)有攻擊方法絕大部分還是面向狀態(tài)的攻擊,而且狀態(tài)很容易被攻擊者拿來利用進(jìn)而干擾整個(gè)策略造成安全威脅,因此針對狀態(tài)的防御是一個(gè)亟待解決的問題.
為了提高DRL的魯棒性,已有一些防御方法用于抵抗DRL的攻擊,本文主要針對面向?qū)构舻姆烙M(jìn)行闡述.
現(xiàn)有防御方法主要通過對模型數(shù)據(jù)加以保護(hù)或增強(qiáng)達(dá)到防御目的.Kos等人[16]使用FGSM與隨機(jī)噪聲重訓(xùn)練,對正常訓(xùn)練后的策略使用對抗樣本與隨機(jī)噪聲進(jìn)行重訓(xùn)練,來防御FGSM[1]、由值函數(shù)指導(dǎo)的對抗攻擊[16]狀態(tài)擾動.進(jìn)一步,Gu等人[22]提出了一種對抗式A3C(Asynchronous advantage actor-critic)學(xué)習(xí)框架.這種對抗學(xué)習(xí)框架在學(xué)習(xí)過程中引入一個(gè)敵對智能體,以此模擬環(huán)境中可能存在的不穩(wěn)定因素.Pinto等人[23]基于零和博弈思想在環(huán)境中引入其它智能體,他們將建模誤差以及訓(xùn)練及測試場景下的差異都看作是系統(tǒng)中的額外干擾,通過外加智能體干擾目標(biāo)智能體.針對獎(jiǎng)勵(lì)的操縱,Wang等人[24]提出基于代理獎(jiǎng)勵(lì)的魯棒訓(xùn)練,通過混淆矩陣得到代理獎(jiǎng)勵(lì)值以更新動作價(jià)值函數(shù),防御結(jié)合對抗變換網(wǎng)絡(luò)的對抗攻擊的獎(jiǎng)勵(lì)擾動.Lutjens等人提出在線認(rèn)證防御[18],在輸入擾動范圍內(nèi)選擇最優(yōu)動作,防御FGSM、戰(zhàn)略時(shí)間攻擊、由值函數(shù)指導(dǎo)的對抗攻擊、迷惑攻擊的狀態(tài)擾動.
DRL[3]是一種基于深度學(xué)習(xí)模型的決策算法,將深度學(xué)習(xí)的感知能力和強(qiáng)化學(xué)習(xí)的決策能力相結(jié)合,實(shí)現(xiàn)端到端的感知與控制系統(tǒng),具有很強(qiáng)的通用性.其學(xué)習(xí)過程是智能體與環(huán)境的交互過程.在每個(gè)時(shí)刻agent與環(huán)境交互得到一個(gè)高維度的觀察,并利用深度學(xué)習(xí)方法來感知觀察,以得到具體的狀態(tài)特征表示;然后基于預(yù)期回報(bào)來評價(jià)各動作的價(jià)值函數(shù),并通過某種策略將當(dāng)前狀態(tài)映射為相應(yīng)的動作;接著環(huán)境對此動作做出反應(yīng),并得到下一個(gè)觀察.通過不斷循環(huán)以上過程,最終可以得到實(shí)現(xiàn)目標(biāo)的最優(yōu)策略.
本文目標(biāo)模型選用基于近端策略優(yōu)化算法(Proximal Policy Optimization,PPO)[25]的DRL模型,基于該模型進(jìn)行攻擊防御.該模型決策過程由元組(S,A,P,R,γ)描述,其中S={s1,s2,s3,…,st}為有限的狀態(tài)集,A={a1,a2,a3,…,at}為有限的動作集,P為狀態(tài)轉(zhuǎn)移概率,R為獎(jiǎng)勵(lì)函數(shù),γ為折扣因子,用來計(jì)算長期累積回報(bào).DRL模型訓(xùn)練中智能體需要不斷與環(huán)境進(jìn)行交互,在當(dāng)前狀態(tài)st時(shí)智能體根據(jù)學(xué)習(xí)的策略采取動作at.同時(shí),環(huán)境會給智能體反饋一個(gè)獎(jiǎng)勵(lì)值r(st,at)來評價(jià)當(dāng)前動作的好壞.
PPO使用了重要性采樣,解決的采樣很困難的問題,所以提出從另一個(gè)容易采樣的分布中采樣.當(dāng)PPO將重要性采樣與actor-critic框架結(jié)合時(shí), 智能體的由兩部分組成,一部分是actor,負(fù)責(zé)與環(huán)境互動收集樣本,另一部分是critic,負(fù)責(zé)評判actor的動作好壞.actor的更新即可使用PPO梯度更新公式:
(1)
At=δt+(γλ)δt+1+…+(γλ)T-t+1δT-1
(2)
其中,δt=rt+γV(st+1)-V(st),V(st)是t時(shí)刻的critic網(wǎng)絡(luò)計(jì)算得到的狀態(tài)值函數(shù),rt是t時(shí)刻獎(jiǎng)勵(lì)值.critic的損失計(jì)算如下:
Lc=(r+γ(max(Q(s′,a′)))-Q(s,a))
(3)
其中,r+γ(max(Q(s′,a′)))是目標(biāo)值函數(shù),Q(s,a)是預(yù)測值,s和a分別是狀態(tài)和動作.
本文提出的基于模仿對抗策略的DRL魯棒性增強(qiáng)方法,對抗?fàn)顟B(tài)生成器是基于模仿學(xué)習(xí)搭建的,本文用到的模仿學(xué)習(xí)算法是生成對抗模仿學(xué)習(xí)(Generative Adversarial Imitation Learning,GAIL)[26],其模型主要有兩部分組成.包括Actor網(wǎng)絡(luò)和Discriminator判別器網(wǎng)絡(luò).判別器用于區(qū)分智能體的探索樣本與專家樣本,進(jìn)而利用判別器描述的獎(jiǎng)懲函數(shù)探索環(huán)境并通過強(qiáng)化學(xué)習(xí)訓(xùn)練智能體策略.提供專家樣本為:{(s1,a1),(s2,a2),…,(sT,aT)},其中,s和a分別是狀態(tài)和動作,其優(yōu)化目標(biāo)可以表示為:
(4)
其中,ρπ是學(xué)徒示例,ρE是專家示例,s和a分別是狀態(tài)和動作.模型參數(shù)wi→wi+1更新公式:
(5)
其中,w是網(wǎng)絡(luò)參數(shù),s和a分別是當(dāng)前狀態(tài)和動作,其中狀態(tài)是由專家數(shù)提供,D是判別器網(wǎng)絡(luò).之后就可以把狀態(tài)作為特征,動作作為標(biāo)簽進(jìn)行監(jiān)督學(xué)習(xí)從而得到最優(yōu)策略模型.模型的訓(xùn)練目標(biāo)是使模型生成的狀態(tài)-動作軌跡和專家策略相匹配.
本節(jié)首先介紹了提高強(qiáng)化學(xué)習(xí)模型魯棒性的方法框架; 然后分析本文防御方法的通用性,在3.2小結(jié)分析了防御的泛化性;為了進(jìn)一步詳細(xì)分析REIL具體方法,在3.3小結(jié)中詳細(xì)介紹了對抗樣本的生成方法,通過目標(biāo)模型的反饋、模仿學(xué)習(xí)模型以及生成器和優(yōu)化過程,保證了對抗性樣本的質(zhì)量和泛化性.最后給出了算法偽代碼,并對模型的訓(xùn)練與實(shí)施進(jìn)行了描述.
本文提出了一種強(qiáng)化學(xué)習(xí)魯棒增強(qiáng)方法,即REIL.設(shè)計(jì)對抗?fàn)顟B(tài)生成器,生成具有泛化性的對抗?fàn)顟B(tài),利用該狀態(tài)輔助目標(biāo)模型訓(xùn)練,尋找模型脆弱點(diǎn)并結(jié)合基于GAIL的對抗?fàn)顟B(tài)生成器聯(lián)合訓(xùn)練增強(qiáng)對脆弱點(diǎn)的抵抗能力.
DRL模型增強(qiáng)整體框圖如圖1所示,首先進(jìn)行模型訓(xùn)練,即圖中REIL-PPO模型訓(xùn)練階段;然后是測試階段驗(yàn)證模型魯棒性.在DRL模型的訓(xùn)練階段加入模型加固技術(shù),模型在訓(xùn)練過程中需要采樣數(shù)據(jù)到緩沖區(qū),并通過批量數(shù)據(jù)迭代訓(xùn)練模型,每次模型更新時(shí)以一定比例摻入REIL生成的擾動樣本,提高模型對強(qiáng)破壞性樣本的適應(yīng)能力,然后在模型測試階段驗(yàn)證魯棒性.本文采用幾種比較成熟的攻擊方法對原模型進(jìn)行攻擊,通過實(shí)驗(yàn)效果總結(jié)REIL確實(shí)對模型魯棒性有一定增強(qiáng)能力,并能應(yīng)對各種攻擊方法.
圖1 DRL模型增強(qiáng)整體框圖Fig.1 Framework of the robust enhancement of DRL model
本文防御的泛化性是通過對抗樣本的泛化性實(shí)現(xiàn)的,通過對抗樣本生成器生成具有泛化性的對抗樣本,然后在DRL模型的訓(xùn)練階段動態(tài)加入具有泛化性的對抗樣本訓(xùn)練來提高模型魯棒性,訓(xùn)練后的模型也能夠防御各種基于狀態(tài)噪聲的攻擊,因此實(shí)現(xiàn)了防御的泛化性.主要環(huán)節(jié)是對抗樣本要具有泛化性,下面主要分析對抗樣本的泛化性,模型訓(xùn)練階段的對抗樣本是指參與目標(biāo)模型訓(xùn)練以增強(qiáng)模型魯棒性的樣本.在對抗攻擊中,其目標(biāo)是最小限度地干擾正常的樣本,同時(shí)最大限度地誤導(dǎo)模型預(yù)測.這可以被建模為一個(gè)優(yōu)化問題,而通過單一生成器生成的對抗樣本不足以保證與原樣本的相近程度,因此引入了模仿學(xué)習(xí).通過調(diào)研發(fā)現(xiàn)模仿學(xué)習(xí)是指以仿效專家的行為方式為特征的一種學(xué)習(xí)模式,是基于生成式對抗網(wǎng)絡(luò)[27](Generative Adversarial Network,GAN)提出的,用于模仿學(xué)習(xí)專家策略.
本文利用模仿學(xué)習(xí)訓(xùn)練對抗樣本生成器,不斷逼近專家策略,與GAN不同的是,模仿學(xué)習(xí)不是學(xué)習(xí)生成圖像,而是學(xué)習(xí)到接近專家的策略.本文提出的REIL對抗樣本生成器模型就利用了模仿學(xué)習(xí)學(xué)習(xí)專家策略這一特點(diǎn),搭建對抗樣本生成器生成接近專家狀態(tài)的樣本,而且又結(jié)合目標(biāo)模型的反饋保證生成的對抗樣本能完全迷惑智能體.REIL對抗樣本生成器的訓(xùn)練損失函數(shù)有兩部分組成,第1部分由模仿學(xué)習(xí)的判別器提供,第1部分損失定義為:
(6)
其中,x是生成器的輸入噪聲,s和a分別是狀態(tài)和動作,D是模仿學(xué)習(xí)中的判別器,用于判別專家策略和學(xué)習(xí)者策略之間的相似度,G是生成器,用于生成擾動狀態(tài),A是模仿學(xué)習(xí)的actor網(wǎng)絡(luò),用于生成動作.通過極小化這個(gè)損失函數(shù)使生成器模型生成的擾動狀態(tài)無限接近專家狀態(tài).
第2部分損失函數(shù)由預(yù)訓(xùn)練PPO模型提供,該損失函數(shù)的目的是使生成的狀態(tài)能達(dá)到迷惑目標(biāo)模型智能體的目的,使目標(biāo)模型預(yù)測出錯(cuò).第2部分損失函數(shù)為:
Lppo=-(Jppo+Lc)
(7)
其中,Jppo是PPO模型得actor網(wǎng)絡(luò)對應(yīng)的損失,Lc是PPO模型得critic網(wǎng)絡(luò)對應(yīng)的損失,-Lppo是PPO網(wǎng)絡(luò)的總損失,為了使對抗?fàn)顟B(tài)對模型噪聲的影響越大越好,因此本文將PPO模型的負(fù)損失作為生成器網(wǎng)絡(luò)損失函數(shù)的第2項(xiàng).
生成器模型的總損失函數(shù)為:
Ltotal=LIL+Lppo
(8)
通過與模仿學(xué)習(xí)模型的博弈生成接近專家數(shù)據(jù)的樣本,同時(shí)又通過與目標(biāo)模型的博弈生成能迷惑目標(biāo)智能體的狀態(tài),以此實(shí)現(xiàn)多樣泛化的對抗樣本,實(shí)現(xiàn)既接近專家狀態(tài)又能完全迷惑目標(biāo)智能體的目的.
本節(jié)詳細(xì)介紹REIL對抗樣本生成模型,圖2是REIL的方法框架,圖中包含預(yù)訓(xùn)練好的PPO模型、IL模型中的actor網(wǎng)絡(luò)、IL中的discriminator判別器網(wǎng)絡(luò)以及generator生成器模型.
REIL擾動樣本生成器主要目標(biāo)是生成器的訓(xùn)練,同時(shí)保證IL模型接近專家水平.如圖3所示,首先給IL模型中的actor網(wǎng)絡(luò)輸入專家狀態(tài),并輸出動作;同時(shí)制造隨機(jī)噪聲輸入生成器網(wǎng)絡(luò)中,生成擾動狀態(tài),并通過actor網(wǎng)絡(luò)生成對應(yīng)擾動動作.然后利用actor網(wǎng)絡(luò)輸出動作與專家狀態(tài)輸入IL中的判別器網(wǎng)絡(luò)進(jìn)行判別,并利用反饋損失更新actor網(wǎng)絡(luò)參數(shù);同時(shí)也將專家狀態(tài)和動作輸入判別器網(wǎng)絡(luò)中保證能正常判別專家數(shù)據(jù),與此同時(shí)將擾動狀態(tài)以及對應(yīng)擾動動作輸入到判別器網(wǎng)絡(luò)進(jìn)行判別,并反饋訓(xùn)練生成器網(wǎng)絡(luò),生成器網(wǎng)絡(luò)的損失也需要預(yù)訓(xùn)練的DRL模型提供,以保證生成的擾動狀態(tài)能迷惑目標(biāo)智能體.接著利用判別器對actor正常智能體動作的判別結(jié)果與對應(yīng)非專家標(biāo)簽的交叉熵?fù)p失、判別器對擾動狀態(tài)及動作的判別結(jié)果與非專家標(biāo)簽的交叉熵?fù)p失以及判別器對專家數(shù)據(jù)的判別結(jié)果與專家標(biāo)簽的損失等個(gè)損失作為判別器的損失,并更新判別器網(wǎng)絡(luò)參數(shù).最后利用訓(xùn)練好的生成器參與DRL模型的訓(xùn)練,在訓(xùn)練過程中增強(qiáng)DRL模型魯棒性.
圖2 REIL方法框架Fig.2 Framework of REIL
REIL算法的偽代碼說明如下.
算法偽代碼:REIL
輸入:噪聲x,游戲運(yùn)行回合數(shù)t,專家軌跡τE,預(yù)訓(xùn)練PPO模型損失-Lppo,迭代次數(shù)n_iter,每回合最大步長max_timesteps,游戲場景env,生成器G(.),actor模型A(.)
輸出:輸出對抗?fàn)顟B(tài)sad
1.初始化REIL模型參數(shù)φ.
2.FORi=0∶tDO
3. 初始化環(huán)境env.reset();
4.FORj=0∶n_iterDO
5. 采樣專家狀態(tài)和動作sE,aE~τE;
6. 生成正常智能體動作a=A(sE);
7.生成對抗?fàn)顟B(tài)sad=G(x);
8. 生成對抗動作aad=A(sad);
9. 根據(jù)公式(9)計(jì)算判別器critic模型損失Lc;
10. 計(jì)算動作actor模型損失La=-D(s,a);
11. 計(jì)算生成器模型損失Ltotal=LIL+Lppo,其中LIL根據(jù)公式(6)計(jì)算;
12. 計(jì)算總模型損失LREIL=Ltotal+La+Lc;
13. 模型更新φ←φ-β?φ∑sE,aE~τELREIL;
14.END
15.FORj=0∶max_timestepsDO
16. 動作選擇aj=REIL.select_action(state);
17. 下一時(shí)刻狀態(tài)sj+1,rj+1,done,_=env.step(aj);
18.R+=rj+1
19.IFdoneTHEN
20. Break;
21.END
22.END
23.Return:sad
首先對基于PPO的DRL模型在Gym[28]游戲的 box2d 場景上測試本文提出的方法.采用 box2d 里的 BipedalWalkerHardcore-v2(連續(xù)動作雙足機(jī)器人)作為驗(yàn)證場景,預(yù)訓(xùn)練PPO模型.PPO模型訓(xùn)練過成損失函數(shù)已在準(zhǔn)備工作的目標(biāo)模型中給出.然后需要利用預(yù)先收集的專家數(shù)據(jù)訓(xùn)練基于模仿學(xué)習(xí)的對抗?fàn)顟B(tài)生成器模型,這個(gè)模型有3部分組成,第1部分是生成器網(wǎng)絡(luò),第2部分是模仿學(xué)習(xí)的actor網(wǎng)絡(luò),第3部分是模仿學(xué)習(xí)的critic網(wǎng)絡(luò),其中本文所用actor網(wǎng)絡(luò)的損失函數(shù)是La=-Dw(s,a),critic網(wǎng)絡(luò)的損失函數(shù)是:
(9)
其中,w是判別器網(wǎng)絡(luò)參數(shù),s和a分別是當(dāng)前狀態(tài)和動作,其中狀態(tài)是專家狀態(tài),D是判別器網(wǎng)絡(luò),A是模仿學(xué)習(xí)的actor網(wǎng)絡(luò),用于生成動作.用于生成器網(wǎng)絡(luò)更新的損失函數(shù)是公式(8).
然后利用訓(xùn)練好的生成器模型參與與PPO模型訓(xùn)練,在PPO模型訓(xùn)練過程中間歇插入生成器生成的擾動狀態(tài),分別以10%和0.1%的比例混入擾動狀態(tài),以提高目標(biāo)智能體對擾動狀態(tài)的適應(yīng)能力,并在訓(xùn)練過程中抵御這種擾動狀態(tài),執(zhí)行評價(jià)值高的動作,增強(qiáng)模型的魯棒性.
本節(jié)給出了基線防御方法和本文防御方法的實(shí)驗(yàn)結(jié)果,同時(shí)對實(shí)驗(yàn)結(jié)果進(jìn)行分析.
實(shí)驗(yàn)場景:BipedalWalkerHardcore-v2(Gym[28]游戲中box2d場景里的連續(xù)動作雙足機(jī)器人).
基線防御方法:本文采用6種對比防御方法,分別是噪聲網(wǎng)絡(luò)NoiseNet[19]、基于FGSM攻擊的對抗訓(xùn)練方法adv_FGSM[16]、基于MIFGSM攻擊的對抗訓(xùn)練方法adv_MIFGSM[29]、基于PGD攻擊的對抗訓(xùn)練方法adv_PGD[30]以及基于隨機(jī)噪聲攻擊的對抗訓(xùn)練方法adv_RandomNoise[16],同時(shí)也結(jié)合FGSM[31]、MIFGSM[32]、PGD[33]以及RandomNoise[34]等多種攻擊方法生成的對抗樣本進(jìn)行對抗訓(xùn)練,該方法命名為adv_Various,通過加入多種對抗樣本驗(yàn)證能否防御多種對抗攻擊.
攻擊方法:在測試階段進(jìn)行對抗攻擊驗(yàn)證模型的魯棒性,為了驗(yàn)證本文方法對黑盒攻擊與白盒攻擊都有效,分別進(jìn)行黑盒攻擊以及白盒攻擊,白盒攻擊方法包括FGSM[31]、MIFGSM[32]以及PGD[33],黑盒攻擊采用隨機(jī)噪聲RandomNoise[34].
擾動度量:常用擾動計(jì)算方法有0范數(shù)、2范數(shù)以及∞范數(shù).其中0范數(shù)用來計(jì)算像素點(diǎn)改變的數(shù)量,2范數(shù)計(jì)算擾動像素點(diǎn)絕對值平方和的均方根,∞范數(shù)用來計(jì)算像素的最大擾動量,本文使用2范數(shù)度量擾動大小.
實(shí)驗(yàn)平臺:i7-7700K 4.20GHzx8 (CPU),TITAN Xp 12GiBx2 (GPU),16GBx4 內(nèi)存(DDR4),Ubuntu 16.04 (操作系統(tǒng)),Python 3.6,Pytorch-1.4.0(深度學(xué)習(xí)框架),gym-0.10.8,Box2D-2.3.10.
REIL實(shí)現(xiàn)目標(biāo)是既能學(xué)到生成接近專家狀態(tài)的對抗樣本,又能完全迷惑目標(biāo)智能體.REIL是在基于模仿學(xué)習(xí)搭建的對抗樣本生成器,二者聯(lián)合訓(xùn)練,模仿學(xué)習(xí)的過程需要生成器的反饋,而生成器的訓(xùn)練也需要模仿學(xué)習(xí)的反饋,最終訓(xùn)練效果要保證整個(gè)REIL模型獎(jiǎng)勵(lì)達(dá)到正常單獨(dú)模仿學(xué)習(xí)訓(xùn)練的水平,同時(shí)生成器要能夠收斂,以保證生成狀態(tài)接近專家狀態(tài).
首先結(jié)合基于模仿學(xué)習(xí)的對抗?fàn)顟B(tài)生成器(REIL)要能達(dá)到與模仿學(xué)習(xí)模型訓(xùn)練相當(dāng)?shù)男Ч?二者實(shí)驗(yàn)場景一致,都是BipedalWalkerHardcore-v2,訓(xùn)練過程中的樣本由智能體與環(huán)境交互過程采樣得到,輸入數(shù)據(jù)分布一致.從圖3中可以看出,REIL的訓(xùn)練獎(jiǎng)勵(lì)能達(dá)到與模仿學(xué)習(xí)模型訓(xùn)練相當(dāng)?shù)男Ч?而且要比正常模仿學(xué)習(xí)到的獎(jiǎng)勵(lì)還要高.圖中REIL是本文提出的基于模仿學(xué)習(xí)的對抗?fàn)顟B(tài)生成器模型,模仿學(xué)習(xí)(Imitation Learning,IL)本文指基于GAIL的模仿學(xué)習(xí)模型.
圖3 IL以及REIL訓(xùn)練后獎(jiǎng)勵(lì)值Fig.3 Reward of IL and REIL after training
REIL訓(xùn)練后的模型能達(dá)到正常模仿學(xué)習(xí)的效果,主要原因是生成器的加入不影響整體策略的學(xué)習(xí).生成器用于生成對抗?fàn)顟B(tài),而對抗?fàn)顟B(tài)對應(yīng)的動作需要用到模仿學(xué)習(xí)中的生成器來生成,對抗?fàn)顟B(tài)及其動作參與判別器訓(xùn)練之前已經(jīng)標(biāo)注為非專家數(shù)據(jù),目的也是讓判別器區(qū)分專家與非專家數(shù)據(jù),因此不會影響判別器的判斷,反而會在一定程度上增強(qiáng)判別器的判別,從而對整體模仿學(xué)習(xí)模型有一定增強(qiáng)效果,這也說明了圖3后半部分獎(jiǎng)勵(lì)值為什么大于正常模仿學(xué)習(xí)獎(jiǎng)勵(lì)值.另一方面生成器的損失是有判別器反饋的,當(dāng)反饋損失較大時(shí),判別器將調(diào)整生成的對抗?fàn)顟B(tài)與專家狀態(tài)的接近程度,而DRL模型的反饋保證生成的狀態(tài)能達(dá)到迷惑目標(biāo)智能體的目的,生成器、判別器以及動作網(wǎng)絡(luò)經(jīng)過博弈訓(xùn)練達(dá)到納什均衡,最終生成器隨時(shí)也會時(shí)候收斂.
5.3.1 基于對抗訓(xùn)練的魯棒增強(qiáng)
本節(jié)給出了各種基線防御方法以及本文所提出的防御方法的魯棒增強(qiáng)模型訓(xùn)練結(jié)果,通過各種攻擊方法生成對抗樣本參與到目標(biāo)模型的訓(xùn)練,經(jīng)過對抗訓(xùn)練得到魯棒性增強(qiáng)的目標(biāo)模型.其中實(shí)驗(yàn)場景統(tǒng)一使用BipedalWalkerHardcore-v2,訓(xùn)練過程的輸入數(shù)據(jù)從環(huán)境中采樣得到,其中實(shí)驗(yàn)環(huán)境一致,智能體在與環(huán)境交互的過程中會動態(tài)采樣大量樣本,而且實(shí)驗(yàn)場景單一,采樣空間有限,最終各個(gè)模型的輸入數(shù)據(jù)分布會在同一有限空間中,樣本分布一致,由此也保證了訓(xùn)練環(huán)境以及輸入數(shù)據(jù)的一致性.全文實(shí)驗(yàn)設(shè)置將和本部分一致,輸入數(shù)據(jù)分布一致.
在目標(biāo)PPO模型的訓(xùn)練過程中間隔插入對抗樣本進(jìn)行對抗訓(xùn)練,結(jié)合經(jīng)驗(yàn)在模型訓(xùn)練過程中加入10%對抗樣本,模型訓(xùn)練結(jié)果如圖4所示,圖4(a)是在插入10%對抗樣本比例下模型訓(xùn)練結(jié)果.除了10%對抗樣本量的加入,本文也對較少對抗樣本進(jìn)行了實(shí)驗(yàn),圖4(b)則是在插入0.1%對抗樣本比例下模型訓(xùn)練結(jié)果,其中標(biāo)簽Nature是沒有對抗樣本下正常目標(biāo)模型的訓(xùn)練結(jié)果.
圖4 不同對抗樣本比例下模型訓(xùn)練結(jié)果Fig.4 Model training results under different adversarial example ratios
從圖中可以看出各種防御方法下模型訓(xùn)練后獎(jiǎng)勵(lì)值都在正常訓(xùn)練后獎(jiǎng)勵(lì)值上下波動,只有隨機(jī)噪聲以及PGD對抗訓(xùn)練下獎(jiǎng)勵(lì)波動較大,其它都能達(dá)到與目標(biāo)模型訓(xùn)練相當(dāng)?shù)男Ч?但正常模型訓(xùn)練過程中也會有波動,訓(xùn)練結(jié)束時(shí)獎(jiǎng)勵(lì)都能達(dá)到與正常模型相當(dāng)水平,說明各種防御方法下不影響模型整體訓(xùn)練效果,達(dá)到了預(yù)期訓(xùn)練效果.主要原因的是DRL智能體的訓(xùn)練是不斷探索學(xué)習(xí)的過程,摻雜的對抗樣本量在目標(biāo)智能體能承受的范圍內(nèi),不足以讓它不斷受挫無法恢復(fù),反而能在學(xué)習(xí)的過程中克服制造的阻礙,并能學(xué)習(xí)應(yīng)對這些對抗?fàn)顟B(tài)達(dá)到期望效果.
5.3.2 面向白盒攻擊的模型魯棒性驗(yàn)證
本節(jié)在白盒攻擊下,驗(yàn)證多種攻擊方法下防御有效性,攻擊方法包括FGSM、PGD以及MIFGSM.實(shí)驗(yàn)結(jié)果如圖5所示,圖中橫坐標(biāo)表示擾動大小,縱坐標(biāo)表示獎(jiǎng)勵(lì)值,不同形狀的點(diǎn)線代表不同防御方法,每張圖下方標(biāo)出了防御方法與圖中點(diǎn)線的對應(yīng)關(guān)系,該防御過程對抗樣本加入量都是10%.圖5(a)是FGSM攻擊后的獎(jiǎng)勵(lì)值,圖5(b)是PGD攻擊后的獎(jiǎng)勵(lì)值,圖5(c)是在MIFGSM攻擊下的獎(jiǎng)勵(lì)值.該部分對抗攻擊的樣本分布是一致的,從而保證實(shí)驗(yàn)的合理性與科學(xué)性.其中每種攻擊和模型以及不同擾動對應(yīng)的獎(jiǎng)勵(lì)值都是取100個(gè)回合的平均值,每個(gè)回合最大步數(shù)限制到1500步.該場景類似游戲場景,主要對比每個(gè)回合結(jié)束玩家的得分,實(shí)驗(yàn)環(huán)境不變,輸入分布一致,最終可以對比回合獎(jiǎng)勵(lì),為了降低測試代價(jià)同時(shí)保證實(shí)驗(yàn)對比結(jié)果的科學(xué)性,本文采用100回合的平均獎(jiǎng)勵(lì)值進(jìn)行對比分析,后文相關(guān)攻擊防御的對比與本部分一致,都是100回合的平均獎(jiǎng)勵(lì)值.
從圖5中可以看出,本文提出的防御方法REIL防御后的效果都較好,在各種攻擊方法下的獎(jiǎng)勵(lì)值都較大.雖然有個(gè)別擾動下獎(jiǎng)勵(lì)有波動,比如圖5(a)中,擾動值大小為0.18時(shí),adv_PGD防御效果較好些,圖5(b)中擾動值大小為0.20以及圖5(c)中擾動值大小為0.30時(shí)獎(jiǎng)勵(lì)值比不過adv_PGD的防御效果,但整體上看,REIL都有較好的防御效果,對模型魯棒性有一定增強(qiáng)能力.
圖5 10%對抗樣本防御及不同攻擊方法對應(yīng)的獎(jiǎng)勵(lì)值Fig.5 Rewards under 10% adversarial sample defense and different attack methods
REIL之所以能達(dá)到較好的防御效果,關(guān)鍵原因是利用REIL生成的對抗樣本能很接近專家狀態(tài)同時(shí)又能很好的迷惑智能體.而其他防御方法在對抗訓(xùn)練階段加入的對抗樣本并不能保證很接近專家狀態(tài),而且不能保證一定能迷惑智能體,利用REIL生成的對抗?fàn)顟B(tài)保證了完全迷惑智能體,而且對抗?fàn)顟B(tài)又具有泛化性,因此防御也具有泛化性,能防御多種攻擊.
除了針對10%對抗樣本防御的攻擊,本文也使用了較少對抗樣本進(jìn)行模型防御,圖4(b)是在0.1%對抗樣本比例下進(jìn)行對抗訓(xùn)練的結(jié)果,圖6是在圖4(b)防御后模型的基礎(chǔ)上進(jìn)行對抗攻擊.圖6(a)是FGSM攻擊后的獎(jiǎng)勵(lì)值,圖6(b)是PGD攻擊后的獎(jiǎng)勵(lì)值,圖6(c)是在MIFGSM攻擊下的獎(jiǎng)勵(lì)值.從圖中可以看出除個(gè)別擾動下REIL防御后獎(jiǎng)勵(lì)值較低,其他擾動大小對應(yīng)獎(jiǎng)勵(lì)值都較高,總體性能較好.
加入少量的對抗樣本很容易使智能體通過學(xué)習(xí)恢復(fù)正常策略,但以較少比例的對抗樣本動態(tài)加入目標(biāo)模型的輸入中會一定程度上促進(jìn)目標(biāo)智能體對對抗樣本的學(xué)習(xí),目標(biāo)智能體學(xué)習(xí)對抗樣本并抵御它的能力與加入對抗樣本的攻擊能力有關(guān),基線防御加入的對抗樣本擾動是較大,但迷惑性不能保證.而REIL生成的對抗樣本要滿足的條件之一就是能迷惑智能體,也以此利用REIL的防御效果也較好.
圖6 0.1%對抗樣本防御及不同攻擊方法對應(yīng)的獎(jiǎng)勵(lì)值Fig.6 Rewards under 0.1% adversarial sample defense and different attack methods
5.3.3 面向黑盒攻擊的模型魯棒性驗(yàn)證
REIL防御方法不僅適用于抵御白盒攻擊也適用于黑盒對抗攻擊.目前面向DRL模型的黑盒攻擊方法較少,一些黑盒攻擊方法是面向動作、獎(jiǎng)勵(lì)以及環(huán)境的攻擊,大多針對性較強(qiáng).本文解決的主要是面向狀態(tài)的攻擊,在白盒攻擊防御可行性基礎(chǔ)上,進(jìn)一步驗(yàn)證黑盒攻擊可能性,因此黑盒攻擊就選擇了較簡單而且比較成熟的RandomNoise隨機(jī)噪聲攻擊方法.
首先針對10%對抗樣本訓(xùn)練后的模型進(jìn)行黑盒攻擊,實(shí)驗(yàn)結(jié)果如表1所示,表中給出了RandomNoise攻擊下不同防御以及擾動值大小下獎(jiǎng)勵(lì)值,從表中可以看出REIL防御后的獎(jiǎng)勵(lì)值都較大,模型防御效果較好,因此REIL防御后模型魯棒性較強(qiáng).除了針對10%對抗樣本防御的黑盒攻擊,本文也使用了較少對抗樣本進(jìn)行模型防御,表2是在0.1%對抗樣本訓(xùn)練后的模型進(jìn)行黑盒攻擊的結(jié)果,表中給出了防御方法和攻擊方法,以及擾動值大小和對應(yīng)獎(jiǎng)勵(lì)值,從表中可以看出REIL防御后被攻擊模型的獎(jiǎng)勵(lì)值都較大,說明REIL防御效果較好,模型抗攻擊能力較強(qiáng).
表中REIL的防御效果最好,原因是利用REIL進(jìn)行防御時(shí),目標(biāo)模型的對抗訓(xùn)練階段加入的對抗樣本具有泛化性,而且對抗?fàn)顟B(tài)能保證很好的迷惑智能體,其余防御方法所用的對抗?fàn)顟B(tài)并不能保證都能很好的迷惑智能體,對抗樣本泛化性差.
5.3.4 對抗樣本占比對模型魯棒增強(qiáng)的影響
針對本文提出的REIL防御方法,分析不同對抗樣本比
表1 面向黑盒攻擊的DRL模型魯棒性驗(yàn)證結(jié)果(對抗訓(xùn)練樣本比例為10%,評價(jià)指標(biāo)采用獎(jiǎng)勵(lì)值,獎(jiǎng)勵(lì)值越高說明模型越魯棒)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模型魯棒性驗(yàn)證結(jié)果(對抗訓(xùn)練樣本比例為0.1%,評價(jià)指標(biāo)采用獎(jiǎng)勵(lì)值,獎(jiǎng)勵(lì)值越高說明模型越魯棒)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%對抗樣本參與對抗訓(xùn)練后的獎(jiǎng)勵(lì)值并無太大差異,效果相當(dāng).
但是,REIL防御下訓(xùn)練好的模型受到攻擊之后獎(jiǎng)勵(lì)值相差較大,表3是不同對抗樣本比例訓(xùn)練后的模型受到對抗攻擊后獎(jiǎng)勵(lì)值.從表3中可以看出,對抗樣本比例在10%以及0.1%下的模型受攻擊后獎(jiǎng)勵(lì)值較大,模型魯棒性較高,而1%對抗樣本比例下模型受攻擊后獎(jiǎng)勵(lì)值較低,由此可以推斷出模型魯棒性與對抗樣本比例不是線性相關(guān)的,對抗樣本比例較大和較小情況下,模型魯棒性都較強(qiáng).
進(jìn)一步分析,由于DRL的訓(xùn)練過成是一個(gè)不斷探索不斷學(xué)習(xí)的過程,如果訓(xùn)練過程中加入較多對抗樣本,智能體很難恢復(fù)到正常環(huán)境中探索學(xué)習(xí)但又不至于完全失去探索學(xué)習(xí)能力,就必須要學(xué)會適應(yīng)并探索對抗?fàn)顟B(tài)下的最優(yōu)策略,因此10%對抗樣本比例下智能體魯棒性較強(qiáng).較少對抗樣本的情況下,智能體會學(xué)習(xí)執(zhí)行較優(yōu)策略,但對抗樣本量較少,不至于影響智能體的探索,反而會適當(dāng)有一定增強(qiáng).但1%對抗樣本的比例下,智能體在學(xué)習(xí)過程中會受到一定干擾,但又在其能承受的范圍內(nèi),反而會學(xué)習(xí)恢復(fù)本身策略,因此10%以及0.1%對抗樣本比例下模型魯棒性較強(qiáng),而1%對抗樣本比例下模型魯棒性比較弱.
表3 不同比例對抗樣本防御及不同攻擊方法對應(yīng)的的獎(jiǎng)勵(lì)值Table 3 Reward values corresponding different ratios of adversarial example defense and different attack methods
本文研究了深度強(qiáng)化學(xué)習(xí)的安全性問題,提出了一種基于模仿學(xué)習(xí)對抗策略的魯棒性增強(qiáng)方法,創(chuàng)新性的搭建基于模仿學(xué)習(xí)的對抗策略生成器.其中對抗策略生成器模型可以生成泛化性較好的對抗?fàn)顟B(tài),不僅利用模仿學(xué)習(xí)的反饋訓(xùn)練達(dá)到逼近專家策略的效果,同時(shí)也極大化對抗?fàn)顟B(tài)在深度強(qiáng)化學(xué)習(xí)模型執(zhí)行時(shí)的損失.然后將對抗?fàn)顟B(tài)生成器動態(tài)生成的對抗樣本參與到DRL模型的訓(xùn)練以提高目標(biāo)智能體對干擾環(huán)境的適應(yīng)能力.不僅如此本文也對比了5中基線方法,同時(shí)在測試階段進(jìn)行黑盒攻擊以及白盒攻擊,驗(yàn)證了本文所提DRL魯棒性增強(qiáng)方法能較好的增強(qiáng)模型魯棒性,優(yōu)于基線方法.實(shí)驗(yàn)結(jié)果也證明模型魯棒增強(qiáng)訓(xùn)練過程中參與訓(xùn)練的對抗?fàn)顟B(tài)比例也對模型魯棒程度有一定影響,這對于研究如何提高DRL的魯棒性具有很大的理論意義.
雖然大量實(shí)驗(yàn)證明本文提出的方法是有效的,但是本文的工作仍存在一些缺陷.其中實(shí)驗(yàn)場景較少,而且需要預(yù)先提供專家數(shù)據(jù),一些游戲場景是有專家數(shù)據(jù)開源的,也會存在一些場景沒有開源專家數(shù)據(jù),就需要提前搜集,代價(jià)較大.未來工作將進(jìn)一步研究DRL模型的安全問題,進(jìn)一步驗(yàn)證多種場景以及多種算法模型的適用性,探索針對多場景多模型的新的防御策略,同時(shí)要最小化時(shí)間代價(jià)以及空間代價(jià).