q学习中的迭代和奖励

时间:2016-12-01 12:31:08

标签: reinforcement-learning q-learning

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

1 个答案:

答案 0 :(得分:0)

首先,您应该知道在强化学习中存在两种任务,一种是代理 - 环境交互自然地分解为一系列单独的剧集(剧集任务),另一种是其中没有(继续)任务)[Sutton book ref.]

代理人的目标是最大化其收到的奖励总额(在模拟或真实环境中)。这意味着最大化不是立即奖励,而是长期中的累积奖励。

在剧集任务的情况下,每集通常具有不同的持续时间(例如,如果每集都是国际象棋游戏,则每个游戏通常以不同数量的动作结束)。

奖励功能不会改变,但代理人回收的奖励会根据所采取的行动而改变。在Q学习算法中,代理在每个步骤之后更新Q函数(不是在每个周期/剧集的开始时)。

根据您的定义,n被认为是每集的步数(如前所述,可以从一集到另一集不等)。总步数是所有剧集中n的总和。术语“迭代”'也许是指某些论文/书籍中的剧集数量,因此了解情境是必要的。

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

奖励功能不是真实奖励的近似值。没有真正的奖励。奖励功能由用户设计以告知'代理人的目标是什么。在Sutton和Barto书中再次讨论这个话题:Section 3.2 Goals and Rewards