强化学习(9)--策略梯度方法
说明本系列文章是我在学习了西湖大学赵世钰老师的《Mathematical Foundations of Reinforcement Learning》一书后的学习笔记在B站上有赵老师的完整课程视频。课程视频链接PDF教材链接本文代码链接前面我们学习的所有算法都是基于数据来改进策略的方法也就是说我们先计算/近似出每个state对应的v-value/q-value然后根据数据来改进策略。既然函数/神经网络能够近似v-value/q-value那么当然它们也能直接近似策略所以现在我们正式开始学习策略近似的方法。一、表格和函数在这一章中我们用代替来表示参数。我们假设是一个标量指标(scalar metric)最优策略可以通过基于梯度的方法来优化这个指标获得二、定义最佳策略的指标有两种指标来定义最佳策略一种是基于v-value一种是基于immediate rewards。指标1平均状态价值(avarage state value)定义这里是状态s的权重满足。因此我们可以将理解成s的概率分布然后将指标写成我们有两种分布可以选择是完全独立于策略的。这种情况下我们有一个特殊的标记和以表示分布d独立于策略。依赖于策略。这种情况下我们标记为且满足。是策略下的状态转移矩阵。是策略下的平稳分布(stationary distribution)其反应了给定策略下MDP的长期行为分布。是v-value的加权平均不同的参数导致不同的我们的目标找到最优策略(最优参数)来让最大化。的两种表达式一种是另一种是写成两个向量的内积形式则指标二、平均奖励(avarage reward)定义是策略下的平稳分布(stationary distribution)的两种表达式一种是另一种是向量形式则现在我们有了两种指标和不管那种指标和那种表达形式他们都是策略的函数即的函数。我们的目标就是寻找最优的参数让指标和最大化。这就是策略梯度方法的核心思想。这两个指标是等价的假设discount rate有则证明根据贝尔曼公式以及前面的结论将贝尔曼公式两边都乘以则有三、指标的梯度指标的梯度可以分discount rewardnodiscount reward情形和但最终都可以统一到公式(9.9)证明过程太多这里就不贴出来了。只贴结果四、蒙特卡罗策略梯度(REINFORCE)既然有了梯度计算的方法我们就可以利用梯度上升的方法来最大化将真实梯度替换为一个随机梯度就得到其中是对的一个近似如果是用蒙特卡罗的方法来近似则这个算法就成为REINFORCE或者模特卡洛策略梯度。因为我们可以将上吗的REIENFORCE公式写成特性从上式可以明显看出当的时候选择的概率会增加当的时候选择的概率会降低该算法能够很好的平衡探索和利用与成正比当越大则被增强在梯度迭代后选择的概率增加这表现出了利用(exploit)特性在时与成反比如果概率很小则梯度迭代后会趋向于增加选择的概率这表现除了探索(explore)特性伪代码