赞
踩
深度强化学习-策略梯度算法推导
之前我们讨论过DQN算法:深度强化学习-DQN算法原理与代码、Double DQN算法:深度强化学习-Double DQN算法原理与代码、Dueling DQN算法:深度强化学习-Dueling DQN算法原理与代码以及D3QN算法:深度强化学习-D3QN算法原理与代码,这些算法在求解最优策略的过程中试图估计最优价值函数,所以这些算法都被称为最优价值算法(optimal value algorithm)。
但是求解最优策略梯度不一定要估计最优价值函数,策略梯度算法(policy gradient algorithm)试图用含参函数近似最优策略,并通过迭代更新参数值。本文采用两种方法推导策略梯度算法,法一的推导过程比较简单,可以直观了解策略梯度算法的原理,但是不太严谨,具体可以参考李宏毅老师讲解PG算法的视频:Policy Gradient。法二的推导过程稍微复杂一点,但是推导过程严谨,Reinforce算法就是法二推导结果的直观体现。
强化学习的目标在于最大化累积期望回报,策略梯度算法给出了期望回报和策略梯度之间的关系。采用函数近似法估计最优策略的基本思想是用含参函数来近似最优策略。
假设智能体与环境交互一次的经验轨迹为,T为终止时刻,即
本次交互的累积回报为
本次经验轨迹出现的概率为
其中,和由环境决定,与无关。
真实的累积回报为采样得到累积回报的期望,即累积期望回报为
对关于求梯度,得到
注意:式中的其实与参数有关,但是推导时假定无关,没有算入梯度,因此不太严谨,不过并不影响对策略梯度算法的理解,严谨的推导见方法二。
由于
那么
上面求和符号可以通过采样消除,即N次采样后,得到
对求对数,得到
对关于求梯度,由于与无关,因此全部被消掉,得到
将代入,得到
策略梯度:
至此,我们完成了策略梯度算法的推导,沿着的方向改变策略参数,就有机会增加累积期望回报。不过,策略梯度公式中有一个需要注意的地方,表示的是整条轨迹的累积回报,并非即时回报。
策略满足Bellman期望方程
Bellman期望方程:
对以上两式关于求梯度,得到
将代入,得到
在策略下,当时求上式的期望,得到
这样就得到了从到的递推式。注意到最终关注的梯度值就是
所以有
考虑到
所以
又由于,所以
因此
策略梯度:
在每一个回合结束后,就回合中的每一步利用如下迭代式更新
这样的算法称为简单的策略梯度算法,R.Willims称它为“REward Increment=Nonnegative Factor x Offset Reinforcement x Characteristic Eligibility”(REINFORCE),表示增量是由三个部分的积组成。这样迭代完这个回合轨迹就实现了
在具体的更新过程中,不一定要严格采用这样的形式。当采用自动微分的软件包来学习参数时,可以定义单步的损失为,让软件包中的优化器减小整个回合中所有步的平均损失,就会沿着的梯度方向更新参数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。