学习笔记(策略梯度) 前文所述方法都是基于value进行评估现在我们转向policy并有值近似转向策略近似。Basic idea of policy gradient在先前策略是用表格来表示的我们可以直观地取出或改变表格的值。现在策略可以用参数方程表示θ是一个向量。这个方程可以是一个神经网络输入是s输出是采取各行动的概率参数是θ。这种表示法的优势是当状态空间很大的时候表格法在存储和泛化上效率较差而函数近似有更好的性能。策略表格表示和函数表示之间存在差异第一如何来定义最优策略函数的定义是这个策略能否最大化一个确定的标量度量。第二如何获取行动的概率表格法是直接查表而函数法我们需要根据函数结构和参数计算π(a|s, θ)的值。第三如何更新策略表格法中我们可以直接改变对应位置的策略值来更新策略而函数法我们只能通过改变θ的值来更新策略。策略梯度的基本观点很简单第一步定义一个目标函数metrics来定义最优策略第二步通过梯度优化的方式来寻找最优策略。Metrics to define optimal policies有两个metrics第一个是平均状态价值average state value定义如下其中d(s)0代表state的权重且∑d(s)1我们可以认为它是一个概率分布因此平均价值可以被写为s服从d分布。向量形式为如何选择d的分布呢我们有两种方法。第一种方法是认为d是独立于策略pi的这种方法相对简单因为这样metric的梯度计算要更简单d(s)求导时被视作常数。这种方法中我们将选择d0的分布也有两种方法一种认为所有状态是同等重要的也就是d0是均匀分布d0(s) 1/|S|第二种是我们只关注一个特定状态s0例如在一些任务中episode经常从s0出发此时我们只关注从s0出发的long-term return因此有d0(s0) 1, d0(s s0) 0此时的目标函数被简化为J(w)Vpi(s0)。average value存在等价写法利用全期望公式按初始状态分布d对各个状态价值加权求和。第二种方法是认为d取决于策略pi一种通用的方法是认为d是策略pi下的stationary distribution此时d满足Pπ是状态转移矩阵。第二个metric是average one-step reward或简写为average reward平均奖励定义如下S服从d分布dπ是stationary distribution式中的rπ(s)是是从状态s出发的平均单步奖励。又有此外average reward还有一个等价的定义假设一个agent遵循一个给定策略并生成了一个轨迹获得了一系列reward那么沿着这条轨迹的平均单步reward就是s0是起始状态。固定起点s0采样无数独立轨迹把同一步奖励在不同轨迹上取平均消除随机性其中E[∑ Rtk]的含义是一个轨迹走n步求总奖励的期望值1/n是在求时间步上的平均我们不是求n步一共拿多少奖励而是在求每一步平均能拿多少奖励。以上所述的两个metrics都是π的函数因为θ是π的参数所以metrics也是θ的函数此外不同θ值会产生不同的metrics值因此我们可以通过寻找θ的值使metrics值最大化。这是梯度下降方法的基本观点。直觉上来说average reward要更加短视因为它仅仅考虑即时奖励而average value则考虑总奖励但事实上这两个值之间存在数学关系。Gradients of the metricsmetrics的计算是一个很复杂的问题我们需要分辨不同的metrics还需要分discount和undiscount的情况。我们直接给出结果一些特殊情况这种的式子我们很难运用到计算中因此我们对其做变形这种形式的好处是我们可以用采样值来近似期望于是有因为我们需要计算ln函数因此我们要确保对所有的s、a、θ有π(a|s, θ) 0我们可以通过softmax的方法来归一化数据这种方式可以被视作一个神经网络输入为s参数为θ输出为π(a|s, θ)这个网络的输出层的激活函数应为softmax因为对所有的a有π(a|s, θ) 0它已经兼具搜索的广度和深度因此可以用greedy policy来更新策略。Gradient-ascent algorithm有了metrics的导数后我们就可以得到梯度更新的算法了梯度上升算法的目的是最大化目标函数真实用利用采样代替期望又因为我们不知道qπ因此用qt来近似。估计qt又有两种方式一种是MC另一种是TD和其他方法。如何进行采样因为behavior policy和target policy相同所以是on-policy的。因为π(at|st, θt)0当β大于0时说明qt(st,at)大于零说明这个action有效会使下一次采取这个action的概率上升反之β小于0时说明action有害下次采取这个action的概率下降。同时β有助于平衡探索的广度和深度β和qt成正比如果qt大β也变大算法会给这个action更大概率。β和π(at|st, θt)成反比如果π(at|st, θt)小β变大因此算法会深入探索那些小概率的策略。REINFORCE algorithm回到基本算法中如果qt以MC的方式来估计(用一个episode中sa对后续的return作为qt的估计值)这个算法就被叫做REINFORCE。