在 Deep Q Network 的上下文中,通常使用目标网络。目标网络是一个缓慢变化的网络,以变化率作为其超参数。这包括每次更换更新迭代并缓慢更新每次迭代。
由于速率难以手动微调,是否有替代技术可以消除目标网络的使用,或者至少使其不易受变化速率的影响?
在 Deep Q Network 的上下文中,通常使用目标网络。目标网络是一个缓慢变化的网络,以变化率作为其超参数。这包括每次更换更新迭代并缓慢更新每次迭代。
由于速率难以手动微调,是否有替代技术可以消除目标网络的使用,或者至少使其不易受变化速率的影响?
我做了一些研究,想分享一下。
一般来说,为了消除目标网络的使用,需要证明训练在非策略半梯度下是稳定的。
有两种方法可能有效:
体验重新加权
可能最简单的想法是使用重要性采样率(Precup 2001)来乘以每个样本。这会将非策略样本分布更正为策略分布。已经表明(Sutton 2016),on-policy 样本导致半梯度的稳定性。但是,这种校正样本分布的工作具有很高的方差,在实践中效果不佳。
另一项旨在仅在可证明稳定的范围内对分布进行部分校正的工作称为Emphatic TD ( Sutton 2016 )。该分布仍然主要是偏离策略的,但在线性函数逼近下被证明是稳定的。
约束优化
一般的智慧来自这样一个事实,即更新一个值也会改变目标值,因为它们共享相同的参数集。这个问题被称为过度泛化。为了减少这种情况,Durugkar建议在参数更新后将目标 Q 值约束为稳定有助于减少分歧。Achiam 2019很好地概述了该问题,并提出了一种确保更新不扩展的方法(这应该可以防止分歧)。
边注
一些作品在非策略样本下显示出收敛性,但仅在表格情况下。需要更多的时间来证明它在函数逼近(甚至是线性逼近)中是稳定的。
像这样工作:
显示仅在表格情况下有效。
从未尝试过,但有几种方法可能有帮助,也可能没有帮助:
具有多个输出头的分布式 DQN(不是 C51,另一个,现在找不到从手机输入的参考),随机选择
多个智能体通过一些正则化器相互随机学习,以防止崩溃到同一个网络。
这两种方法本质上都试图“隐藏”或涂抹目标。