c++矩阵连乘的动态规划算法并输出_在线学习(MAB)与强化学习(RL)[7]:动态规划模型和VI算法...

本文深入浅出地介绍了动态规划的基本概念,包括状态、控制、策略映射、值函数和算子,以及如何通过单调性和压缩性确保问题的唯一解。重点讲解了马尔科夫决策过程(MDP)在RL中的应用,以及Value Iteration算法的收敛分析。适合初学者理解动态规划在强化学习中的核心地位。
摘要由CSDN通过智能技术生成

终于我们开始系统进入RL的部分。如本系列一开始所说的,我个人的观点是把Dynamic Programming(DP,动态规划)模型作为理解RL算法的基础,因为我们总可以把RL算法看作近似动态规划(approximate dynamic programming, ADP)的算法。因此,本篇文章我们就先来介绍一下DP模型。内容主要来自经过我调整的之前的一个知乎回答:

什么是动态规划(Dynamic Programming)?动态规划的意义是什么?​www.zhihu.com
48275b0ae66afdef1d87fb0cce9a81a4.png

参考的主要就是Dimitri P. Bertsekas的书籍[1]前两章。

一、定义:两个集合

;策略映射
;两个算子

本节我们定义为了准确描述动态规划模型必不可少的5个符号。

考虑

为两个集合,前者我们认为是包含所有状态(state)的集合,后者我们认为是包含所有控制(control,或者action)的集合。对任意
,定义
为针对状态
的可行控制集。然后我们再对任意
定义函数映射
如果你对动态规划一无所知,也无妨,那么你只需要把
当成两个任意的集合就可以。

那么我们现在定义了两组集合和一组函数。我们记无穷序列

(满足任意
)为非稳态的策略(nonstationary policies),因为如果我们把下标
代表不同的时间段,相当于每个时间段都在用不同的策略在应对。与之相对的,我们叫这样的序列
为稳态策略(stationary policies),因为每个时间段都用一样的策略(映射)。

坚持住,接下来就是定义最后最关键的符号了!我们把函数

的集合叫做
,并且定义一个映射
。(如果你已经熟悉动态规划,这里其实就是所谓的值函数。然后比如强化学习里面所谓Q learning就是对这里的
映射进行近似的一种算法。但对没有这些知识的同学,同样的,你只要当成
是两个在对应空间上的定义的映射就好)

在定义了这些符号后,抽象动态规划便主要是考虑如下两组递推映射

也就是说,

是将函数
结合
赋值给
的算子,
是将函数
赋值给
,并对
在控制集合上最优化的算子。

二、抽象动态规划模型

一般来说,一个动态规划问题会有

个“阶段”,那么对一个最终阶段成本
来说,在使用策略
的情况下,我们从不同状态
起始的N阶段总成本就可以写成:(算子的好处就体现出来了!)

对不熟悉上边算子"连乘"记号的,实际上这个N个算子“连乘”可以分解成

也就是说,实际上我们是先对

作用算子
,然后再对得到的
作用算子
,以此类推,最后作用算子
。这也就是动态规划模型所谓的逆向归纳(backward induction)式。在每一步归纳(induction)中,实际上我们就是把后一回合的值函数传递到前一回合(根据当前回合使用的策略)。

很大的时候,也即所谓的无限时间动态规划模型,我们可以考虑一个更为简洁的问题结构。即我们本来主要考虑的
阶段总成本可以和
无关,记作

即为原来成本函数的极限。动态规划模型的目标便是要找到一组最好的策略

,最小化这个总成本(如果最小值存在)。也即我们要找到“最小可能的”成本

在合理的条件下,这个问题等价于一个求不动点问题:

应当满足

即问题变成了求

的不动点(希望你已经熟悉
的定义了:))! 且如果
确实存在,一般来说我们在无限时间动态规划模型里只需要考虑稳态策略,因为一般来说存在一个最优的
是稳态的。那么这种情况下我们就得到问题求解等价于所谓的Bellman's equation:(找到对应的

也就是说,抽象的来看,动态规划需要解决的问题就是计算由5个符号定义的,这个等式的解!

三、两个重要性质:单调性与压缩性

本节我们介绍常见动态规划模型需要满足的两个重要性质,也即前一段末尾所说的“合理的条件”。只有满足了这两个条件,我们的动态规划模型才可以化为上述唯一确定的基于Bellman's equation的不动点求解问题。

先说单调性(Monotonicity):

也就是说算子

对于取值
是单调的。这也很好理解,这个意思就是说当我们在时间
的时候,如果从未来时间
到无穷的成本
对于所有状态
增加(单调上升)了,那么我们在时间
,对相同的状态
和控制
的总成本也应当上升。因此,不难想象,任何一个“合理”的动态规划模型都会满足这里的单调性。

再说压缩性(Contraction):

假设

是赋范空间,则对任意
,函数
且对某个

也就是说

是压缩映射(contraction mapping)!注意这里的范数一般来说取weighted sup-norm,不过本文不再展开(包括赋范空间的严格定义云云)。

不过这个压缩性的话可能就不如前面那个单调性,没什么特别直观的道理。然而如果你认同“折旧”(discount)的会计概念,比如未来的单位成本相比今天的单位成本要按照日期以固定比例

