参考
1、关于Policy Gradient的理解(对于PG的理解比较完整和全面)
2、【强化学习】Policy Gradient算法详解(详细的推导过程)
3、Policy Gradient算法推导(包含详细的计算过程)
4、策略梯度 Policy Gradient(除推导外,还有其他一些计算知识,包含Actor Critic部分)
5.PARL源码走读——使用策略梯度算法求解迷宫寻宝问题(提及连续的分布输出)
简介
强化学习是一个通过奖惩来学习正确行为的机制。
其中,Q learning、Sarsa、Deep Q Network等通过学习奖惩值, 根据自己认为的高价值选行为;
Policy Gradients则不通过分析奖励值,直接输出行为,即接受环境信息 (observation)后,他要输出不是 action 的 value,而是具体的那一个 action,这样 policy gradient 就跳过了 value 这个阶段。
对比起以值为基础的方法,Policy Gradients 直接输出动作的最大好处是 能在一个连续区间内挑选动作,而基于值的, 比如 Q-learning, 它如果在无穷多的动作中计算价值, 从而选择行为, 这它可吃不消。
反向传递与更新参数
Policy Gradient中,反向传递的目的是 让这次被选中的行为更有可能在下次发生 而在提升该行为下次被选中概率的过程中,由奖惩 reward 来控制变化幅度的大小
举个例子
观测的信息通过神经网络分析, 选出了左边的行为,我们直接进行反向传递,使之下次被选的可能性增加。但是奖惩信息却告诉我们,这次的行为是不好的,那我们的动作可能性增加的幅度 随之被减低(即可能性增加的小一些)。
又比如这次的观测信息让神经网络选择了右边的行为,右边的行为随之想要进行反向传递,使右边的行为下次被多选一点。这时奖惩信息也来了,告诉我们这是好行为,那我们就在这次反向传递的时候加大力度(即可能性增加的多一些)。
这样就能靠奖励来左右我们的神经网络反向传递。
算法思想
此处介绍的是 一种基于 整条回合数据 的更新, 也叫 REINFORCE 方法,是policy gradients的基础算法,描述如下: