深度强化学习中的确定性策略梯度及改进方法
1. 确定性策略梯度算法步骤详解
1.1 输入两个评判网络
在步骤 (1) 中,需要传入两个评判网络,其参数分别用 $\theta_1$ 和 $\theta_2$ 表示。大多数实现要求传入两个独立的深度学习网络,且通常它们具有相同的架构。不过,也可以尝试不同的架构或多头架构。
1.2 动作噪声处理
原始算法会对动作噪声进行裁剪,以使结果接近原始动作,目的是防止智能体选择无效动作。多数实现会将该值设置为与环境的动作空间相匹配。但由于可以控制噪声函数的设计,裁剪可能并非必要。可以选择一个与动作空间和平滑目标相匹配的噪声函数,然后复用深度确定性策略梯度(DDPG)中的标准确定性动作函数(步骤 (6))。
1.3 预测值的选择与评判网络更新
在步骤 (11) 中,预测值是目标网络中两个评判网络的最小值。也就是说,选择最低的动作 - 值估计,这更可能是正确的,因为存在高估偏差。步骤 (12) 使用这个折扣奖励的预测来更新两个评判网络,有助于抑制进行高估的网络。
1.4 策略更新延迟
步骤 (13) 之后的内循环每 $d$ 次迭代发生一次,这会延迟策略更新。步骤 (14) 很有趣,它使用第一个评判网络来更新策略,而不是使用具有最小值的评判网络。推测原因是,由于高估的网络在步骤 (12) 中受到约束,从长远来看,选择网络一还是网络二并没有太大区别,两个网络都有可能高估。不过,更明智地选择使用哪个网络可能会带来轻微的性能提升。
其他步骤与 DDPG 相同。同时,要始终参考原始论文,并添加足够的监控代码来验证实现。展开循环
超级会员免费看
订阅专栏 解锁全文
1688

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



