首页 > 其他分享 >强化学习(Reinforcement Lrarning,RL)02:马尔科夫决策过程

强化学习(Reinforcement Lrarning,RL)02:马尔科夫决策过程

时间:2024-06-21 17:59:55浏览次数:15  
标签:02 ... 动作 .. 状态 Reinforcement 奖励 智能 RL

强化学习(Reinforcement Lrarning,RL)02:马尔科夫决策过程

强化学习(Reinforcement Lrarning,RL)02:马尔科夫决策过程

马尔科夫决策过程(Markov Decision Proocess, MDP)是强化学习和决策理论中的一个核心概念,通过引入决策(动作)以及奖励机制来模型化智能体在不确定环境中的决策问题,旨在找到一个最优策略,使得智能体在长期中获得的累计奖励最大

本文的马尔科夫决策过程的相关概念将在自定义的一个网格世界(Grid World)中进行阐述,如下图所示:

网格世界

在这个网格世界中,白色区域为普通区域,红色区域 为禁止区域,进入会获得相应惩罚,绿色区域为目标区域,进入会获得一定奖励。其中,动作的主体称作智能体(Agent),智能体可以在网格世界中上、下、左、右移动 。

规定: 若智能体试图越出边界,将会被反弹。例如,当智能体处于 s 1 s_1 s1​ 时,若向上移动,则会被反弹而停留在 s 1 s_1 s1​,相当于又进入了 s 1 s_1 s1​ 一次。

注意: 本文中大写字母均表示随机变量,对应的小写字母则为随机变量的采样值。

状态与状态空间

状态(State): 对当前环境的概括,用 s s s 表示。 在上述网格世界中,可以简单理解为智能体所处的位置,如 s 1 , s 2 , . . . s_1,s_2,... s1​,s2​,... 都被称作为智能体的状态。

状态空间(State Space): 当前环境中,所有状态的集合,用花体字母 S S S 表示。在网格世界中, S = { s i } i = 1 9 = { s 1 , s 2 , . . . , s 8 , s 9 } S=\{s_i\}_{i=1}^{9}=\{s_1,s_2,...,s_8,s_9\} S={si​}i=19​={s1​,s2​,...,s8​,s9​} 。

动作与动作空间

动作

动作(Action): 指智能体做出的决策,用 a a a 表示。网格世界中,智能体可以上、下、左、右进行移动,记 a 0 a_0 a0​= 停在原地, a 1 a_1 a1​= 向上移动, a 2 a_2 a2​= 向右移动, a 3 a_3 a3​= 向下移动, a 4 a_4 a4​= 向左移动。

动作空间(Action Space): 所有可能动作的集合,用花体字母 A A A 表示。在网格世界中, A = { a i } i = 0 4 = { a 0 , a 1 , a 2 , a 3 , a 4 } A=\{a_i\}_{i=0}^{4}=\{a_0,a_1,a_2,a_3,a_4\} A={ai​}i=04​={a0​,a1​,a2​,a3​,a4​} 。

策略函数

策略函数(Policy Function): 根据观测到的状态做出决策,从而控制智能体的动作,用 π \pi π 表示。

策略函数 π : S × A → [ 0 , 1 ] \pi:S\times A\rightarrow [0,1] π:S×A→[0,1] 是一个条件概率密度函数,指的是在当前状态 s s s 下,智能体做出动作 a a a 的概率:
π ( a ∣ s ) = P ( A = a ∣ S = s ) \pi(a|s)=P(A=a|S=s) π(a∣s)=P(A=a∣S=s)

显然有,
∑ a π ( a ∣ s ) = 1 \sum_a{\pi(a|s)=1} a∑​π(a∣s)=1

状态转移与状态转移函数

状态转移(State Transition): 指当前状态 s s s 变成新状态 s ′ s' s′。

状态转移函数(State Transition Function): 用于生成新的状态 s ′ s' s′ 所用到的函数,随机状态转移函数记作 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a),它也是一个条件概率密度函数:
p ( s ′ ∣ s , a ) = P ( S ′ = s ′ ∣ S = s , A = a ) p(s'|s,a)=P(S'=s'|S=s,A=a) p(s′∣s,a)=P(S′=s′∣S=s,A=a)

显然有,
∑ s ′ p ( s ′ ∣ s , a ) = 1 \sum_{s'}{p(s'|s,a)=1} s′∑​p(s′∣s,a)=1

