强化学习-蒙特卡洛异同策略方法

智能体通过遵循某个策略与环境互动,并计算该策略的函数,就是异同策略方法。再详细讲解该算法之前,我们先来了解一个实例。

假设我们要处理一个阶段性任务,该MDP具有三个状态,X、Y、Z其中Z是最终状态。S+ = {X,Y,Z}

X

Y

Z

X的环境是负面奖励,Y的环境是正面奖励。

如果智能体进入Z则结束这一阶段。假设有两个潜在的动作A={上,下},向上、向下和冰冻湖泊环境类似。

如果智能体选择向下动作,在下一个时间步,有一定的概率表明他会向上移动或者保持不动。

同样,如果它决定向上移动,当它尝试朝着该方向移动时,可能会向下移动或者保持不动。

假设我们要评估一下策略,智能体在状态X向上移动(π(X)),在状态Y向下移动(π(Y))。

智能体可以通过循环该策略与环境互动。假设在一开始互动时,智能体观察状态X,然后根据策略,选择向上动作,结果奖励为-2,并进入下一个状态Y,接着根据该策略,选择向下动作,结果得到奖励0并进入下一个状态Y,此刻,根据该策略先择向下动作,结果获得奖励3,并抵达最终状态Z

X,上,-2,Y,下,0,Y,下,3,Z

假设智能体在另外两个阶段与环境互动

Y,下,2,Y,下,1,Y,下,0,Z

Y,下,1,X,上,-3,Y,下,3,Z

我们可以使用这些阶段估算值函数。当然,这三个简短的互动阶段,并不足以让智能体充分了解环境,暂时先假设已经足够。

我们先从一个状态开始,例如状态X,然后查看所有阶段的状态X的所有状况,接着计算在出现X状态之后的折扣回报。假设折扣率为1,即不折扣。对于第一个阶段(X,上,-2,Y,下,0,Y,下,3,Z)X回报是-2+0+3=1,在第三阶段(Y,下,1,X,上,-3,Y,下,3,Z)X回报是-3+3=0,蒙特卡罗预测算法会对这些值取平均值,并带入状态X的值估算方程中

1+0/2 = 1/2

这里状态X的估值为1/2,Vπ(X) 约等于1/2

该算法比较直观,状态的值定义为该状态之后的预期回报,Vπ(X)=Eπ[Gt|St=X]

因此智能体体验的平均回报是个很好的估值,我们将按照相同的流程评估状态Y,你将发现状态Y在每个阶段出现多次,这种情况不太清楚该如何处理,为了解决这一问题,我们需要介绍几个其他术语:

X,上,-2,Y,下,0,Y,下,3,Z

我们将状态在某个阶段中的每次经历定义为该状态的经历,有两种处理方式:

第一种方式是,每个阶段只考虑该状态的首次经历,就是一个出现的Y,对这些回报取平均值,在这种情况下,状态Y的值估算为

X,上,-2,Y,下,0,Y,下,3,Z          ===》》   0+3=3

Y,下,2,Y,下,1,Y,下,0,Z             ===》》   2+1+0=3               =====》  3+3+1/3=7/3

Y,下,1,X,上,-3,Y,下,3,Z           ===》》   1-3+3=1

如果采用这种方式,则表示我们使用首次经历MC方法,Vπ(Y)约等于7/3

还有一种就是对所有阶段中的状态Y的所有经历之后的回报取平均值

X,上,-2,Y,下,0,Y,下,3,Z          ===》》   0+3=3

3=3

Y,下,2,Y,下,1,Y,下,0,Z             ===》》   2+1+0=3               =====》  3+3+3+1+1+0+3/7=14/7=2

1+0=1

0=0 (不要)

Y,下,1,X,上,-3,Y,下,3,Z           ===》》   1-3+3=1

-3+3=0

3=3

这种情况下,状态Y的值估算为,所有这些数字的平均值,结果为2