Softmax策略
Softmax策略是应用于离散行为空间的一种常用策略。该策略使用描述状态和行为的特征
ϕ
(
s
,
a
)
\phi\left ( s,a\right )
ϕ(s,a)与参数的线性组合来权衡一个行为发生的几率:
相应的分值函数为:
假设一个个体的行为空间为[a0,a1,a2],给定一个策略
π
(
θ
)
\pi\left ( \theta\right )
π(θ),在某一状态
s
s
s 下分别采取三个行为得到的奖励为 -1,10,-1,同时计算得到的三个动作对应的特征与参数的线性组合
ϕ
(
s
,
a
)
T
θ
\phi\left ( s,a\right )^T\theta
ϕ(s,a)Tθ 结果分别为 4,5,9,则该状态下特征与参数线性组合的平均值为 6,那么三个行为在当前状态
s
s
s 下对应的分值分别为 -2,-1,3。分值越高意味着在当前策略下对应行为被选中的概率越大,即此状态下依据当前策略将有非常大的概率采取行为 ‘a2’,并得到的奖励为 -1。对比当前状态下各行为的即时奖励,此状态下的最优行为应该是 ‘a1’。策略的调整应该使得奖励值为 10 的行为 ‘a1’ 出现的概率增大。因此将结合某一行为的分值对应的奖励来得到对应的梯度,并在此基础上调整参数,最终使得奖励越大的行为对应的分值越高。
高斯策略
高斯策略时应用于连续行为空间的一种常用策略。该策略对应的行为从高斯分布
N
(
μ
(
s
)
,
σ
2
)
N\left ( \mu\left ( s\right ),\sigma^2\right )
N(μ(s),σ2)中产生。其均值
μ
(
s
)
=
ϕ
(
s
)
T
θ
\mu\left ( s\right )=\phi\left ( s\right )^T\theta
μ(s)=ϕ(s)Tθ。高斯策略对应的分值函数为:
对于连续行为空间中的每一个行为特征,由策略
π
(
θ
)
\pi\left ( \theta\right )
π(θ) 产生的行为对应的该特征分量都服从一个高斯分布,该分布中采样得到一个具体的行为分量,多个行为分量整体形成一个行为。采样得到的不同行为对应于不同的奖励。参数
θ
\theta
θ 的调整方向是用一个新的高斯分布去拟合使得那些得到正向奖励的行为值和负向奖励的行为值得相反数形成的采样结果。最终使得基于新分布的采样结果集中在那些奖励值较高的行为值上。
应用策略梯度可以比较容易得到基于蒙特卡洛学习的策略梯度算法。该算法使用随机梯度上升来更新参数,同时使用某状态的收获
G
t
G_t
Gt 来作为基于策略
π
θ
\pi_θ
πθ 下行为价值
Q
π
θ
(
s
t
,
a
t
)
Q_{\pi_\theta}\left ( s_t,a_t\right )
Qπθ(st,at) 的无偏采样。参数更新方法为:
该算法实际应用不多,主要是由于其需要完整的状态序列来计算收获,同时用收获来代替行为价值也存在较高的变异性,导致许多次的参数更新的方向有可能不是真正策略梯度的方向。为了解决这一问题,提出了一种基于价值函数和策略函数的算法,即为下文的 Actor—Critic 算法。