RL Note 1, Basic Concepts in Reinforcement Learning

news2024/11/30 6:38:00

Basic Concepts in Reinforcement Learning

A grid-world example

在这里插入图片描述
在该图中:

  • 格子被分为三类:可访问的格子、禁止访问的格子、目标格子
  • 角色被称为 agent
  • agent 的任务就是从 start 开始找到一条“正确”的路径到达 target
  • agent 无法越过边界,当 agent 采取越过边界的行为时其会停留在原地

State

将上图中 agent 所处的不同格子定义为不同的 state,定义如下图所示。
在这里插入图片描述
State space 可以定义为: S = { s i } i = 1 9 \mathcal{S}=\{s_i\}_{i=1}^9 S={si}i=19

Action

agent 在每一个 state 都有 5 种可采取的 actionaction 的定义如下:

  • a 1 a_1 a1:向上移动
  • a 2 a_2 a2:向右移动
  • a 3 a_3 a3:向下移动
  • a 4 a_4 a4:向左移动
  • a 5 a_5 a5:待在原地


每一个 state 都有一个对应的 action space,其定义为: A ( s i ) = { a i } i = 1 5 \mathcal{A}(s_i)=\{a_i\}_{i=1}^5 A(si)={ai}i=15

State transition

state transition 用于表示 agent 采取 action 之后的 state 变化

例如, s 1 ⟶ a 2 s 2 s_1\stackrel{a_2}{\longrightarrow}s_2 s1a2s2表示 agent s 1 s_1 s1 采取 a 2 a_2 a2 之后 state 将会转换到 s 2 s_2 s2

例如, s 1 ⟶ a 1 s 1 s_1\stackrel{a_1}{\longrightarrow}s_1 s1a1s1表示 agent s 1 s_1 s1 采取 a 1 a_1 a1 之后 state 将会转换到 s 1 s_1 s1

用表格表示:

a 1 a_1 a1 a 2 a_2 a2 a 3 a_3 a3 a 4 a_4 a4 a 5 a_5 a5
s 1 s_1 s1 s 1 s_1 s1 s 2 s_2 s2 s 4 s_4 s4 s 1 s_1 s1 s 1 s_1 s1
s 2 s_2 s2 s 2 s_2 s2 s 3 s_3 s3 s 5 s_5 s5 s 1 s_1 s1 s 2 s_2 s2
s 3 s_3 s3 s 3 s_3 s3 s 3 s_3 s3 s 6 s_6 s6 s 2 s_2 s2 s 3 s_3 s3
s 4 s_4 s4 s 1 s_1 s1 s 5 s_5 s5 s 7 s_7 s7 s 4 s_4 s4 s 4 s_4 s4
s 5 s_5 s5 s 2 s_2 s2 s 6 s_6 s6 s 8 s_8 s8 s 4 s_4 s4 s 5 s_5 s5
s 6 s_6 s6 s 3 s_3 s3 s 6 s_6 s6 s 9 s_9 s9 s 5 s_5 s5 s 6 s_6 s6
s 7 s_7 s7 s 4 s_4 s4 s 8 s_8 s8 s 7 s_7 s7 s 7 s_7 s7 s 7 s_7 s7
s 8 s_8 s8 s 5 s_5 s5 s 9 s_9 s9 s 8 s_8 s8 s 7 s_7 s7 s 8 s_8 s8
s 9 s_9 s9 s 6 s_6 s6 s 9 s_9 s9 s 9 s_9 s9 s 8 s_8 s8 s 9 s_9 s9

用数学表示:
p ( s 2 ∣ s 1 , a 2 ) = 1 p ( s i ∣ s 1 , a 2 ) = 0 ∀ i ≠ 2 \begin{aligned} p(s_2|s_1,a_2)&=1\\ p(s_i|s_1,a_2)&=0\quad\forall{i}\neq 2 \end{aligned} p(s2s1,a2)p(sis1,a2)=1=0i=2

Policy

Policy 表示在某一个 state agent 需要采取的 action

Deterministic policy

如使用下图表示 agent 在某一个 state 采取的 action,其中箭头表示 agent 采取的 action

在这里插入图片描述

