课程笔记

Return

Return 的简单例子

这三个相同环境下,给定三种策略,计算三种 return

实际上 return 3 是两个 return 的平均,return 能够判断哪个 trajectory 是比较好的

return 一般计算方法

注意

以下是在确定性策略 下的计算

若每此行动都会得到相应的当步收益 ,则 return 使用 boostrapping 方法计算(核心是状态之间是有关系的)

出发

出发

出发

出发

写成矩阵形式(矩阵形式很有用):

有矩阵形式可化简为 bellman 公式 ,通过方程求解 return

State value

Definition

State value function 概念非常重要,是强化学习中策略的评估标准,以下逐步引出 state value 的公式表达

考虑单步过程:

  • : 离散时间
  • : 在 时刻的状态
  • : 在 状态时采取的行动
  • : 采取 行动后获得的奖励
  • : 采取 行动后转移的状态

其中,大写字母 是随机变量,且单步过程中取决于概率分布:

  • 由策略 决定(采取行动又策略决定)
  • 由奖励概率 决定(获得奖励由奖励分布决定)
  • 由转移概率 决定(状态转移由转移概率决定)

考虑多步轨迹 trajectory:

Discount return 是

  • 是折扣率。
  • 同样是一个随机变量,因为 是随机变量。

状态价值函数

其中 的期望被定义为 state-value-function

Remarks:

  • 这是状态 的函数,是从状态 开始的条件下的条件 return 期望
  • 该函数基于策略 ,不同策略 不同的轨迹 不同的 return 会有不同的 state value
  • 该函数表示状态 下的价值,价值函数越大,则该策略越好,因为能得到更多的累计奖励
  • Return 和 state value 有什么区别?
    • Return 是对单个 trajectory 计算的
    • 而一般状态下,一个状态出发可能会有多个 trajectory ,求他们的期望 return
    • 但如果策略是确定性的,那么 return 与 state value 是一致的
    • 回到标题 Return 的简单例子,每种策略下只有一条 trajectory,因此 return 就是 state value,可以比较 state value 的大小来选择策略

State value 计算

State value 的计算工具:bellman 公式

return 一般计算方法 可知,bellman 公式描述了状态之间的联系

考虑 trajectory:

则 return 利用 boostrap 化简:

根据 state value 定义,利用上述技巧可化简:

首先计算 state value 的第一项(实际上是 rewward的期望),使用两次全概率公式:

然后计算 state value 的第二项(实际上是未来 reward的期望),同样多次使用全概率公式

通过上述两项的计算,state value 计算式为:

highlights

  • 上述方程就是传说中的 Bellman 方程,描述了不同状态下的 state value函数的关系

  • 该方程包含了两部分:当前 reward 的期望和未来 reward 的期望

  • 对所有状态下都存在该等式关系

  • 是能够计算的 state value,但他们依赖于各种概率分布

  • 给定策略 情况下,求方程解的过程被称为策略评估(方程解 能评价策略的好坏)

  • 奖励概率分布 和转移概率 表示动态模型,一般是知道的(不知道也可以)

State value 计算例子

Example 1

给出如下环境、状态集合 、确定性策略 ,其中行动分为上 ()、右 ()、下 ()、左 ()、不动 ()

根据 Bellman 公式一般表达式,求解该环境下策略 的 state value 值 ,需要知道

首先考虑在 状态下的 state value 值

  • 策略
  • 奖励概率分布
  • 状态转移概率

因此 状态下 Bellman 公式化简为 ,(本质上等于即时奖励+未来的 statevalue)

同理得到其他状态下的 Bellman 公式

求解所有状态构成的 bellman 方程组,若 则:

可以观察到不同状态的 state value, 是最小的,因为离目标最远,而其他状态距离目标最近

Example 2

现在策略改变了,在 处是随机方向。

同上计算相似,,只在状态 不同

同理解方程组:

state value 的作用

比较 example 1 与 example 2 两种策略可知

下,,显然第一种策略更好。

Bellman equation

Bellman 公式的矩阵形式

因为每一个状态都会存在一个 Bellman 公式,因此具有矩阵形式。,Bellman 公式如下:

将 Bellman 公式使用符号简化,得到:

其中

因此若状态表示为 ,则对于状态 的 Bellman 方程为

将所有状态的 Bellman 方程写在一起,并重写称矩阵形式如下:

其中

  • ,则 是转移概率矩阵

Bellman 公式的矩阵形式例子

Example 1

若环境中只有四个状态,则 Bellman 公式的一般矩阵形式如下:

Example 2

若四个状态的环境中,给出如下策略:

Example 3

Bellman 公式的求解

解析解

数值求解

迭代算法如下:

算法中会产生一组序列 ,并有数值分析中的收敛结论:

相关数学证明过程

Action value

Definition

定义如下,表示在给定 state 和 action 下可以看出哪些 action 更好

State value 与 action value 关系 1:从定义和全概率公式推 state value 具体表达

State value 与 action value 关系 2:从 Bellman 公式出发反推 action value 具体表达

Action value 计算例子

Example

给定收益 、转移概率 则在 处的

  • 收益是
  • 状态转移是

则由关系 2 计算在 状态下的 action value

注意

虽然这里是确定性的策略,但不代表该策略是最优的策略,因此 不一定为 0

Summury

  • State value
  • Action value
  • Bellman equation (elementwise form)
  • Bellman equation (matrix-vector form)
  • How to solve Bellman equation
    • Closed-form solution
    • Iterative solution