COPA: Certifying Robust Policies for Offline Reinforcement Learning against Poisoning Attacks
作者:Fan Wu, Linyi Li, Chejian Xu
发表会议:2022ICRL
摘要
目前强化学习完成任务的水平已经和人类相接近,因此研究人员的目光开始转向强化学习的鲁棒性研究。目前在强化学习测试阶段的攻击和防御已经有了比较多的研究,但是针对强化学习在训练阶段的攻击防御还没有太多涉及。本文专注于证明离线RL在存在中毒攻击时的鲁棒性,其中训练轨迹的子集可以被任意操纵。作者提出了一个认证框架COPA,以认证不同认证标准下可容忍的中毒轨迹数量。本文提出了两个认证标准:每个状态行为稳定性和累积奖励界限。实验结果显示:(1)所提出的鲁棒聚合协议可以显着提高鲁棒性; (2) 对每个状态的动作稳定性和累积奖励界限的认证是高效且严格的; (3) 不同训练算法和环境的认证是不同的,暗示了它们内在的鲁棒性。
Introduction
目前强化学习已经被广泛应用,对于离线强化学习更是被赋予了较大的期望,因为这种学习方式不需要与环境交互,或者像在线学习一样收集训练数据,可以在重复使用训练数据的情况下得到较好的模型策略。但相比于在线强化学习,离线方式在面对训练数据中毒的情况时往往会产生更严重的问题。尽管现在已经有一些针对于分类问题的防御方法,但这些方法无法适用于执行复杂任务的强化学习。因此本文在实际计算上验证了离线强化学习在遭受中毒攻击时的鲁棒性,同时提出了第一个针对中毒攻击(COPA)的通用离线RL的鲁棒策略认证框架来解决这个问题。
-
认证标准
- 每个状态动作稳定性:保证通过COPA学习的策略在面对特定攻击前后执行的动作不变,比如在看到行人时应该刹车,不能在受到攻击后,看到行人不再刹车
- 累计奖励界限:保证策略累计奖励的下限,也保证了策略在受到攻击后的整体性能不会变的很低
-
COPA框架
包含三部分,分别是策略划分、聚合协议和鲁棒性认证
Related Work
强化学习中的中毒攻击
- policy poisoning
利用RL算法的漏洞进行针对性的训练数据投毒,导致训练失败或者生成攻击者想要的策略,目前多用在在线学习,对于离线学习的攻击还是空白
VULNERABILITY-AWARE POISONING MECHANISM
FOR ONLINE RL WITH UNKNOWN DYNAMICS
Policy teachingvia environment poisoning: Training-time adversarial attacks against reinforcement learning - reward poisoning
攻击者可以修改离线数据集中的奖励或在线交互期间的奖励信号,攻击者的目标是使受害者强制学习某一个策略或者在真实任务中表现差
Policy Poisoning in Batch Reinforcement Learning and Control
Deceptive Reinforcement Learning Under Adversarial Manipulations on Cost Signals
经典的鲁棒强化学习
-
Randomization methods
首先为强化学习的鲁棒性研究提供思路,后续出现的NoisyNet是将噪声添加到训练网络的权重中
Whatever does not kill deep reinforcement learning, makes itstronger
Mitigation of policy manipulation attacks on deep q-networkswith parameter-space noise -
对抗性训练
在最开始使用随机噪声和FGSM对策略进行在训练,提高了模型的鲁棒性。而后提出了RS-DQN,这是一种基于模仿学习的方法,将鲁棒的DQN与常规DQN并行训练,被纳入了SOTA。SA-DQN是一种基于正则化的方法,在损失函数中添加正则项使得策略在扰动下原本概率最高的动作不会改变
Robust deep reinforcement learning against adversarial perturbations on state obser-vations
对抗中毒攻击的鲁棒强化学习
Banihashem等人考虑了Ma等人提出的三种中毒攻击模型,其中攻击者旨在强制学习目标策略,同时最大限度地降低奖励操作的成本,这个优化问题是可行的并且存在最优解,利用这个定义,Banihashem将防御问题定义为优化防御者在最坏情况下的最优性能。
Defense against reward poisoning attacksin reinforcement learning
强化学习鲁棒性认证
Wu等人(2022)根据随机平滑的工作路线,为RL提供了第一个针对测试时间规避攻击的鲁棒性认证,同时提出了一种自适应搜索算法来搜索所有可能的轨迹
Crop: Certify-ing robust policies for reinforcement learning through functional smoothing
COPA的两个鲁棒性认证标准
投毒攻击
训练数据集 D D D,对于数据集中的每一条轨迹都允许攻击者进行替换,生成一个相关的数据集 D ^ \hat D D^,定义了一个对称差 D ⊖ D ^ = ( D / D ^ ) ∪ ( D ^ / D ) D\ominus\hat D=(D / \hat D)\cup(\hat D / D) D⊖D^=(D/D^)∪(D^/D),也就是添加或者删除一条轨迹会造成1对称差,替换一条轨迹会造成2对称差
验证目标
验证经过训练的策略在test-time的最佳性能,在训练过程中,将强化学习算法和COPA框架的聚合协议用 M M M来表示, M = ( D → ( S ∗ → A ) ) M=(D →(S^*→ A)) M=(D→(S∗→A)),其中D表示训练数据集, S ∗ S^* S∗表示所有状态序列。我们的目标是在给定中毒范围的条件下,为中毒聚合策略提供鲁棒性验证
两个标准
- Per-State Action Stability
每个状态的动作稳定性,对于任何一个满足 ∣ D ⊖ D ^ ∣ ≤ K |D\ominus\hat D|\le K ∣D⊖D^∣≤K情况下,中毒策略和干净策略对状态(或状态序列)的动作预测是相同的。将K成为可容忍中毒阈值 - 累计奖励下限
在满足 ∣ D ⊖ D ^ ∣ ≤ K |D\ominus\hat D|\le K ∣D⊖D^∣≤K的条件下,使用聚合数据集训练得到的策略累计奖励值不低于 J K J_K JK
COPA的验证流程
基于划分的训练协议
COPA的训练过程分为两部分:划分过程和训练过程
- Partitioning Stage
在这个部分把训练数据集划分为u个,每个划分出来的数据集互不相交,每条轨迹是一个划分单位,使用散列函数进行划分即 D i = τ ∈ D ∣ h ( τ ) = i ( m o d u ) D_i = \tau \in D | h(\tau) = i (mod u) Di=τ∈D∣h(τ)=i(modu) - Training Stage
对于每个划分出来的数据集独立使用RL算法进行训练,那么也就会生成u个策略,在后文中将这些训练得到的策略成为subpolicies策略,来区分后文所使用的聚合策略。这些subpolicies用 1 i , a 1_{i,a} 1i,a来表示,定义 1 i , a ( s ) : = 1 [ π i ( s ) = a ] 1_{i,a}(s) :=1[π_i(s) =a] 1i,a(s):=1[πi(s)=a],也就是每个策略在状态s下选择的动作a。聚合动作数量也就是这些subpolicies在状态s时选择动作a的总和, n a ( s ) : = ∣ i ∣ π i ( s ) = a , i ∈ [ u ] ∣ = ∑ i = 0 u − 1 1 i , a ( s ) n_a(s) :=|{i|π_i(s) =a,i∈[u]}|=∑^{u−1}_{i=0}1_{i,a}(s) na(s):=∣i∣πi(s)=a,i∈[u]∣=∑i=0u−11i,a(s)
这是训练过程的算法
聚合协议
在上一个训练过程中得到了u个subpolicies,在这一部分提出了三种聚合协议,来将subpolicies聚合
- PARL
PARL通过选择得票率最高的行动来聚合子策略。PARL所使用的直觉是当数据集有K个投毒数据,那么最多会有K个subpolicies被改变,只有保证最高和第二高的动作票数大于2K才能使得中毒前后在给定状态的动作不会改变 - TPARL
在RL的顺序决策过程中,某些重要状态很可能更容易受到中毒攻击,这种攻击被称为瓶颈状态。因此,攻击者可能只是改变对这些瓶颈状态的行动预测,从而降低整体性能,例如累积奖励。例如,在乒乓球比赛中,当球接近球拍时,我们选择了一个立即糟糕的动作,可能会输掉比赛。因此想要提高策略的整体鲁棒性,就需要在这种重要时刻提高对中毒数据的容忍度,从而提出了时间分区聚合
在TPARL中可能会出现票数第一和第二的动作之间差距很小,同时由于强化学习的顺序决策特性,可能会出现相邻状态和动作相似的情况,因此在这种聚合协议中加入相邻状态的投票从而扩大票数边界,提高对中毒数据阈值的容忍度。在TPARL中设置了窗口大小W,会在相邻W个状态中选择票数最高的动作 - DPARL
在TPARL中提出了固定窗口W的概念,但是在实际应用中窗口大小很难确定,而且也会根据场景的不同而有不同的窗口大小,因此提出了动态窗口大小的概念。因此在DPARL中会对每一步动态选择窗口大小,而我们只需要设置最大窗口大小 W m a x W_{max} Wmax即可
状态动作稳定性验证
这一部分主要是对上述三种聚合协议的状态动作稳定性给出中毒数据容忍阈值(证明太多了先略过)
累积奖励下限
认证目标是在给定有界中毒大小K的情况下,在中毒攻击下获得累积奖励的下限,使用了一种新的自适应搜索算法COPA-Search
该方法从基本情况开始:当中毒阈值
K
c
u
r
=
0
K_{cur}=0
Kcur=0时,累积回报的下限
J
K
c
u
r
J_{K_{cur}}
JKcur恰好是没有中毒的回报。然后,该方法逐渐增加中毒阈值
K
c
u
r
K_{cur}
Kcur,通过找到立即更大的
K
′
>
K
c
u
r
K'>K_{cur}
K′>Kcur可以沿着轨迹扩展可能的动作集。随着
K
c
u
r
K_{cur}
Kcur的增加,攻击可能会导致中毒策略π在某些状态下采取不同的行动,从而产生新的轨迹。我们需要找出一组所有可能的动作,以穷尽所有可能的轨迹。有了这个可能的动作集合,该方法通过将这些新轨迹公式化为轨迹树的扩展分支来有效地探索这些新轨迹。在探索了所有新的轨迹后,该方法检查了树的所有叶节点,并计算出其中的最小回报,即新中毒大小K′下累积回报
J
K
′
J_{K′}
JK′的新下界。然后,我们重复这个从K′增加中毒大小并用新轨迹扩展的过程,直到我们达到中毒大小K的预定义阈值
- PARL动作集合
- 伪代码
Experiment
在本节使用DQN、QR-DQN和C51离线算法进行验证。实验结果发现:
- QR-DQN和C51比DQN具有更好的鲁棒性
- TPARL和DPARL在时间连续性更高的环境中如HighWay得到了鲁棒性验证
- 更大的分区数提高了鲁棒性
- FreeWay是最稳定、最强健的环境
状态动作稳定性验证
在每一次运行中,运行一条序列数为H的轨迹,计算每一步的中毒阈值,将中毒阈值大于规定值的比例定义为tability ratio作为metric,
∑
t
=
0
H
−
1
1
[
K
t
≥
K
]
/
H
∑^{H−1}_{t=0}1[K_t≥K]/H
∑t=0H−11[Kt≥K]/H
在RL算法层面上,QR-DQN和C51相比于DQN具有更好的表现,C51更是具有显著优势,尤其是在高速公路方面。在集合协议层面上,我们观察到不同环境下的不同行为。在Freeway上,具有时间聚合的方法(TPARL和DPARL)实现了更高的鲁棒性,并且DPARL在大多数情况下实现了最高的认证鲁棒性;而在Breakout和Highway上,单步聚合PARL通常更好。这种差异是由于环境的不同性质造成的。在分区数级别上,较大的分区数通常允许更大的可容忍的中毒次数
累积奖励下限
本质上,在每个中毒大小K下,比较了不同RL算法和认证方法实现的累积奖励的下限。下限的高值意味着更强的鲁棒性。在RL算法层面上,QR-DQN和C51几乎总是优于基线DQN算法,在一些情况下DPARL结果不如TPARL健壮,其原因可能是动态机制更容易受到攻击,以及在DPARL中计算可能的动作集的困难程度更高
Conclusion
这篇文章提出了COPA,这是第一个用于证明离线RL-抵御中毒攻击的稳健策略的框架。COPA包括三种策略聚合协议。对于每个聚合协议,COPA为每个状态的动作稳定性和累积奖励下界提供了一个可靠的证明。对不同环境和不同离线RL训练算法的实验评估表明,这种训练方法得到的策略在各种场景中都是较为稳健的