早上好,在 Q-learning 中,代理会采取行动直到达到目标。该算法被执行多次,直到获得收敛。例如,目标是在时间模拟结束之前获得最大吞吐量。模拟时间被划分为 n 个相等的周期 T,并且奖励随时间变化。因此,代理在每个周期开始时会更新其状态 n 次。在这种情况下,n 被认为是步数或迭代数?此外,Q值的更新是在执行所选动作之后还是在执行之前完成(使用奖励函数,它是真实奖励的近似值)?如果您能回答我的问题,我将不胜感激。
问问题
1481 次
1 回答
1
首先,您应该知道,在强化学习中存在两种任务,一种是智能体-环境交互自然分解为一系列单独的情节(情节任务),另一种不是(持续任务)[萨顿书参考]。
代理的目标是最大化它收到的奖励总量(在模拟或真实环境中)。这意味着最大化的不是即时奖励,而是长期的累积奖励。
在情节任务的情况下,每一情节通常具有不同的不同持续时间(例如,如果每一情节是国际象棋游戏,则每场游戏通常以不同数量的动作结束)。
奖励函数不会改变,但是代理收到的奖励会根据它所采取的行动而改变。在 Q 学习算法中,代理在每一步之后更新 Q 函数(而不是在每个周期/剧集的开始)。
根据您的定义,n
被认为是每集的步数(如前所述,从一集到另一集可能会有所不同)。总步数是n
所有情节的总和。术语“迭代”可能是指某些论文/书籍中的情节数量,因此有必要了解上下文。
在执行所选动作后执行 Q 函数的更新。请注意,代理需要执行当前动作来观察奖励和下一个状态。
奖励函数不是真实奖励的近似值。不存在真正的奖励。奖励功能由用户设计,以“告诉”代理目标是什么。在 Sutton 和 Barto 的书中再次讨论这个主题:第 3.2 节目标和奖励。
于 2016-12-02T08:47:53.150 回答