1.3 Return, 状态值, 动作值

category
type
status
slug
date
summary
tags
password
icon
本系列为学习赵世钰老师的《强化学习的数学原理》所作的学习笔记.

1.3.1 如何计算return

1.3.1.1 return与轨迹质量相关

notion image
 
这里给出了上图3个不同轨迹return的计算表达式, 来说明return与轨迹质量的相关性:
用于第3个情况, 是存在策略分布的, 这里我们求两条轨迹return的平均值:
显然, , 较为简单不再赘述.

1.3.1.2 Bootstrapping

将起始点的状态索引为的轨迹return定义为.
notion image
这里举了一个轨迹回到起点的例子, 以4个不同的状态为起点, 每个return分别可以写作如下形式:
从这组式子我们能够看出来, 这里每个return都依赖于下个状态的return. 依赖, 依赖... 换句话说, 从不同状态出发的得到return,它是依赖于从其他状态出发所得到的return。
当这个轨迹是个循环时, 最终会依赖自己. 这反映了Bootstrapping的思想.

1.3.1.3 计算return

我们将上面的式子写成线性方程组:
简洁的表达为下式, 并求解:
实际上, 这就是贝尔曼公式表达, 下一节我们会介绍它的一般形式

1.3.2 State values 状态值

 

1.3.2.1 基本概念

我们考虑简单的一步:
  • 时间步
  • 时间步的状态
  • 状态采取的动作
  • 状态采取的动作后的奖励
  • 状态采取的动作转台转移之后的状态
都是随机变量. 从时刻开始, 可以得到状态-动作-奖励组成的轨迹:
该轨迹的discounted return定义为, 它也是随机变量:
这里我们将的期望定义为State value function, 即状态值函数, 定义如下:
  • 状态值函数依赖于条件状态
  • 状态值函数依赖于策略, 因为轨迹所由策略定义的, 不同的策略对应不同的状态值
  • 状态值函数不依赖于, 因为智能体在状态空间中转移时, 它的策略和状态都与时间步无关
需要声明的是, 状态值函数与return的区别在于:
  • return是用来计算一条固定轨迹的
  • 状态值函数是计算多条轨迹return的平均值
  • 当策略分布, 奖励值分布, 状态转移分布: 全部唯一时, 也就是从某个状态出发只存在一条唯一的轨迹, 那么它的状态值和return是相同的

1.3.2.2 例子

notion image
仍然以这三个轨迹为例子, 很简单可以计算出他们的状态值:
其中第3条, 计算的是不同轨迹return的期望
 

1.3.3 动作值

状态值是指从一个状态出发的轨迹的return的期望; 对应的, 动作值是指从一个状态采取某一个动作出发的轨迹的return的期望.

1.3.3.1 定义

动作值定义可以写成:
展开可以写出:
简单的说, 动作值是状态值的一部分, 某一个状态下所有的动作值加权和就是状态值.

1.3.3.2 例子

notion image
我们可以很简单的写出来这几个动作值:
不过需要注意的是, 即使在这个策略中, 其他的动作的概率是0, 但是它们依然有动作值:
只不过在计算状态值的时候, 它们的权重 策略概率为0
 
上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...