【RL】Basic Concepts in Reinforcement Learning

news2024/9/23 13:18:26

Lecture1: Basic Concepts in Reinforcement Learning

MDP(Markov Decision Process)

Key Elements of MDP

Set

State: The set of states S \mathcal{S} S(状态 S \mathcal{S} S的集合)

Action: the set of actions A ( s ) \mathcal{A}(s) A(s) is associated for state s ∈ S s \in \mathcal{S} sS(对应于状态 s ∈ S s \in \mathcal{S} sS 的行为集合 A ( s ) \mathcal{A(s)} A(s)

Reward: the set of rewards R ( s , a ) \mathcal{R}(s, a) R(s,a)(对应于某一状态 s ∈ S s \in \mathcal{S} sS 和在该状态的某一行为 a ∈ A ( s ) a \in \mathcal{A}(s) aA(s)的奖励分数,是一个实数)

Probability distribution

State transition probability: at state s s s ,taking action a a a, the probability to transit to state s ′ s' s is (状态转移概率,在状态 s s s,行为 a a a,转移到状态 s ′ s' s的概率)
p ( s ′ ∣ s , a ) p(s' | s, a) p(ss,a)
Reward probability: at state s s s, taking action a a a, the probability to get reward r r r is (在状态 s s s,行为 a a a,得到的奖励分数 r r r
p ( r ∣ s , a ) p(r | s, a) p(rs,a)

Policy

Policy: at state s s s, the probability to choose action a a a is(在状态 s ∈ S s \in \mathcal{S} sS,选择状态 a ∈ A ( s ) a \in \mathcal{A}(s) aA(s)的概率)
π ( a ∣ s ) \pi (a | s) π(as)

Markov Property

Markov property: memoryless property (无记忆性;无后效性)
p ( s t + 1 ∣ a t + 1 , s t , . . . , a 1 , s 0 ) = p ( s t + 1 ∣ a t + 1 , s t ) p ( r t + 1 ∣ a t + 1 , s t , . . . , a 1 , s 0 ) = p ( r t + 1 ∣ a t + 1 , s t ) p(s_{t + 1} | a_{t + 1}, s_t, ..., a_1, s_0) = p(s_{t + 1} | a_{t + 1}, s_t) \\ p(r_{t + 1} | a_{t + 1}, s_t, ..., a_1, s_0) = p(r_{t + 1} | a_{t + 1}, s_t) p(st+1at+1,st,...,a1,s0)=p(st+1at+1,st)p(rt+1at+1,st,...,a1,s0)=p(rt+1at+1,st)

Grid-World Example

以grid-world为例对上面例子进行解释

请添加图片描述

Key Elements

state: 每个表格所在的位置即为state, 因此其有9个state s 1 , s 2 , . . . , s 9 s_1, s_2, ..., s_9 s1,s2,...,s9

每个表格所在的位置即为state, 因此其有9个state s 1 , s 2 , . . . , s 9 s_1, s_2, ..., s_9 s1,s2,...,s9

state space S = { s i } i = 1 9 \mathcal{S} = \{ s_i \}^9_{i=1} S={si}i=19

action:对于每一个state,有五个可能的action

  • a 1 a_1 a1: move upwards
  • a 2 a_2 a2: move rightwards
  • a 3 a_3 a3: move downwards
  • a 4 a_4 a4: move leftwards
  • a 5 a_5 a5: stay unchanged

Action space of a state:特定state其所有可能的action的集合 A ( s ) = { a i } i = 1 5 \mathcal{A}(s)= \{ a_i \}^5_{i=1} A(s)={ai}i=15

state transition

当采取action时,agent可能会从一个state转移到另一个state。例如 s 1 ⟶ a 2 s 1 s_1 \stackrel{a_2}{\longrightarrow}s_1 s1a2s1

  • tubular representation: 使用表格表示state transition

    请添加图片描述

  • state transition probability: 使用概率描述state transition

    • intuition: 在state s 1 s_1 s1,如果选择action a 2 a_2 a2,下一个state是 s 2 s_2 s2

    • math:
      p ( s 2 ∣ s 1 , a 2 ) = 1 p ( s i ∣ s 1 , a 2 ) = 0        ∀ ≠ 2 \begin{align*} &p(s_2 | s_1, a_2) = 1\\ &p(s_i | s_1, a_2) = 0 \;\;\; \forall \ne 2 \end{align*} p(s2s1,a2)=1p(sis1,a2)=0=2

Policy

告诉agent在某个state下要采取什么action。

直观表示如下图所示:

在这里插入图片描述

基于以上policy,针对不同的start area和end area,最优路径如下:

在这里插入图片描述

mathematical representation: 使用条件概率表示
π ( a 1 ∣ s 1 ) = 0 π ( a 2 ∣ s 1 ) = 1 π ( a 3 ∣ s 1 ) = 0 π ( a 4 ∣ s 1 ) = 0 π ( a 5 ∣ s 1 ) = 0 \pi(a_1 | s_1) = 0\\ \pi(a_2 | s_1) = 1 \\ \pi(a_3 | s_1) = 0 \\ \pi(a_4 | s_1) = 0 \\ \pi(a_5 | s_1) = 0 \\ π(a1s1)=0π(a2s1)=1π(a3s1)=0π(a4s1)=0π(a5s1)=0
其上为确定概率,也有随机概率:

在这里插入图片描述

π ( a 1 ∣ s 1 ) = 0 π ( a 2 ∣ s 1 ) = 0.5 π ( a 3 ∣ s 1 ) = 0.5 π ( a 4 ∣ s 1 ) = 0 π ( a 5 ∣ s 1 ) = 0 \begin{align*} &\pi(a_1 | s_1) = 0\\ &\pi(a_2 | s_1) = 0.5 \\ &\pi(a_3 | s_1) = 0.5 \\ &\pi(a_4 | s_1) = 0 \\ &\pi(a_5 | s_1) = 0 \\ \end{align*} π(a1s1)=0π(a2s1)=0.5π(a3s1)=0.5π(a4s1)=0π(a5s1)=0
tabular representation: 使用表格表示

在这里插入图片描述

Reward

在采取某个action后得到的实数

  • 正数代表鼓励去采取这种action
  • 复数代表惩罚采取这种action
  • 零代表不鼓励不惩罚

对于grid-world样例,reward可以设计成以下四种:

  • 如果agent尝试逃出表格边界: r r o u n d = − 1 r_{round}=-1 rround=1
  • 如果agent尝试进入禁区(蓝色方块): r f o r b i d = − 1 r_{forbid}=-1 rforbid=1
  • 如果agent到达目标单元: r t a r g e t = 1 r_{target}=1 rtarget=1
  • 其他情况: r = 0 r=0 r=0

reward可以理解为human-machine interface,通过它我们可以引导agent按照我们的期望行事。

  • tabular representation:

    在这里插入图片描述

  • Mathematical description:
    p ( r = − 1 ∣ s 1 , a 1 ) = 1 p ( r ≠ − 1 ∣ s 1 , a 1 ) = 0 p(r=-1 | s_1, a_1) = 1 \\ p(r \ne -1 | s_1, a_1) = 0 p(r=1∣s1,a1)=1p(r=1∣s1,a1)=0

Trajectory and Return

如下图:

在这里插入图片描述

trajectory 是一个state-action-reward 链:
s 1 → r = 0 a 2 s 2 → r = 0 a 3 s 5 → r = 0 a 3 s 8 → r = 1 a 2 s 9 s_1 \xrightarrow[r=0]{a_2} s_2\xrightarrow[r=0]{a_3} s_5\xrightarrow[r=0]{a_3} s_8\xrightarrow[r=1]{a_2} s_9 s1a2 r=0s2a3 r=0s5a3 r=0s8a2 r=1s9
return是沿该轨迹收集的所有奖励的总和:
return = 0 + 0 + 0 + 1 = 1 \text{return}=0 + 0 + 0 + 1 = 1 return=0+0+0+1=1

Discounted return

对于下图trajectory :

在这里插入图片描述

其可以定义为:
s 1 → a 2 s 2 → a 3 s 5 → a 3 s 8 → a 2 s 9 → a 5 s 9 → a 5 s 9 . . . s_1 \xrightarrow[]{a_2} s_2 \xrightarrow[]{a_3} s_5 \xrightarrow[]{a_3} s_8 \xrightarrow[]{a_2} s_9 \xrightarrow[]{a_5} s_9 \xrightarrow[]{a_5} s_9 ... s1a2 s2a3 s5a3 s8a2 s9a5 s9a5 s9...
return为:
return = 0 + 0 + 0 + 1 + 1 + 1 + . . . = ∞ \text{return} = 0 + 0 + 0 + 1 + 1 + 1 + ... = \infty return=0+0+0+1+1+1+...=
需要引入discount rate γ ∈ [ 0 , 1 ) \gamma \in [0, 1) γ[0,1)

discount return:
discount return = 0 + γ 0 + γ 2 0 + γ 3 1 + γ 4 1 + . . . = γ 3 ( 1 + γ + γ 2 + . . . ) = γ 3 1 1 − γ \begin{align*} \text{discount return} &= 0 + \gamma0 + \gamma^20 + \gamma^31 + \gamma^41 + ... \\ & = \gamma^3(1 + \gamma + \gamma^2 + ...)\\ &=\gamma^3 \frac{1}{1 - \gamma} \end{align*} discount return=0+γ0+γ20+γ31+γ41+...=γ3(1+γ+γ2+...)=γ31γ1

  • 如果 γ \gamma γ接近于0,则discounted return的值主要由近期获得的reward决定。
  • 如果 γ \gamma γ接近于1,则discounted return的值主要由远期获得的reward决定。

Episode

当遵循policy与环境交互时,agent可能会停在某些terminal states。 由此产生的轨迹称为一个episode(或一次trail)。

在这里插入图片描述

如上图,episode为:
s 1 → r = 0 a 2 s 2 → r = 0 a 3 s 5 → r = 0 a 3 s 8 → r = 1 a 2 s 9 s_1 \xrightarrow[r=0]{a_2} s_2\xrightarrow[r=0]{a_3} s_5\xrightarrow[r=0]{a_3} s_8\xrightarrow[r=1]{a_2} s_9 s1a2 r=0s2a3 r=0s5a3 r=0s8a2 r=1s9

一个episode通常被假设为一个有限的trajectory。 具有episodes的任务称为episodic tasks

有些任务可能没有终止状态(terminal states),这意味着与环境的交互永远不会结束。 此类任务称为连续任务(continuing tasks)

事实上,可以通过将episodic 任务转换为连续任务,以统一的数学方式来处理episodic任务和连续任务。

  • 选择1:将目标状态视为特殊的吸收状态(absorbing state)。 一旦agent达到吸收状态,它就永远不会离开。 随之而来的奖励 r = 0 r = 0 r=0
  • 选择2:将目标状态视为具有策略的正常状态。 agent仍然可以离开目标状态,并在进入目标状态时获得 r = + 1 r = +1 r=+1

选择2是较多人选择的方法。

Markov decision process (MDP)

在这里插入图片描述

grid-world可以抽象为一个更通用的模型,即马尔可夫过程。

圆圈代表state,带箭头的链接代表state transition。
一旦给出policy,马尔可夫决策过程就变成马尔可夫过程。



以上内容为B站西湖大学智能无人系统 强化学习的数学原理 公开课笔记。

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

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

相关文章

奚梦瑶何猷君香港共度佳节,幸福全家福彰显深厚亲情。

♥ 为方便您进行讨论和分享,同时也为能带给您不一样的参与感。请您在阅读本文之前,点击一下“关注”,非常感谢您的支持! 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 从奚梦瑶父母与赌王家族的全家福中,我们可感受到两…

图灵之旅--二叉树堆排序

目录 树型结构概念树的表示形式 二叉树概念特殊的二叉树二叉树性质二叉树的存储二叉树的遍历前中后序遍历 优先级队列(堆)概念 优先级队列的模拟实现堆的性质概念堆的存储方式堆的创建 堆常用接口介绍PriorityQueue的特性PriorityQueue常用接口介绍优先级队列的构造插入/删除/获…

【Linux笔记】文件系统与软硬链接

一、文件系统概述 1.1、先来聊一聊“磁盘” 在讲解文件系统之前,我觉得有必要先聊一下“磁盘”,因为我觉得如果弄懂了磁盘的存储原理,大家可能更容易理解文件系统是怎么管理数据的,并且理解计算机是怎么将磁盘抽象到文件系统的。…

SpringBoot多模块项目proguard混淆

SpringBoot多模块项目proguard混淆 前言整活项目目录混淆后的效果图混淆配置混淆配置规则keep相关通配符和关键字keep说明常见问题解决办法效果前言 proguard 是压缩、优化和混淆Java字节码文件的免费的工具。 它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大…

156基于Matlab的光纤陀螺随机噪声和信号

基于Matlab的光纤陀螺随机噪声和信号,利用固定步长和可调步长的LMS自适应滤波、最小二乘法、滑动均值三种方法进行降噪处理,最后用阿兰方差评价降噪效果。程序已调通,可直接运行。 156 信号处理 自适应滤波 降噪效果评估 (xiaohongshu.com)

【Linux工具篇】调试器gdb

目录 releaseVSdebug模式 使用命令 NO1运行 NO2查看 NO3断点 总结 releaseVSdebug模式 程序的发布方式有两种,debug模式和release模式Linux gcc/g出来的二进制程序,默认是release模式Linux gcc/g要使其debug模式编译,加上-g选项要使用g…

Kuberntes权威指南

一、目录 二、Kubernetes入门 三、Kubernetes核心原理 四、Kubernetes开发指南 五、Kubernetes运维指南 六、Kubernetes高级案例进阶 七、Kubernetes源码导读

【Java程序设计】【C00247】基于Springboot的农机电招平台(有论文)

基于Springboot的农机电招平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的农机电招平台 本系统分为系统功能模块、管理员功能模块、农机机主功能模块以及使用者功能模块。 系统功能模块:农机电招…

验证码倒计时:用户界面的小细节,大智慧

欢迎来到我的博客,代码的世界里,每一行都是一个故事 验证码倒计时:用户界面的小细节,大智慧 前言为什么需要验证码倒计时防止滥用:用户心理: 设计考量可见性:友好性:适应性&#xff…

大数据学习之Redis,十大数据类型的具体应用(五)

目录 3.9 Redis地理空间(GEO) 简介 原理 Redis在3.2版本以后增加了地理位置的处理哦 命令 命令实操 如何获得某个地址的经纬度 3.9 Redis地理空间(GEO) 简介 移动互联网时代LBS应用越来越多,交友软件中附近的…

linux、windows 安装 vue-cli

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 vue/cli 实现的交互式的项目脚手架。 通过 vue/cli vue/cli-service-global 实现的零配置原型开发。 一个运行时依赖 (vue/cli-service) 可升级; 基于 webpack 构建&#…

【C++】win11,OpenCV安装教程(VS2022)

1.下载 首先进入官网,下载对应的安装包,苹果系统就选IOS pack,微软系统就选Windows 下载地址:Releases - OpenCV 不方便外网下载的话可以下载我分享的百度网盘资源: 链接:https://pan.baidu.com/s/1lV7l…

2024年考PMP还有什么用?

PMP 是项目管理专业人士资格认证的意思,也是项目管理领域通用的证书, 做项目的基本都会去考。 要说 PMP 有啥作用? 个人感觉 PMP 证书更多的是跳槽、转行的敲门砖的作用,因为现在很多公司都要 PMP 证书,有了可以加分…

C#向数组指定索引位置插入新的元素值:自定义插入方法 vs List<T>.Add(T) 方法

目录 一、使用的方法 1.自定义插入方法 2.使用List.Add(T) 方法 二、实例 1.示例1:List.Add(T) 方法 2.示例:自定义插入方法 一、使用的方法 1.自定义插入方法 首先需要定义一个一维数组,然后修改数组的长度(这里使用Length属性获取…

uniapp 使用renderjs引入echarts

效果图&#xff1a; 1.1renderjs引入echarts 组件zmui-echarts.vue&#xff1a; <template><view class"zmui-echarts" :prop"option" :change:prop"echarts.delay"></view> </template><script>export defaul…

Qt代码添加日志管理的模块功能

在程序中一般需要添加日志管理的记录&#xff0c;在学习Httpserver的过程中&#xff0c;学习到了日志管理模块&#xff0c;将QtwebApp的日志模块提取出来可作为一般性程序的日志管理&#xff0c;记录实验的过程&#xff0c;项目源代码也附在后面。 项目运行结果 项目代码结构 参…

一周学会Django5 Python Web开发-Django5介绍及安装

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计10条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

进阶C语言-通讯录的实现

通讯录 🎈1.设计要求🎈2.程序实现🔭2.1打印菜单及初始化通讯录🔭2.2显示所有联系人🔭2.3查找指定的联系人🔭2.4删除指定的联系人🔭2.5查找指定的联系人🔭2.6修改指定联系人🔭2.7按照年龄排序(以此为例)🎈3.全部源码以及实现🎈1.设计要求 🌞通过前面…

2.4-学成在线内容管理之项目实战

内容管理模块 文章目录 内容管理模块9 项目实战9.1 实战环境9.1.1 实战流程 9.2 删除课程计划9.2.1 需求分析9.2.2 接口定义9.2.3 接口开发9.2.4 接口测试 9.3 课程计划排序9.3.1 需求分析9.3.2 接口定义9.3.3 接口开发9.3.4 接口测试 9.4 师资管理9.4.1 需求分析9.4.2 接口定义…

第2节、让电机转起来【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】&#xff0c;查看本系列全部文章 摘要&#xff1a;本节介绍用简单的方式&#xff0c;让步进电机转起来。其目的之一是对电机转动有直观的感受&#xff0c;二是熟悉整个开发流程。本系列教程必要的51单片机基础包括IO口操作、中断、定时器三个部分&#…