5.1_.jpg

 强化学习的应用领域之多相信大家都有所听闻,无论是机器人控制领域、优化管理、金融领域、通信等都有涉及,印象最深应该就是今年的围棋比赛了吧,其中使用了深度强化学习。今天来讲讲强化学习中的最基本原理——马尔科夫决策过程,以下简称MDP。


前面在DP算法中有提到,DP算法可以理解为由状态、策略、转移函数三部分组成(详见:我对动态规划算法的理解(一))。这在MDP中也是适用的,MDP实际上就是一个动态规划的过程,通常,MDP的状态空间和策略空间的维度可能很大,可以想象,在一个控制机器人项目中,状态空间维度是机器人关节数量的5~6倍,高达上百维,决策空间也是一样。所以,现实中的强化学习应该是维度相当大的,除此之外,状态空间和决策空间可能是不可数的,也就是说是连续的空间,这里主要以低维、可数的状态空间和决策空间来说明MDP。



MDP是一个用于解决时序问题的策略模型。给定一个MDP,假设X[t]、A[t]分别为t时刻的随机状态和采取的决策行动,一旦决策落实,系统的转移函数就会使得系统进入下一个状态,即

(X[t+1],R[t+1])~P(· | X[t],A[t])


其中,X[t+1]是一个随机状态,它的值可以下面式子进行确定,

P(X[t+1]=y | X[t]=x,A[t]=a)=P(x,a,y),其中x,y∈X,a∈A


同时,对于回报函数而言,有:

E[ R[t+1] | X[t],A[t] ]=r(X[t],A[t])


其中E是指回报的期望值。决策函数根据下一时刻的状态X[t+1]以及回报R[t+1]来采取新的行动A[t+1],这个过程一直重复进行,MDP的目标是找到一套决策方法使得所有的回报期望值达到最大,不管这个过程是怎么开始的,这就是一个不断优化的过程。


在MDP中,每个时刻均由状态、策略行动、回报组成的一套序列(X[t],A[t],R[t+1]),我们可以定义MDP的总回报公式,通常历史的回报要加入一个衰减因子γ,

R=∑γ^t R[t+1],对所有的t>=0求和


可以看到,如果γ为一个小于1的正数,那么现阶段的回报远远比过去历史的回报更有价值,这种称为折扣回报的MDP;如果γ为1,那么就是无折扣回报的MDP。



下面来分析两个具体的MDP实例。


实例1、仓库物品管理使得收益最大


考虑一个具有固定最大库存的仓库如何去解决每天的不定需求问题。每天晚上,仓库管理员需要作出决策决定第二天订购多少物品到仓库,而在白天,仓库会面临一些随机订单需求,但这些需求是服从独立同分布的。仓库管理员的任务是找到一种最佳管理仓库的方法使得仓库收益最大化。


现在假定t时刻的消耗如下:首先,购买A[t]件物品时,除了固定消耗K以外,每件物品单价消耗为c,因此购买A[t]件物品总消耗为K+c*A[t];其次,还有一个消耗是与每件物品的大小正相关的,相关系数为h;最后,卖出z件物品所得收益为pz。并且,我们假设p>h,至于为什么这样假设,大家想想应该就知道了。


我们可以借助MDP来描述一下上面这个问题。假设X[t]为第t天晚上的库存含量,0 =< X[t] <= M,M为库存最大含量;A[t]为第t天晚上要决定订购多少物品,同样有0 =< A[t] <= M;这样,第t+1天的库存含量就可以确定了:

X[t+1]=max{ min{X[t]+A[t],M} - D[t+1] }



其中D[t+1]为t+1天的外送物品的需求,是服从独立同分布的随机变量。于是,第t+1天的总收益可以记为:

R[t+1] = -K - c*max{ min{ X[t]+A[t],M }-X[t],0 } - h*X[t] + p*max{ min{ X[t]+A[t],M }-X[t+1],0 }



简单记成以下形式:

(X[t+1],R[t+1])= f(X[t],A[t],D[t+1])



这里f就是一个状态转移函数。至此,库存管理问题的MDP形式就描述完成了。




实例2、赌博时达到财富值的概率最大


例如如果一个赌博者在一次赌博中下注了他占比总财富X[t]的A[t],其中A[t]∈[0,1],他赢回赌注的概率是p,输掉赌注的概率为1-p,那么他的t+1时刻的财富为:

X[t+1]=(1+S[t+1]A[t])X[t]


其中S[t+1]为一个服从独立同分布的随机变量,并且S[t+1]取值为+1或者-1,显然,P(S=1)=p。MDP要解决的问题使得赌博者的财富达到预先设定财富w*的概率最大。


假设他的初始财富在0~w*之间,状态空间是X=[0,w*],策略空间是A=[0,1],那么t+1时刻的状态定义如下:

X[t+1]=min{(1+S[t+1]A[t])X[t],w* }


这里,X[t]属于[0,w*),我们认为w*是一个终止状态,也就是说当X[t]=w*时,X[t+1]=X[t];并且,我们设定当X[t+1]第一次达到w*时,回报为1,其余时候回报均为0。

R[t+1]=1,当X[t]<w*且X[t+1]=w*

R[t+1]=0,
其他情况


如果设置这里的折扣因子γ为1的话,那么每次的回报值不是1就是0,取决于赌博者的财富是否达到了w*,于是,回报的期望值就是赌博者财富到达w*的概率了。这样,实例2的MDP描述就完成了。
 
 
 
 
 
来源:张泽旺 深度学习每日摘要
智造家