【深度学习】强化学习(五)深度强化学习

文章目录

  • 一、强化学习问题
    • 1、交互的对象
    • 2、强化学习的基本要素
    • 3、策略(Policy)
    • 4、马尔可夫决策过程
    • 5、强化学习的目标函数
    • 6、值函数
    • 7、深度强化学习
      • 1. 背景与动机
      • 2. 关键要素
      • 3. 成功案例
      • 4. 挑战和未来展望
      • 5. 核心概念和方法总结

一、强化学习问题

  强化学习的基本任务是通过智能体与环境的交互学习一个策略,使得智能体能够在不同的状态下做出最优的动作,以最大化累积奖励。这种学习过程涉及到智能体根据当前状态选择动作,环境根据智能体的动作转移状态,并提供即时奖励的循环过程。

1、交互的对象

  在强化学习中,有两个可以进行交互的对象:智能体环境

  • 智能体(Agent):能感知外部环境的状态(State)和获得的奖励(Reward),并做出决策(Action)。智能体的决策和学习功能使其能够根据状态选择不同的动作,学习通过获得的奖励来调整策略。

  • 环境(Environment):是智能体外部的所有事物,对智能体的动作做出响应,改变状态,并反馈相应的奖励。

2、强化学习的基本要素

  强化学习涉及到智能体与环境的交互,其基本要素包括状态、动作、策略、状态转移概率和即时奖励。

  • 状态(State):对环境的描述,可能是离散或连续的。

  • 动作(Action):智能体的行为,也可以是离散或连续的。

  • 策略(Policy):智能体根据当前状态选择动作的概率分布。

  • 状态转移概率(State Transition Probability):在给定状态和动作的情况下,环境转移到下一个状态的概率。

  • 即时奖励(Immediate Reward):智能体在执行动作后,环境反馈的奖励。

3、策略(Policy)

  策略(Policy)就是智能体如何根据环境状态 𝑠 来决定下一步的动作 𝑎(智能体在特定状态下选择动作的规则或分布)。

  • 确定性策略(Deterministic Policy) 直接指定智能体应该采取的具体动作
  • 随机性策略(Stochastic Policy) 则考虑了动作的概率分布,增加了对不同动作的探索。

上述概念可详细参照:【深度学习】强化学习(一)强化学习定义

4、马尔可夫决策过程

  为了简化描述,将智能体与环境的交互看作离散的时间序列。智能体从感知到的初始环境 s 0 s_0 s0 开始,然后决定做一个相应的动作 a 0 a_0 a0,环境相应地发生改变到新的状态 s 1 s_1 s1,并反馈给智能体一个即时奖励 r 1 r_1 r1,然后智能体又根据状态 s 1 s_1 s1做一个动作 a 1 a_1 a1,环境相应改变为 s 2 s_2 s2,并反馈奖励 r 2 r_2 r2。这样的交互可以一直进行下去: s 0 , a 0 , s 1 , r 1 , a 1 , … , s t − 1 , r t − 1 , a t − 1 , s t , r t , … , s_0, a_0, s_1, r_1, a_1, \ldots, s_{t-1}, r_{t-1}, a_{t-1}, s_t, r_t, \ldots, s0,a0,s1,r1,a1,,st1,rt1,at1,st,rt,,其中 r t = r ( s t − 1 , a t − 1 , s t ) r_t = r(s_{t-1}, a_{t-1}, s_t) rt=r(st1,at1,st) 是第 t t t 时刻的即时奖励。这个交互过程可以被视为一个马尔可夫决策过程(Markov Decision Process,MDP)
在这里插入图片描述

关于马尔可夫决策过程可详细参照:【深度学习】强化学习(二)马尔可夫决策过程