打个折扣 --- 放到我们的模型来说就是在从时间
的过程当中我们产生的额外成本都要乘以一个属于0,1之间的系数
,那么容易验证在这种情况下我们的模型一般就会满足这里的压缩性了。

好那么有没有什么直观的解释为什么我们的动态规划模型最好要满足这两个性质呢?

83003af089dc46e70a6e8140e2f7c0cb.png

回忆:Bellman's equation的本质便是寻找

的不动点。而上图左,我们的
虽然单调但并不具有压缩性,因此实际上存在不止一个不动点(蓝线与黑虚线的交点)。相比之下,上图右的
既单调又有压缩性,我们便很容易知道这个时候Bellman's equation有唯一的不动点。因此,可以认为问题的性质就要好很多了。

四、马尔可夫决策过程(Markov Decision Process)

上面的讨论其实完全没有涉及具有实际意义的问题,因此如果你觉得太抽象了,本节便讨论如何将MDP用抽象动态规划的框架写出来。那么因为是MDP,我们有所谓的离散时间状态转移方程:

也就是说,如果时间k的时候我们处于状态

,并采取了控制
,那么
就决定了我们下一个时间点
的状态
。当然,这里还有一点噪音/随机性
,满足分布
,所以也跟当前状态和控制有关。那么我们的MDP问题就可以看成是要对任意的初始状态
,找到策略
最大化总的reward
:

注意这里我们使用了折旧系数

,且
就是每个时间段
的reward,最后的总成本就是所有成本的总和。利用我们抽象动态规划的框架,实际上这个问题等价于定义

也就是说我们考虑的两个算子定义为

如果你已经接触过动态规划/强化学习的文献,这可能就会是你更加熟悉的递推方程(在RL模型中,绝大部分都是用这里的infinite horizon discounted MDP来建模的)。

容易验证,

是单调的,且如果
有界(对任意
),
是压缩映射。即,前一节的两个性质的确是对普遍意义上的动态规划问题都成立的。

五、Value Iteration算法:一些分析

Value Iteration(VI)算法是最常见的求解DP和RL的算法之一(另一个是Policy Iteration及其变种)。这个算法非常简单,找到一个起始的值函数

,然后不断对它作用
算子即可。在单调性和压缩性的保证下,Bellman's equation有唯一不动点,所以只要我们作用的次数足够多,就一定有:

93e6fa4ded8e451e0d30467e839172d3.png
一个典型的VI算法的收敛路径。

我们在上图中画出VI算法收敛的图示,注意

是分段线性且convex的。VI算法就是在不停地迭代
算子,并最终收敛到
和45度线的交点(图中横轴,
)。

最后我们考虑近似VI算法的理论性质。即我们无法精确求出

的结果(比如action space太大,reward函数复杂等等),因此只能考虑近似地去求解
。假设我们有办法找到
作为近似,使得存在

那么我们的近似VI算法就可以得到一个序列

使得

那么利用三角不等式和算子

的压缩性,我们就有

并且利用
,我们就得到了近似VI算法的收敛速率:

我们注意到利用抽象动态规划模型的算子写法分析VI算法的收敛速率变得无比简单!至于实际问题中我们应该如何近似值函数,我们下次文章再重点讨论。

参考

  1. ^Bertsekas, D. P. (2018). Abstract dynamic programming. Athena Scientific.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
未来社区的建设背景和需求分析指出,随着智能经济、大数据、人工智能、物联网、区块链、云计算等技术的发展,社区服务正朝着数字化、智能化转型。社区服务渠道由分散向统一融合转变,服务内容由通用庞杂向个性化、服务导向转变。未来社区将构建数字化生态,实现数据在线、组织在线、服务在线、产品智能和决策智能,赋能企业创新,同时注重人才培养和科研平台建设。 规划设计方面,未来社区将基于居民需求,打造以服务为中心的社区管理模式。通过统一的服务平台和应用,实现服务内容的整合和优化,提供灵活多样的服务方式,如推送式、订阅式、热点式等。社区将构建数据与应用的良性循环,提高服务效率,同时注重生态优美、绿色低碳、社会和谐,以实现幸福民生和产业发展。 建设运营上,未来社区强调科学规划、以人为本,创新引领、重点突破,统筹推进、整体提升。通过实施院落+社团自治工程,转变政府职能,深化社区自治法制化、信息化,解决社区治理中的重点问题。目标是培养有活力的社会组织,提高社区居民参与度和满意度,实现社区治理服务的制度机制创新。 未来社区的数字化解决方案包括信息发布系统、服务系统和管理系统。信息发布系统涵盖公共服务类和社会化服务类信息,提供政策宣传、家政服务、健康医疗咨询等功能。服务系统功能需求包括办事指南、公共服务、社区工作参与互动等,旨在提高社区服务能力。管理系统功能需求则涉及院落管理、社团管理、社工队伍管理等,以实现社区治理的现代化。 最后,未来社区建设注重整合政府、社会组织、企业等多方资源,以提高社区服务的效率和质量。通过建立社区管理服务综合信息平台,提供社区公共服务、社区社会组织管理服务和社区便民服务,实现管理精简、高效、透明,服务快速、便捷。同时,通过培育和发展社区协会、社团等组织,激发社会化组织活力,为居民提供综合性的咨询和服务,促进社区的和谐发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值