AI学习笔记——基于策略的强化学习

in ai •  6 years ago 

1. 基于价值的强化学习回顾

前几篇文章都是在讲通过训练值函数的近似函数,然后通过比如Ɛ-greedy探索方法获得最佳策略,这种方法叫做基于价值的强化学习。然而基于价值的强化学习有无法收敛,无法获得随机策略,以及可能遇到状态重名的问题。

无法收敛的问题在上篇文章的“3.收敛性”中提到了,就不赘述。关于随机策略,可以举一个“石头剪子布”这样简单的例子。最好的策略就是随机出招,然而基于价值的强化学习是做不到的。关于状态重名可以观察下面这个例子。

比如我们用某一个格子的某个方向是否有墙挡住这些特征来描述格子状态,也就是作为格子世界状态空间的特征时,就会发生灰色格子状态一样的情况,这就是状态重名(Aliased)。基于价值的强化学习会在灰色格子采取相同的策略从而使机器人无法顺利获得宝藏。

2. 基于策略的强化学习

基于策略的强化学习就是参数化策略本身,获得策略函数πθ:


然后直接训练策略函数获得最优策略。

如何训练策略函数呢?原理还是一样,只是采用梯度上升(Gradient Ascent)的方法优化参数θ,获取最大值,而不是我们熟悉的梯度下降,求损失函数的最小值。

策略目标函数

我们训练策略函数的目标是什么呢?是获得最大奖励。优化策略函数就是优化目标函数可以定义为J(θ). 针对不同的问题,目标函数也是不同的。

3. 策略梯度定理Policy Gradient Theorem

先考虑如下一个非常简单的单步MDP问题:从一个分布 d(s)
中采样得到一个状态s,从s开始,采取一个行为a,得到即时奖励 r=Rs,a

然后终止。整个MDP只有一个状态、行为、即时奖励。在这个MDP过程中,如何最大化奖励?

由于是单步过程,标函数的形式:

相应的梯度是:


可以看出目标函数的梯度等于策略函数对数梯度与即时奖励两部分乘积的期望,这两部分都是较为容易确定的, 因此参数的更新就变得容易了。

一个问题是单步MDP的情况是否适用于多步MDP呢?

答案是肯定的。唯一要变动的就是把即时奖励值换成目标的Q值,而且这对于三种目标函数都是通用的。有如下定理:

定理:对于任何可微的策略π(s,a),对于任何策略的目标函数J(θ)策略梯度都是:

蒙特卡洛策略梯度

针对具有完整Episode的情况,我们应用策略梯度理论,使用随机梯度上升来更新参数,对于公式里的期望,我们通过采样的形式来替代,即使用t时刻的收获(return)作为当前策略下行为价值的无偏估计。

算法描述是这样的:我们先随机初始化策略函数的参数θ,对当前策略下的一个Episode:
从t=1到t=T-1间的每一个时刻,计算机器人获得的收获 vk ,然后更新参数θ。如此然后重复每一个Episode,直到结束。具体算法如下:

后记

本文基于David Silver 的公开课和知乎叶强的文章进行了简化和提炼,仅仅介绍了基于策略的强化学习的基本概念。

下一篇文章将结合价值和策略介绍一下Actor-Critic强化学习。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!