Policy Gradient中不以loss来反向传播的策略梯度方法是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1.前言2.核心算法3.Add a Baseline4.总结
这次介绍的基于策略梯度的Policy Gradient的算法属实比之前的算法没那么好理解,笔者看完莫烦教程之后还是有许多细节没搞懂,又看了李宏毅教授的DRL Lecture才弄懂,希望能把他讲清楚。
之前我们所学的DQN,Q-Learning都是通过计算动作得分来决策的,我们是在确定了价值函数的基础上采用某种策略(贪婪-epsilon)的方式去选取价值最大的动作。仔细一想可以得知其实这种方式是间接的,因为还需要通过价值来选取动作。
Policy Gradient就是一种直接的方法,他可以直接输出每种动作的概率进行直接的选择。这里有一点要注意,Policy Gradient没有误差,他不通过误差进行反向传播,它是通过观测信息选出一个行为直接进行反向传播。他利用reward奖励直接对选择行为的可能性进行增强和减弱,好的行为会被增加下一次被选中的概率,不好的行为会被减弱下次被选中的概率。举例如下图所示:输入当前的状态,输出动作的概率分布,选择概率最大的一个action作为执行的操作。
得到概率之后我们就可以根据采样得到的回报值计算出数学期望。
这里我们要注意两点:首先R这个奖励期望不需要是可微分的,即使是不可微分也是可以做这个运算。另外这里用到一个技巧,就是公式推导的第二步,大家也可以直接看蓝色框背下来。
在理想的情况,考虑某个state下有三个动作a,b,c,每一项的概率加起来为1,每一项的weight(R)是不一样的,可能有的大,有的小,乘起来之后经过Normalize,奖励高的自然概率就高了,这也是我们想要的。
在现实中,由于我们采用的是采样的方法,我们只能是采样到部分的action,我们可能只采样到了b和c,没采样到a的,但是由于采样到的b和c概率在上升,没采样到的a只能下降,这样是非常不科学的。
解决的办法就是让期望减掉一个Baseline,让一些不那么好的行为能得到一个负的反馈,也就是让我们的奖励减去一个b,这个b有很多取法,只要能达到目的就行。
优点:
连续的动作空间或高维空间中更加高效。
可以实现随机化策略
某种情况下,价值函数可能比较难以计算,而策略函数容易
缺点:
通常收敛到局部最优而非全局最优
评估一个策略通常低效(这个过程可能慢,但是具有更高的可变性,其中也会出现很多并不有效的尝试,而且方差高)
关于Policy Gradient中不以loss来反向传播的策略梯度方法是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。