深度强化学习 第 3 章 强化学习基本概念

本章讲解强化学习的基本概念。第 3.1 节介绍马尔可夫决策过程(Markov decision
process,简称 MDP),它是最常见的对强化学习建模的方法。第 3.2 节定义策略函数,包括随机策略和确定策略。第 3.3 节分析强化学习中的随机性的两个来源。第 3.4 节定义回报和折扣回报。第 3.5 节定义动作价值函数状态价值函数。第 3.6 节介绍强化学习常用的实验环境

3.1马尔科夫决策过程

强化学习的主体被称为智能体 (agent)
环境(environment) 是与智能体交互的对象

强化学习的数学基础和建模工具是马尔可夫决策过程(Markov decision process, MDP)。一个 MDP 通常由状态空间、动作空间、状态转移函数、奖励函数、折扣因子等组成。

在每个时刻,环境有一个状态 (state),可以理解为对当前时刻环境的概括。

  • 状态空间(state space) 是指所有可能存在状态的集合,记作花体字母𝓢。

  • 动作(action) 是智能体基于当前状态所做出的决策。

  • 动作空间(action space) 是指所有可能动作的集合,记作花体字母 𝓐。

  • 奖励(reward) 是指在智能体执行一个动作之后,环境返回给智能体的一个数值。

  • 在这里插入图片描述

  • 状态转移(state transition) 是指智能体从当前 t 时刻的状态 s 转移到下一个时刻状态为 s′ 的过程。

  • 在这里插入图片描述
    在这里插入图片描述

3.2策略

策略(policy) 的意思是根据观测到的状态,如何做出决策,即如何从动作空间中选
取一个动作。
强化学习的目标就是得到一个策略函数,在每个时刻根据观测到的状态做出决策。

随机策略

在这里插入图片描述

确定策略

在这里插入图片描述

智能体与环境交互(agent environment interaction)

是指智能体观测到环境的状态s,做出动作 a,动作会改变环境的状态,环境反馈给智能体奖励 r 以及新的状态 s′。

在这里插入图片描述

回合(episodes)

“回合”的概念来自游戏,指智能体从游戏开始到通关或者结束的过程。强化学习对样本数量的要求很高,即便是个简单的游戏,也需要玩上万回合游戏才能学到好的策略。

Epoch 是一个类似而又有所区别的概念,常用于监督学习。一个 epoch 意思是用所有训练数据进行前向计算和反向传播,而且每条数据恰好只用一次。

3.3随机性的来源

这一节的内容是强化学习中的随机性。随机性有两个来源:策略函数与状态转移函数。搞明白随机性的两个来源,对之后的学习很有帮助。本书中用 S t S_t St s t s_t st 分别表示 t 时刻的状态及其观测值,用 A t A_t At a t a_t at 分别表示 t 时刻的动作及其观测值。

动作的随机性来自于随机决策。给定当前状态 s,策略函数 π ( a ∣ s ) \pi(a|s) π(as) 会算出动作空间 A 中每个动作 a 的概率值。智能体执行的动作是随机抽样的结果,所以带有随机性。

在这里插入图片描述
状态的随机性来自于状态转移函数。当状态 s 和动作 a 都被确定下来,下一个状态仍然有随机性。环境(比如游戏程序)用状态转移函数 p(s′|s, a) 计算所有可能的状态的概率,然后做随机抽样,得到新的状态。
在这里插入图片描述
奖励是状态和动作的函数。
r t = r ( s t , a t ) . r_t = r(s_t, a_t). rt=r(st,at).
如果 At 还没被观测到,或者 (St, At) 都没被观测到,那么 t 时刻的奖励就有不确定性。我们用
R t = r ( s t , A t ) R_t = r(s_t, A_t) Rt=r(st,At) R t = r ( S t , A t ) R_t = r(S_t, A_t) Rt=r(St,At)

马尔可夫性质(Markov property)︒ 上文在讲解状态转移的时候,假设状态转移具有马尔可夫性质,
在这里插入图片描述

轨迹(trajectory) 是指一回合(episode)游戏中,智能体观测到的所有的状态、动作、奖励:

在这里插入图片描述

3.4回报与折扣回报

本节介绍回报(return)和折扣回报(discounted return)这两个概念,并且讨论其随机性来源。由于回报是折扣率等于 1 的特殊折扣回报,后面的章节中用“回报”指代“折扣回报”,不再区分两者。本节我们用 Rt 和 rt 表示 t 时刻奖励随机变量及其观测值

3.4.1回报

回报(return) 是从当前时刻开始到本回合结束的所有奖励的总和,所以回报也叫做累计奖励(cumulative future reward) 。
在这里插入图片描述
强化学习的目标是最大化回报,而不是最大化当前的奖励。

3.4.2 折扣回报

在这里插入图片描述
在这里插入图片描述

3.4.3 回报中的随机性

在这里插入图片描述
在这里插入图片描述

3.4.4 有限期 MDP 和无限期 MDP

