0

0

深度强化学习中的对抗攻击和防御

WBOY

WBOY

发布时间:2023-04-08 23:11:07

|

1547人浏览过

|

来源于51CTO.COM

转载

 01 前言

该论文是关于深度强化学习对抗攻击的工作。在该论文中,作者从鲁棒优化的角度研究了深度强化学习策略对对抗攻击的鲁棒性。在鲁棒优化的框架下,通过最小化策略的预期回报来给出最优的对抗攻击,相应地,通过提高策略应对最坏情况的性能来实现良好的防御机制。

考虑到攻击者通常无法 在训练环境中 攻击,作者提出了一种贪婪攻击算法,该算法试图在不与环境交互的情况下最小化策略的预期回报;另外作者还提出一种防御算法,该算法以最大-最小的博弈来对深度强化学习算法进行对抗训练。

在Atari游戏环境中的实验结果表明,作者提出的对抗攻击算法比现有的攻击算法更有效,策略回报率更差。论文中提出的对抗防御算法生成的策略比现有的防御方法对一系列对抗攻击更具鲁棒性。

02 预备知识

2.1对抗攻击

给定任何一个样本(x,y)和神经网络f,生成对抗样本的优化目标为:

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

深度强化学习中的对抗攻击和防御

其中 是神经网络f的参数,L是损失函数, 是对抗扰动集合, 深度强化学习中的对抗攻击和防御是以x为中心, 为半径的范数约束球。通过PGD攻击生成对抗样本的计算公式如下所示:

深度强化学习中的对抗攻击和防御

其中 深度强化学习中的对抗攻击和防御表示的是投影操作,如果输入在范数球外,则将输入投影到以x中心, 为半径的 球上, 表示的是PGD攻击的单步扰动大小。

2.2强化学习和策略梯度

一个强化学习问题可以被描述为一个马尔可夫决策过程。马尔可夫决策过程又可以被定义为一个深度强化学习中的对抗攻击和防御的五元组,其中S表示的是一个状态空间,A表示的是一个动作空间,深度强化学习中的对抗攻击和防御表示的是状态转移概率,r表示的是奖励函数, 表示的是折扣因子。强学学习的目标是去学习一个参数策略分布深度强化学习中的对抗攻击和防御 使得价值函数最大化

深度强化学习中的对抗攻击和防御

其中 表示的是初始状态。强学学习包括评估动作值函数

深度强化学习中的对抗攻击和防御

以上公式描述了在状态 执行 后服从策略 的数学期望。由定义可知值函数和动作值函数满足如下关系:

深度强化学习中的对抗攻击和防御

为了便于表示,作者主要关注的是离散动作空间的马尔可夫过程,但是所有的算法和结果都可以直接应用于连续的设定。

03 论文方法

深度强化学习策略的对抗攻击和防御是建立在是鲁棒优化PGD的框架之上的

深度强化学习中的对抗攻击和防御

其中 表示的是深度强化学习中的对抗攻击和防御, 表示的是对抗扰动序列集合 深度强化学习中的对抗攻击和防御,并且对于所有的 深度强化学习中的对抗攻击和防御 ,满足深度强化学习中的对抗攻击和防御以上公式提供了一个深度强化学习对抗攻击和防御的统一框架。

一方面内部最小化优化去寻找对抗扰动序列 使得当前策略 做出错误的决策。另一方面外部最大化的目的是找到策略分布参数 使得在扰动策略下期望回报最大。经过以上对抗攻击和防御博弈,会使得训练过程中的策略参数 能够更加抵御对抗攻击。

目标函数内部最小化的目的是生成对抗扰动 ,但是对于强化学习算法来说学习得到最优对抗扰动是非常耗时耗力的,而且由于训练环境对攻击者来说是一个黑盒的,所以在该论文中,作者考虑一个实际的设定,即攻击者在不同的状态下去注入扰动。不想有监督学习攻击场景中,攻击者只需要欺骗分类器模型使得它分类出错产生错误的标签;在强化学习的攻击场景中,动作值函数攻击者提供了额外的信息,即小的行为值会导致一个小的期望回报。相应的,作者在深度强化学习中定义了最优对抗扰动如下所示

定义1: 一个在状态s上最优的对抗扰动 能够最小化状态的期望回报

深度强化学习中的对抗攻击和防御

需要注意的是优化求解以上公式的是非常棘手的,它需要确保攻击者能够欺骗智能体使得其选择最差的决策行为,然而对于攻击者来说智能体的动作值函数是不可知的,所以无法保证对抗扰动是最优的。以下的定理能够说明如果策略是最优的,最优对抗扰动能够用不通过访问动作值函数的方式被生成

定理1: 当控制策略深度强化学习中的对抗攻击和防御是最优的,动作值函数和策略满足以下关系

深度强化学习中的对抗攻击和防御

其中 表示的是策略熵, 是一个状态依赖常量,并且当 变化到0的时候, 也会随之变为0,进而则有以下公式

证明: 当随机策略 深度强化学习中的对抗攻击和防御 达到最优的时候,值函数 深度强化学习中的对抗攻击和防御 也达到了最优,这也就是说,在每个状态s下,找不到任何其它的行为分布使得值函数 深度强化学习中的对抗攻击和防御 增大。相应的,给定最优的动作值函数深度强化学习中的对抗攻击和防御,可以通过求解约束优化问题获得最优策略深度强化学习中的对抗攻击和防御

深度强化学习中的对抗攻击和防御

其中第二和第三行表示 是一个概率分布,最后一行表示策略 是一个随机策略,根据KKT条件则可以将以上优化问题转化为如下形式:

Cursor
Cursor

一个新的IDE,使用AI来帮助您重构、理解、调试和编写代码。

下载

深度强化学习中的对抗攻击和防御

深度强化学习中的对抗攻击和防御

其中深度强化学习中的对抗攻击和防御。假定 深度强化学习中的对抗攻击和防御 对于所有的行为 深度强化学习中的对抗攻击和防御 是正定的,则有:

深度强化学习中的对抗攻击和防御

当 深度强化学习中的对抗攻击和防御,则必有 深度强化学习中的对抗攻击和防御,进而则有对于任意的 深度强化学习中的对抗攻击和防御,则有深度强化学习中的对抗攻击和防御从而会得到动作值函数和策略的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散度是一个非对称度量,因此这些映射也是不对称的。

深度强化学习中的对抗攻击和防御

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1570

2023.10.24

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

500

2023.08.14

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

25

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

44

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

177

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

50

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

92

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

102

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

227

2026.03.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
从PHP基础到ThinkPHP6实战
从PHP基础到ThinkPHP6实战

共126课时 | 24.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号