馬志豪,朱響斌
浙江師范大學 數(shù)學與計算機科學學院,浙江 金華321004
在過去的幾年中,深度強化學習領域獲得了廣泛關注,其應用領域也得到迅速增長。深度強化學習領域的一個重要吸引力是將深層神經(jīng)網(wǎng)絡特征學習功能與經(jīng)典強化學習結(jié)合使用,因而可以通過將原始觀察結(jié)果直接映射到操作行為來實現(xiàn)端到端策略學習。憑借深層神經(jīng)網(wǎng)絡作為函數(shù)逼近器,深度強化學習在各種挑戰(zhàn)性任務(例如,視頻游戲、機器人技術和經(jīng)典控制[1])上均取得了顯著成果,但最近的研究表明,這些策略易受對抗性攻擊,對手對輸入的微小干擾,會導致模型預測的輸出不正確[2-4]。
深度學習算法之所以如此強大,是因為其利用了深層神經(jīng)網(wǎng)絡的多層結(jié)構(gòu)。這意味著當嘗試對輸入進行分類時,可以從輸入的許多不同特征中找到判斷結(jié)果的依據(jù)。接受過識別大熊貓訓練的agent可能會發(fā)現(xiàn)諸如色塊、紋理或形狀之類的特征,這與人們眼中顯而易見的事物(如黑白)一樣可預測。但這也意味著利用輸入的微小變化可以使agent觀察到明顯不同的狀態(tài)。深度神經(jīng)網(wǎng)絡(Deep Neural Network,DNN)構(gòu)建的模型在圖像任務中已取得顯著成果。但研究表明,DNN極易被對抗樣本攻擊。
強化學習(RL)任務與分類任務不同的地方在于強化學習是通過一系列動作來收集樣本,同時這些動作也改變了環(huán)境狀態(tài),每次執(zhí)行動作后,agent通過觀察獲得環(huán)境更新后當前狀態(tài),這個觀察可能包含不確定性,該不確定性源于環(huán)境的改變、觀察的不準確和黑客的有意攻擊。由于強化學習的任務是一個MDP過程,因此需要通過一系列動作來完成目標任務,這樣強化學習在測試時間就有更多機會受到攻擊,這也是強化學習在對抗攻擊中與分類任務不同地方。本文考慮了將agent的觀察值從s擾動成.s′.,但agent程序所在的基礎真實環(huán)境狀態(tài)s不變,此設置與對狀態(tài)觀測值進行對抗性攻擊的方式(例如Huang等人[5])保持一致。
在深度學習與強化學習結(jié)合后,當前主流對抗攻擊方法是采用了針對DNN一些攻擊方法,主要的是采用基于梯度的攻擊方法,基本上是采用梯度下降算法來產(chǎn)生擾動。在現(xiàn)有DRL對抗攻擊文獻中,采用梯度方法多數(shù)是傳統(tǒng)隨機梯度下降方法(SGD)。但SGD算法存在一些不足之處:第一,SGD每次只選取一個樣本雖然很容易實現(xiàn),但正因由此可能會導致迭代之間梯度方向變化很大,導致產(chǎn)生劇烈的震蕩,不能快速地收斂到局部最優(yōu)解;第二,SGD對解決身陷鞍點問題存在無能為力的情況。
針對上述情況,本文采了擬雙曲動量算法來產(chǎn)生對抗樣本,其原因是:第一,擬雙曲動量算法(QHM)利用指數(shù)加權平均量,在更新模型參數(shù)時,對于t時刻梯度方向與t+1時刻梯度方向相同時,參數(shù)進行加強,即此梯度方向上運動更快;對于t時刻梯度方向與t+1時刻梯度方向不同的參數(shù),參數(shù)進行削弱,即此梯度方向上的運動減慢。第二,QHM利用動量不斷累加動能的特點,可以利用動能克服勢能,逃逸出鞍點。第三,梯度下降方法的計算需要有確定的目標函數(shù),而由于強化學習的特點,其目標函數(shù)是動態(tài)的,導致雖然DRL更容易受到攻擊,但攻擊樣本需要的擾動卻是一個計算量大且計算困難的點。而QHM作為動量梯度算法的極其簡單的變式,且具有效率和概念上的簡潔性,計算方面也不涉及二次求導,計算量較小和計算簡單。所以本文選擇QHM作為產(chǎn)生對抗樣本的梯度下降算法,第2章會詳細說明選擇QHM的原因和好處。
但在深度強化學習中,深度神經(jīng)網(wǎng)絡的權重是在不斷更新當中,這樣就造成目標函數(shù)也在不斷變化,因此在對抗性訓練階段,需要固定一段時間的權重,用于進行QHM的更新。因而把目標網(wǎng)絡復制一份出來作為攻擊網(wǎng)絡單獨進行權重更新,并且這樣可以單獨控制攻擊網(wǎng)絡更新權重的頻率。另一方面,因為QHM要涉及到動量,即指數(shù)加權平均的梯度,而根據(jù)強化學習特點,每次選擇動作執(zhí)行后,環(huán)境狀態(tài)會發(fā)生變化,但是新狀態(tài)的策略會發(fā)生變化,這也會影響到動量計算,因此本文使用KL散度來計算不同狀態(tài)的策略分布距離,來方便動量參數(shù)計算,從而在對抗本本生成中能使用QHM。
本文的貢獻有兩個方面:第一個貢獻是運用擬雙曲動量梯度算法結(jié)合特定目標函數(shù)來生成對抗樣本進行攻擊,使受攻擊的DRLagent更容易受干擾,從而使agent的回報更小,說明深度強化學習脆弱性的一面。第二個貢獻是采用擬雙曲動量梯度算法進行對抗訓練后的智能體對環(huán)境參數(shù)不確定性具有更好的魯棒性,同時也提高了該智能體對其他梯度攻擊的魯棒性。使用擬定的對抗性攻擊訓練了DRL,實驗結(jié)果表明了它對參數(shù)或模型不確定性的魯棒性。
DRL繼承了有監(jiān)督和無監(jiān)督學習中的基本安全性問題,而其不斷增加的復雜性又引發(fā)了RL和DRL獨有的其他問題。關于對抗性攻擊的開創(chuàng)性文章是Szegedy等人[6],其中提到了神經(jīng)網(wǎng)絡的兩種現(xiàn)象。首先是高維神經(jīng)網(wǎng)絡的神經(jīng)元不代表某個特征,但所有特征都混合在所有神經(jīng)元中。第二種是在原始采樣點上添加一些有針對性但不明顯的干擾,這很容易導致神經(jīng)網(wǎng)絡分類錯誤。大多數(shù)現(xiàn)有方法會生成人眼無法感知的干擾圖像的對抗示例[7-9],目的是欺騙訓練有素的分類器。
后來,Goodfellow等人[4]提出,在一個線性模型中加入對抗干擾,只要線性模型的輸入擁有足夠的維度和足夠的尺寸,線性模型也顯示出對抗性樣本的明顯脆弱性,這也駁斥了對抗性樣本是由于高度非線性模型引起的解釋。相反,可以肯定的是,深度學習的對抗樣本是由于模型的線性特征所致。他們在熊貓的照片上增加了人工噪音。人眼幾乎看不到擾動前后的兩個圖像之間的差異,但人工智能模型會將其誤認為是長臂猿,概率為99.3%[4]。一個對抗示例是構(gòu)建復合圖像的示例。通過向圖像添加特定的擾動,對抗性示例可以幫助主體判斷擾動圖像屬于深度學習模型中的錯誤分類。建立對抗性例子的過程就是對抗性攻擊。
Pattanaik等人[10]提出了新穎的RL對抗性攻擊,然后使用這些攻擊訓練DRL來提高對對抗性參數(shù)不確定性的魯棒性。他們提出了對抗性攻擊框架。該框架用于實施經(jīng)過訓練的DRL agent選取最差的可能動作,即該狀態(tài)下最小Q值相對應的動作。
在基于值函數(shù)的深度強化學習算法中,對于觀察通道環(huán)節(jié),對抗性攻擊是指對手干擾agent獲得正常觀察結(jié)果。讓agent在錯誤的觀察結(jié)果下,選擇最佳動作的可能性增加。換句話說,讓agent在正常狀態(tài)下采取最差行為的可能性增加,從而使agent獲得的獎勵值下降。
著重于產(chǎn)生對抗性攻擊,這將導致訓練有素的DRL agent失敗。這種攻擊不僅是有效的對抗性攻擊深度強化學習模型,而且在其他機器學習模型上也產(chǎn)生類似的攻擊效果。
針對DRL的攻擊可以分為四類:針對觀察狀態(tài)的對抗性攻擊,針對環(huán)境狀態(tài)的對抗性攻擊,針對獎勵的對抗性攻擊和針對策略的對抗性攻擊。本文主要考慮基于觀察狀態(tài)的對抗性攻擊。
由于RL的每個要素(觀察、動作、過渡動力和獎勵)都可能具有不確定性,因此可以從環(huán)境、觀察通道、獎勵渠道、執(zhí)行器、經(jīng)驗存儲和選擇等不同角度研究魯棒的強化學習。agent從環(huán)境中觀察原始的真實狀態(tài)并采取相應的行動,但是攻擊者會通過加入干擾更改觀察結(jié)果,從而agent被欺騙并認為真實狀態(tài)已更改,導致agent選擇了錯誤的動作。
Lin等人[11]提出了戰(zhàn)略定時攻擊旨在擾亂每一輪中的最小觀察子集,從而降低agent的性能。Behzadan等人[12]提出了一種對抗性DRL agent,該agent經(jīng)過專門訓練可以操縱自主導航DRL agent的操作環(huán)境,并通過利用目標的避碰策略來誘發(fā)碰撞或軌跡操縱。Han等人[13]研究了軟件定義網(wǎng)絡(SDN)中DRL智能體的情況,攻擊者偽造部分獎勵信號,以誘使智能體采取非最佳行動,從而導致關鍵服務器受到威脅或保留的節(jié)點數(shù)量明顯減少。
Huang等人[5]提出了一種統(tǒng)一的攻擊策略,在這種方法中,攻擊者會通過擾動agent觀察到的每個圖像,在每個時間步長攻擊DRL agent。通過使用快速梯度符號算法(Goodfellow等人[4])進行圖像的擾動。通過對具有離散動作的Atari游戲進行基于FGSM的攻擊來評估深度強化學習策略的魯棒性。Kos等人[14]提出使用值函數(shù)來指導對抗性擾動搜索。Behzadan等人[12]通過對抗性示例的可傳遞性研究了具有離散動作空間的DQN的黑盒攻擊。Pattanaik等人[10]通過多步梯度下降和更好的損失函數(shù),進一步增強了對DRL的對抗性攻擊。通常這些方法作用于agent訓練期間學到的策略。Gao等人[15]提出了一種針對DRL解釋的具有普遍性的對抗攻擊框架(UADRLI),其目的是制作一個單一的普遍性擾動,并能在每個時間步上被統(tǒng)一的應用。基于提出的方法,攻擊者可以通過擾動觀察狀態(tài),有效地欺騙后續(xù)狀態(tài)的DRL agent。
對于離散動作的RL任務,Kos等人[14]首先介紹了對Atari環(huán)境——Pong游戲環(huán)境的對抗訓練的初步結(jié)果,該訓練使用了對像素空間的弱FGSM攻擊。Behzadan等人[16]對具有DQN的Atari游戲進行了對抗訓練,發(fā)現(xiàn)agent在訓練期間要適應攻擊是具有挑戰(zhàn)性的,即使只攻擊一部分幀,agent的能力仍然會受到影響。測試時間攻擊,對于乒乓球游戲(Pong game)而言,對抗訓練可以將受到攻擊時的獎勵從-21(最低)提高到-5,但距離最佳獎勵(+21)仍然很遠。對于連續(xù)動作RL任務(例如MuJoCo環(huán)境),Mandlekar等人[17]使用帶有策略梯度的基于FGSM的弱攻擊來對抗性地訓練一些簡單的RL任務。Pattanaik等人[10]使用了通過優(yōu)化方法產(chǎn)生的攻擊。但是,他們的評估重點是針對環(huán)境變化的魯棒性,而不是狀態(tài)擾動。
DRL主要解決序列決策問題。當agent通過動作與環(huán)境進行交互時,環(huán)境會為agent返回當前的獎勵。agent根據(jù)當前獎勵評估采取行動。經(jīng)過多次迭代的學習,agent可以通過反復試驗最終在不斷學習中達到最佳動作。
DRL問題通常由馬爾可夫決策過程(Markov Decision Process,MDP)建模。MDP通常用元組( )S,A,P,R,γ描述,其中:(1)S為所有環(huán)境狀態(tài)的集合s∈S。(2)A為一組有限的動作a∈A。(3)P為狀態(tài)轉(zhuǎn)移分布,如果在狀態(tài)s中采取行動a,則系統(tǒng)將轉(zhuǎn)換到新狀態(tài),并且狀態(tài)轉(zhuǎn)換分布描述了到其他狀態(tài)的概率分布。(4)R為獎勵回報,描述了行動可以產(chǎn)生的回報。(5)γ為折扣因子,0<γ<1。
令st和at為在時間t采取的狀態(tài)和采取的行動。在每個迭代(episode)的開始時,s0~ρ0()·。在策略π下,將狀態(tài)序列映射到動作,在π(at|st,…,s0)和st+1~ρ(st+1|at)處給出軌跡{st,at,r(st,at)},其中t=0,1,…。環(huán)境接收到動作后會給出一個獎勵。DRL agent的目標是通過連續(xù)學習以最大化累積獎勵Rt并獲得最佳策略π*。
在RL中,在時間步t中生成的對手由δt表示,對抗性攻擊的目的是找到使累積獎勵δt最小的最佳對手。設T表示情節(jié)的長度,r(π,st)表示返回給定狀態(tài)st以及策略π的獎勵函數(shù)。因此,在RL中產(chǎn)生對抗性攻擊的問題可以表示為:
通過狀態(tài)觀察進行強化學習。agent觀察到擾動狀態(tài)而不是真實的環(huán)境狀態(tài),而是包含噪聲因素δt,表示為對手加入擾動攻擊DDQN的流程如圖1所示。
圖1 基于狀態(tài)的攻擊流程圖Fig.1 Flow chart of opponent’s state-based attack
研究許多攻擊方面的工作(Goodfellow等人[4]、Huang等人[5]、Behzadan等人[12])。這些攻擊的方法本質(zhì)上是基于梯度下降的,因為它們都是通過在策略網(wǎng)絡中進行反向傳播,以計算成本函數(shù)相對于輸入狀態(tài)的梯度來生成對抗性樣本。
Pattanaik等人[10]使用的是隨機梯度下降(Stochastic Gradient Descent,SGD),隨機梯度下降(SGD)源自Robbins和Monro在1951年提出的隨機近似[18],最初應用于模式識別和神經(jīng)網(wǎng)絡。此方法在迭代過程中隨機選擇一個或幾個示例的梯度來替換整個梯度,從而大大降低了計算復雜度。隨機梯度下降每次迭代使用一個樣本來更新參數(shù)。并非所有訓練數(shù)據(jù)都具有隨機梯度下降功能。隨機梯度下降是隨機優(yōu)化一條訓練數(shù)據(jù),損失函數(shù)在每次迭代中。這樣,大大加快了每個參數(shù)的更新速度。原始的SGD公式是:
定義1最優(yōu)策略π為條件概率質(zhì)量函數(shù)具有最大條件概率質(zhì)量函數(shù)值的動作記為a*,而具有最小條件概率質(zhì)量函數(shù)值的動作,也稱為最壞的動作記為aω。
假設1在t時刻,RL agent產(chǎn)生n個不同的動作,記動作集合為
定義2[10]滿足假設1,aω=min{ }a1,a2,…,an,定義對抗概率分布
定義3[10]最佳對抗性攻擊的目標函數(shù),定義為對抗概率分布和最優(yōu)策略之間的交叉熵損失,記為:
根據(jù)Pattanaik等人[10],最小化RL agent目標函數(shù),定義為最大化最差動作的最優(yōu)策略,形式上為這樣,保證了利用最小化RL agent目標函數(shù)來進行攻擊agent。另外其中樣本的集合為S(SGD中的樣本個數(shù)為1),損失度量為代表單個樣本。θt+1表示的是t+1時刻和θt表示的是t時刻的優(yōu)化參數(shù)表示在t時刻的損失函數(shù),α表示學習率。Pattanaik等人[10]的SGD表示為:
由假設1、定義2、定義3:
但是SGD存在著明顯的缺點:準確度下降。由于即使在目標函數(shù)為強凸函數(shù)的情況下,SGD仍舊無法做到線性收斂。算法可能會收斂到局部最優(yōu),由于單個樣本并不能代表全體樣本的趨勢。不易于并行實現(xiàn)??梢韵胂蟮?,如果學習率太大,將無法獲得理想的結(jié)果,如果學習率太小,則訓練可能會非常耗時。對于復雜的問題,用戶通常希望使用很高的學習率來快速學習感興趣的參數(shù),以獲得初步的判斷結(jié)果。不幸的是,當學習率很大時,SGD會產(chǎn)生劇烈波動,這可能會導致訓練不穩(wěn)定。
于是引入動量(Momentum)方法[19]。一方面是為了解決“峽谷”和“鞍點”問題;一方面也可以用于SGD加速,特別是針對高曲率、小幅但是方向一致的梯度。動量方法不容易因為某次的干擾而產(chǎn)生巨大波動,可以使軌跡更加穩(wěn)定;同時因為在鞍點處因為慣性的作用,更有可能離開鞍點。其中β為經(jīng)驗折扣因子,疊加了Momentum(MOM)的SGD公式為:
Nesterov’s Accelerated Gradient(NAG)[20]是Momentum的變種。與動量方法在公式上的唯一區(qū)別是計算梯度時的不同。NAG中,先用當前的速度臨時更新一遍參數(shù),再用更新的臨時參數(shù)計算梯度。因此,Nesterov動量可以解釋為在Momentum動量方法中添加了一個校正因子。但是NAG方法因為用到了二階信息,NAG方法收斂速度明顯加快。波動也小了很多。疊加Nesterov動量的SGD公式為:
本文寫的公式參考的Ma等人[21],與另一種動量公式的表示形式相反(Sutskever等人[22]),用( )1-β歸一化抑制了動量緩沖參數(shù)g。這既可以消除更新步幅幅度對β的依賴性,又可以將g解釋為過去梯度的加權平均值。當然,Ma等人[21]的公式書寫方法與Sutskever等人[22]的方法相比,這也將更新縮小了1-β倍。這很容易逆轉(zhuǎn),相應增加常數(shù)因子α。
為了克服SGD的缺點,引入動量方面的方法。本文選擇Ma等人[21]提出的一種新穎的方法,即擬雙曲動量梯度下降算法(QHM)。本文使用擬雙曲動量梯度下降算法來提高框架的效率。Ma等人[21]提供的QHM理論在操作效率和理解概念方面簡明扼要。擬雙曲動量梯度下降算法的公式如下:
根據(jù)定義1~3,則QHM表示為:
盡管準雙曲動量與普通動量類似,但需要輔助存儲緩沖區(qū)。每個更新步驟還需要1個就地標量向量乘法和3個標度向量加法。QHM計算量小,易于理解且易于實現(xiàn)。它們可以在各種情況下代替動量。特別是,它們可以通過使用即時折扣(即ν)來使用高指數(shù)折扣因數(shù)(即β)[21]。與NAG相比,QHM沒有新增額外的計算開銷。并且在一定的條件下,QHM與NAG是等同的。
由式(3)得θt+1(NAG)的展開式:
從上述兩公式的格式可以看出兩者很相近,并且當t時刻滿足如下公式:
可以得到θt+1(NAG)=θt+1(QHM),即QHM與NAG的運算結(jié)果相同。
對于SGD和QHM,假設SGD和QHM的參數(shù)處于同一點,現(xiàn)在來考慮這一點處的參數(shù)更新,如圖2所示。
圖2 SGD和QHM參數(shù)更新示意圖Fig.2 Schematic diagram of parameters update of SGD and QHM
圖2 展示了SGD和QHM的參數(shù)更新過程?;诠絊GD的參數(shù)更新過程,如實線所示。參數(shù)θt沿負梯度方向移動步長α,即可得到更新參數(shù)基于公式QHM可知,如虛線所示,θt先沿加權平均梯度gt+1,也就是動量的負方向移動步長αν;如虛線所示,再延負梯度方向移動步長α(1-ν);從而得到更新參數(shù)如虛線和點線的過程所示,若梯度的方向與加權平均梯度gt+1的方向夾角為銳角,亦可看作是向前一步后并未發(fā)現(xiàn)前方梯度出現(xiàn)逆轉(zhuǎn),于是項起到了加強更新的作用,得到更新參數(shù)如虛線和“短線-點-點”線的過程所示,若梯度的方向與加權平均梯度gt+1的方向夾角為鈍角,可看作是向前一步后發(fā)現(xiàn)前方梯度出現(xiàn)大波動,于是項起到了減弱更新的效果,得到更新參數(shù),這樣不會因為某次的干擾而產(chǎn)生巨大波動的作用。
本文考慮到對于Pattanaik等人的[10]算法是針對最差動作aω和對應狀態(tài)s,因為最差動作aω和狀態(tài)s會使損失函數(shù)發(fā)生改變。由于強化學習過程中,智能體會使用依據(jù)當前策略選擇動作執(zhí)行,從而會作于用于環(huán)境,造成環(huán)境狀態(tài)的變化,這后續(xù)狀態(tài)的aω與前面狀態(tài)的最壞動作可能不是一同的,因此如果只是按照時間順序使用QHM,會出現(xiàn)不同的最差動作aω和狀態(tài)s穿插在一起的情況。然而gt是加權平均梯度,針對不同的最差動作aω和狀態(tài)s進行加權平均梯度,這樣計算動量意義不大,同時也很難在每一步采用SGD或QHM方法一直計算收到局部最優(yōu)點去得到最優(yōu)攻擊樣本。因而本文方法是首先要確保的是相同網(wǎng)絡權重下,如果網(wǎng)絡權重更新,則gt只能重新賦值為初始動量值。其次在選擇最差動作aω相同條件下并且將狀態(tài)s的改變限制在一定微小的范圍內(nèi),此時使用之前記錄的最差動作aω相應的gt來優(yōu)化下降過程并對gt進行更新。這樣的加權平均梯度gt才會對損失函數(shù)有意義。但是高維度狀態(tài)s之間的計算會使得計算過大,于是本文提出在Q值分布相近情況下,并且在相同網(wǎng)絡權重和最差動作aω情況下,采用之前相近Q值分布狀態(tài)下的gt來近似計算新動量參數(shù),實驗結(jié)果表明這個方法有效的。對于相近Q值分布狀態(tài)的判定,通過設置對稱式KL散度來計算在相同網(wǎng)絡權重和最差動作aω情況下策略分布的距離。此時刻的策略πp和之前記錄的策略πq都經(jīng)過了softmax函數(shù)的作用,映射成為(0,1)的值,而這些值的累和為1(滿足概率的性質(zhì))。那么就可以將它理解成概率,進而使用KL散度。對于策略分布的KL散度公式:
因為KL散度是不對稱的,所以本文計算出策略πp對策略πq和策略πq對策略πp這兩個方向的兩個KL散度,然后將它們的均值稱為對稱式KL散度,作為兩策略分布間的距離,具體公式如公式(7)所示:
衡量對稱式KL散度D(πp,πq)是否小于閾值τ時,即若D(πp,πq)<τ時,使用最差動作aω之前記錄的gt-1來計算更新gt。
本文使用QHM來生成對抗性攻擊干擾。本文將在Pattanaik等人[10]的框架上進行改進,使用QHM算法,并且復制一個Q網(wǎng)絡稱為Qadv進行權值更新。加上基于beta概率分布的隨機采樣噪聲,進行n次示例以進行比較取出擾動最大的狀態(tài)sadv。算法1概述了針對DDQN的梯度攻擊。
對抗訓練是深度強化學習防御對抗攻擊的主要方法。本文使用擬雙曲動量梯度產(chǎn)生的干擾影響觀測狀態(tài)的方法,欺騙智能體在錯誤觀察狀態(tài)下選擇最優(yōu)動作,而實際上是當前環(huán)境狀態(tài)的最差動作。本文首先使用原始DRL(DDQN)訓練算法,然后通過對抗訓練使訓練后的agent變得更加魯棒。參考在Pattanaik等人[10]的對抗訓練算法,本文的對抗性訓練算法如算法2所示。
測試階段對抗性攻擊是指訓練好的模型在決策時或應用時受到攻擊情況。由算法1與算法2生成的對抗樣本時應用了訓練過程中神經(jīng)網(wǎng)絡權重,因此基于擬雙曲動量梯度的測試階段攻擊樣本的生成算法需要作出調(diào)整。主要的變化在于測試階段神經(jīng)網(wǎng)絡權重是不變的,因此需要對算法1與算法2進行調(diào)整。針對算法1,因為測試時間較短,所以不進行復制網(wǎng)絡來進行單獨的操作,而是直接使用Q網(wǎng)絡。所以針對算法1QHMA(Qadv,Q,s,η,λ,α,β,ν,n,ε,g0,buf,τ)中,將Qadv用Q代替,即QHMA(Q,Q,s,η,λ,α,β,ν,n,ε,g0,buf,τ)。針對算法2的改動,基于擬雙曲動量梯度的測試階段算法如算法3所示。
本章的實驗是經(jīng)典RL文獻中的控制實驗問題(例如Mountaincar,Cartpole),如圖3所示。本文的DDQN實現(xiàn)是keras-rl[20]中模塊的修改版本。本文的實驗結(jié)果表明提出的對抗性攻擊使原始的DDQN算法的性能顯著下降,并通過對抗性訓練算法,在面對基于環(huán)境因素的改變時,使DDQN魯棒性得到了顯著提高。
圖3 經(jīng)典控制問題Fig.3 Classic control problem
在圖4中顯示的是經(jīng)典控制問題的對抗性攻擊情況,圖4(a)顯示了使用DDQN的對Cartpole環(huán)境的對抗性攻擊。圖4(b)顯示了對Mountaincar環(huán)境的對抗性攻擊。實驗中展示了對抗性攻擊的有效性和強力性。首先在默認參數(shù)上使用原版本DRL(DDQN)訓練了一名agent。然后,在不改變環(huán)境參數(shù)的前提下,測試了未經(jīng)過對抗性訓練的agent,在面對基于HFSGM的對抗性攻擊,基于SGD的對抗性攻擊以及基于QHM的對抗性攻擊的情況。
圖4 經(jīng)典控制問題的測試情況Fig.4 Test situation of classic control problem
Y軸最高值對應于沒有受到對抗性攻擊時收到的平均獎勵,X軸對應于擾動的百分比。顯而易見,對抗性攻擊降低了基于深度學習的算法的性能。對比三者,雖然圖4(a)中基于SGD的對抗性攻擊以及基于QHM的對抗性攻擊都使獎勵快速下降,,但綜合圖4(b)可以看出,針對經(jīng)典控制問題,攻擊在三者中更有威脅性。
首先來觀察下對于經(jīng)典控制問題,使用原始DRL(DDQN)訓練的過程后,基于QHM的對抗訓練的DDQN再訓練的過程和基于SGD的對抗訓練的DDQN再訓練的過程。
圖5 中顯示的是經(jīng)典控制問題的訓練過程情況,圖5(a)是在Cartpole環(huán)境中,首先訓練一個原始的DDQN,讓agent針對Cartpole環(huán)境訓練完畢。然后分別加入基于SGD的對抗訓練和基于QHM的對抗訓練。圖5(a)顯示的是基于SGD的對抗訓練的DDQN和基于QHM的對抗訓練的DDQN的訓練過程,觀察這個過程記錄的數(shù)據(jù)可以發(fā)現(xiàn),基于SGD的對抗訓練的DDQN先到達獎勵為10 000的穩(wěn)定狀態(tài)?;赒HM的對抗訓練的DDQN的訓練過程因為對抗樣本更好,而到達獎勵為10 000的穩(wěn)定狀態(tài)的步數(shù)相對滯后。在圖(b)關于Mountaincar的環(huán)境中,訓練一個原始的DDQN,讓agent針對Mountaincar環(huán)境訓練完畢。然后分別加入基于SGD的對抗訓練和基于QHM的對抗訓練?;赒HM的對抗訓練過程相比于基于SGD的對抗訓練過程處于低獎勵值的次數(shù)更多。從而由訓練過程實驗證明了基于QHM的對抗攻擊會對agent造成更大的擾動,達到更強力的破壞。
圖5 經(jīng)典控制問題的訓練過程情況Fig.5 Training process of classic control problem
為了進行評估,測試了經(jīng)過對抗性訓練的agent面對環(huán)境中各種參數(shù)的改變而獲得的獎勵值,并將其與原始agent進行了比較。
圖6 中顯示了Cartpole環(huán)境中由于強大的訓練,agent在面對不同環(huán)境參數(shù),而性能上得到的改善。圖6(a)顯示了Cartpole環(huán)境中原始DDQN算法在手推車質(zhì)量和桿長之間變化的每步平均回報;圖6(b)顯示了通過SGD訓練后,魯棒DDQN算法的每步平均回報。圖6(c)顯示了通過QHM訓練后,魯棒DDQN算法的每步平均回報。當桿子傾斜的角度θ不能大于15°,手推車移動的位置保持在中間到兩邊各2.4個單位長度,每個小步的每個時間步長收到1的獎勵。這一過程在pole傾斜角度超過15°,手推車超出需要保持的范圍或者花費完10 000個時間步長時結(jié)束。在圖6(a)~(c)中,展示了對Cartpole環(huán)境的總體獎勵有了顯著改善。從默認參數(shù)得到的原始DDQN的最佳reward分數(shù)是10 000。未經(jīng)過對抗訓練的原始DDQN的agent在面對Length of Pole和Mass of Cart的參數(shù)變化時,reward產(chǎn)生嚴重的下降。從圖6(a)上可以發(fā)現(xiàn)未經(jīng)過對抗訓練的agent的reward下降率達97%以上(所以干擾環(huán)境下的reward情況均低于500)。但是經(jīng)過對抗訓練的agent在面對Length of Pole和Mass of Cart的參數(shù)變化時,reward依舊可以保持相應的平穩(wěn)。在Length of Pole和Mass of Cart處于極端情況時(例如Length of Pole=2.5并且Mass of Cart=2.5),本文提出的基于QHM的對抗訓練的DDQN比起基于SGD的對抗訓練的DDQN能得到更好的reward。
圖6 Cartpole環(huán)境下魯棒性訓練Fig.6 Robust training in Cartpole environment
圖7 中顯示了Mountaincar環(huán)境中由于強大的訓練,agent在面對不同環(huán)境參數(shù),而性能上得到的改善。圖7(a)顯示了Mountaincar環(huán)境中原始DDQN算法在小車質(zhì)量和功率系數(shù)之間變化的每步平均回報;圖7(b)顯示了基于SGD的對抗性訓練后,魯棒DDQN算法的每步平均回報。圖7(c)顯示了基于QHM的對抗性訓練后,魯棒DDQN算法的每步平均回報。在Mountaincar環(huán)境中,agent在達到目標所需的每個時間步長都得到-1的負回報。當汽車達到目標或花費完500個時間步長時,episode就會結(jié)束。在右部三角形區(qū)域中,由于功率系數(shù)不足(例如power=0.33,mass=2.25)以推動山地車到達目標,因此無法得到有效的改進。在右上方區(qū)域,它功率過大。因此,它容易達到目標。即使如此,不同的對抗訓練的效果也不同,獎勵值顯示出本文提出的基于QHM的對抗性訓練使agent更具有魯棒性。在右上方區(qū)域,提出的方法reward比基于SGD的對抗性訓練要高出50%。另外在對角線區(qū)域周圍,功率系數(shù)恰好足以推動山地車,因此也可以觀察到顯著的reward變化,在這個區(qū)域內(nèi)也顯示著本文提出的基于QHM的對抗性訓練使agent更具有魯棒性。
圖7 Mountaincar環(huán)境下魯棒性訓練Fig.7 Robust training in Mountaincar environment
通過對抗訓練使agent具有魯棒性。對經(jīng)過基于SGD的對抗性訓練的DDQN以及基于QHM的對抗性訓練的DDQN,并將其與“原版本”DRL進行了各項評估和比較。在不同的控制理論問題中,都可以發(fā)現(xiàn)由于對抗訓練的存在可以增強DDQN的魯棒性,并且提出的基于QHM的算法,在兩個實驗中都優(yōu)于Pattanaik等人[10]提出的算法。
本文通過研究狀態(tài)觀察的對抗性擾動下的強化學習問題,提出了針對深度強化學習算法基于擬雙曲動量梯度方法產(chǎn)生對抗攻擊樣本。并針對神經(jīng)網(wǎng)絡權重的多變性,提出使用復制網(wǎng)絡和對稱型KL散度對算法施加約束條件,從而更好地實現(xiàn)強有力的對抗攻擊樣本的生成。在測試時間階段,實驗結(jié)果表明原始訓練好的DDQN在面對基于QHM的對抗性攻擊時的脆弱性。在對抗訓練階段,利用對抗性攻擊來訓練DRL agent,訓練后的DDQN在各種環(huán)境參數(shù)變化中實現(xiàn)了強大的性能,展示了基于QHM的對抗性訓練的DDQN具有更強的抗干擾性能和攻擊性能。