在这里插入图片描述
本书后面章节统一用 n 表示回合的长度。方便起见,我们就不再严格区分有限期和无限期的情况,即不区分 n 是有界、还是 n→∞。

3.5价值函数

这一节介绍动作价值函数 Q π ( s , a ) Q_{\pi}(s, a) Qπ(s,a)最优动作价值函数 Q ⋆ ( s , a ) Q_⋆(s, a) Q(s,a)状态价值函数 V π ( s ) V_{\pi}(s) Vπ(s)。它们都是回报的期望。

3.5.1 动作价值函数

在 t 时刻,我们不知道 U t U_t Ut 的值,而我们又想预判 Ut 的值从而知道局势的好坏。该怎么办呢?解决方案就是对 Ut 求期望,消除掉其中的随机性。
在这里插入图片描述
在这里插入图片描述
上文这里我纠结了很久为什么也依赖于状态s_t而只说a_t的作用,后来转念一想,只是说依赖于没有说只依赖于,所以就不纠结了(也有可能我理解有误)
在这里插入图片描述
(补充:更准确地说,应该叫“动作状态价值函数”,但是大家习惯性地称之为“动作价值函数”。这可能和我上面的纠结遥相呼应)

3.5.2 最优动作价值函数

在这里插入图片描述

3.5.3 状态价值函数

假设 AI 用策略函数 π 下围棋。 AI 想知道当前状态 s t s_t st(即棋盘上的格局)是否对自己有利,以及自己和对手的胜算各有多大。该用什么来量化双方的胜算呢?答案是状态价值函数(state-value function)
在这里插入图片描述

3.6实验环境

如果你设计出一种新的强化学习方法,你应该将其与已有的标准方法做比较,看新的方法是否有优势。比较和评价强化学习算法最常用的是 OpenAI Gym,它相当于计算机视觉中的 ImageNet 数据集。 Gym 有几大类控制问题,比如经典控制问题、 Atari 游戏、机器人。

  • Gym 中第一类是经典控制问题,都是小规模的简单问题,比如 Cart Pole 和 Pendulum
    Cart Pole 和 Pendulum 都是典型的无限期 MDP,即不存在终止状态。
    在这里插入图片描述
  • 第二类问题是 Atari 游戏,就是八、九十年代小霸王游戏机上拿手柄玩的那种游戏
    Atari 游戏大多是有限期 MDP,即存在一个终止状态,一旦进入该状态,则游戏会终止。
    在这里插入图片描述
  • 第三类问题是机器人连续的控制问题,比如控制蚂蚁、人、猎豹等机器人走路
    在这里插入图片描述
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

element树形控件编辑节点组装节点

需求功能&#xff1a; 编辑树节点&#xff0c;组装节点 <el-scrollbar class"scrollbar-wrapper"><el-tree :data"nodeList" ref"tree" :props"defaultProps" :expand-on-click-node"false"><template slot…

十三、队列的特性

1、队列(Queue)概述 队列可以用于"任务到任务"、"任务到中断"、"中断到任务"直接传输信息。队列涉及内容如下: 怎么创建、清楚、删除队列队列中消息如何保存怎么向队列发送数据、怎么从队列读取数据、怎么覆盖队列的数据在队列上阻塞式什么意思…

计算机毕业设计-开题报告答辩常见问题!Javaweb项目答辩

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

尚硅谷Flink(一)

目录 ☄️前置工作 fenfa脚本 &#x1f30b;概述 ☄️Flink是什么 ☄️特点&#xff08;多nb&#xff09; ☄️应用场景&#xff08;不用看&#xff09; ☄️分层API &#x1f30b;配环境 ☄️wordcount ☄️WcDemoUnboundStreaming &#x1f30b;集群部署 ☄️集…

计算机毕业设计 基于协同过滤算法的白酒销售系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

IP 协议的相关特性(部分)

IP 协议的报文格式 4位版本号&#xff1a; 用来表示IP协议的版本&#xff0c;现有的IP协议只有两个版本&#xff0c;IPv4&#xff0c;IPv6。 4位首部长度&#xff1a; 设定和TCP的首部长度一样 8位服务类型&#xff1a; &#xff08;真正只有4位才有效果&#xff09;&#xf…

【LeetCode 算法专题突破】双指针(⭐)

文章目录 前言1. 移动零题目描述代码 2. 复写零题目描述代码 3. 快乐数题目描述代码 4. 盛最多水的容器题目描述代码 5. 有效三角形的个数题目描述代码 6. 三数之和题目描述代码 7. 四数之和题目描述代码 总结 前言 学算法入门必学的一个章节&#xff0c;双指针算法&#xff0…

2023/10/15总结

学习总结 最近开始写项目了&#xff0c;然后写的过程中遇到了跨域问题。 为什么会出现跨域问题 由于浏览器的同源策略限制。同源策略是一种约定&#xff0c;它是浏览器最核心也是最基本的安全功能。如果缺少了同源策略&#xff0c;那么浏览器的正常功能可能都会收到影响。所谓…

