TD(0)学习中如何选择动作

How to choose action in TD(0) learning

我目前正在阅读萨顿 Reinforcement Learning: An introduction 的书。阅读第 6.1 章后,我想为此设置实现一个 TD(0) RL 算法:

为此,我尝试实现此处提供的伪代码:

这样做我想知道如何做这一步A <- action given by π for S:我可以为我的当前状态S选择最佳动作A吗?由于价值函数 V(S) 仅取决于状态而不取决于我真的不知道的动作,如何做到这一点。

我发现 this 问题(我从哪里得到图像)处理相同的练习 - 但这里的动作只是随机选择的,而不是由动作策略选择的 π

编辑:或者这是不完整的伪代码,所以我也必须以另一种方式近似 action-value function Q(s, a)

你是对的,你不能仅从值函数V(s)中选择一个动作(既不导出策略π)因为正如你所注意到的,它只取决于状态s.

您可能在这里遗漏了一个关键概念,即 TD(0) 学习是一种计算 given 策略的值函数的算法。因此,您假设您的代理遵循已知策略。在随机游走问题的情况下,策略在于随机选择动作。

如果你想学习一个策略,你需要估计动作价值函数Q(s,a)。有几种基于时间差异学习的学习方法 Q(s,a),例如 SARSA 和 Q 学习。

在 Sutton 的 RL 书中,作者区分了两类问题:预测 问题和 控制 问题。前者是指估计给定策略的价值函数的过程,后者是指估计策略(通常是通过行动价值函数)。您可以在 starting part of Chapter 6:

中找到对这些概念的参考

As usual, we start by focusing on the policy evaluation or prediction problem, that of estimating the value function for a given policy . For the control problem (finding an optimal policy), DP, TD, and Monte Carlo methods all use some variation of generalized policy iteration (GPI). The differences in the methods are primarily differences in their approaches to the prediction problem.