奖励

奖励(Reward): 智能体从当前状态 s s s 执行一个动作 a a a 后进入一个新的状态 s ′ s' s′,环境反馈给智能体的一个数值,也叫即时奖励,用小写字母 r r r 表示。

网格世界中,从进入普通区域(白色区域)得到奖励为 r c o m m o n = 0 r_{common}=0 rcommon​=0,进入禁止区域(红色区域)奖励为 r f o r b i d = − 1 r_{forbid}=-1 rforbid​=−1,进入目标区域奖励为 r t a r g e t = 1 r_{target}=1 rtarget​=1。例如,当前状态为 s 5 s_5 s5​ 的情况下,执行动作 a 2 a_2 a2​(即向右移动),得到的奖励为 r r r = -1,数学上可表示为:
p ( r = − 1 ∣ s 5 , a 2 ) = 1 p(r=-1|s_5,a_2)=1 p(r=−1∣s5​,a2​)=1

同理,状态 s 5 s_5 s5​ 还有如下情况:
p ( r = 0 ∣ s 5 , a 0 ) = p ( r = 0 ∣ s 5 , a 1 ) = p ( r = 0 ∣ s 5 , a 3 ) = p ( r = 0 ∣ s 5 , a 4 ) = 1 p(r=0|s_5,a_0)=p(r=0|s_5,a_1)=p(r=0|s_5,a_3)=p(r=0|s_5,a_4)=1 p(r=0∣s5​,a0​)=p(r=0∣s5​,a1​)=p(r=0∣s5​,a3​)=p(r=0∣s5​,a4​)=1

轨迹

轨迹(Trajectory): 指一个回合(Episode)游戏中,智能体观测到的所有状态、动作、奖励的序列,用 τ \tau τ 表示。具体来说,一个Trajectory可以被形式化表示为:
τ = { s 0 , a 0 , r 1 , s 1 , a 1 , r 2 , s 2 , . . . , s T − 1 , a T − 1 , r T , s T } \tau = \{s_0,a_0,r_1, s_1, a_1,r_2,s_2,...,s_{T-1}, a_{T-1},r_T,s_{T}\} τ={s0​,a0​,r1​,s1​,a1​,r2​,s2​,...,sT−1​,aT−1​,rT​,sT​}

其中 s t s_t st​ 表示 t t t 时刻下智能体所处的状态, a t a_t at​ 表示 s t s_t st​ 状态下智能体所采取的动作, r t + 1 r_{t+1} rt+1​ 是在采取动作 a t a_t at​ 后,从环境得到的即时奖励, T T T 是整个轨迹的长度。

轨迹

对于上图所示的网格世界,
τ = { 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 } \tau = \{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\} τ={s1​,a2​,r=0,s2​,a3​,r=0,s5​,a3​,r=0,s8​,a2​,r=1,s9​}

回报与折扣回报

回报: 从当前时刻开始到回合结束所有的奖励总和,也叫累计奖励, 用 R R R 表示。

折扣奖励: 给未来的奖励做折扣,用 G G G 表示。考虑以下轨迹:
S t . . A t . . > R t + 1 , S t + 1 . . A t + 1 . . > R t + 2 , S t + 2 . . A t + 2 . . > R t + 3 , S t + 3 , . . . S_t\frac{..A_t..}{}>R_{t+1},S_{t+1}\frac{..A_{t+1}..}{}>R_{t+2},S_{t+2}\frac{..A_{t+2}..}{}>R_{t+3},S_{t+3},... St​..At​..​>Rt+1​,St+1​..At+1​..​>Rt+2​,St+2​..At+2​..​>Rt+3​,St+3​,...

折扣回报为:
G = R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . G=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+... G=Rt+1​+γRt+2​+γ2Rt+3​+...

其中 γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1] 表示折扣率。由于折扣率的存在,会对未来的回报进行折扣;由于折扣率的次数随着 t t t 不断增加,因此对越久远的未来给奖励打的折扣越大。

一个重要性质