雷电模拟器上使用第一个frida(四)第一个HOOK

经过上述三篇&#xff0c;已经可以使用python3.8.10编写代码&#xff0c;利用frida14.2.18和雷电模拟器9.0.60(9)&#xff0c;Android 9交互。 雷电模拟器上使用第一个frida&#xff08;一&#xff09;之安装-CSDN博客 雷电模拟器上使用第一个frida&#xff08;二&#xff09…

【git的使用方法】——上传文件到gitlab仓库

先进入到你克隆下来的仓库的目录里面 比如&#xff1a;我的仓库名字为zhuox 然后将需要上传推送的文件拷贝到你的克隆仓库下 这里的话我需要拷贝的项目是t3 输入命令ls&#xff0c;就可以查看该文件目录下的所有文件信息 然后输入git add 文件名 我这边输入的是 &#x…

windows内网渗透正向代理

内网渗透正向代理 文章目录 内网渗透正向代理1 正向代理图2 环境准备2.1 正向代理需求&#xff1a; 3 网卡配置3.1 【redream】主机3.2 【base】主机双网卡3.3 【yvkong】网卡设置 4 启动4.1【redream】网卡配置&#xff1a;4.2【base】网卡配置&#xff1a;4.3【yvkong】网卡地…

MQTT整合

MQTT整合 MQTT服务器软件筛选MQTT服务器软件mosquitto下载修改mosquitto配置,并启动mosquitto服务利用mosquitto工具测试订阅与发布可视化MQTT客户端工具MQTTX使用SpringBoot整合MQTT1.2.3.4.5.6.MQTT服务器软件筛选 MQ遥测传输(MQTT)是轻量级基于代理的发布/订阅的消息传输…

以数智化指标管理,驱动光伏能源行业的市场推进

近年来&#xff0c;碳中和、碳达峰等降低碳排放、提升环境健康度的政策和技术改进正在不断地被社会所认可和引起重视&#xff0c;也被越来越多的企业在生产运营和基础建设中列为重要目标之一。而光伏能源行业作为全球绿色能源、新能源的优秀解决方案&#xff0c;充分利用太阳能…

Android Studio SDKGradleJDK等工具的正确使用

AS在安装使用过程中可能会占用C盘大量空间&#xff0c;对于C盘容量本来就小的人来说非常不友好&#xff0c;其实我们可以自定义安装路径 software development kit安卓软件开发包 Android SDK是一种免费的专门编程语言&#xff0c;允许您创建Android应用程序。Android SDK由谷…

Day1力扣打卡

打卡记录 最长相邻不相等子序列 I&#xff08;脑筋急转弯&#xff09; 链接 思路&#xff1a;形如 11100110001 要达到最大&#xff0c;必须在重复数字选出一个&#xff0c;即在111中取一个1&#xff0c;在00中取一个0&#xff0c;以此类推最终便得到最长相邻不相等子序列。 c…

【Linux】shell运行原理及权限

主页点击直达&#xff1a;个人主页 我的小仓库&#xff1a;代码仓库 C语言偷着笑&#xff1a;C语言专栏 数据结构挨打小记&#xff1a;初阶数据结构专栏 Linux被操作记&#xff1a;Linux专栏 LeetCode刷题掉发记&#xff1a;LeetCode刷题 算法&#xff1a;算法专栏 C头疼…

Linux入门攻坚——3、基础命令学习-文件管理、别名、glob、重定向、管道、用户及组管理、权限管理

文件管理&#xff1a;cp&#xff0c;mv&#xff0c;rm cp&#xff1a;复制命令&#xff0c;copy cp [OPTION]... [-T] SRC DEST cp [OPTION]... SRC... DIRECTORY cp [OPTION]... -t DIRECTORY DEST... 如果目标不存在&#xff0c;新建DEST&#xff0c;并将…

笔试算法题ACM模式输入输出处理

1. Python input之后得到的全是string类型&#xff0c;数字需要用int(n)进行转换 读取单个数 n int(input()) 读取一串数组&#xff1a; nums [int(n) for n in input().split()] &#xff08;nums是个数组&#xff09; 读取字符串&#xff1a; stringinput().split(…

qt笔记之qml下拉标签组合框增加发送按钮发送标签内容

qt笔记之qml下拉标签组合框增加发送按钮发送标签内容 code review! 文章目录 qt笔记之qml下拉标签组合框增加发送按钮发送标签内容1.运行2.文件结构3.main.qml4.main.cc5.MyClass.h6.MyClass.cc7.CMakeLists.txt8.ComboBox.pro9.qml.qrc 1.运行 2.文件结构 3.main.qml 代码 …

【1314. 矩阵区域和】

目录 一、题目描述二、算法思想三、代码实现 一、题目描述 二、算法思想 三、代码实现 class Solution { public:vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) {//先预处理数组int nmat.size();//行int mmat[0].size();…