【论文阅读】COPA:验证针对中毒攻击的离线强化学习的稳健策略

news2024/11/15 23:59:04

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) DD^=(D/D^)(D^/D),也就是添加或者删除一条轨迹会造成1对称差,替换一条轨迹会造成2对称差

验证目标

验证经过训练的策略在test-time的最佳性能,在训练过程中,将强化学习算法和COPA框架的聚合协议用 M M M来表示, M = ( D → ( S ∗ → A ) ) M=(D →(S^*→ A)) M=(D(SA)),其中D表示训练数据集, S ∗ S^* S表示所有状态序列。我们的目标是在给定中毒范围的条件下,为中毒聚合策略提供鲁棒性验证

两个标准

  • Per-State Action Stability
    每个状态的动作稳定性,对于任何一个满足 ∣ D ⊖ D ^ ∣ ≤ K |D\ominus\hat D|\le K DD^K情况下,中毒策略和干净策略对状态(或状态序列)的动作预测是相同的。将K成为可容忍中毒阈值
  • 累计奖励下限
    在满足 ∣ D ⊖ D ^ ∣ ≤ K |D\ominus\hat D|\le K DD^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=τDh(τ)=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=0u11i,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离线算法进行验证。实验结果发现:

  1. QR-DQN和C51比DQN具有更好的鲁棒性
  2. TPARL和DPARL在时间连续性更高的环境中如HighWay得到了鲁棒性验证
  3. 更大的分区数提高了鲁棒性
  4. FreeWay是最稳定、最强健的环境

状态动作稳定性验证

在每一次运行中,运行一条序列数为H的轨迹,计算每一步的中毒阈值,将中毒阈值大于规定值的比例定义为tability ratio作为metric, ∑ t = 0 H − 1 1 [ K t ≥ K ] / H ∑^{H−1}_{t=0}1[K_t≥K]/H t=0H11[KtK]/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训练算法的实验评估表明,这种训练方法得到的策略在各种场景中都是较为稳健的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/506433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot Security 认证鉴权——使用JSON格式参数登录

在 Spring Security 中,默认的登陆方式是以表单形式进行提交参数的。可以参考前面的几篇文章,但是在前后端分离的项目,前后端都是以 JSON 形式交互的。一般不会使用表单形式提交参数。所以,在 Spring Security 中如果要使用 JSON …

Ansys Lumerical | 单行载流子光电探测器仿真方法

综述 在本例中,我们将研究混合硅基光电探测器的各项性能。单行载流子(uni-traveling carrier,UTC)光电探测器(PD)由InP/InGaAs制成,其通过渐变耦合的方式与硅波导相连。在本次仿真中&#xff0c…

04-Docker镜像

镜像 镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是…

上海亚商投顾:沪指午后跳水跌超1% 两市超4000只个股下跌

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 沪指今日冲高回落,盘中一度站上3400点关口,午后跳水跌超1%,深成指、创业板指同…

本科生学数据分析转行,能学会吗?

当然可以,大专及以上都可以学习数据分析转行,本科学历学习更有优势。数据分析职业对于学历方面还是比较看重的,同样技能情况下,学历越高,入行薪资起点也会高个至少一两千;入行以后的升职加薪就看个人的能力…

vue3学习七 toRef 和 toRefs

toRef 和 ref 的作用差不多是一样的,都是可以把一个数据变成响应式的 我们一般使用toRef 或都 toRefs 是用来,简化 template 中的 数据的写法的, 使一个深层次的数据不用书写的时候那么麻烦。 如果不嫌麻烦的话, 这两个api 可以不…

尚硅谷-宋红康-JVM上中下篇完整笔记-JVM中篇

一.Class文件结构 1.概述 1.1 字节码文件的跨平台性 所有的JVM全部遵守Java虚拟机规范:Java SE Specifications,也就是说所有的JV环境都是一样的,这样一来字节码文件可以在各种JVM上运行。 1.2 Java的前端编译器 想要让一个Java程序正确地运行在JVM中&am…

