我读过 Q 学习算法,也知道值迭代(当你更新动作值时)。我认为 PyTorch 的例子是价值迭代而不是 Q 学习。
这是链接: https ://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html
我读过 Q 学习算法,也知道值迭代(当你更新动作值时)。我认为 PyTorch 的例子是价值迭代而不是 Q 学习。
这是链接: https ://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html
TL;DR:这是 Q 学习。然而,Q 学习基本上是基于样本的值迭代,所以看到相似之处也就不足为奇了。
Q learning* 和价值迭代密切相关。在考虑行动价值时,两种方法都使用相同的贝尔曼方程来优化策略,作为更新步骤的基础。区别在于:
值迭代使用环境模型进行更新,Q 学习从主动代理生成的环境样本中工作。
值迭代循环遍历所有可能的状态和更新操作,独立于代理可能采取的任何操作(实际上代理不需要存在)。Q learning 适用于代理所经历的任何状态。
值迭代值更新步骤超出了对下一个状态和奖励的期望——它处理加权和. Q 学习更新步骤对下一个状态和奖励进行过采样——它最终在许多单独的更新上近似于相同的期望。
* 从技术上讲,这适用于单步 Q 学习。n-step Q-learning 和 Q() 使用不同的未来预期回报估计,这些估计与此处显示的单步版本相关但不同。