策略梯度算法的基础实现与应用
1. 算法选择与实验结果
在当前的研究中,选择使用平均值作为一种方法,并考虑在后续使用更复杂的近似函数。在预测状态 - 值函数时,需要在预测准确性和函数的鲁棒性之间进行权衡,即要尽可能准确地预测状态 - 值函数,同时确保函数近似在遇到未见过的状态时不会产生荒谬的结果。
通过在相同设置下进行超过50次不同的实验运行,得到了具有统计学意义的结果。从实验结果(图5 - 3)可以看出,奖励最初与标准的REINFORCE算法的轨迹相似,但后期出现了分歧。这表明基线算法稍微更稳定,在REINFORCE算法中,较大的梯度更新可能会意外地使智能体的性能变差,而基线智能体能够持续稳定地提升性能。
2. 梯度方差减少
基线方法可以降低梯度的方差。在REINFORCE或其他基本的蒙特卡罗方法中,目标是改变策略以最大化奖励。策略梯度方法通过将策略向特定方向推动一定量来实现这一目标,方向由策略的导数计算得出,而对于REINFORCE算法,梯度的大小是当前的期望回报。
然而,后续样本的期望回报可能会有很大差异。例如,在CartPole环境中,一个原本有效的策略可能由于偶然因素,使得杆子在回合早期就倒下,从而导致期望价值的巨大差异和大的梯度更新。在Pong环境中,早期回合的奖励接近 - 21,所有动作都会导致负奖励,梯度更新会抑制所有动作。更好的解决方案是考虑奖励的变化,智能体应该使用动作相对于平均值的相对差异。
通过捕获REINFORCE和带基线的REINFORCE算法单次运行的梯度更新,可以看到(图5 - 4),经过一段时间的学习后,基线算法的梯度标准差显著下降,而REINFORCE算法即使在获得不错的奖励后,仍
超级会员免费看
订阅专栏 解锁全文
1318

被折叠的 条评论
为什么被折叠?



