强化学习入门(一):什么是Policy Gradient

一、强化学习基础认知

1、强化学习三要素

1、actor (即policy gradient要学习的对象, 是我们可以控制的部分)
2、环境 environment (给定的,无法控制)
3、回报函数 reward function (无法控制)

2、名词介绍

Policy of actor π \omicron(决策):
如下图(本文图片均来自于李宏毅的强化学习课件,其视频内容可点击此处查看)所示,Policy 可以理解为一个包含参数 θ的神经网络,该网络将观察到的变量作为模型的输入,基于概率输出对应的行动action。
在这里插入图片描述

Episode:
游戏从开始到结束的一个完整的回合。

Trajectory τ \tau :
行动action和状态state的序列(Trajectory是轨迹的意思)

actor的目标:
最大化总收益reward(不是每一个step步的收益,而是一局游戏最终的收益)。

概率:给定神经网络参数 θ \theta 的情况下,出现行动状态序列 τ \tau 的概率:
以下概率的乘积:初始状态出现的概率;给定当前状态,采取某一个行动的概率;以及采取该行动之后,基于该行动以及当前状态返回下一个状态的概率,用公式表示为:
在这里插入图片描述
累积期望收益:
采取某一个行动状态序列 τ \tau 的概率, 以及该行动状态序列对应的收益reward的乘积之和。
在这里插入图片描述

二、Policy Gradient

1、算法思想

得出目标函数之后,就需要根据目标函数求解目标函数最大值以及最大值对应的policy的参数 θ \theta
类比深度学习中的梯度下降求最小值的方法,由于我们这里需要求的是目标函数的最大值,因此需要采取的方法是梯度上升。也就是说,思想起点是一样的,即需要求出目标函数的梯度。

求解梯度的步骤如下,以前文所述目标函数为基础,对参数 θ \theta 求导,其中,对概率加权的reward求和就是求reward的期望,因此有红框部分的改写,又因为训练的过程中会进行采样训练,采样个数为N,因此公式可以近似表示为N词采样得到的reward的平均。
在这里插入图片描述
这里要注意,右上角的n表示第n步,并不是n次方的意思。

2、两个改进

Tip1

有的时候所有reward都是正的,这样不管你怎么做动作,都会得到正奖励。
在这里插入图片描述
这样看上去似乎没什么问题,毕竟回报虽然都是正的,但还有大小之分,回报大的学习的快。
然鹅,我们用的是sample(采样),有可能a动作一直没采到,结果c动作一直上升,这就很不合理了
在这里插入图片描述
这个可以通过减去一个常数,来将c的回报变成负值
在这里插入图片描述
#Tip 2:
进一步考虑各个时间点的累积收益计算方式
考虑到在时间t采取的行动action与t时期之前的收益reward无关,因此只需要将t时刻开始到结束的reward进行加总。并且,由于行动action对随后各时间点的reward的影响会随着时间的推移而减小,因此加入折旧因子 γ \gamma
这样就得到了一个考虑比较全面,比较完善的梯度计算方式。
在这里插入图片描述
直白的说,就是距离越远,对最后一步的影响越小。

参考: https://blog.csdn.net/cindy_1102/article/details/87905272