深度強化學習中的對抗攻擊和防御
01 前言
該論文是關于深度強化學習對抗攻擊的工作。在該論文中,作者從魯棒優化的角度研究了深度強化學習策略對對抗攻擊的魯棒性。在魯棒優化的框架下,通過最小化策略的預期回報來給出最優的對抗攻擊,相應地,通過提高策略應對最壞情況的性能來實現良好的防御機制。
考慮到攻擊者通常無法 在訓練環境中 攻擊,作者提出了一種貪婪攻擊算法,該算法試圖在不與環境交互的情況下最小化策略的預期回報;另外作者還提出一種防御算法,該算法以最大-最小的博弈來對深度強化學習算法進行對抗訓練。
在Atari游戲環境中的實驗結果表明,作者提出的對抗攻擊算法比現有的攻擊算法更有效,策略回報率更差。論文中提出的對抗防御算法生成的策略比現有的防御方法對一系列對抗攻擊更具魯棒性。
02 預備知識
2.1對抗攻擊
給定任何一個樣本(x,y)和神經網絡f,生成對抗樣本的優化目標為:
其中 是神經網絡f的參數,L是損失函數, 是對抗擾動集合, 是以x為中心, 為半徑的范數約束球。通過PGD攻擊生成對抗樣本的計算公式如下所示:
其中 表示的是投影操作,如果輸入在范數球外,則將輸入投影到以x中心, 為半徑的 球上, 表示的是PGD攻擊的單步擾動大小。
2.2強化學習和策略梯度
一個強化學習問題可以被描述為一個馬爾可夫決策過程。馬爾可夫決策過程又可以被定義為一個的五元組,其中S表示的是一個狀態空間,A表示的是一個動作空間,
表示的是狀態轉移概率,r表示的是獎勵函數, 表示的是折扣因子。強學學習的目標是去學習一個參數策略分布
使得價值函數最大化
其中 表示的是初始狀態。強學學習包括評估動作值函數
以上公式描述了在狀態 執行 后服從策略 的數學期望。由定義可知值函數和動作值函數滿足如下關系:
為了便于表示,作者主要關注的是離散動作空間的馬爾可夫過程,但是所有的算法和結果都可以直接應用于連續的設定。
03 論文方法
深度強化學習策略的對抗攻擊和防御是建立在是魯棒優化PGD的框架之上的
其中 表示的是, 表示的是對抗擾動序列集合
,并且對于所有的
,滿足
以上公式提供了一個深度強化學習對抗攻擊和防御的統一框架。
一方面內部最小化優化去尋找對抗擾動序列 使得當前策略 做出錯誤的決策。另一方面外部最大化的目的是找到策略分布參數 使得在擾動策略下期望回報最大。經過以上對抗攻擊和防御博弈,會使得訓練過程中的策略參數 能夠更加抵御對抗攻擊。
目標函數內部最小化的目的是生成對抗擾動 ,但是對于強化學習算法來說學習得到最優對抗擾動是非常耗時耗力的,而且由于訓練環境對攻擊者來說是一個黑盒的,所以在該論文中,作者考慮一個實際的設定,即攻擊者在不同的狀態下去注入擾動。不想有監督學習攻擊場景中,攻擊者只需要欺騙分類器模型使得它分類出錯產生錯誤的標簽;在強化學習的攻擊場景中,動作值函數攻擊者提供了額外的信息,即小的行為值會導致一個小的期望回報。相應的,作者在深度強化學習中定義了最優對抗擾動如下所示
定義1: 一個在狀態s上最優的對抗擾動 能夠最小化狀態的期望回報
需要注意的是優化求解以上公式的是非常棘手的,它需要確保攻擊者能夠欺騙智能體使得其選擇最差的決策行為,然而對于攻擊者來說智能體的動作值函數是不可知的,所以無法保證對抗擾動是最優的。以下的定理能夠說明如果策略是最優的,最優對抗擾動能夠用不通過訪問動作值函數的方式被生成
定理1: 當控制策略是最優的,動作值函數和策略滿足以下關系
其中 表示的是策略熵, 是一個狀態依賴常量,并且當 變化到0的時候, 也會隨之變為0,進而則有以下公式
證明: 當隨機策略 達到最優的時候,值函數
也達到了最優,這也就是說,在每個狀態s下,找不到任何其它的行為分布使得值函數
增大。相應的,給定最優的動作值函數
,可以通過求解約束優化問題獲得最優策略
其中第二和第三行表示 是一個概率分布,最后一行表示策略 是一個隨機策略,根據KKT條件則可以將以上優化問題轉化為如下形式:
其中。假定
對于所有的行為
是正定的,則有:
當 ,則必有
,進而則有對于任意的
,則有
從而會得到動作值函數和策略的softmax的關系
其中,進而有
將以上的第一個等式帶入到第二中,則有
其中
以上公式中 表示的是一個softmax形式的概率分布,并且它的熵等于 。當 等于0的時候, 也變為0.在這種情況下, 是要大于0的,則此時
。
定理1展示了如果策略是最優的情況下,最優擾動可以通過最大化擾動策略和原始策略的交叉熵來獲得。為了討論的簡便,作者將定理1的攻擊稱之為策略攻擊,而且作者使用PGD算法框架去計算最優的策略攻擊,具體的算法流程圖如下算法1所示。
作者提出的防御對抗擾動的魯棒優化算法的流程圖如下算法2所示,該算法被稱之為策略攻擊對抗訓練。在訓練階段,擾動策略 被用作去和環境交互,與此同時擾動策略的動作值函數被估計去幫助策略訓練。
具體的細節為,首先在訓練階段作者使用策略攻擊去生成擾動,即使值函數沒有保證被減小。在訓練的早期階段,策略也許跟動作值函數不相關,隨著訓練的進行,它們會慢慢滿足softmax 的關系。
另一方面作者需要精確評估動作值函數很難處理,因為軌跡是通過運行受干擾的策略收集的,而使用這些數據估計未受干擾策略的作用值函數可能非常不準確。
使用PPO的優化擾動策略的目標函數為
其中,并且
是擾動策略平均函數
的一個估計。在實際中,
是由方法GAE估計得來的。具體的算法流程圖如下圖所示。
04 實驗結果
如下右側的三個子圖顯示了不同攻擊擾動的結果。可以發現經過逆向訓練的策略和標準策略都能抵抗隨機擾動。相反,對抗攻擊會降低不同策略的性能。結果取決于測試環境和防御算法,進一步可以發現三種對抗性攻擊算法之間的性能差距很小。
相比之下,在相對困難的設置環境中,論文作者提出的策略攻擊算法干擾的策略產生的回報要低得多。總體而言,論文中提出的策略攻擊算法在大多數情況下產生的回報最低,這表明它確實是所有經過測試的對抗攻擊算法中效率最高的。
如下圖所示顯示了不同防御算法以及標準PPO的學習曲線。需要注意的是性能曲線僅表示用于與環境交互的策略的預期回報。在所有的訓練算法中,論文中提出的ATPA具有最低的訓練方差,因此比其他算法更穩定。另外還能注意到,ATPA的進度比標準PPO慢得多,尤其是在早期訓練階段。這導致了這樣一個事實,即在早期的訓練階段,受不利因素干擾會使得策略訓練非常不穩定。
表總結了使用不同算法在不同擾動下的策略預期回報。可以發現經過ATPA訓練的策略能夠抵抗各種對抗干擾。相比之下,盡管StageWise和DataAugment在某種程度上學會了處理對抗攻擊,但它們在所有情況下都不如ATPA有效。
為了進行更廣泛的比較,作者還評估了這些防御算法對最有效的策略攻擊算法產生的不同程度的對抗干擾的魯棒性。如下圖所示,ATPA再次在所有情況下獲得最高分數。此外,ATPA的評估方差遠小于StageWise和DataAugment,表明ATPA具有更強的生成能力。
為了達到類似的性能,ATPA需要比標準PPO算法更多的訓練數據。作者通過研究擾動策略的穩定性來深入研究這個問題。作者計算了通過在訓練過程中間和結束時使用不同隨機初始點的PGD執行策略攻擊而獲得的擾動策略的KL散度值。如下圖所示,在沒有對抗訓練的情況下,即使標準PPO已經收斂,也會不斷觀察到較大的KL 散度值,這表明策略對于使用不同初始點執行PGD所產生的擾動非常不穩定。
下圖顯示了具有不同初始點的擾動策略的KL散度圖,可以發現圖中的每個像素表示兩個擾動策略的KL散度值,這兩個擾動策略通過最大化ATPA算法的核心公式給出。需要注意的是由于KL散度是一個非對稱度量,因此這些映射也是不對稱的。
? ?