强化学习的数学原理-03贝尔曼最优公式

最优策略和公式推导

首先定义一个策略比另一个策略好:

vπ1(s)vπ2(s)forallsS

如何有上面式子成立,那么就说π1π2

基于上面的定义,于是就可以定义最优

对于所有的状态s,和所有的策略π都有下面的式子成立

vπ(s)vπ(s)

那么π就是最优的(optimal)

贝尔曼最优公式:

v(s)=maxπaπ(as)(rp(rs,a)+γsp(ss,a)v(s)),sS=maxπaπ(as)q(s,a),sS

对于贝尔曼最优公式实际上是一个最优化问题

我们已知的有p(rs,a),p(ss,a)
v(s),v(s)是未知的并且需要求解的
对于贝尔曼公式π是已知到,对于贝尔曼最优公式π是未知的需要求解的。

贝尔曼最优公式的矩阵形式

v=maxπ(rπ+γPπv)

  • 贝尔曼最优公式(BOE)非常elegant,它的形式非常简介,可以刻画最优的策略和最优的state value

右侧最优化问题

如何求解贝尔曼最优公式?

考虑下面的问题:

twovariblex,aR.

x=maxa(2x1a2).

上面的式子中也是含有两个未知量

先看右边的部分当a=0时达到最大值2x1

然后将a=0带入等式右边得到x=2x1于是就求解出了x=1

于是a=0,x=1就是这个公式的解.

下面解决贝尔曼最优方程

v(s)=maxπaπ(as)q(s,a)

考虑我们有3个q也就是q1q2q3Rc1c2c3使得c1q1+c2q2+c3q3最大

也就是

maxc1c2c3c1q1+c2q2+c3q3,wherec1+c+c3=1,andc1c2c30

为了不失一般性这里假设一个最大值,假设q3q1,q2,于是最优解就是c1=0c2=0c3=1

通过上面的例子就可以知道如果q值确定,如何求解上面的π

image.png

公式求解以及最优性

贝尔曼最优公式的矩阵形式

v=maxπ(rπ+γPπv)

我们把贝尔曼最优公式写成一个函数形式

f(v):=maxπ(rπ+γPπv)

于是最优公式就化成了

v=f(v)

[f(v)]s=maxπaπ(as)q(s,a),sS

这里的f(v)实际上是一个向量,因为每个状态对应一个statevalue,而每一个statevalue都对应一个f(v)

于是问题就转化成了求解v=f(v)这个方程,求解这个方程就需要下面的知识了。

Contraction mapping theorem(压缩映射定理)

关于这个定义的详细介绍在这 | 中文数学 Wiki | Fandom

在说压缩映射定理之前需要引入一些概念

Fixed point(不动点):

xXisafixedpointoff:XXif

f(x)=x

然后x就被称为一个不动点。

Contraction mapping or Contractive function:fisacontractionmappingif:

∣∣f(x1)f(x2)∣∣≤γ∣∣x1x2∣∣,whereγ(0,1)

image.png

Theorem(Contraction Mapping Thorem):

对于任何形如x=f(x)的等式,如果f是一个contraction mapping,那么有:

存在性:存在一个不动点x满足f(x)=x

唯一性:不动点fixedpoint是唯一的。

求解不动点的算法:这是一个迭代式的算法,不断令xk+1=f(xk),当kxkx,同时收敛的速度会非常快(以指数的速度收敛)

解决贝尔曼最优公式

有了上面的压缩映射定理就可以解决贝尔曼最优公式了

v=f(v)=maxπ(rπ+γPv)

为了应用压缩映射定理,首先需要证明下式中γ(0,1)

∣∣f(v1)f(v2)∣∣≤γ∣∣v1v2∣∣

这个是可以得到证明的。

知道了f是一个contractionmapping,那么贝尔曼最优公式就可以利用上面的contractionmappingthorem解决了。

image.png

分析最优策略(analyzing optimal policies)

v(s)=maxπaπ(as)(rp(rs,a)r+γsp(ss,a)v(s))

求解贝尔曼最优公式就是已知红色量求出上面公式中黑色的量

公式中的三个量决定了optimal policy

  • Reward design:r
  • System model:p(ss,a),p(rs,a)
  • Discount rate:γ
  • v(s),v(s),π(as)都是未知量待计算
  1. γ比较大的时候,会比较远视,当γ比较小的时候则会比较短时,获得的return主要由短期的reward决定。当γ变为0时策略又会发生变化,策略会变得非常短视,更具体地说策略只会关注immediatereward,这样导致的结果可能是采用的策略根本到达不了target

  2. 改变reward也会导致策略改变。

下面观察如果对reward进行线性变换会发生什么?rar+b

  • 实际上进行线性变换是不会改变最优策略的。
  • 这个问题实际上并不关注reward的绝对性,更加关注reward的相对性。

image.png

关于无意义的绕路:因为有discountrate的存在,会导致后面得到的reward打折扣

image.png

Summary

image.png

posted @   cxy8  阅读(171)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
历史上的今天:
2022-10-24 meet
点击右上角即可分享
微信分享提示