一、马尔可夫动力
MDP(马尔可夫)是序列决策的经典形式化的表达,其动作action不仅影响当前的即时收益,还影响后续的状态以及未来的收益。MDP是一种通过交互式学习来实现目标的理论框架,进行学习及决策的机器被称为 agent。智能体之外所有与其相互作用的事物都被称为环境 environment。这些事物之间持续进行交互,智能体选择动作,环境对这些动作做出相应的响应,并向智能体呈现出新的状态。环境也会产生一个收益,通常是特定的数值,这就是智能体坐选择过程中最大化的目标(详见上文介绍:https://blog.csdn.net/qq_36336522/article/details/107081782)。
在有限的MDP中,状态(S),动作(A),和收益(R)的集合都是只有有限个元素。在这种情况下,堆积变量Rt,St具有明确定义的离散概率分布,我们定义一个四元函数:(注意,这里是定义为,不是经过推断出来的,也就是这个函数是一个人为定义的函数,不需要证明)
这个函数的意思是上一个时刻的 agent 状态是 s,他做出动作 a,那么下一刻 agent做出动作是s’,以及状态变成r的概率。
对于上面的四元函数,有一个限制条件:
从上面的四元函数,可以计算出关于环境的其他任何信息,比如说:状态S进行转移的概率:
再比如:对于收益R的收益期望(动作-状态,二元组收益):(仅仅是当前收益)
二、一个案例:回收机器人
回收机器人,用于在办公室收集汽水罐,它运行在可充电的电池上,并且包含探测罐子的传感器和捡起并收集罐子的夹子。如何搜寻罐子的策略是由强化学习的agent基于当前的电量做出的。agent可以让机器人做以下几件事:(1)积极搜寻一段时间;(2)等待一段时间,等待有人把罐子拿过来;(3)回去充电。因此,agent有三种action。状态由电池的状态决定。当机器人拿到罐子,则获得正的奖励,当电池用完时,获得一个大的负的奖励。假设状态的变化规律为:最好的拿到罐子的方式是主动搜寻,但是这会消耗电量,但是原地等待不会消耗电量。当是低电量的时候,执行搜索可能会耗尽电池,这种情况下,机器人必须关闭电源,等待救援。
agent执行动作仅仅依赖于电量,因此,状态集为S={high,low}S={high,low},agent的动作有wait, serach, recharge。因此,agent的动作集合为A(high)={search,wait},A(low)={search,wait,recharge}A(high)={search,wait},A(low)={search,wait,recharge}。
如果电量是高的,则一次搜索一般不会耗尽电池,搜索完成后还是高电量的概率为α,是低电量的概率为1−α。当电池处于低电量时,执行一次搜索后还是低电量的概率为β,耗尽电池的概率为1−β,然后需要对机器人进行充电,所以状态将转化为s′=high。每次主动搜索会得到奖励rsearch,等待则会获得奖励rwait,rsearch>rwait。当机器人需要救援的时候,则奖励为−3。
上述系统可以看成是一个finite MDP,转移概率和期望奖励如下表所示。
三、马尔可夫策略
几乎所有的强化学习算法都涉及价值函数的计算,价值函数是状态(或者状态与动作二元组)的函数。用来评估当前智能体再给定状态下,有多好。这里的有多好的意思是指:用未来的预期收益来定义的,或者更加准确的说是,回报的期望值。当然,智能体期望未来能得到的收益取决于智能体所选择的动作。
策略:策略是从状态到每一个动作的选择概率之间的映射。如果智能体再时刻t选择了策略 ,那么就是当St=s,At=a的概率。简单的说,策略就是agent做决策的战术,不是从action集合中随机选择一个进行操作,agent想要通过他的策略证明自己很“聪明”。
四、马尔可夫策略价值函数
价值函数定义:
策略的状态价值函数:(表示从状态S开始采用策略的预期收益)
策略的动作价值函数:(表示在状态S采取动作A后采用策略的预期回报)
这里说以下,为什么需要表示状态价值函数和动作价值函数,我们知道,强化学习是一个agent根据不同的动作(A),在当前状态(S)的背景下,得到不同新的状态(S’);当然我们需要做的时,根据这些不同的动作给定一个奖励(R),以此让agent在最终的时候能够做出最佳的动作,得到我们想要的状态。那么怎么做出选择呢,不是随机,是需要按照一定的策略,这个策略是不同动作可能性的集合,不同的可能性拥有不同的价值,我们的目的就是选择全局最优的价值函数。这听起来是不是有点像博弈(下围棋)的过程。
下面是两张图:
(i) 用t时刻的动作价值函数表示t时刻的状态价值函数:
(ii) 用t+1时刻的状态价值函数表示t时刻的动作价值函数:
价值函数v,q都能从经验中估算得到,比如,一个智能体遵循策略pi,并且对每一个遇到的状态都记录该状态后的实际回报的平均值,那么随着状态出现了无限多次(或者说这个状态存在了很多次),那么这个平均值会收敛到状态价值函数v,同样的,你每次都保留每一个状态下每一个动作的实际回报,求这些值的平均值,那么这些平均值也会收敛到动作价值函数q,(蒙特卡洛方法)只不过在现实中,环境存在的多状态不允许我们这样操作,所以我们就需要对价值函数v,q进行参数化,去调整这些参数一边获得更好的计算回报值,这个后面会谈到。
五、贝尔曼方程
在强化学习中,价值函数有一个特性,就是他们满足某种递归关系,类似与我们之前为回报建立的递归公式,即:
这里也需要将动作的价值函数进行递归:
强化学习 有限马尔可夫决策过程
最新推荐文章于 2024-09-01 17:39:26 发布