5、强化学习的目标函数

  强化学习的目标是通过学习一个良好的策略来使智能体在与环境的交互中获得尽可能多的平均回报。强化学习的目标函数 J ( θ ) J(\theta) J(θ) 定义如下: J ( θ ) = E τ ∼ p θ ( τ ) [ G ( τ ) ] = E τ ∼ p θ ( τ ) [ ∑ t = 0 T − 1 γ t r t + 1 ] J(\theta) = \mathbb{E}_{\tau \sim p_{\theta}(\tau)}[G(\tau)] = \mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[\sum_{t=0}^{T-1} \gamma^t r_{t+1}\right] J(θ)=Eτpθ(τ)[G(τ)]=Eτpθ(τ)[t=0T1γtrt+1]其中, θ \theta θ 表示策略函数的参数, τ \tau τ 表示强化学习的轨迹, γ \gamma γ 是折扣率……

  • 这个目标函数表达的是在策略 π θ \pi_{\theta} πθ 下,智能体与环境交互得到的总回报的期望。(这个期望是对所有可能的轨迹进行的)
  • 总回报(Total Return)是对一个轨迹的累积奖励,引入折扣率(Discount Factor)来平衡短期和长期回报。
    • 总回报:对于一次交互过程的轨迹,总回报是累积奖励的和。
    • 折扣回报:引入折扣率,考虑未来奖励的权重。

关于目标函数可详细参照:【深度学习】强化学习(三)强化学习的目标函数

6、值函数

  在强化学习中,为了评估策略 π \pi π 的期望回报,引入了值函数的概念,包括状态值函数状态-动作值函数
  值函数在强化学习中起到了桥梁的作用,连接了策略、状态和动作的关系。它们是智能体学习和改进的核心工具,使其能够在未知环境中获得最大的累积奖励。

  • 状态值函数 V ( s ) V(s) V(s):表示从状态 s s s 开始,执行策略得到的期望总回报。

  • 状态-动作值函数 Q ( s , a ) Q(s, a) Q(s,a):表示在状态 s s s 下执行动作 a a a 并执行策略得到的期望总回报。

关于值函数可详细参照:【深度学习】强化学习(四)强化学习的值函数

7、深度强化学习

  深度强化学习是将强化学习和深度学习结合在一起,用强化学习来定义问题和优化目标,用深度学习来解决状态表示、策略表示和值函数建模等问题
  强化学习在早期主要关注离散且有限状态和动作的问题,通常使用表格记录策略和值函数。然而,许多实际问题中的状态和动作空间是连续且高维的,这使得传统的表格方法难以适用。为了解决这些挑战,深度强化学习(Deep Reinforcement Learning,DRL)将强化学习与深度学习相结合,利用深度神经网络来有效地处理复杂的环境。

1. 背景与动机

  • 状态和动作空间的复杂性: 在很多实际问题中,状态和动作空间可能是非常庞大、连续的。

    • 数量庞大:比如围棋的棋局有 3 3 61 ≈ 1 0 170 3^361 ≈ 10^{170} 336110170 种状态,动作(即落子位置)数量为361)
    • 连续的:自动驾驶的环境包含大量的可能状态和动作
      • 状态:智能体感知到的环境状态是各种传感器数据,一般都是连续的
      • 动作:操作方向盘的方向(−90度∼ 90度)
      • 动作:速度控制(0 ∼ 300公里/小时),也是连续的
  • 深度学习的优势: 深度学习通过神经网络可以灵活地逼近复杂的函数关系,对高维连续空间的建模具有优势。

2. 关键要素

  • 策略函数的深度表示:

    • 传统的策略函数可能是基于表格的
    • 在深度强化学习中,策略函数通常由深度神经网络表示,使得智能体能够处理高维状态空间,学习复杂的决策规则。
  • 值函数的逼近:

    • 同样,值函数 V π ( s ) V_\pi(s) Vπ(s) Q π ( s , a ) Q_\pi(s, a) Qπ(s,a) 的逼近也通过深度神经网络完成,因而能够处理大规模的状态空间,从而更好地估计策略的质量。
  • 经验回放:

    • 为了更有效地利用经验数据,深度强化学习通常使用经验回放(Experience Replay)技术,将智能体过去的经验存储在缓冲区中,然后从中随机抽样进行学习。
  • 目标网络:

    • 为了稳定训练,DRL 中常常使用目标网络(Target Network),即两个网络的参数在一定步数或周期内进行同步,这有助于减小训练中的不稳定性。

3. 成功案例

  • AlphaGo: DeepMind的AlphaGo在围棋领域实现了超越人类的水平,使用深度强化学习训练的神经网络展示了强大的决策能力。
    在这里插入图片描述
  • Atari 游戏: DQN(Deep Q-Network)在Atari 2600(雅达利)游戏上实现了超越人类玩家的表现,通过学习从像素级别的游戏画面中提取有效的状态表示。
    • Human-level control through deep reinforcement learning
    • 在这里插入图片描述