无记忆性: 在一个马尔科夫过程中,系统的下一步行为仅与现在的位置(状态)有关,而与它是如何到达当前位置的所有过去信息无关。换句话说,给定当前状态,未来状态的概率分布仅依赖于当前状态,而不依赖于到达当前状态的任何历史状态。数学形式如下:
p ( s t + 1 ∣ a t , s t , . . . , a 0 , s 0 ) = p ( s t + 1 ∣ a t , s t ) p(s_{t+1}|a_t,s_t,...,a_0,s_0) = p(s_{t+1}|a_t, s_t) p(st+1​∣at​,st​,...,a0​,s0​)=p(st+1​∣at​,st​)
p ( r t + 1 ∣ a t , s t , . . . , a 0 , s 0 ) = p ( r 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(rt+1​∣at​,st​,...,a0​,s0​)=p(rt+1​∣at​,st​)


后续会更新相应实战代码

若有不足之处,欢迎批评指正!

标签:02,...,动作,..,状态,Reinforcement,奖励,智能,RL
From: https://blog.csdn.net/m0_57543713/article/details/139860760

相关文章

  • Windows Server 2025 中文版、英文版下载 (Inside Preview, updated Jun 2024) - 下一
    WindowsServer2025中文版、英文版下载(InsidePreview,updatedJun2024)-下一代Windows11ServerWindowsServer2025正式版发布在即请访问原文链接:https://sysin.org/blog/windows-server-2025/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org我们知道W......
  • Windows Server 2022 OVF, updated Jun 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2022OVF,updatedJun2024(sysin)-VMware虚拟机模板2024年6月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2022-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现在......
  • Zyxel NAS设备的CVE-2024-29973远程代码执行漏洞验证
    概述最近,ZyxelNAS设备曝出了一个重大安全漏洞(CVE-2024-29973),该漏洞允许远程攻击者在受影响的设备上执行任意代码。这一漏洞已经被广泛关注,并被证实可以在实际中复现。本文将详细介绍该漏洞的成因、利用方式以及如何检测和防御这种攻击。漏洞成因ZyxelNAS设备中存在一个不安......
  • Windows Server 2019 OVF, updated Jun 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2019OVF,updatedJun2024(sysin)-VMware虚拟机模板2024年6月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2019-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindo......
  • Windows Server 2022 中文版、英文版下载 (updated Jun 2024)
    WindowsServer2022中文版、英文版下载(updatedJun2024)WindowsServer2022x64,Version21H2请访问原文链接:https://sysin.org/blog/windows-server-2022/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org直接上链接,详细说明请访问原文查看。下载地址Window......
  • 2023年天津大学图像工程课程设计 基于 OpenCV 、 Qt 库的图像处理软件+源代码+文档说
    文章目录源码下载地址项目介绍项目功能界面预览项目备注源码下载地址源码下载地址点击这里下载代码项目介绍图像工程课程设计基于OpenCV、Qt库实现的图像处理软件大学编程作业(TUST天津科技大学2023年)图像工程课程设计基于OpenCV、Qt库实现的图像处......
  • Windows Server 2008 R2 OVF, updated Jun 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2008R2OVF,updatedJun2024(sysin)-VMware虚拟机模板WindowsServer2008R2简体中文版OVF,2024年6月更新请访问原文链接:https://sysin.org/blog/windows-server-2008-r2-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindowsSe......
  • 2024-06-21 我允许的今日练习 对自己抗拒的都允许
    2024-06-21我允许我失败。我允许我赚不到钱。我允许我退缩。我允许我遇到一点挫折就退回原地。我允许我原地踏步。我允许我上瘾。我允许我无法自拔。我允许我晚睡。我允许我放不下手机。我允许我房间很乱。我允许我不收拾。我允许我懒惰。我允许我想做的事就是没有做。我允许我拖......
  • Windows Server 2016 中文版、英文版下载 (updated Jun 2024)
    WindowsServer2016中文版、英文版下载(updatedJun2024)WindowsServer2016Version1607请访问原文链接:https://sysin.org/blog/windows-server-2016/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org本站将不定期发布官方原版风格月度更新ISO。WindowsSer......
  • Windows 11 version 23H2 中文版、英文版 (x64、ARM64) 下载 (updated Jun 2024)
    Windows11version23H2中文版、英文版(x64、ARM64)下载(updatedJun2024)Windows11,version23H2,企业版arm64x64请访问原文链接:https://sysin.org/blog/windows-11/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindows11直接上链接,详细说明请访问原......