目录
策略梯度基本知识
策略梯度公式
如何使损失函数更好?
添加基线
为每个动作分配不同的权重
策略梯度基本知识
强化学习主要分为两类:
- 基于价值的(如 Sarsa、Q-Learning 和 DQN 算法),先计算每个状态对应的动作的 Q 值,再选择 Q 值最大的动作执行。
- 基于策略的:直接计算每个状态对应的动作或者动作的概率。
Policy Gradient 算法就是对策略函数进行建模,然后用梯度下降更新网络的参数。但是在强化学习中并没有实际的损失函数,而 PG 算法的目的是最大化累计奖励的期望值,因此将累计奖励的期望值作为损失函数,使用梯度上升算法来进行计算。
策略梯度公式每一个动作 获得相应的奖励,则累积奖励为,我们希望累积奖励最大化,累积奖励是个变量,其期望是定值,因此我们希望累计奖励的期望最大化。
如何使损失函数更好? 添加基线 为每个动作分配不同的权重技巧1中只要在同一个回合里面,同一场游戏里面,所有的状态跟动作的对都会使用同样的奖励项进行加权,这件事情显然是不公平的,因为在同一场游戏里面也许有些动作是好的,有些动作是不好的。给每一个不同的动作前面都乘上不同的权重。每一个动作的不同权重,它反映了每一个动作的好坏。
将权重从整场游戏的奖励的总和,改成从动作开始执行的时间 t 的奖励的总和
再增加一个衰减因子γ,意味着随着时间推移,组合越来越多,那么越后面的组合的影响就越来越小。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)