在这里插入图片描述

  • 机器人控制: DRL 应用于机器人控制,使机器人能够学习在复杂环境中执行任务,如机械臂控制、步态学习等。
    在这里插入图片描述
  • 自动驾驶: 在自动驾驶领域,DRL 被用于训练智能体以处理复杂的驾驶场景,优化车辆的决策和控制。
    在这里插入图片描述

4. 挑战和未来展望

  • 样本效率: DRL 在处理大规模连续空间时可能需要大量的样本,提高样本效率仍然是一个挑战。

  • 泛化能力: 深度强化学习在处理一些需要泛化能力的任务时可能受到限制,未来的研究也需要关注模型的泛化能力。

  • 可解释性: 深度神经网络通常被认为是黑盒模型,解释其决策过程仍然是一个开放的问题。

5. 核心概念和方法总结

  • 深度神经网络:用于表示策略和值函数,处理高维度状态和动作空间。

  • 策略梯度方法:通过优化策略的梯度直接学习策略函数的参数。

  • 值函数逼近:使用深度神经网络逼近状态值函数和状态-动作值函数。

  • 经验回放:存储和重用过去的交互经验,提高学习效率和稳定性。

  • 目标网络:引入目标网络以提高训练稳定性。

  • 探索与利用:使用随机性策略、ε-贪心策略来平衡探索和利用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何用 Cargo 管理 Rust 工程系列 甲

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/ceMTUzRjDoiLwjn_KfZSrg 这几年 Rust 可谓是炙手可热的新兴编程语言了,而且被投票为最受程序员喜爱的语言。它很现代,专门…

GitHub Universe 2023 Watch Party in Shanghai:在开源世界中找到真我

文章目录 ⭐ 前言⭐ “我”的开源之旅⭐ 为什么要做开源⭐ 要如何做好开源⭐ 开源的深度影响⭐ 小结 ⭐ 前言 周末有幸参加了在上海举行的 GitHub Universe 2023 Watch Party,这是一个充满激情和活力的开源开发者日。我有幸聆听了一场特别令人印象深刻的演讲&#…

Linux,Windows或macOS系统的电脑怎样才能投屏到手机?

很多人都知道手机投屏到电脑的方法,但想要反过来的时候,却束手无策。 如果你想要将电脑投屏到手机,无论你的电脑是Windows,Linux还是macOS系统,无论你的手机是安卓、iOS还是鸿蒙,都可以用下面这个方法实现电…

深度探索Linux操作系统 —— Linux图形原理探讨

系列文章目录 深度探索Linux操作系统 —— 编译过程分析 深度探索Linux操作系统 —— 构建工具链 深度探索Linux操作系统 —— 构建内核 深度探索Linux操作系统 —— 构建initramfs 深度探索Linux操作系统 —— 从内核空间到用户空间 深度探索Linux操作系统 —— 构建根文件系统…

老杨说运维 | 年末大盘点!擎创CEO实时盘点运维大干货,不容错过

2023年即将走到尾声,对于擎创而言,这一年是颇具成长和成就的一年。我们庆幸获得了更多客户的信任,也为他们达到下一个运维阶段提供了充足的助力。 越多的实践就会带来越多新的理解和可优化的经验。这一年来,擎创在运维数据治理、智…

Java的struts2+MySQL+jsp实现登录、注册以及文件上传

Java的struts2MySQLjsp实现登录、注册以及文件上传 项目结构 项目所需jar包文件 jar包下载地址:https://download.csdn.net/download/qq_43001132/88629520 数据库设计SQL CREATE TABLE db_users ( id INT(10) NOT NULL AUTO_INCREMENT, username VARCHAR(50) …

50种css常用的代码(实用)

目录 1、文字超出部分显示省略号 2、中英文自动换行 3、文字阴影 4、设置placeholder的字体样式 5、不固定高宽 div 垂直居中的方法 6、设置滚动条样式 7、实现隐藏滚动条同时又可以滚动 8、创建渐变背景 9、悬停效果(Hover) 10、改变链接的样…

Unity | Shader基础知识(第五集:案例<小彩球>)

目录 一、本节介绍 1 上集回顾 2 本节介绍 二、原理分析 1 现实中出现彩色的原因 2 软件里的彩色的原理 3 方案 三、 实现数字由【-1,1】映射为【0,1】 1 结论 2 原理 四、代码实现 1 注意事项 2 详解结构体appdata_base 3 接收数据 4 映射数据 5 输出给SV_TAR…