安装Nacos

什么是Nacos 官网中如此说道: Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以…

CSS选择器的常见用法

文章目录 CSS是什么CSS的引入方式内部样式表行内样式表外部样式 选择器基础选择器类选择器id选择器通配符选择器 复合选择器后代选择器 CSS是什么 CSS就是(Cascading Style Sheets)就是层叠样式表,CSS 能够对网页中元素位置的排版进行像素级…

从项目到技能,软件测试面试高频题总结 (附答案),收割10个offer...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 软件测试面试题简历…

农村供水调度系统在河北某地的建设案例

项目背景 农村饮水安全事关广大农村居民的切身利益,是脱贫攻坚、乡村振兴的基础条件。该县为加快推进农村人饮安全运行管理工作,建立健全运管服务体系,改善当前农村人饮安全运营现状,积极实施城乡供水一体化工程,进一步…

八、使用代码对道路结果进行后处理及iou优化步骤详解

老师又给我画了大饼 没办法 只能按照他们的想法做个尝试 上一篇的方法还没进行下去 就被叫停 又更新了一个新的想法 这里记录一下 我的尝试过程 一、图片膨胀 首先使用代码对道路进行膨胀 这里的代码 import cv2 import numpy as np img cv2.imread(gt_dirname, 0) ke…

李白、高适、杜甫,情义深深,抵不过乱世游离

李白,字太白,是唐朝浪漫主义诗人,被后人誉为“诗仙”,杜甫,字子美,唐代现实主义诗人,李白和杜甫合称为“李杜”。高适,字达夫,唐代诗人。李白,杜甫&#xff0…

JVM学习随笔03——Java堆中new一个对象的步骤

目录 一、进行类加载 二、堆中分配内存 1、怎么输出GC日志: 2、内存分配的两种方式: 3、内存分配过程中并发控制的两种方式: 三、内存空间初始化 四、对象头初始化(对象头包含哪些信息?) 五、执行构…

【C++】-const对象及成员函数之类和对象中篇完结(中)

💖作者:小树苗渴望变成参天大树 ❤️‍🩹作者宣言:认真写好每一篇博客 💨作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 文章目录 前言一、案例的引入二、const对象和成员函数三、取地…

有效库存管理策略:避免滞销和短缺的利器!

在现代企业管理中,采购计划和库存管理是非常重要的环节。一方面,采购计划可以让企业根据市场需求和自身情况,科学合理地安排采购时间、采购量和采购方式,从而有效地控制成本,并确保生产和销售的顺畅;另一方…

bigdata-file-viewer--大数据文件查看工具

bigdata-file-viewer--大数据文件查看工具 bigdata-file-viewer是什么常用功能安装 bigdata-file-viewer是什么 一个跨平台(Windows,MAC,Linux)桌面应用程序,用于查看常见的大数据二进制格式,例如Parquet&…

【C++ 学习 ③】- 类的六大默认成员函数

目录 一、 构造函数 1.1 - 概念 1.2 - 特性 二、析构函数 2.1 - 概念 2.2 - 特性 2.3 - 用栈实现队列 三、拷贝构造函数 四、运算符重载 4.1 - 双目运算符 4.2 - 单目运算符 4.3 - 赋值运算符重载 五、const 成员函数 六、取地址 和 const 取地址运算符重载 参考…

如何写软件测试简历项目经验,靠这个面试都要赶场

一、前言:浅谈面试 面试是我们进入一个公司的门槛,通过了面试才能进入公司,你的面试结果和你的薪资是息息相关的。那如何才能顺利的通过面试,得到公司的认可呢?面试软件测试要注意哪些问题呢?下面和笔者一起来看看吧。这里分享一…

如何计算旋转框的IOU

一、先将两个框转换为角点形式 一般我们得到的是中心点,宽高,和旋转角度。通过矢量旋转公式得到角点形式。 二、判断四个角点是否在对方的框里,并保存在里面的角点 A的角点向B的相邻的两条边投影(任意的B的两条边),使用向量点积得…