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