对于 s 1 s_1 s1policy 可用数学表示:
π ( 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

Stochastic policy

在这里插入图片描述

对于 s 1 s_1 s1policy 可以表示为:
π ( 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{aligned} \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{aligned} π(a1s1)π(a2s1)π(a3s1)π(a4s1)π(a5s1)=0=0.5=0.5=0=0

Reward

Reward 是 RL 中最为特殊的一个概念,是 agent 采取某一个 action 之后得到的一个具体的值,该值可正可负。一般情况下,当值为正数的时候,表示鼓励 agent 采取这种 action;当值为负数的时候,表示惩罚 agent 采取这种 action

在这里插入图片描述

将 grid-world 中的 reward 定义为:

  • 如果 agent 试图越过边界, r b o u n d = − 1 r_{bound}=-1 rbound=1
  • 如果 agent 进入了一个禁止访问的格子, r f o b i d = − 1 r_{fobid}=-1 rfobid=1
  • 如果 agent 到达了目标格子, r t a r g e t = + 1 r_{target}=+1 rtarget=+1
  • 其他情况, r = 0 r=0 r=0

例如,agent state s 1 s_1 s1 采取了 action a 1 a_1 a1,那么其 reward − 1 -1 1,可用数学表示为: p ( r = − 1 ∣ s 1 , a 1 ) = 1 p(r=-1|s_1,a_1)=1 p(r=1∣s1,a1)=1 p ( r ≠ − 1 ∣ s 1 , a 1 ) = 0 p(r\neq-1|s_1,a_1)=0 p(r=1∣s1,a1)=0

Trajectory and return

在这里插入图片描述

trajectory 是一条 state-action-reward 链路:
s 1 ⟶ a 2 r = 0 s 2 ⟶ a 3 r = 0 s 5 ⟶ a 3 r = 0 s 8 ⟶ a 2 r = 1 s 9 s_{1} \underset{r=0}{\stackrel{a_{2}}{\longrightarrow}} s_{2} \underset{r=0}{\stackrel{a_{3}}{\longrightarrow}} s_{5} \underset{r=0}{\stackrel{a_{3}}{\longrightarrow}} s_{8} \underset{r=1}{\stackrel{a_{2}}{\longrightarrow}} s_{9} s1r=0a2s2r=0a3s5r=0a3s8r=1a2s9
一个 trajectoryreturn 是其所有 reward 的和:
r e t u r n = 0 + 0 + 0 + 1 = 1 \mathrm{return}=0+0+0+1=1 return=0+0+0+1=1

Discounted return

在这里插入图片描述

一个 trajectory 可能是无穷的:
s 1 ⟶ a 2 r = 0 s 2 ⟶ a 3 r = 0 s 5 ⟶ a 3 r = 0 s 8 ⟶ a 2 r = 1 s 9 ⟶ a 5 r = 1 s 9 ⟶ a 5 r = 1 s 9 ⋯ s_{1} \underset{r=0}{\stackrel{a_{2}}{\longrightarrow}} s_{2} \underset{r=0}{\stackrel{a_{3}}{\longrightarrow}} s_{5} \underset{r=0}{\stackrel{a_{3}}{\longrightarrow}} s_{8} \underset{r=1}{\stackrel{a_{2}}{\longrightarrow}} s_{9} \underset{r=1}{\stackrel{a_{5}}{\longrightarrow}} s_{9} \underset{r=1}{\stackrel{a_{5}}{\longrightarrow}} s_{9} \cdots s1r=0a2s2r=0a3s5r=0a3s8r=1a2s9r=1a5s9r=1a5s9
return 是:
r e t u r n = 0 + 0 + 0 + 1 + 1 + 1 + ⋯ = ∞ \mathrm{return}=0+0+0+1+1+1+\cdots=\infty return=0+0+0+1+1+1+=
对于这种情况,需要引入 discount rate γ ∈ [ 0 , 1 ) \gamma\in[0,1) γ[0,1),则引入 discount ratereturn 称为 discounted return
d i s c o u n t e d   r e t u r n = 0 + γ 0 + γ 2 0 + γ 3 1 + γ 4 1 + γ 5 1 + … = γ 3 ( 1 + γ + γ 2 + …   ) = γ 3 1 1 − γ \begin{aligned} \mathrm{discounted\ return}&=0+\gamma0+\gamma^20+\gamma^31+\gamma^41+\gamma^51+\dots\\ &=\gamma^3(1+\gamma+\gamma^2+\dots)\\ &=\gamma^3\frac{1}{1-\gamma} \end{aligned} discounted return=0+γ0+γ20+γ31+γ41+γ51+=γ3(1+γ+γ2+)=γ31γ1

Episode

agent 按照某中 policy 行动,最终停在某个终止 state,则称这整个 trajectory 为一个 episode。一个 episode 通常是有限的。

在这里插入图片描述

实际上,一些任务可能没有终止 state,意味着这项任务永远不会终止,这种任务称为 continuing task

Markov decision process (MDP)

MDP 的主要组成部分:

  • 集合:

    • state:state space S \mathcal{S} S
    • action:action space A ( s ) \mathcal{A}(s) A(s)
    • reward:reward space R ( s , a ) \mathcal{R}(s,a) R(s,a)
  • 条件概率分布:

    • state transition probability: p ( s ′ ∣ s , a ) p(s'|s,a) p(ss,a)
    • reward probability: p ( r ∣ s , a ) p(r|s,a) p(rs,a)
  • Policy: π ( a ∣ s ) \pi(a|s) π(as)

  • Markov property: memoryless property
    p ( s t + 1 ∣ a t , s t , … , a 0 , s 0 ) = p ( s t + 1 ∣ a t , s t ) p ( r t + 1 ∣ a t , s t , … , a 0 , s 0 ) = p ( r t + 1 ∣ a t , s t ) p(s_{t+1}|a_t,s_t,\dots,a_0,s_0)=p(s_{t+1}|a_t,s_t)\\ p(r_{t+1}|a_t,s_t,\dots,a_0,s_0)=p(r_{t+1}|a_t,s_t) p(st+1at,st,,a0,s0)=p(st+1at,st)p(rt+1at,st,,a0,s0)=p(rt+1at,st)

在这里插入图片描述

grid-world 例子可以抽象为一个 Markov process

其中圆圈表示 state,箭头表示 state transition

policy 给定时,Markov decision process 就成为 Markov process

Summary

Note 1 主要介绍了 RL 的一些基本概念和术语,分别是:

  • State
  • Action
  • State transition,state transition probability p ( s ′ ∣ s , a ) p(s'|s,a) p(ss,a)
  • Reward,reward probability p ( r ∣ s , a ) p(r|s,a) p(rs,a)
  • Trajectory,episode,return,discount return
  • Markov decision process

Reference

【强化学习的数学原理】课程:从零开始到透彻理解(完结)

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

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

相关文章

创建多线程常用的三种方式

三种常用多线程实现方式 1. 继承Thread类 继承Thread线程类并且重写run方法无线程任务返回值 2. 实现Runnable接口 实现Runnable接口并且重写run方法无线程任务返回值 3. 实现Callable接口和通过Futrue接口实现类(FutrueTask) 实现Callable接口(泛型数据类型对应call方法的返回…

(2020,DA)用于数据高效 GAN 训练的可鉴别数据增强(Differentiable Augmentation)

Differentiable augmentation for data-efficient gan training 公众号:EDPJ 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 3.1 重温数据增强 3.2 GAN 的可鉴别增强 4. 实验 4.1 ImageNet 4.2 FFHQ 和 LSUN-Cat 4.3 CIFAR-10 和 CIFAR-100 4.4 low-sho…

GPU服务器傻瓜式安装Anaconda,pytorch,tensorflow

1.下载Anaconda安装包,官网地址,清华源地址。 在官网下载到本地之后,可以通过文件传输上传安装包到服务器,使用清华源地址可以直接使用wget下载所需版本,例如: wget https://mirrors.tuna.tsinghua.edu.c…

Java之旅(三)

Java 输出:println()、print() 使用 println() 方法在 Java 中输出值或打印文本。 System.out.println("Hello World!"); println() 可以根据需要添加任意数量的方法。请注意,它将为每个方法添加一个新行: System.out.println(&…

静电测试仪:如何简单高效地测量静电电荷?

静电电荷是在两种不同材料之间接触或分离时,由电子或离子转移所产生的电荷。静电电荷的存在,可能导致许多不良的影响,比如产品损坏、设备失灵甚至是人员受伤。因此,测量静电电荷量成为提升产品质量、工作环境的必要步骤之一。而静…

【PCIE体系结构十二】链路训练的相关基础前菜

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考书籍:《PCI.EXPRESS系统体系结构标准教材 Mindshare》 目录 物理…

linuxOPS基础_Linux系统的文件目录结构及用途

linux系统文件目录结构 Linux 系统不同于 Windows,没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中…

如何使用高扩展组件制作APP原型的标签栏?

原型项目中的组件(亦称元件、控件),是指通过基础图层拼装而成,可供用户进行交互或用于展示复杂内容的元素。 在原型设计工作中,组件的使用是非常重要的部分,其不仅关乎项目内容的呈现,更会影响…

网络货运平台源码 管理平台端+司机端APP+货主端APP源码

网络货运平台系统源码,网络货运平台源码 管理平台端司机端APP货主端APP 遵循政策要求的八项基本功能,结合货主、实际承运人、监管方等多方业务场景,构建人、车、货、企一体的标准化网络货运平台系统。具有信息发布、线上交易、全程监控、金融…

网络安全工程师能拿高薪的秘密!

网络安全是一门具有很强实践性的学科,但是网络安全传统过程对实践能力培养环节比较薄弱,缺少适应新需求的实践与创新平台。所以,很多网络安全专业的学生学习的基本都是理论知识,而最重要的实战能力薄弱。仅仅只会一点基础的专业知…

景区虚拟人智能互动导览提升客户服务体验

数字化浪潮下,文旅产正积极拥业数字化转型。虚拟数字人作为元宇宙的交互入口,其在文旅产业中的应用,对文旅产业的发展具有非常重要的意义。将超写实虚拟人化身为景点讲解员有哪些好处呢? 视觉冲击力更强,吸引眼球 超写实虚拟人的…

jvm之JMX

写在前面 本文来看先jmx相关内容。 1:jmx介绍 jvm在运行的过程中有很多的信息,比如堆内存,线程数,加载的类信息,CPU的使用量等,如果我们想要将这些信息暴漏让外界获取,该怎么做呢?此时就需要…

springAop原理分析-动态代理对象创建过程分析

概念 AspectJ Aspect 切面(由多个切点组成,多个点组成面) 启用AspectJ支持后,Spring 会自动检测出在应用程序上下文中定义的任何 Bean,如下使用Aspect 定义的一个切面示例。 package org.xyz; import org.aspectj.…

STM8、STM8S003F3P6 实现PWM控制电机HAS10227

背景 有个项目需要控制一台风机的转速,使用STM8S003F3P6 输出PWM控制,这里就详细记录一下调试记录 原理图 原理图比较简单,电机接口CN3 电机接口原理图 与MCU管脚连接位置如下图 首先我们要明白电机的原理 电机 简单来说就是 实现电能与…

闲置手机建站 - 安卓Termux+Hexo搭建属于你自己博客网站【cpolar实现公网访问】

文章目录 1. 安装 Hexo2. 安装cpolar内网穿透3. 公网远程访问4. 固定公网地址 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并…

助力工业物联网,工业大数据之一站制造业务主题划分【十三】

文章目录 01:一站制造业务主题划分02:一站制造业务维度设计03:一站制造业务主题维度矩阵 01:一站制造业务主题划分 目标:掌握一站制造的主题域及主题的划分实施 来源 主题域划分:业务或者部门划分 业务&am…

PHP基于xlswriter支持无限表头层级Excel导出

本章介绍基于PHP扩展xlswriter的Vtiful\Kernel\Excel类可以支持无限层级的复杂表头导出! 废了九牛二虎之力,终于把这个功能类写完了…后续会持续更新优化 准备xlswriter扩展 windows系统: 到PECL网站下载符合自己本地PHP环境的ddl文件下载地…

Java内部类(成员内部类、静态嵌套类、方法内部类、匿名内部类)

文章目录 一、内部类的共性二、为什么需要内部类三、静态内部类(静态嵌套类)四、成员内部类五、局部内部类(方法内部类)六、匿名内部类 Java 类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类…

WSL2+windows terminal

WSL2的安装与使用-Windows与Linux双系统的新选择 既要使用Windows系统满足日常生活,协作办公,又要使用Linux系统满足开发工作,双系统来回重启好麻烦,双主机成本高,远程服务器好多限制,WSL也许是更好的解决…

“智慧赋能 强链塑链”——打造电力特色智慧供应链体系

构建业务数智化、资源集约化、运营一体化、发展绿色化的智慧供应链体系,是电力企业实现智慧供应链建设的使命和目标。同时,在国内外双循环、一带一路、建立统一大市场的政策背景推动下,企业经营和居民生活对电力的需求仍然强劲并持续增长&…