陳晉音 章 燕 王雪柯 蔡鴻斌 王 玨 紀(jì)守領(lǐng)
自Mnih 等[1]將深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)結(jié)合并提出第一個(gè)深度強(qiáng)化學(xué)習(xí)框架—深度Q 網(wǎng)絡(luò)(Deep Q network,DQN)[1?2]以來,深度強(qiáng)化學(xué)習(xí)(Deep reinforcement learning,DRL)方法就被人們視為邁向通用人工智能的必要路徑之一.隨后,各種強(qiáng)化學(xué)習(xí)的改進(jìn)算法不斷提出,例如:基于值函數(shù)的算法有雙重深度Q 網(wǎng)絡(luò)(DDQN)[1?3]、優(yōu)先經(jīng)驗(yàn)回放Q 網(wǎng)絡(luò)(Prioritized DQN)[4]、對(duì)偶深度Q 網(wǎng)絡(luò)(Dueling DQN)[5]等,基于策略的強(qiáng)化學(xué)習(xí)算法有異步/同步優(yōu)勢(shì)行動(dòng)者評(píng)論者(A3C/A2C)[6]、信任域策略優(yōu)化(TRPO)[7]、K 因子信任域行動(dòng)者評(píng)論者算法(ACKTR)[8]等.基于深度強(qiáng)化學(xué)習(xí)的應(yīng)用領(lǐng)域也非常廣泛,例如:游戲博弈[9?10]、自動(dòng)駕駛[11]、醫(yī)療健康[12]、金融交易[13]、機(jī)器人控制[14]、網(wǎng)絡(luò)安全[15]、計(jì)算機(jī)視覺[16?17]等.為加強(qiáng)深度強(qiáng)化學(xué)習(xí)在安全攸關(guān)領(lǐng)域的安全應(yīng)用,及早發(fā)現(xiàn)深度強(qiáng)化學(xué)習(xí)算法漏洞,防止惡意用戶利用這些漏洞進(jìn)行非法牟利行為.不同于傳統(tǒng)機(jī)器學(xué)習(xí)的單步預(yù)測(cè)任務(wù),深度強(qiáng)化學(xué)習(xí)系統(tǒng)利用多步?jīng)Q策完成特定任務(wù),且連續(xù)決策之間具有高度相關(guān)性.總體來說,深度強(qiáng)化學(xué)習(xí)系統(tǒng)的攻擊可針對(duì)強(qiáng)化學(xué)習(xí)算法的5 個(gè)主要環(huán)節(jié)展開惡意攻擊,包括:環(huán)境、觀測(cè)、獎(jiǎng)勵(lì)、動(dòng)作以及策略[18].
Huang 等[19]最早于2017 年對(duì)深度強(qiáng)化學(xué)習(xí)系統(tǒng)存在的漏洞做出了相關(guān)研究.他將機(jī)器學(xué)習(xí)安全領(lǐng)域中面臨的對(duì)抗攻擊應(yīng)用到了深度強(qiáng)化學(xué)習(xí)模型中,通過在智能體的觀測(cè)狀態(tài)添加對(duì)抗擾動(dòng),令整個(gè)深度強(qiáng)化學(xué)習(xí)系統(tǒng)性能顯著下降.隨后,針對(duì)特定應(yīng)用,Chen 等[20]在自動(dòng)尋路任務(wù)中通過在環(huán)境中添加“擋板狀”障礙物,使智能體無法抵達(dá)目的地.Tretschk 等[21]通過對(duì)抗變換網(wǎng)絡(luò)修改Pong智能體訓(xùn)練時(shí)維護(hù)的獎(jiǎng)勵(lì)目標(biāo),使智能體的訓(xùn)練朝著游戲失敗的方向進(jìn)行.Ferdowsi 等[22]在第21 屆智能交通系統(tǒng)國(guó)際會(huì)議上提出了此類問題對(duì)自動(dòng)駕駛應(yīng)用的影響.因此深度強(qiáng)化學(xué)習(xí)系統(tǒng)真正應(yīng)用到實(shí)際工業(yè)界之前,探究深度強(qiáng)化學(xué)習(xí)系統(tǒng)的脆弱點(diǎn)、提高其防御能力與魯棒性十分重要.
為了提高深度學(xué)習(xí)模型的魯棒性,已有研究提出了較多DRL 防御方法,主要包括三個(gè)方向:對(duì)抗訓(xùn)練、魯棒學(xué)習(xí)、對(duì)抗檢測(cè).例如:Behzadan 等[23]提出了使用對(duì)抗訓(xùn)練實(shí)現(xiàn)梯度攻擊的防御;Gu 等[24]采用DRL 訓(xùn)練對(duì)抗智能體,與目標(biāo)系統(tǒng)的智能體進(jìn)行零和博弈提升其魯棒性;Lin 等[25]借助預(yù)測(cè)幀模型,通過比較策略對(duì)預(yù)測(cè)幀與當(dāng)前輸出的KL 散度概率分布實(shí)現(xiàn)攻擊檢測(cè).
目前,深度強(qiáng)化學(xué)習(xí)領(lǐng)域的攻防研究還有很大發(fā)展空間,針對(duì)深度強(qiáng)化學(xué)習(xí)存在的易受對(duì)抗樣本攻擊等問題,深度強(qiáng)化學(xué)習(xí)模型的魯棒性優(yōu)化以及對(duì)抗防御方法也已成為重點(diǎn)關(guān)注對(duì)象,仍需不斷探索.同時(shí)由于深度強(qiáng)化學(xué)習(xí)在安全攸關(guān)領(lǐng)域的應(yīng)用,其存在的策略漏洞也成為了一大安全隱患.為了更好地探究深度強(qiáng)化學(xué)習(xí)系統(tǒng)的攻防研究現(xiàn)狀與未來發(fā)展方向,本文針對(duì)深度強(qiáng)化學(xué)習(xí)算法、攻擊與防御方法,以及安全性分析展開盡可能全面的綜述.
論文接下去章節(jié)安排如下:第1 節(jié)介紹主要的深度強(qiáng)化學(xué)習(xí)算法;第2 節(jié)針對(duì)強(qiáng)化學(xué)習(xí)的5 個(gè)方面介紹攻擊方法;第3 節(jié)介紹相應(yīng)的防御方法;第4 節(jié)分析深度強(qiáng)化學(xué)習(xí)的安全性;第5 節(jié)相關(guān)應(yīng)用平臺(tái)及評(píng)估指標(biāo);最后,總結(jié)并列舉未來可能的研究方向.
強(qiáng)化學(xué)習(xí)(Reinforcement learning,RL)是一種智能體通過利用與環(huán)境交互得到的經(jīng)驗(yàn)來優(yōu)化決策的過程[18].強(qiáng)化學(xué)習(xí)問題通??梢员唤轳R爾科夫決策過程(Markov decision process,MDP),可以由一個(gè)四元組表示MDP=(S,A,R,P),其中S表示決策過程中所能得到的狀態(tài)集合,A表示決策過程中的動(dòng)作集合,R表示用于對(duì)狀態(tài)轉(zhuǎn)移做出的即刻獎(jiǎng)勵(lì),P則為狀態(tài)轉(zhuǎn)移概率.在任意時(shí)間步長(zhǎng)t的開始,智能體觀察環(huán)境得到當(dāng)前狀態(tài)st,并且根據(jù)當(dāng)前的最優(yōu)策略π?做出動(dòng)作at.在t的最后,智能體得到其獎(jiǎng)勵(lì)rt及下一個(gè)觀測(cè)狀態(tài)st+1.MDP 的目標(biāo)就是找到最佳的動(dòng)作序列以最大化長(zhǎng)期的平均獎(jiǎng)勵(lì).深度強(qiáng)化學(xué)習(xí)則是在強(qiáng)化學(xué)習(xí)的基礎(chǔ)上結(jié)合了深度學(xué)習(xí)強(qiáng)大的特征提取能力,避免了特征人工提取,實(shí)現(xiàn)了從原始圖像輸入到?jīng)Q策結(jié)果輸出的端到端學(xué)習(xí)系統(tǒng).
常用的深度強(qiáng)化學(xué)習(xí)通常被分為兩類:基于值函數(shù)的深度強(qiáng)化學(xué)習(xí)和基于策略梯度的深度強(qiáng)化學(xué)習(xí).前者主要通過深度神經(jīng)網(wǎng)絡(luò)逼近目標(biāo)動(dòng)作價(jià)值函數(shù),表示到達(dá)某種狀態(tài)或執(zhí)行某種動(dòng)作得到的累積回報(bào),它傾向于選擇價(jià)值最大的狀態(tài)或動(dòng)作,但是它們的訓(xùn)練過程往往不夠穩(wěn)定,而且不能處理動(dòng)作空間連續(xù)的任務(wù);基于策略梯度的深度強(qiáng)化學(xué)習(xí)則是將策略參數(shù)化,利用深度神經(jīng)網(wǎng)絡(luò)逼近策略,同時(shí)沿著策略梯度的方向來尋求最優(yōu)策略.策略梯度算法在訓(xùn)練過程中更加穩(wěn)定,但是算法實(shí)現(xiàn)比較復(fù)雜且在通過采樣的方式進(jìn)行學(xué)習(xí)時(shí)會(huì)導(dǎo)致方差較大.下面我們對(duì)比兩類方法中具有代表性的算法,分別對(duì)其原理、貢獻(xiàn)與不足進(jìn)行闡述,如表1 所示.
表1 經(jīng)典深度強(qiáng)化學(xué)習(xí)算法對(duì)比Table 1 Comparison of classic deep reinforcement learning algorithm
基于值函數(shù)的DRL 通過維護(hù)更新價(jià)值網(wǎng)絡(luò)參數(shù)來得到最優(yōu)策略,其最初的靈感來源于RL 中的Q學(xué)習(xí)[26].Q學(xué)習(xí)旨在通過貝爾曼方程,采用時(shí)序差分的方式進(jìn)行迭代更新狀態(tài)?動(dòng)作價(jià)值函數(shù)Q,使Q函數(shù)逼近至真實(shí)值Q?,從而最終得到最優(yōu)策略:
其中,Qπ(s,a) 表示在狀態(tài)s做出動(dòng)作a后,遵循策略π的預(yù)期回報(bào),Gt表示從步驟t到終止?fàn)顟B(tài)的累積回報(bào).盡管已經(jīng)證明Q學(xué)習(xí)算法在解決一些順序的決策問題時(shí)具有較好的表現(xiàn),但是它仍然存在許多缺陷:1)在復(fù)雜場(chǎng)景下,狀態(tài)空間過大會(huì)導(dǎo)致Q表難以維護(hù);2)學(xué)習(xí)過程中,訓(xùn)練樣本的高度連續(xù)性打破了機(jī)器學(xué)習(xí)的獨(dú)立同分布要求;3)由于Q學(xué)習(xí)是一種在線學(xué)習(xí)方式,一些不常見的樣本在使用一次后就被放棄,導(dǎo)致樣本使用效率低.
1.1.1 深度Q 網(wǎng)絡(luò)
為了克服上述缺點(diǎn),Mnih 等[1]首次將Q學(xué)習(xí)與深度神經(jīng)網(wǎng)絡(luò)結(jié)合,提出深度強(qiáng)化學(xué)習(xí)Q 網(wǎng)絡(luò)(DQN),并且證明經(jīng)DQN 訓(xùn)練的智能體在Atrai 游戲上的技術(shù)水平能夠達(dá)到人類水準(zhǔn).
DQN 采用深度卷積神經(jīng)網(wǎng)絡(luò)來逼近Q函數(shù),解決了狀態(tài)空間過大難以維護(hù)和特征提取的問題.同時(shí),采用經(jīng)驗(yàn)回放機(jī)制學(xué)習(xí)使訓(xùn)練數(shù)據(jù)成為獨(dú)立同分布,降低了數(shù)據(jù)間的關(guān)聯(lián)性,而且通過重復(fù)利用提高了對(duì)樣本的利用率.此外,Mnih 等[2]在2015 年提出了目標(biāo)網(wǎng)絡(luò)機(jī)制,目標(biāo)網(wǎng)絡(luò)是在原有Qθ之外搭建一個(gè)結(jié)構(gòu)完全相同的網(wǎng)絡(luò)Qθ?,減輕了每次Q值變化對(duì)策略參數(shù)的影響,增加了策略訓(xùn)練的穩(wěn)定性.
1.1.2 深度Q 網(wǎng)絡(luò)的改進(jìn)方法
針對(duì)DQN 存在Q值估計(jì)偏差過大、訓(xùn)練不穩(wěn)定等問題,提出了一些改進(jìn)版的DQN 方法.Van 等[3]根據(jù)強(qiáng)化學(xué)習(xí)中的雙重Q學(xué)習(xí)構(gòu)建雙重深度Q 網(wǎng)絡(luò)(Double deep Q network,DDQN),通過評(píng)估網(wǎng)絡(luò)來選擇動(dòng)作、目標(biāo)網(wǎng)絡(luò)進(jìn)行價(jià)值評(píng)估.針對(duì)DQN的經(jīng)驗(yàn)回放機(jī)制采用平均隨機(jī)采樣機(jī)制,存在稀有樣本利用率低的問題,Schaul 等[4]提出了優(yōu)先經(jīng)驗(yàn)回放機(jī)制,定義經(jīng)驗(yàn)優(yōu)先級(jí),并優(yōu)先采用級(jí)別高的經(jīng)驗(yàn).Wang 等[5]提出了DQN 的對(duì)偶結(jié)構(gòu)(Dueling network),通過狀態(tài)價(jià)值函數(shù)V和相對(duì)價(jià)值函數(shù)A來評(píng)估Q值.為了減少隱藏信息的代價(jià),Hausknecht 等[27]將DQN 卷積層后的第一個(gè)全連接層替換為循環(huán)的長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),提出深度循環(huán)Q 網(wǎng)絡(luò)(Deep recurrent Q network,DRQN).在此基礎(chǔ)上,Sorokin 等[28]加入注意力機(jī)制使得智能體在訓(xùn)練過程中關(guān)注圖像中的某一點(diǎn)進(jìn)行學(xué)習(xí),即:深度注意力機(jī)制循環(huán)Q 網(wǎng)絡(luò)(Deep attention recurrent Q network,DARQN).Plapper 等[29]用噪聲網(wǎng)絡(luò)來替代原先的ε-貪婪探索策略.通過將參數(shù)化的自適應(yīng)噪聲加入到的DQN網(wǎng)絡(luò)權(quán)重中,驅(qū)動(dòng)智能體探索、簡(jiǎn)化訓(xùn)練難度.針對(duì)使用經(jīng)驗(yàn)回放機(jī)制產(chǎn)生參數(shù)滯后而導(dǎo)致的表征漂移等問題,Kapturowski 等[30]提出了循環(huán)回放分布式深度Q 網(wǎng)絡(luò)(Recurrent replay distributed DQN,R2D2).R2D2 使用全零狀態(tài)初始化網(wǎng)絡(luò)與回放完整軌跡兩種方法來比較訓(xùn)練LSTM[31]的差異,提出狀態(tài)存儲(chǔ)和“Burn-in”方法來訓(xùn)練隨機(jī)采樣的循環(huán)神經(jīng)網(wǎng)絡(luò).更進(jìn)一步,Le Paine 等[32]提出演示循環(huán)回放分布式深度Q 網(wǎng)絡(luò)(Recurrent replay distributed DQN from demonstrations,R2D3).除了經(jīng)驗(yàn)回放,R2D3 設(shè)計(jì)了一個(gè)專家演示回放緩沖區(qū),學(xué)習(xí)者通過調(diào)整演示和經(jīng)驗(yàn)之間的比率有效解決了初始條件高度可變的部分觀察環(huán)境中的獎(jiǎng)勵(lì)稀疏任務(wù).
由于基于值函數(shù)的深度強(qiáng)化學(xué)習(xí)在處理連續(xù)動(dòng)作空間的場(chǎng)景時(shí)需要對(duì)動(dòng)作進(jìn)行離散化處理,也就需要為眾多動(dòng)作分配Q值,給實(shí)際應(yīng)用帶來困難,并且DQN 得到的策略無法處理隨機(jī)策略問題,基于策略梯度的深度強(qiáng)化學(xué)習(xí)方法[33]應(yīng)運(yùn)而生,包括:異步優(yōu)勢(shì)行動(dòng)者?評(píng)論者(Asynchronous advantage actor critic,A3C)[6]、確定性策略梯度(Deterministic policy gradient,PGD)[34]和信任域策略優(yōu)化(Trust region policy optimization,TRPO)[7]以及一些改進(jìn)方法.
基于策略梯度的深度強(qiáng)化學(xué)習(xí)通過深度神經(jīng)網(wǎng)絡(luò)對(duì)策略進(jìn)行參數(shù)化建模:πθ(s,a)=p(a|s,θ),即對(duì)應(yīng)每個(gè)狀態(tài)采取不同動(dòng)作的概率.在學(xué)習(xí)過程中,通過策略梯度直接在策略空間中搜索最優(yōu)策略.
1.2.1 策略梯度
策略梯度算法的主要思想是將策略π參數(shù)化為πθ,表示對(duì)應(yīng)的狀態(tài)動(dòng)作分布概率,然后計(jì)算出關(guān)于動(dòng)作的策略梯度,沿著梯度方向來調(diào)整動(dòng)作,最終找到最優(yōu)策略.策略梯度的定義為:
策略梯度算法中,根據(jù)策略的定義不同,又可以分別隨機(jī)性策略與確定性策略.隨機(jī)性策略是指在當(dāng)前狀態(tài)下,滿足策略參數(shù)θ時(shí)的某個(gè)概率分布,其對(duì)應(yīng)的動(dòng)作可能是多個(gè).而確定性策略則是指對(duì)應(yīng)于每個(gè)狀態(tài)都輸出唯一的動(dòng)作.策略梯度常用于解決深度強(qiáng)化學(xué)習(xí)的連續(xù)控制問題,常見的策略梯度算法包括:REINFORCE 算法[35]、自然策略梯度算法(Natural policy gradient,Natural PG)[36]以及行動(dòng)者?評(píng)論者算法(Actor-critic,AC)[37]等.
1.2.2 異步優(yōu)勢(shì)行動(dòng)者?評(píng)論者
基于經(jīng)驗(yàn)回放的DRL 算法將智能體與環(huán)境的交互數(shù)據(jù)存儲(chǔ)在經(jīng)驗(yàn)回放池中,訓(xùn)練時(shí)進(jìn)行批量采樣,減少了在線強(qiáng)化學(xué)習(xí)的數(shù)據(jù)相關(guān)性,通常只適用于離線策略強(qiáng)化學(xué)習(xí)中.針對(duì)上述問題,Mnih 等[6]結(jié)合異步強(qiáng)化學(xué)習(xí)思想提出了異步優(yōu)勢(shì)行動(dòng)者?評(píng)論者方法.
A3C 通過創(chuàng)建多個(gè)子線程,每個(gè)線程中智能體并行地與環(huán)境交互,實(shí)現(xiàn)異步學(xué)習(xí),替代了經(jīng)驗(yàn)回放機(jī)制,解決了在線策略的數(shù)據(jù)相關(guān)性的問題.A3C在執(zhí)行過程中采用異步更新網(wǎng)絡(luò)參數(shù)的方式,各線程單獨(dú)對(duì)環(huán)境采樣并計(jì)算梯度,用各自得到的梯度通過累加異步更新到全局模型中,最后將全局模型參數(shù)拷貝到各個(gè)線程網(wǎng)絡(luò)中.但是A3C 的異步更新方式會(huì)使得各個(gè)線程會(huì)以不同的策略去對(duì)環(huán)境進(jìn)行采樣.對(duì)此,Mnih 等[6]提出了同步的優(yōu)勢(shì)行動(dòng)者-評(píng)論者(Advantage actor critic,A2C)方法.
相比于A3C 異步更新全局模型的方式,A2C中的各線程會(huì)將各自的采樣計(jì)算得到的梯度先進(jìn)行匯總,再用匯總結(jié)果更新全局模型參數(shù).不僅解決了在線策略數(shù)據(jù)更新的相關(guān)性問題,同時(shí)使智能體在同一策略下進(jìn)行交互學(xué)習(xí).
1.2.3 確定性策略梯度
由于在連續(xù)動(dòng)作空間中選取確定動(dòng)作十分困難,為此Silver 等[34]提出了確定性策略理論,并證明了確定性策略梯度的存在.Lillicrap 等在此基礎(chǔ)上結(jié)合了AC 框架以及DQN 中的機(jī)制,提出了深度確定性策略梯度算法(Deep deterministic policy gradient,DDPG)[38].
DDPG 使用參數(shù)為θπ的策略網(wǎng)絡(luò)和參數(shù)為θQ的動(dòng)作價(jià)值網(wǎng)絡(luò)分別作為AC 框架中的行動(dòng)者和執(zhí)行者,同時(shí)使用經(jīng)驗(yàn)回放機(jī)制進(jìn)行批處理學(xué)習(xí),使用目標(biāo)網(wǎng)絡(luò)機(jī)制來提高學(xué)習(xí)過程的穩(wěn)定性.
1.2.4 信賴域策略優(yōu)化
為了找到合適的步長(zhǎng)使得策略一直向回報(bào)增加的方向更新,Schulman 等[7]提出了信任域策略優(yōu)化方法,通過KL 散度來限制策略更新前后的分布差異,令更新步長(zhǎng)處于信任域中,使策略的更新會(huì)朝著增加回報(bào)的方向前進(jìn).
理論上,TRPO 能保證更新后的策略比先前策略性能更好,在有限的策略空間中,最終能達(dá)到局部或全局最優(yōu)解.在現(xiàn)實(shí)場(chǎng)景中,TRPO 也被證明擁有較好的魯棒性與實(shí)用性.但是由于TRPO 算法實(shí)現(xiàn)十分復(fù)雜,且計(jì)算代價(jià)過大,Schulman 等[39]隨后又提出了改進(jìn)版本,即近端策略優(yōu)化(Proximal policy optimization,PPO)算法.PPO 提升了采樣的復(fù)雜度而簡(jiǎn)化了計(jì)算,同時(shí)使用了無約束優(yōu)化,在保持性能同時(shí)降低了算法復(fù)雜度.Wu 等[8]結(jié)合行動(dòng)者評(píng)論者算法提出了Kronecker 因子信任域行動(dòng)者評(píng)論者算法(Actor critic using kroneckerfactored trust region,ACKTR),利用Kronecker 因子減少算法所需的計(jì)算量.
隨著DRL 的推廣應(yīng)用,通過攻擊方法研究發(fā)現(xiàn)DRL 的安全漏洞也引起廣泛關(guān)注.為了系統(tǒng)分析各種不同的攻擊方法,本文根據(jù)強(qiáng)化學(xué)習(xí)MDP中的關(guān)鍵環(huán)節(jié)對(duì)攻擊方法進(jìn)行歸類,即:觀測(cè)攻擊、獎(jiǎng)勵(lì)攻擊、動(dòng)作攻擊、環(huán)境攻擊以及策略攻擊,其攻擊方法主要在Atari 游戲場(chǎng)景以及自動(dòng)導(dǎo)航的地圖等場(chǎng)景上實(shí)現(xiàn),各個(gè)環(huán)節(jié)攻擊的展示如圖1 所示.
如圖1 所示,首先,觀測(cè)攻擊指攻擊者在智能體所接收到的觀測(cè)圖像上添加擾動(dòng),使智能體做出攻擊者預(yù)期的動(dòng)作,通常在智能體的圖像傳感器上添加噪聲來實(shí)現(xiàn).不同于觀測(cè)攻擊,環(huán)境攻擊是直接修改智能體的訓(xùn)練環(huán)境,主要通過對(duì)環(huán)境動(dòng)態(tài)模型的修改以及在環(huán)境中加入阻礙物(并非在智能體的傳感器上添加噪聲)的方式來實(shí)現(xiàn)攻擊.其次,獎(jiǎng)勵(lì)攻擊指修改環(huán)境反饋的獎(jiǎng)勵(lì)信號(hào),既可以是通過修改獎(jiǎng)勵(lì)值的符號(hào),也可以使用對(duì)抗獎(jiǎng)勵(lì)函數(shù)取代原有的獎(jiǎng)勵(lì)函數(shù)來實(shí)現(xiàn)攻擊.再次,策略攻擊是指使用對(duì)抗智能體來生成目標(biāo)智能體理解能力之外的狀態(tài)和行為,繼而導(dǎo)致目標(biāo)智能體進(jìn)入一種混亂狀態(tài).而動(dòng)作攻擊則是指修改動(dòng)作輸出,這種攻擊方式可以通過修改訓(xùn)練數(shù)據(jù)中的動(dòng)作空間來實(shí)現(xiàn).
圖1 對(duì)DRL 系統(tǒng)的不同類型攻擊Fig.1 Different types of attacks on DRL system
本文對(duì)DRL 攻擊方法和代表性技術(shù)進(jìn)行了綜述與對(duì)比,相關(guān)方法及其原理簡(jiǎn)述整理在表2 中.同時(shí)也對(duì)攻擊成功率進(jìn)行統(tǒng)計(jì),目前攻擊效果統(tǒng)計(jì)中,獎(jiǎng)勵(lì)值分析占主流,極少論文提到攻擊成功率,其中部分論文中的攻擊成功率通過曲線圖來展示動(dòng)態(tài)結(jié)果,只有兩篇論文中的攻擊方法給出了具體的成功率數(shù)值,相關(guān)攻擊模型及方法和對(duì)應(yīng)成功率統(tǒng)計(jì)在表3 中.
表2 深度強(qiáng)化學(xué)習(xí)的攻擊方法Table 2 Attack methods toward deep reinforcement learning
表3 深度強(qiáng)化學(xué)習(xí)的攻擊和攻擊成功率Table 3 Attack success rate toward deep reinforcement learning
2.1.1 FGSM 攻擊
Huang 等[19]最先對(duì)通過深度強(qiáng)化學(xué)習(xí)得到的策略進(jìn)行攻擊,使用機(jī)器學(xué)習(xí)領(lǐng)域常用的快速梯度符號(hào)(Fast gradient sign method,FGSM)[40]算法制造對(duì)抗擾動(dòng)并將擾動(dòng)直接添加到智能體的觀測(cè)值上,以此對(duì)深度學(xué)習(xí)智能體進(jìn)行攻擊.FGSM 的主要思想是在深度學(xué)習(xí)模型梯度變化最大的方向添加擾動(dòng),導(dǎo)致模型輸出錯(cuò)誤結(jié)果,其數(shù)學(xué)表達(dá)式如下:
其中,J表示損失函數(shù),θ表示模型參數(shù),x表示模型輸入,y樣本類標(biāo)(此處指最優(yōu)動(dòng)作項(xiàng)),?J(·,·,·)表示計(jì)算損失函數(shù)對(duì)當(dāng)前模型參數(shù)的梯度,sign 表示符號(hào)函數(shù),ε表示擾動(dòng)閾值.
實(shí)驗(yàn)證明,這種方法在白盒與黑盒設(shè)置下均有效.Huang 等[19]首次嘗試并驗(yàn)證了由DQN、TRPO以及A3C 這些算法得到的智能體容易受到對(duì)抗性擾動(dòng)的攻擊,且對(duì)抗樣本在不同強(qiáng)化學(xué)習(xí)算法得到的模型之間、在相同算法下得到的不同模型之間具有較好的遷移性.但是他的攻擊方式依然遵循著機(jī)器學(xué)習(xí)模型在時(shí)間上的獨(dú)立性,而沒有考慮到強(qiáng)化學(xué)習(xí)問題在連續(xù)時(shí)間上高度的相關(guān)性.
2.1.2 策略誘導(dǎo)攻擊
Behzadan 等[41]認(rèn)為由于深度強(qiáng)化學(xué)習(xí)系統(tǒng)在學(xué)習(xí)的過程中依賴于智能體與環(huán)境的交互,使得學(xué)習(xí)過程容易受到可觀察環(huán)境變化的影響.因此他們使用基于深度學(xué)習(xí)分類器的攻擊,對(duì)DQN 模型的觀測(cè)進(jìn)行了對(duì)抗擾動(dòng).
在攻擊設(shè)置中,敵手知道目標(biāo)模型的輸入類型及獎(jiǎng)勵(lì)函數(shù),可以根據(jù)目標(biāo)模型的輸入類型建立一個(gè)DQN 副本,通過副本及獎(jiǎng)勵(lì)函數(shù)制造對(duì)抗樣本,使目標(biāo)DQN 的訓(xùn)練朝向選擇除最優(yōu)動(dòng)作at之外的動(dòng)作a′t進(jìn)行學(xué)習(xí).這種攻擊方式可以視為對(duì)深度學(xué)習(xí)模型中的分類器黑盒攻擊的擴(kuò)展.但是這種攻擊依然局限于傳統(tǒng)機(jī)器學(xué)習(xí)在時(shí)間步上獨(dú)立計(jì)算對(duì)抗樣本的形式.
2.1.3 戰(zhàn)略時(shí)間攻擊
Lin 等[42]認(rèn)為,考慮部分強(qiáng)化學(xué)習(xí)問題中的獎(jiǎng)勵(lì)信號(hào)是稀疏的,對(duì)手沒有必要在每個(gè)時(shí)間步都對(duì)智能體發(fā)起攻擊.因此他們提出了一種新穎攻擊方式:通過戰(zhàn)略性地選擇一些時(shí)間步進(jìn)行攻擊,以減少目標(biāo)智能體的預(yù)期累積回報(bào).提出了動(dòng)作偏好函數(shù)來衡量當(dāng)前狀態(tài)下策略對(duì)動(dòng)作的偏好程度,當(dāng)偏好程度超過設(shè)定的閾值時(shí)就制造擾動(dòng)進(jìn)行攻擊.
實(shí)驗(yàn)驗(yàn)證了攻擊效果,戰(zhàn)略時(shí)間攻擊可以使用較少的攻擊次數(shù)達(dá)到與Huang[19]相同的效果.戰(zhàn)略時(shí)間攻擊相比于在所有觀測(cè)值上都添加擾動(dòng)的方式更不易被察覺,更具有實(shí)用性.
2.1.4 迷惑攻擊
Lin 等[42]提出了迷惑攻擊,其目的是從某一時(shí)刻下的狀態(tài)st開始施加擾動(dòng)來迷惑智能體,從未觀察智能體在H步后得到的狀態(tài)sg.迷惑攻擊需要知道目標(biāo)智能體在每一步會(huì)選擇的動(dòng)作,以及生成式預(yù)測(cè)模型獲得目標(biāo)智能體此后可能選擇的路徑,在這兩個(gè)前提下,攻擊者制造對(duì)抗樣本來迷惑智能體,使得智能體去往攻擊者設(shè)定的預(yù)期狀態(tài)sg.實(shí)驗(yàn)使用由Carlini 等[43]提出的對(duì)抗樣本生成算法.結(jié)果證明,在沒有隨機(jī)動(dòng)態(tài)變化的游戲場(chǎng)景下,40步以內(nèi)的迷惑攻擊成功率能達(dá)到70%.
這種使智能體做出攻擊者所需動(dòng)作的攻擊方式,為面向強(qiáng)化學(xué)習(xí)系統(tǒng)的多樣性攻擊提供了新的思路.
2.1.5 基于值函數(shù)的對(duì)抗攻擊
Kos 等[44]提出了一種值函數(shù)指導(dǎo)的攻擊方法,其主要思想是借助值函數(shù)模塊評(píng)估當(dāng)前狀態(tài)價(jià)值的高低,以此來選擇是否進(jìn)行攻擊.當(dāng)值函數(shù)對(duì)當(dāng)前狀態(tài)價(jià)值做出的估計(jì)高于設(shè)定閾值,則對(duì)當(dāng)前狀態(tài)添加FGSM 擾動(dòng),反之則不進(jìn)行擾動(dòng),以此達(dá)到減少攻擊成功所需要注入的對(duì)抗樣本次數(shù).實(shí)驗(yàn)證明,在這種攻擊方式下,攻擊者只需要在一小部分幀內(nèi)注入擾動(dòng)就可以達(dá)成目的,并且效果比在沒有值函數(shù)引導(dǎo)下以相似頻率注入擾動(dòng)要更加好.
該方法與Lin 等[42]的戰(zhàn)略時(shí)間攻擊想法類似,都追求以更少的攻擊次數(shù)來實(shí)現(xiàn)較好的攻擊效果.這類攻擊方法考慮到了強(qiáng)化學(xué)習(xí)場(chǎng)景下一些關(guān)鍵決策時(shí)間步對(duì)整體的影響,具有一定的指導(dǎo)意義.但是這種方法不能應(yīng)用在一些單純依靠策略梯度的場(chǎng)景.
2.1.6 嗅探攻擊
Inkawhich 等[45]提出了嗅探攻擊方法,攻擊者無法訪問目標(biāo)智能體的學(xué)習(xí)參數(shù)及其與之交互的環(huán)境,只能監(jiān)測(cè)到目標(biāo)智能體接收到的觀測(cè)值,以及它反饋給環(huán)境的動(dòng)作、獎(jiǎng)勵(lì)信號(hào).基于該假設(shè),給定4 種威脅場(chǎng)景S、SA、SR、SRA,分別對(duì)應(yīng)于只監(jiān)測(cè)狀態(tài)信號(hào)、監(jiān)測(cè)狀態(tài)及動(dòng)作信號(hào)、監(jiān)測(cè)狀態(tài)與獎(jiǎng)勵(lì)信號(hào)、同時(shí)監(jiān)測(cè)三者.在這些場(chǎng)景中,攻擊者訓(xùn)練并得到代理模型,以代理模型為基礎(chǔ)制造對(duì)抗樣本.
在一些策略部署在服務(wù)器端的場(chǎng)景下,相比于目前大部分需要訪問目標(biāo)智能體學(xué)習(xí)參數(shù)的攻擊方法,嗅探攻擊的可行性更高.
2.1.7 基于模仿學(xué)習(xí)的攻擊
Behzadan 等[46]提出使用模仿學(xué)習(xí)來提取目標(biāo)模型進(jìn)而使用對(duì)抗樣本的遷移性對(duì)目標(biāo)模型進(jìn)行攻擊.模仿學(xué)習(xí)是一種從專家決策樣本中快速學(xué)習(xí)專家策略的技術(shù).實(shí)驗(yàn)證明了對(duì)經(jīng)模仿學(xué)習(xí)得到的策略有效的對(duì)抗樣本,對(duì)于原目標(biāo)模型依然適用.
這種攻擊方式在思想上與策略誘導(dǎo)攻擊方式十分類似,都是在等效模型的基礎(chǔ)上使用對(duì)抗樣本的遷移性進(jìn)行攻擊.不同的是該攻擊使用模仿學(xué)習(xí)加快了等效模型建立的速度,為黑盒設(shè)置下對(duì)深度強(qiáng)化學(xué)習(xí)模型的攻擊提供了新方案.
2.1.8 CopyCAT 算法
Hussenot 等[47]提出了CopyCAT 算法,這一算法可以引導(dǎo)目標(biāo)智能體遵循攻擊者設(shè)定的策略.不同于其他針對(duì)狀態(tài)進(jìn)行的攻擊,CopyCAT 算法嘗試攻擊的是智能體從觀測(cè)環(huán)境到生成狀態(tài)這一感知過程.該算法的實(shí)施分為三個(gè)階段:1)收集目標(biāo)智能體與環(huán)境交互的數(shù)據(jù);2)根據(jù)收集的數(shù)據(jù),采用優(yōu)化算法為所有的觀測(cè)感知過程生成掩碼;3)在目標(biāo)智能體測(cè)試階段,根據(jù)攻擊者預(yù)先設(shè)定的策略為智能體添加掩碼,更改目標(biāo)智能體動(dòng)作所遵循的策略.
該攻擊方式并不是簡(jiǎn)單地為了降低目標(biāo)智能體地性能表現(xiàn),而是為了使智能體的行為能遵循攻擊者所設(shè)定的策略,這種預(yù)先設(shè)計(jì)的策略既可以是使智能體性能惡化的策略,又可以是使智能體性能提升的策略.而且由于掩碼是在攻擊前預(yù)先計(jì)算得到的,因此這種攻擊方式可以被視為一種實(shí)時(shí)攻擊.相比與FGSM 等需要在攻擊過程中耗費(fèi)計(jì)算資源的攻擊方式,CopyCAT 更適合應(yīng)用于對(duì)深度強(qiáng)化學(xué)習(xí)系統(tǒng)的攻擊.
2.2.1 基于對(duì)抗變換網(wǎng)絡(luò)的對(duì)抗攻擊
Tretschk 等[21]將新型的對(duì)抗攻擊技術(shù),即對(duì)抗變換網(wǎng)絡(luò)整合到了策略網(wǎng)絡(luò)結(jié)構(gòu)中,通過一系列的攻擊使得目標(biāo)策略網(wǎng)絡(luò)在訓(xùn)練時(shí)優(yōu)化對(duì)抗性獎(jiǎng)勵(lì)而不再是優(yōu)化原始獎(jiǎng)勵(lì).對(duì)優(yōu)化的獎(jiǎng)勵(lì)前后變化如下圖2 所示,其中綠色區(qū)域表示獎(jiǎng)勵(lì)為1 的區(qū)域,暗紅色區(qū)域表示獎(jiǎng)勵(lì)為0 的區(qū)域.原始獎(jiǎng)勵(lì)r0在球沒有擊中對(duì)手的墊子時(shí)給予獎(jiǎng)勵(lì),對(duì)抗獎(jiǎng)勵(lì)在球擊中對(duì)手墊子中心點(diǎn)時(shí)給予獎(jiǎng)勵(lì).
圖2 獎(jiǎng)勵(lì)可視化Fig.2 Reward visualization
通過實(shí)驗(yàn)證明,對(duì)狀態(tài)觀測(cè)添加一系列的擾動(dòng),可以對(duì)目標(biāo)策略網(wǎng)絡(luò)施加任意的對(duì)抗獎(jiǎng)勵(lì),使目標(biāo)策略發(fā)生變化.這種攻擊者存在的可能性令人們對(duì)持續(xù)學(xué)習(xí)型深度強(qiáng)化學(xué)習(xí)系統(tǒng)在工業(yè)領(lǐng)域中的應(yīng)用而感到憂慮.
2.2.2 木馬攻擊
Kiourti 等[48]首次提出了在深度強(qiáng)化學(xué)習(xí)系統(tǒng)的訓(xùn)練階段使用木馬攻擊.他們只在0.025%的訓(xùn)練數(shù)據(jù)中加入木馬觸發(fā)器,并在合理范圍內(nèi)對(duì)這些訓(xùn)練數(shù)據(jù)中對(duì)應(yīng)的獎(jiǎng)勵(lì)值做出修改.如果目標(biāo)智能體對(duì)這些中毒樣本的狀態(tài)做出了攻擊者想要的動(dòng)作,則給予該數(shù)據(jù)最大的獎(jiǎng)勵(lì)值;如果沒做出攻擊者想要的動(dòng)作,則給予該數(shù)據(jù)最小的獎(jiǎng)勵(lì)值.
在這種木馬攻擊下,目標(biāo)智能體在正常情況下的性能并沒有受到任何影響,但是一旦木馬觸發(fā)器被觸發(fā),智能體就會(huì)執(zhí)行攻擊者預(yù)設(shè)的行為.
2.2.3 翻轉(zhuǎn)獎(jiǎng)勵(lì)符號(hào)攻擊
在深度強(qiáng)化學(xué)習(xí)系統(tǒng)訓(xùn)練過程中,訓(xùn)練樣本以(s,a,s′,r)的形式存放在經(jīng)驗(yàn)回放池中,其中s為當(dāng)前狀態(tài),a為智能體在此狀態(tài)下選擇的動(dòng)作,s′為下一狀態(tài),r為獎(jiǎng)勵(lì)值.在Han 等[49]預(yù)設(shè)的攻擊場(chǎng)景下,攻擊者可以翻轉(zhuǎn)經(jīng)驗(yàn)回放池中5%樣本的獎(jiǎng)勵(lì)值符號(hào),以此來最大化目標(biāo)智能體的損失函數(shù).
實(shí)驗(yàn)結(jié)果證明,盡管這種攻擊方式可以在短時(shí)間內(nèi)最大化智能體的損失函數(shù),對(duì)其性能造成一定的影響,但是在長(zhǎng)期訓(xùn)練后,智能體依然可以從中恢復(fù)過來.
這種攻擊場(chǎng)景可以看做是獎(jiǎng)勵(lì)值信道錯(cuò)誤的一種極端情況,例如傳感器失靈或被人劫持,因此這種攻擊具有一定的實(shí)際意義.
2.3.1 路徑脆弱點(diǎn)攻擊
針對(duì)基于DQN 的自動(dòng)尋路系統(tǒng),Bai 等[50]提出一種在路徑脆弱點(diǎn)上添加障礙物的攻擊方法.他們首先利用DQN 尋找一副地圖的最優(yōu)路徑,在DQN的訓(xùn)練過程中,通過在路徑上相鄰點(diǎn)之間Q值的變化尋找路徑脆弱點(diǎn),之后借助相鄰脆弱點(diǎn)之間連線的角度來輔助計(jì)算對(duì)抗樣本點(diǎn).最后通過在環(huán)境中加入對(duì)抗點(diǎn)減緩智能體找到最優(yōu)路徑的時(shí)間.
這種攻擊方法需要對(duì)智能體規(guī)劃路徑上的點(diǎn)進(jìn)行角度分析,所能應(yīng)用到的場(chǎng)景受到較大的限制.而且實(shí)驗(yàn)最后證明,隨著訓(xùn)練次數(shù)的增加,智能體依然可以收斂到最優(yōu)路徑.
2.3.2 通用優(yōu)勢(shì)對(duì)抗樣本生成方法
在A3C 路徑查找任務(wù)中,智能體在尋路過程中只能獲得周圍的部分環(huán)境信息,因此無法通過在全局地圖添加微小的擾動(dòng)來達(dá)成攻擊效果.因此,Chen 等[20]針對(duì)基于A3C 的路徑查找任務(wù)提出了一種通用的優(yōu)勢(shì)對(duì)抗樣本生成方法,使用這種方法可以為給定的任意地圖生成優(yōu)勢(shì)對(duì)抗樣本.這種方法的核心思想是,在智能體訓(xùn)練過程中找到值函數(shù)上升最快的梯度帶,通過在梯度帶上添加“擋板狀”的障礙物來使目標(biāo)智能體無法到達(dá)目的地或者在最大程度上延長(zhǎng)到達(dá)目的地所需要的時(shí)間.
這種攻擊在不同規(guī)模的地圖上進(jìn)行測(cè)試,攻擊成功率均在91.91%以上,證明了這種攻擊在不同地圖上具有通用性.但是只針對(duì)基于A3C 算法訓(xùn)練的智能體進(jìn)行試驗(yàn),尚不足以證明在深度強(qiáng)化學(xué)習(xí)算法之間的通用性.
2.3.3 對(duì)環(huán)境模型的攻擊
環(huán)境動(dòng)態(tài)模型的輸入是當(dāng)前狀態(tài)及智能體動(dòng)作,輸出為下一狀態(tài).Xiao 等[51]提出了兩種對(duì)環(huán)境動(dòng)態(tài)模型的攻擊,希望通過在動(dòng)態(tài)模型上添加擾動(dòng)使得智能體達(dá)到攻擊者指定的狀態(tài).他們提出了兩種攻擊方法:1)隨機(jī)動(dòng)態(tài)模型搜素,通過隨機(jī)使用一種動(dòng)態(tài)模型,觀察智能體是否會(huì)達(dá)到指定狀態(tài);2)在現(xiàn)有的動(dòng)態(tài)模型上添加擾動(dòng),通過確定性策略梯度的方式不斷訓(xùn)練對(duì)抗動(dòng)態(tài)模型,直到智能體能達(dá)到攻擊者指定的狀態(tài).
Lee 等[52]提出了兩種對(duì)DRL 算法動(dòng)作空間的攻擊:第一種方法是一個(gè)最小化具有解耦約束的深度強(qiáng)化學(xué)習(xí)智能體的累積獎(jiǎng)勵(lì)的優(yōu)化問題,稱為近視動(dòng)作空間攻擊;第二種方法和第一種攻擊方法的目標(biāo)相同,但具有時(shí)間耦合約束,稱為具有前瞻性的動(dòng)作空間攻擊.結(jié)果表明,具有時(shí)間耦合性約束的攻擊方法對(duì)深度強(qiáng)化學(xué)習(xí)智能體的性能具有更強(qiáng)的殺傷力,因?yàn)檫@個(gè)方法考慮到了智能體的動(dòng)態(tài)因素.
由于動(dòng)作空間獨(dú)立于智能體策略之外,因此這種通過擾亂動(dòng)作空間以減少智能體所獲得的累積回報(bào)的方法幾乎無法被防御.此類攻擊適合應(yīng)用于連續(xù)動(dòng)作空間任務(wù),但是在面對(duì)經(jīng)過獨(dú)熱編碼的離散動(dòng)作空間任務(wù)時(shí)難度較大.
Gleave 等[53]提出一種新的威脅算法,攻擊者控制著對(duì)抗性智能體在同一環(huán)境與合法智能體進(jìn)行對(duì)抗.在這種零和博弈場(chǎng)景下,敵人無法操縱合法智能體的觀察,但可以在合法智能體遵循自身策略的情形下創(chuàng)建自然觀察以作為對(duì)抗性輸入.這種自然觀察并沒有包含在合法智能體的訓(xùn)練樣本中,因此合法智能體在面對(duì)這些自然觀察時(shí)會(huì)顯得“手足無措”.
實(shí)驗(yàn)中,對(duì)抗性對(duì)手智能體基于PPO 訓(xùn)練,受害者智能體基于LSTM 和MLP 訓(xùn)練.結(jié)果表明,敵人可以通過混淆受害者來贏得比賽,攻擊效果如圖3 所示.圖中第一行表示正常的對(duì)手與受害者的博弈過程,對(duì)手采用直接擊打受害者的方式進(jìn)行攻擊,而第二行中的對(duì)抗性對(duì)手在與受害者博弈過程中,采取倒在地上的方式作為攻擊手段.如果受害者躲過對(duì)手攻擊,則受害者獲勝,否則對(duì)手獲勝.對(duì)抗性對(duì)手在無法保持站立的情況下依然能使受害者陷入一種混亂狀態(tài).實(shí)驗(yàn)證明,對(duì)抗性對(duì)手的勝率在86%左右,而正常對(duì)手勝率僅為47%.
圖3 對(duì)抗智能體攻擊效果Fig.3 Adversarial agent attack
在本節(jié)中,針對(duì)基于不同深度強(qiáng)化算法的學(xué)習(xí)模型及攻擊場(chǎng)景,對(duì)上述攻擊方法的適用性進(jìn)行分析.
1)觀測(cè)攻擊:針對(duì)環(huán)境觀測(cè)展開攻擊的方法中,基于FGSM[19]的強(qiáng)化學(xué)習(xí)攻擊方法具有較強(qiáng)的攻擊遷移能力,實(shí)驗(yàn)驗(yàn)證了其生成的對(duì)抗樣本可以攻擊不同的強(qiáng)化學(xué)習(xí)模型,均有較好的攻擊效果.策略誘導(dǎo)攻擊[41]、迷惑攻擊[42]和基于模仿學(xué)習(xí)的攻擊[46]均通過構(gòu)建等價(jià)模型生成對(duì)抗樣本,可用于攻擊基于不同算法的強(qiáng)化學(xué)習(xí)黑盒模型.而戰(zhàn)略時(shí)間攻擊通過戰(zhàn)略性地選擇特定時(shí)間點(diǎn)進(jìn)行攻擊,適用于處理離散動(dòng)作空間算法的學(xué)習(xí)模型,如DQN[1?2]和A3C[6].基于值函數(shù)的對(duì)抗攻擊[44]通過借助值函數(shù)模塊評(píng)估當(dāng)前狀態(tài)價(jià)值的高低,從而決定是否進(jìn)行攻擊.因此這種方法不能應(yīng)用在一些單純依靠策略梯度的算法構(gòu)建的學(xué)習(xí)模型中.嗅探攻擊[45]和CopyCAT 算法[47]分別通過訓(xùn)練不同智能體模型來生成對(duì)抗樣本與使用掩碼讓智能體按照預(yù)先設(shè)定的策略行動(dòng)來達(dá)到攻擊的效果,可攻擊不同強(qiáng)化學(xué)習(xí)算法得到的模型,具有一定的攻擊遷移性.
2)獎(jiǎng)勵(lì)攻擊:基于對(duì)抗變換網(wǎng)絡(luò)的攻擊[21]通過加入一個(gè)前饋的對(duì)抗變換網(wǎng)絡(luò)獲得對(duì)抗獎(jiǎng)勵(lì),可實(shí)現(xiàn)對(duì)強(qiáng)化學(xué)習(xí)的白盒攻擊.木馬攻擊[48]則在狀態(tài)訓(xùn)練數(shù)據(jù)中加入木馬觸發(fā)器,并在合理范圍內(nèi)修改其對(duì)應(yīng)的獎(jiǎng)勵(lì)值,該方法同時(shí)適用于不同的算法得到的不同模型.翻轉(zhuǎn)獎(jiǎng)勵(lì)符號(hào)攻擊[49]可以翻轉(zhuǎn)經(jīng)驗(yàn)回放池中部分樣本的獎(jiǎng)勵(lì)值符號(hào),所以適用于存在經(jīng)驗(yàn)回放機(jī)制的強(qiáng)化學(xué)習(xí)模型.
3)環(huán)境攻擊:路徑脆弱點(diǎn)攻擊[50]和通用優(yōu)勢(shì)對(duì)抗樣本生成方法[20]都是在自動(dòng)導(dǎo)航系統(tǒng)上進(jìn)行攻擊,而前者需要對(duì)智能體規(guī)劃路徑上的點(diǎn)進(jìn)行角度分析,所能應(yīng)用到的場(chǎng)景受到較大的限制;后者則只針對(duì)基于A3C 算法訓(xùn)練的智能體進(jìn)行實(shí)驗(yàn),尚不足以證明在深度強(qiáng)化學(xué)習(xí)算法之間的通用性.對(duì)環(huán)境模型的攻擊[51]方法是在環(huán)境的動(dòng)態(tài)模型上增加擾動(dòng),可攻擊基于環(huán)境動(dòng)態(tài)建模的強(qiáng)化學(xué)習(xí)模型.
4)動(dòng)作攻擊:動(dòng)作空間擾動(dòng)攻擊[52]適合應(yīng)用于連續(xù)動(dòng)作空間任務(wù),但是在面對(duì)經(jīng)過獨(dú)熱編碼的離散動(dòng)作空間任務(wù)時(shí)難度較大.
5)策略攻擊:通過訓(xùn)練進(jìn)行攻擊[53]是指通過訓(xùn)練對(duì)抗性智能體與目標(biāo)智能體進(jìn)行對(duì)抗使目標(biāo)智能體失敗,目標(biāo)智能體可以通過不同強(qiáng)化學(xué)習(xí)算法訓(xùn)練得到.
本節(jié)將詳細(xì)介紹深度強(qiáng)化學(xué)習(xí)系統(tǒng)為應(yīng)對(duì)各種不同的攻擊方法而提出的防御方法,可分為三大類:對(duì)抗訓(xùn)練、魯棒學(xué)習(xí)、對(duì)抗檢測(cè).表4 對(duì)現(xiàn)有的主要防御方法做了歸納與比較.同時(shí)也對(duì)防御成功率進(jìn)行統(tǒng)計(jì),目前防御效果統(tǒng)計(jì)中,獎(jiǎng)勵(lì)值分析占主流,極少論文提到防御成功率,在調(diào)研過程中就發(fā)現(xiàn)一篇水印授權(quán)[54]的對(duì)抗檢測(cè)防御方法給出了對(duì)抗樣本檢測(cè)成功率指標(biāo),但并沒有給出具體數(shù)值,文中作者僅給出了檢測(cè)成功率曲線圖.
表4 深度強(qiáng)化學(xué)習(xí)的防御方法Table 4 Defense methods of deep reinforcement learning
對(duì)抗訓(xùn)練是指將對(duì)抗樣本加入到訓(xùn)練樣本中對(duì)模型進(jìn)行訓(xùn)練,其主要目的是提高策略對(duì)正常樣本以外的泛化能力.但是對(duì)抗訓(xùn)練往往只能提高策略對(duì)參與訓(xùn)練的樣本的擬合能力.面對(duì)訓(xùn)練樣本之外的對(duì)抗樣本,策略的性能表現(xiàn)依然不盡人意.
3.1.1 使用FGSM 與隨機(jī)噪聲進(jìn)行重訓(xùn)練
Kos 等[44]使用對(duì)抗訓(xùn)練來提高深度強(qiáng)化學(xué)習(xí)系統(tǒng)的魯棒性.他們先使用普通樣本將智能體訓(xùn)練至專家水平,之后將FGSM 擾動(dòng)與隨機(jī)噪聲添加至智能體的觀測(cè)狀態(tài)值上進(jìn)行重訓(xùn)練.Pattanaik 等[55]也采用了這種方法來提高智能體的魯棒性.
實(shí)驗(yàn)證明,經(jīng)過FGSM 對(duì)抗訓(xùn)練后,智能體在面對(duì)FGSM 擾動(dòng)時(shí)能保持與正常情況下相當(dāng)?shù)男阅?但是這種方法只能防御FGSM 與隨機(jī)擾動(dòng),在面對(duì)其他對(duì)抗擾動(dòng)時(shí)依然無能為力.
3.1.2 基于梯度帶的對(duì)抗訓(xùn)練
Bai 等[50]針對(duì)自己的優(yōu)勢(shì)對(duì)抗樣本攻擊方法提出了一種在自動(dòng)尋路地圖場(chǎng)景中基于梯度帶的對(duì)抗訓(xùn)練方法.該對(duì)抗訓(xùn)練方法不同于傳統(tǒng)的對(duì)抗訓(xùn)練,它只需要在一個(gè)優(yōu)勢(shì)對(duì)抗樣本上訓(xùn)練即可免疫幾乎所有對(duì)此地圖的優(yōu)勢(shì)對(duì)抗攻擊.
該實(shí)驗(yàn)在基于A3C 的自動(dòng)尋路任務(wù)下進(jìn)行.實(shí)驗(yàn)結(jié)果證明,在一個(gè)優(yōu)勢(shì)對(duì)抗樣本地圖上進(jìn)行基于梯度帶的對(duì)抗訓(xùn)練后,智能體在面對(duì)其他優(yōu)勢(shì)對(duì)抗樣本時(shí)防御精度能達(dá)到93.89%以上,而且該方法訓(xùn)練所需要的時(shí)間遠(yuǎn)少于傳統(tǒng)的對(duì)抗訓(xùn)練方法.
3.1.3 非連續(xù)擾動(dòng)下的對(duì)抗訓(xùn)練
Behzadan 等[23]提出了非連續(xù)擾動(dòng)下的對(duì)抗訓(xùn)練機(jī)制.與傳統(tǒng)對(duì)抗訓(xùn)練為所有訓(xùn)練樣本添加擾動(dòng)不同,該方法以一定的概率P在訓(xùn)練樣本中添加FGSM 擾動(dòng).
他們對(duì)DQN 與噪聲DQN 模型進(jìn)行了此非連續(xù)擾動(dòng)的對(duì)抗訓(xùn)練.實(shí)驗(yàn)結(jié)果表明在P為0.2 和0.4 的情形下,DQN 與噪聲DQN 均能從擾動(dòng)中恢復(fù)原有的性能.經(jīng)過此方法重訓(xùn)練得到的智能體在面對(duì)測(cè)試階段連續(xù)的FGSM 擾動(dòng)時(shí),性能表現(xiàn)與正常情況相當(dāng).
3.1.4 基于敵對(duì)指導(dǎo)探索的對(duì)抗訓(xùn)練
Behzadan 等[56]將ε 貪婪探索與玻爾茲曼探索結(jié)合,提出了敵對(duì)指導(dǎo)探索機(jī)制.這種探索機(jī)制能根據(jù)敵對(duì)狀態(tài)動(dòng)作對(duì)的顯著性來調(diào)整對(duì)每個(gè)狀態(tài)抽樣的概率.提高非連續(xù)對(duì)抗擾動(dòng)對(duì)抗訓(xùn)練的樣本利用率,同時(shí)也能使訓(xùn)練過程更加穩(wěn)定.
這種方法是非連續(xù)擾動(dòng)下對(duì)抗訓(xùn)練的改進(jìn),但是這種方法并沒有拓展所能防御的攻擊類型.
魯棒學(xué)習(xí)是訓(xùn)練模型在面對(duì)來自訓(xùn)練階段或者測(cè)試階段時(shí)的攻擊方法時(shí)提高其自身魯棒性的學(xué)習(xí)機(jī)制.
3.2.1 基于代理獎(jiǎng)勵(lì)的魯棒學(xué)習(xí)
由于在現(xiàn)實(shí)場(chǎng)景中,通常會(huì)因?yàn)閭鞲衅鞴收隙鴮?dǎo)致獎(jiǎng)勵(lì)中帶有噪聲,因此Wang 等[58]提出使用獎(jiǎng)勵(lì)混淆矩陣來定義一系列的無偏代理獎(jiǎng)勵(lì)進(jìn)行學(xué)習(xí).使用該代理獎(jiǎng)勵(lì)進(jìn)行訓(xùn)練能將模型從誤導(dǎo)獎(jiǎng)勵(lì)中解救出來,并且訓(xùn)練的收斂速度比基準(zhǔn)強(qiáng)化學(xué)習(xí)算法更快.
實(shí)驗(yàn)證明,使用代理獎(jiǎng)勵(lì)值訓(xùn)練得到的智能體在獎(jiǎng)勵(lì)噪聲場(chǎng)景下具有更好的表現(xiàn).這種代理獎(jiǎng)勵(lì)具有很好的泛化性,可以輕易將其整合到各種強(qiáng)化學(xué)習(xí)算法中.
3.2.2 魯棒對(duì)抗強(qiáng)化學(xué)習(xí)
Pinto 等[58]將建模誤差以及訓(xùn)練及測(cè)試場(chǎng)景下的差異都看作是系統(tǒng)中的額外干擾,基于這種思想,他們提出了魯棒對(duì)抗強(qiáng)化學(xué)習(xí),核心是令一個(gè)智能體以扮演系統(tǒng)中的干擾因素,在目標(biāo)智能體的訓(xùn)練過程中施加壓力.他們將策略的學(xué)習(xí)公式化為零和極大極小值目標(biāo)函數(shù),目標(biāo)智能體在學(xué)習(xí)過程中一邊以完成原任務(wù)為目標(biāo),一邊使自己在面對(duì)對(duì)抗智能體的干擾時(shí)變得更加魯棒.
在MuJoCo 物理仿真環(huán)境中,Pinto 等[58]證明經(jīng)過該方法訓(xùn)練得到的智能體在面對(duì)額外干擾時(shí)具有更好的魯棒性,考慮到了現(xiàn)實(shí)中可能存在的干擾,為深度強(qiáng)化學(xué)習(xí)系統(tǒng)從模擬環(huán)境走向現(xiàn)實(shí)環(huán)境提供了一份參考方案.
3.2.3 其余基于博弈理論的魯棒訓(xùn)練
Bravo 等[59]將受到攻擊或損壞的獎(jiǎng)勵(lì)值信道問題建模了強(qiáng)化學(xué)習(xí)智能體與對(duì)手之間的零和博弈問題,并且提出了均衡原則,證明了在具有內(nèi)部平衡的二人零和博弈情況下,無論觀察結(jié)果受到的噪聲水平如何,訓(xùn)練的時(shí)間平均值都將收斂至納什均衡.
Ogunmolu 等[60]將深度強(qiáng)化學(xué)習(xí)智能體與攻擊者在訓(xùn)練階段的對(duì)抗交互建模為迭代的最大最小動(dòng)態(tài)博弈框架,通過控制訓(xùn)練過程來使兩者達(dá)到鞍點(diǎn)均衡.這種方法提高了模型訓(xùn)練的策略在對(duì)抗干擾下的魯棒性.
由于傳統(tǒng)A3C 在正常環(huán)境中訓(xùn)練的智能體無法處理一些具有挑戰(zhàn)性的場(chǎng)景,因此Gu 等[24]提出了一種對(duì)抗A3C 學(xué)習(xí)框架.與Pinto 等[58]類似,對(duì)抗A3C 在學(xué)習(xí)過程中引入一個(gè)敵對(duì)智能體,以此模擬環(huán)境中可能存在的不穩(wěn)定因素.目標(biāo)智能體通過與該敵對(duì)智能體博弈訓(xùn)練,最終達(dá)到納什均衡.
3.2.4 噪聲網(wǎng)絡(luò)
Behzadan 等[61]對(duì)噪聲網(wǎng)絡(luò)的防御能力進(jìn)行了測(cè)試.在實(shí)驗(yàn)中,他們使用等價(jià)模型方法建立了目標(biāo)網(wǎng)絡(luò)的副本,以副本為基礎(chǔ)制造FGSM 對(duì)抗擾動(dòng).
實(shí)驗(yàn)證明,在測(cè)試階段,經(jīng)過噪聲DQN 訓(xùn)練的智能體在面對(duì)此類黑盒攻擊時(shí),其性能表現(xiàn)要比原始DQN 訓(xùn)練的智能體更加好;在訓(xùn)練階段,噪聲DQN 智能體的性能也會(huì)隨著攻擊時(shí)間的增長(zhǎng)而惡化,但是其惡化速度也比原始DQN 慢.可以證明,使用噪聲網(wǎng)絡(luò)訓(xùn)練的智能體在面對(duì)對(duì)抗擾動(dòng)時(shí)具有更好的彈性與魯棒性.Neklyudov 等[62]也使用了類似的高斯方差層來提高智能體的探索能力與魯棒性.
對(duì)抗檢測(cè)指模型對(duì)正常樣本與對(duì)抗樣本加以甄別,并在不修改原始模型參數(shù)的情況下處理對(duì)抗樣本.
3.3.1 基于元學(xué)習(xí)的對(duì)抗檢測(cè)
Havens 等[63]介紹了一種元學(xué)習(xí)優(yōu)勢(shì)層次框架,它在只使用優(yōu)勢(shì)觀察的情況下,能夠有效地檢測(cè)并減輕基于狀態(tài)信息的對(duì)抗攻擊.核心思想是使用主智能體監(jiān)視子策略,通過衡量一定時(shí)間內(nèi)子策略的回報(bào)來決定是否繼續(xù)執(zhí)行當(dāng)前子策略.由于主智能體已經(jīng)對(duì)子策略制定了準(zhǔn)確的預(yù)期,因此一旦攻擊者使策略行為發(fā)生變化,主智能體就能察覺并轉(zhuǎn)換子策略.
這種學(xué)習(xí)框架能在時(shí)域范圍內(nèi)檢測(cè)攻擊者帶來的預(yù)期之外的影響.相較于傳統(tǒng)深度強(qiáng)化學(xué)習(xí)系統(tǒng),提高了受攻擊場(chǎng)景下的回報(bào)下界.
3.3.2 基于預(yù)測(cè)模型的對(duì)抗檢測(cè)
Lin 等[25]提出了一種動(dòng)作條件幀預(yù)測(cè)模型,通過比較目標(biāo)策略對(duì)預(yù)測(cè)幀與當(dāng)前幀的動(dòng)作分布差異來判斷當(dāng)前幀是否為對(duì)抗樣本,如果當(dāng)前幀被判斷為對(duì)抗樣本,則智能體使用預(yù)測(cè)幀作為輸入并執(zhí)行動(dòng)作.實(shí)驗(yàn)效果如圖4 所示,該圖描述了攻擊者對(duì)智能體πθ進(jìn)行連續(xù)攻擊的場(chǎng)景.在時(shí)間步t-1 和t,智能體接受惡意擾動(dòng)輸入并輸出會(huì)導(dǎo)致性能下降動(dòng)作分布.給定先前得觀測(cè)和動(dòng)作,并結(jié)合視覺預(yù)測(cè)模型得到預(yù)測(cè)幀,并通過得到預(yù)測(cè)動(dòng)作分布.比較πθ(xt)與兩個(gè)動(dòng)作分布,如果兩個(gè)分布的距離大于閾值H,則將當(dāng)前幀視作對(duì)抗樣本.
圖4 基于預(yù)測(cè)模型的對(duì)抗檢測(cè)Fig.4 Adversarial detection based on prediction model
Lin 等[25]將此方法與Feature Squeezer[64]、AutoEncoder[65]以及Dropout[66]三類對(duì)抗檢測(cè)方法進(jìn)行比較.實(shí)驗(yàn)結(jié)果證明,他們提出的方法能夠以60%到100%的精度來檢測(cè)對(duì)抗攻擊,性能表現(xiàn)優(yōu)于其他三類方法.
3.3.3 水印授權(quán)
Behzadan 等[54]將Uchida 等[67]提出的水印技術(shù)加以修改并應(yīng)用到了深度強(qiáng)化學(xué)習(xí)系統(tǒng)中.其核心思想是為策略中對(duì)一些特定的狀態(tài)轉(zhuǎn)移序列加上唯一標(biāo)識(shí)符.同時(shí)保證在正常情況下,標(biāo)識(shí)符對(duì)策略的性能影響最小.一旦攻擊者對(duì)策略進(jìn)行篡改并除法水印,智能體就會(huì)中止活動(dòng).
3.3.4 受威脅的馬爾科夫決策過程
Gallego 等[68]提出了一種受威脅的馬爾科夫決策過程,將攻擊者對(duì)獎(jiǎng)勵(lì)值產(chǎn)生過程的干擾行為考慮在內(nèi).同時(shí)提出了一種K 級(jí)思維方式來對(duì)這種新型馬爾科夫決策過程求解.實(shí)驗(yàn)中,攻擊者以1 級(jí)思維利用正常的Q學(xué)習(xí)算法降低目標(biāo)智能體對(duì)獎(jiǎng)勵(lì)的獲取,目標(biāo)智能體則以2 級(jí)思維去估計(jì)攻擊者的行為并嘗試獲得正向獎(jiǎng)勵(lì).
實(shí)驗(yàn)結(jié)果證明,以2 級(jí)思維模型訓(xùn)練的智能體在獎(jiǎng)勵(lì)值干擾下累積回報(bào)不斷增加,最終實(shí)現(xiàn)正向的累積回報(bào);而以傳統(tǒng)方式訓(xùn)練的智能體性能不斷惡化,最終收斂于最差的累積回報(bào).
3.3.5 在線認(rèn)證防御
Lutjens 等[69]提出了一種在線認(rèn)證的防御機(jī)制,智能體能在執(zhí)行過程中保證狀態(tài)動(dòng)作值的下界,以保證在輸入空間可能存在對(duì)抗擾動(dòng)的情況下選擇最優(yōu)動(dòng)作.防御過程中,智能體通過狀態(tài)觀測(cè)得到受擾動(dòng)的狀態(tài)sadv,DQN 網(wǎng)絡(luò)輸出狀態(tài)動(dòng)作價(jià)值Q(sadv,a).在線認(rèn)證節(jié)點(diǎn)在狀態(tài)空間中魯棒閾值±ε,并為每個(gè)離散動(dòng)作計(jì)算狀態(tài)動(dòng)作價(jià)值下限QL,智能體根據(jù)最大的動(dòng)作價(jià)值選擇相對(duì)應(yīng)的動(dòng)作a?.
實(shí)驗(yàn)結(jié)果證明,將這種機(jī)制添加到DQN 后,智能體在面對(duì)傳感器噪聲、帶目標(biāo)的FGSM 擾動(dòng)時(shí)能具有更好的魯棒性.這種在線認(rèn)證的防御方式易于集成,而且目前計(jì)算機(jī)視覺領(lǐng)域的魯棒性驗(yàn)證工具可以更好地計(jì)算狀態(tài)動(dòng)作價(jià)值的置信下界.
雖然目前已經(jīng)有了許多對(duì)深度強(qiáng)化學(xué)習(xí)系統(tǒng)的攻防方法,但是攻擊與防御方法的效果卻很難進(jìn)行評(píng)估.早期往往使用簡(jiǎn)單的標(biāo)準(zhǔn)對(duì)攻擊效果進(jìn)行評(píng)估,例如Atari 游戲中得分的下降,但是這通常不足以表征攻擊方法的效果.其次防御方法缺乏泛化性,對(duì)當(dāng)前攻擊有效的防御方法在面對(duì)其他類型的攻擊時(shí)可能就失效了.此外,攻擊和防御方法都在快速的更新迭代,許多傳統(tǒng)的防御方法在面對(duì)新出現(xiàn)的攻擊方法時(shí)都被證明是無效的.例如,在深度學(xué)習(xí)中,混淆梯度策略的提出,證明了許多防御措施是無效的[70].由于防御方法泛化能力的不足,眾多研究者轉(zhuǎn)而著力研究策略的魯棒性及策略的安全邊界問題,以解決上述的不足.下面介紹模型安全性分析驗(yàn)證方面的一些研究.
由于DNN 網(wǎng)絡(luò)的復(fù)雜性,對(duì)學(xué)習(xí)到的策略網(wǎng)絡(luò)的魯棒性等屬性進(jìn)行直接驗(yàn)證是比較困難的.因此,比較直觀的想法就是使用等價(jià)模型來等效替代策略網(wǎng)絡(luò).這種方法對(duì)等價(jià)模型的要求較高,至少需要滿足以下兩個(gè)條件:1)等價(jià)模型的性能表現(xiàn)能與原來的策略在同一水平線上(或是稍弱一些);2)要求等價(jià)模型能夠很好地驗(yàn)證安全性、穩(wěn)定性和魯棒性等屬性.除此之外,還需要考慮到擴(kuò)展性以及算法復(fù)雜度等因素.下面對(duì)現(xiàn)有的等價(jià)模型方法進(jìn)行介紹.
4.1.1 決策樹等價(jià)模型
Bastani 等[71]提出使用決策樹策略來等價(jià)DNN 策略.他們訓(xùn)練的決策樹策略能夠表示復(fù)雜的策略.由于決策樹的非參數(shù)和高度結(jié)構(gòu)化性質(zhì),使用現(xiàn)有的技術(shù)可以對(duì)其進(jìn)行有效的驗(yàn)證.但是其中首要的難題就是決策樹策略難以訓(xùn)練.對(duì)此,他們提出了VIPER 方法,該方法在模仿學(xué)習(xí)算法的基礎(chǔ)上利用了Q函數(shù),將原來的DNN 策略作為專家策略,最終學(xué)習(xí)到一顆較小的決策樹(小于1 000個(gè)結(jié)點(diǎn)),整個(gè)流程如圖5 所示.圖5 表明,該方法將強(qiáng)化學(xué)習(xí)模型建模為MDP 過程,通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到相應(yīng)的策略并將其作為專家策略來訓(xùn)練生成決策樹模型,最后將決策樹學(xué)習(xí)生成的策略在該實(shí)驗(yàn)場(chǎng)景中驗(yàn)證其有效性.
圖5 決策樹等價(jià)模型驗(yàn)證方法流程Fig.5 Process of decision tree equivalent model verification
實(shí)驗(yàn)表明,根據(jù)使用DQN 與使用VIPER 提取的決策樹策略進(jìn)行強(qiáng)化學(xué)習(xí)任務(wù)得到相同回報(bào)值的結(jié)果,表明學(xué)習(xí)得到的決策樹在Atari 的Pong和cart-pole 場(chǎng)景下具有較好的表現(xiàn).并且Bastani 等[71]描述了如何手動(dòng)檢查反例來驗(yàn)證決策樹策略的正確性、穩(wěn)定性和魯棒性,他們表示與傳統(tǒng)DNN策略相兼容的驗(yàn)證方法相比,決策樹等價(jià)模型具有更大的擴(kuò)展性.但是實(shí)驗(yàn)所證明的策略屬性還不夠全面,這是該方法需要在未來進(jìn)行拓展的方向.
4.1.2 形式化驗(yàn)證技術(shù)
Zhu 等[73]考慮了如何將傳統(tǒng)軟件系統(tǒng)開發(fā)的形式化驗(yàn)證技術(shù)用于強(qiáng)化學(xué)習(xí)的驗(yàn)證問題.該技術(shù)不是通過檢查和更改神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)來加強(qiáng)安全性,而是使用黑盒的方法擬合策略,繼而得到一個(gè)更簡(jiǎn)單、解釋性更強(qiáng)的合成程序.通過反例和句法引導(dǎo)的歸納綜合過程來解決神經(jīng)網(wǎng)絡(luò)驗(yàn)證問題,并使用一個(gè)驗(yàn)證過程來保證程序提出的狀態(tài)總是與原始規(guī)范和部署環(huán)境上下文的歸納不變量一致.這個(gè)不變量定義了一個(gè)歸納屬性,該屬性將轉(zhuǎn)換系統(tǒng)中可表達(dá)的所有可達(dá)(安全)和不可達(dá)(不安全)狀態(tài)分開.在此基礎(chǔ)之上開發(fā)了一個(gè)運(yùn)行監(jiān)控框架,該框架將合成的程序視為安全盾牌,每當(dāng)建議的操作可能會(huì)導(dǎo)致系統(tǒng)進(jìn)入不安全區(qū)域時(shí),該框架會(huì)覆蓋此類操作.不安全區(qū)域需要根據(jù)相應(yīng)的環(huán)境給出,這里根據(jù)時(shí)間的消耗、能夠屏蔽的不安全狀態(tài)的數(shù)量以及達(dá)到穩(wěn)定狀態(tài)所需要的步數(shù)來對(duì)合成的確定性程序進(jìn)行評(píng)價(jià).
以上兩種方法都是模型本身出發(fā),尋找策略網(wǎng)絡(luò)的替代模型進(jìn)行可驗(yàn)證的安全性分析,方法具有可行性.但是我們也需要考慮到在生成等價(jià)模型過程中造成的損失.此外可以根據(jù)替代模型的優(yōu)勢(shì),在驗(yàn)證某一屬性時(shí),進(jìn)行模型的選擇.
除了等價(jià)模型的方法外,眾多研究者還提出了其他的一些方法.碰撞避免是安全性研究的一個(gè)重要方面,如何有效的減少碰撞的發(fā)生,是強(qiáng)化學(xué)習(xí)技術(shù)應(yīng)用在自動(dòng)駕駛汽車、機(jī)器人導(dǎo)航等領(lǐng)域時(shí)需要解決的問題.Gallego 等[68]在智能體運(yùn)行過程中對(duì)輸入狀態(tài)給定一個(gè)范圍計(jì)算Q值的安全下界,以在輸入空間由于可能的對(duì)手或噪音而導(dǎo)致的最壞情況下,識(shí)別并選取最佳操作,并據(jù)此提出了一種防御機(jī)制,所得到的策略(添加到訓(xùn)練好的DQN網(wǎng)絡(luò)上)提高了對(duì)對(duì)手和傳感器噪聲的魯棒性,通過調(diào)整魯棒性范圍計(jì)算碰撞次數(shù)的變化以及回報(bào)值的變化來衡量模型的性能以及魯棒性范圍的選取.這種方法是事先設(shè)定一個(gè)安全邊界并進(jìn)行實(shí)驗(yàn)驗(yàn)證,與從模型本身得出安全邊界有所不同.
同樣是在碰撞避免方面的研究,Behzadan 等[73]提出了一種基于深度強(qiáng)化學(xué)習(xí)的新框架,用于在最壞情況下對(duì)碰撞避免機(jī)制的行為進(jìn)行基準(zhǔn)測(cè)試,即處理一個(gè)經(jīng)過訓(xùn)練以使系統(tǒng)進(jìn)入不安全狀態(tài)的最優(yōu)對(duì)手智能體.他們通過比較兩種碰撞避免機(jī)制在應(yīng)對(duì)故意碰撞嘗試時(shí)的可靠性,驗(yàn)證了該框架的有效性.基于碰撞次數(shù)以及回報(bào)值進(jìn)行評(píng)價(jià),此外還對(duì)從開始到產(chǎn)生碰撞的時(shí)間進(jìn)行了測(cè)量,時(shí)間越長(zhǎng)表明這種機(jī)制有更強(qiáng)的防碰撞能力.
此外,為了以獨(dú)立于攻擊類型之外的方式評(píng)估智能體在測(cè)試階段面對(duì)對(duì)抗擾動(dòng)的魯棒性與彈性,Behzadan 等[74]提出了衡量深度強(qiáng)化學(xué)習(xí)策略的彈性與魯棒性指標(biāo).首先定義對(duì)抗性后悔的概念,對(duì)抗性后悔是指未受干擾的主體在時(shí)間T 獲得的回報(bào)與受干擾的主體在時(shí)間T 獲得的回報(bào)的差值,那么彈性指的是造成最大對(duì)抗性后悔需要的最小的擾動(dòng)狀態(tài)數(shù)量,魯棒性指的是給定最大擾動(dòng)數(shù)量,可以達(dá)到的最大對(duì)抗性后悔.通過在Cart-Pole 環(huán)境中訓(xùn)練的DQN、A2C 和PPO2 智能體上的實(shí)驗(yàn)評(píng)估,DQN 在較少數(shù)量的擾動(dòng)狀態(tài)數(shù)量下,引起了等量的對(duì)抗性后悔,表明其彈性較差,其次是PPO2策略,而A2C 策略的彈性是三者中最強(qiáng)的.對(duì)于最大為10 個(gè)擾動(dòng)狀態(tài)的情況下,三者的魯棒性很接近,這是因?yàn)樵趶椥缘挠?jì)算中取得最大的對(duì)抗性后悔比較合適的擾動(dòng)狀態(tài)數(shù)為7.5,超越這個(gè)數(shù)量,三者的效果都不是很好,對(duì)于固定的最大為5 個(gè)擾動(dòng)狀態(tài)的情況下,DQN 的對(duì)抗后悔值最大,表明其魯棒性最差,而A2C 的對(duì)抗后悔值較小,表明魯棒性最強(qiáng).
盡管深度強(qiáng)化學(xué)習(xí)在實(shí)驗(yàn)室環(huán)境下取得了一個(gè)卓越的表現(xiàn),在沒有良好的安全性保證的情況下,深度強(qiáng)化學(xué)習(xí)在工業(yè)領(lǐng)域的落地應(yīng)用還是有待考慮.
在監(jiān)督學(xué)習(xí)中,有如ImageNet 數(shù)據(jù)集、LeNet 網(wǎng)絡(luò)模型作為基準(zhǔn),方便比較學(xué)者們的研究成果.在深度強(qiáng)化學(xué)習(xí)領(lǐng)域與之對(duì)應(yīng)的就是各式各樣的環(huán)境、算法的實(shí)現(xiàn).本節(jié)我們列舉部分常用的環(huán)境、算法庫和攻擊方法庫,給出了已有論文中在不同模型以及實(shí)驗(yàn)平臺(tái)下的攻擊防御安全性評(píng)估指標(biāo),攻防指標(biāo)整理在表6 和表7 中.本節(jié)提供的實(shí)驗(yàn)平臺(tái)算法是已有強(qiáng)化學(xué)習(xí)研究基礎(chǔ)平臺(tái),也可作為之后研究的基準(zhǔn).
表6 深度強(qiáng)化學(xué)習(xí)的攻擊指標(biāo)Table 6 Attack indicators of deep reinforcement learning
表7 深度強(qiáng)化學(xué)習(xí)的防御指標(biāo)Table 7 Defense indicators of deep reinforcement learning
OpenAI Gym[75]提供了多種環(huán)境,比如Atari、棋盤游戲等,并且它還提供了統(tǒng)一的環(huán)境接口,方便研究人員定制自己想要的環(huán)境.Johnson 等[76]是一個(gè)基于流行游戲Minercraft 的人工智能實(shí)驗(yàn)平臺(tái),它提供了一系列具有連貫、復(fù)雜動(dòng)態(tài)因素的3D環(huán)境以及豐富的目標(biāo)任務(wù).OpenSpiel[77]提供了從單智能體到多智能體的零和、合作等博弈場(chǎng)景以及一些分析學(xué)習(xí)動(dòng)態(tài)和其他常見評(píng)估指標(biāo)的工具.James 等[78]旨在為機(jī)器人學(xué)習(xí)提供一系列具有挑戰(zhàn)的學(xué)習(xí)環(huán)境,它具有100 項(xiàng)完全獨(dú)特的手工設(shè)計(jì)任務(wù).MuJoCo[79]是一個(gè)物理模擬引擎,提供了一系列連續(xù)動(dòng)作的模擬任務(wù)場(chǎng)景.目前常用的是OpenAI Gym 游戲平臺(tái),已有的大部分實(shí)驗(yàn)成果都是在該平臺(tái)的游戲場(chǎng)景中通過訓(xùn)練、攻擊與防御等技術(shù)獲得的.
OpenAI Baseline[80]提供了幾種當(dāng)下最流行的深度強(qiáng)化學(xué)習(xí)算法的實(shí)現(xiàn),包括DQN、TRPG、PPO等.Rllab[81]提供了各種各樣的連續(xù)控制任務(wù)以及針對(duì)連續(xù)控制任務(wù)的深度強(qiáng)化學(xué)習(xí)算法基準(zhǔn).Dopamine[82]是用于快速實(shí)現(xiàn)強(qiáng)化學(xué)習(xí)算法原型制作的研究框架,它旨在滿足用戶對(duì)小型、易處理代碼庫的需求.
CleverHans[83]、Foolbox[84]都提供了制造對(duì)抗樣本和對(duì)抗訓(xùn)練的標(biāo)準(zhǔn)化實(shí)現(xiàn),可以用來量化和比較機(jī)器學(xué)習(xí)模型之間的魯棒性.但是這兩者只能用于對(duì)深度強(qiáng)化學(xué)習(xí)中的狀態(tài)進(jìn)行攻擊,并不能涵蓋獎(jiǎng)勵(lì)、動(dòng)作等強(qiáng)化學(xué)習(xí)特有的環(huán)節(jié).
安全性評(píng)估指標(biāo)通常用來評(píng)價(jià)攻擊或者防御方法的強(qiáng)弱,以評(píng)估模型的魯棒安全性.我們?cè)诒?中分別給出現(xiàn)有大部分論文中的攻擊和防御的安全性評(píng)估指標(biāo),分析其評(píng)價(jià)機(jī)制和評(píng)價(jià)目的.
表5 深度強(qiáng)化學(xué)習(xí)的安全性評(píng)估指標(biāo)Table 5 Security evaluation indicators of deep reinforcement learning
本文針對(duì)深度強(qiáng)化學(xué)習(xí)已提出的攻擊方法以及為抵御這些攻擊而提出的防御措施進(jìn)行了全面調(diào)查.我們還提供了可用于實(shí)驗(yàn)的環(huán)境、算法以及攻擊基準(zhǔn),同時(shí)對(duì)攻防指標(biāo)進(jìn)行整理總結(jié).本節(jié)我們針對(duì)深度強(qiáng)化學(xué)習(xí)的攻防方法及安全性分析,探討其在未來的研究發(fā)展方向,從不同角度分析之后可發(fā)展的研究?jī)?nèi)容.
已有的面向深度學(xué)習(xí)的攻擊方法中,迭代攻擊方法的性能相對(duì)較優(yōu),但是迭代方法計(jì)算代價(jià)太高,不能滿足DRL 系統(tǒng)實(shí)時(shí)預(yù)測(cè)的需求.針對(duì)DRL 的攻擊,未來可能從攻擊的實(shí)時(shí)性要求出發(fā),研究基于生成式對(duì)抗網(wǎng)絡(luò)的對(duì)抗樣本生成方法,經(jīng)過訓(xùn)練后可生成大量高效的攻擊;從攻擊的實(shí)操角度出發(fā),研究基于模仿學(xué)習(xí)構(gòu)建替代模型的方式來縮短攻擊準(zhǔn)備的時(shí)間,以解決DRL 系統(tǒng)的黑盒替代模型訓(xùn)練代價(jià)太大的問題;對(duì)于訓(xùn)練階段進(jìn)行的攻擊,研究DRL 訓(xùn)練過程的中毒攻擊技術(shù),通過在DRL 系統(tǒng)中的狀態(tài)、獎(jiǎng)勵(lì)值或是環(huán)境模型中嵌入后門觸發(fā)器實(shí)現(xiàn)后門攻擊;針對(duì)攻擊的遷移性,研究攻擊方法在不同算法或者不同模型結(jié)構(gòu)上的遷移性,比較其攻擊成功率;針對(duì)DRL 的多智能體任務(wù),研究多智能體的協(xié)同合作過程中存在的策略漏洞,從而進(jìn)行策略攻擊;從攻擊的可解釋性出發(fā),研究不同的攻擊方法對(duì)策略網(wǎng)絡(luò)中神經(jīng)元的激活狀況的影響,尋找敏感神經(jīng)元和神經(jīng)通路來提高攻擊的效果.
此外,與傳統(tǒng)DNN 模型類似,一些大型的如金融交易領(lǐng)域的DRL 系統(tǒng)通常會(huì)被部署到云平臺(tái)上.這些領(lǐng)域的環(huán)境模型與訓(xùn)練數(shù)據(jù)常常具有非常高的價(jià)值,攻擊者未來可以嘗試以訪問云平臺(tái)公用API的方式進(jìn)行模型與訓(xùn)練數(shù)據(jù)的竊取.
深度學(xué)習(xí)主要通過修改模型輸入、目標(biāo)函數(shù)以及網(wǎng)絡(luò)結(jié)構(gòu)這三類方法來實(shí)現(xiàn)防御效果.但是,深度學(xué)習(xí)的大多數(shù)防御方法不能滿足DRL 的實(shí)際應(yīng)用場(chǎng)景中,尤其是在多智能體的任務(wù)場(chǎng)景中.針對(duì)DRL 的防御,之后的研究可能從數(shù)據(jù)安全的角度出發(fā),研究使用自編碼器對(duì)受擾動(dòng)的獎(jiǎng)勵(lì)、觀測(cè)信號(hào)進(jìn)行數(shù)據(jù)預(yù)處理,提高DRL 系統(tǒng)面對(duì)信號(hào)噪聲的魯棒性;從模型魯棒的角度出發(fā),構(gòu)建基于模型集成的強(qiáng)化學(xué)習(xí)環(huán)境動(dòng)態(tài)建模方法,通過模型集合來提高模型魯棒性,生成穩(wěn)定有效的模型策略;從策略優(yōu)化的角度出發(fā),研究單個(gè)智能體甚至于多個(gè)智能體協(xié)同合作之間的策略漏洞,體現(xiàn)在模型策略網(wǎng)絡(luò)的訓(xùn)練過程,以優(yōu)化模型的策略.
DL 在攻防的分析上已經(jīng)提出了許多指標(biāo),如對(duì)抗類別平均置信度、平均結(jié)構(gòu)相似度、分類精確方差等.而對(duì)DRL 的攻擊與防御的實(shí)驗(yàn)結(jié)果主要還是以簡(jiǎn)單的平均回合獎(jiǎng)勵(lì)、獎(jiǎng)勵(lì)值的收斂曲線來進(jìn)行評(píng)估.這樣單一、表面的指標(biāo)不能夠充分說明DRL 模型的魯棒性,未來還需要提出更深層的評(píng)估標(biāo)準(zhǔn),用以展現(xiàn)決策邊界、環(huán)境模型在防御前后的不同.
目前在DL 領(lǐng)域,已經(jīng)有研究人員推出了一些模型測(cè)試評(píng)估平臺(tái),這些平臺(tái)集成了目前對(duì)DL 模型的攻擊方法與防御方法,并以現(xiàn)有的模型安全指標(biāo)對(duì)模型進(jìn)行安全性分析.DRL 領(lǐng)域也可以結(jié)合本身的特點(diǎn),搭建相應(yīng)的攻防安全分析平臺(tái),并添加DRL 特有的測(cè)試需求,如對(duì)系統(tǒng)的環(huán)境建模誤差進(jìn)行分析、針對(duì)不同的系統(tǒng)生成標(biāo)準(zhǔn)的連續(xù)測(cè)試場(chǎng)景等.