如何在Facebook Business Manager进行企业认证

Facebook Business Manager,简称BM,按照字面意思理解就是Facebook官方的商务管理平台,是供广告主团队去使用的一个管理工具。BM可以绑定Facebook公共主页、广告账户等一系列Facebook账号。通过BM,企业就可以在一个后台&#xff0c…

三层交换机原理与配置

文章目录 三层交换机原理与配置一、三层交换技术概述二、传统的 MLS三、基于CEF 的MLS1、转发信息库(FIB)2、邻接关系表3、工作原理: 四、三层交换机的配置1、三层交换机配置命令2、三层交换机配置步骤 三层交换机原理与配置 一、三层交换技…

新手卖家如何入局独立站?看这一篇就够了

作为卖家如果有心入局搭建跨境独立站,先要了解清楚什么是独立站?优势是什么?再去思考如何入局独立站? 一、什么是独立站? 独立站,顾名思义,就是一个独立的网站,它不受限于任何平台&a…

docker-compose容器编排(单机一键拉起所有容器)

1、安装docker-compose实验 安装完成 2、yaml文件 (1)定义 一种直观的、以竖列形式展示序列化数据格式的标记语言,可读性高。类似于json格式,但语法简单 yaml通过缩进表示数据结构,连续的项目用-减号表示 &#x…

【OPNEGIS】Geoserver原地升级jetty,解决Apache HTTP/2拒绝服务漏洞 (CVE-2023-44487)

Geoserver是我们常用的地图服务器,在开源系统中的应用比较广泛。在实际环境中,我们可能会选用官方的二进制安装包进行部署,这样只要服务器上有java环境就可以运行,方便在现场进行部署。 1.问题来源 这次由于甲方一月一次的漏洞扫…

HarmonyOS保存应用数据

数据管理 1 概述 在移动互联网蓬勃发展的今天,移动应用给我们生活带来了极大的便利,这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置,HarmonyOS应用开发也不例外。 本文将为您介绍HarmonyOS提供的数据管…

Java的没落 .NET的崛起

曾几何时,Java可是排列在编程语言的第一名的。而现在跌落到第三名。我觉得Java没落有以下几点原因: oracle收购之后,java不再开源。Java能发展是因为开源免费跨平台,现在这么一搞,Java都要收费,使用的人自然就少了。反…

2019年第八届数学建模国际赛小美赛C题预测通过拥堵路段所需的时间解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 C题 预测通过拥堵路段所需的时间 原题再现: 在导航软件中,行程时间的估计往往是一个重要的功能。现有的导航软件往往通过出租车或安装了该软件的车辆获取实时GPS数据来确定当前的路况。在交通拥堵严重的情况下&#…

IC卡卡号修改UID卡CUID卡物理卡号修改考勤工号修改

普通M1卡的物理卡号是锁死的,UID卡、CUID卡、FUID卡是特殊的M1卡,他们的物理卡号是可以修改的。考勤卡、门禁等读取到的IC卡卡号是这样的0136098153,10位卡号,这个卡号是随机的,不连续的,没有规律&#xff…

Unity中后处理 脚本 和 Shader

文章目录 前言一、我们先创建一个默认的后处理Shader,用于脚本测试二、在脚本中使用Graphics.Blit();1、我们先公开一个材质,用于测试后处理效果2、因为在实际开发中,我们不可能为每一个后处理Shader创建对应的材质球。所以,需要对…

【科研论文】检索证明、科技查新、查收查引(附教育部、科技部查新工作站名单)

文章目录 1、什么是科技查新 & 查收查引2、科技查新 & 查收查引有什么用3、如何办理科技查新 & 查收查引4、教育部科技查新工作站5、科技部认定的查新机构名单 1、什么是科技查新 & 查收查引 科技查新是国家科技部为避免科研课题重复立项和客观正确地判别科研…

ChatGPT Plus重新开启订阅

12月14日凌晨,OpenAI首席执行官Sam Altman在社交平台宣布,终于找到了更多的GPU算力,重新开启订阅ChatGPT Plus。 上个月15日,OpenAI就因为算力不足,以及用户激增等原因暂停了ChatGPT Plus订阅。 Sam表示,在…