q-learning 中的迭代和奖励

iterations and reward in q-learning

早上好, 在 Q-learning 中,代理会采取行动直到达到目标。该算法被执行多次,直到获得收敛。例如,目标是在时间模拟结束之前获得最大吞吐量。模拟时间被分成 n 个相等的周期 T,奖励随时间变化。因此,代理在每个周期开始时更新它们的状态 n 次。在这种情况下,n 被认为是步数或迭代数?另外,Q值的更新是在执行选定的动作之后还是在执行之前完成的(使用奖励函数,它是真实奖励的近似值)? 如果您能回答我的问题,我将不胜感激。

首先,您应该知道在强化学习中存在两种任务,一种是代理与环境的交互自然分解为一系列独立的事件(情景任务),另一种则不会(持续任务)[Sutton book ref.].

代理的目标是最大化它收到的奖励总量(在模拟或真实环境中)。这意味着最大化的不是即时奖励,而是 long 运行.

中的累积奖励

在情节任务的情况下,每个情节通常具有不同的持续时间(例如,如果每个情节都是国际象棋比赛,则每场比赛通常会以不同的步数结束)。

奖励函数没有改变,但是代理收到的奖励会根据它采取的行动而改变。在 Q-learning 算法中,代理在每个步骤后更新 Q-函数(而不是在每个 period/episode 的开始)。

根据您的定义,n 被视为每集的步数(如前所述,每集的步数可能因一集而异)。总步数是所有剧集中 n 的总和。 'iterations'这个词可能指的是某些papers/books中的集数,所以有必要了解上下文。

Q-function 的更新是在执行选定的操作后执行的。请注意,代理需要执行当前操作以观察奖励和下一个状态。

奖励函数不是真实奖励的近似值。不存在真正的奖励。奖励函数是由用户设计的 'tell' 智能体的目标是什么。 Sutton 和 Barto 的书中再次详细介绍了该主题:Section 3.2 Goals and Rewards