use*_*057 5 artificial-intelligence reinforcement-learning q-learning
我的问题是关于在强化学习中使用 SARSA 算法来解决一个未折现的、持续的(非情节)问题(它可以用于这样的问题吗?)
我一直在研究 Sutton 和 Barto 的教科书,他们展示了如何修改 Q-learning 算法,以便它可以用于解决未打折扣的问题。他们在第 6.7 章中将新算法(用于未折现的问题)称为 R-learning。基本上,在 R-learning 中,每次迭代 Q(s,a) 的更新规则是:
Q(s,a) = Q(s,a) + alpha * [r - rho + max_a{Q(s',a)} - Q(s,a)]
在这里,只有在状态 s 选择贪婪动作时,才会在每次迭代中更新 rho。rho 的更新规则是:
rho = rho + beta * [r - rho + max_a{Q(s',a)} - max_a{Q(s,a)}]
(这里,alpha 和 beta 是学习参数。)现在,我的问题是关于 SARSA,而不是 Q-learning。我想修改 SARSA 算法,使其适用于平均奖励(未折扣)问题,就像修改 Q-learning 以用于平均奖励问题一样(我不知道这是否可能?) . 然而,在文献中我找不到关于如何针对平均奖励问题修改 SARSA 的确切解释。
以下是我对 SARSA 应如何用于未贴现问题的猜测。我猜更新规则应该是:
Q(s,a) = Q(s,a) + alpha * [r - rho + Q(s',a') - Q(s,a)],
其中 a' 是在状态 s 实际选择的动作。这似乎相当明显。但是 rho 应该如何更新呢?我的猜测是,由于 SARSA 是一种 on-policy 算法,因此每次迭代都应始终更新 rho - 无论是否在 s 处选择了贪婪操作 - 并且更新规则应该是:
rho = rho + beta * [r - rho + Q(s',a') - Q(s,a)]。
有人能告诉我这是否正确吗?还是应该根据状态 s 和 s' 的最佳动作更新 rho?
首先,问题在于,未贴现的非情景任务是一个病态问题,因为预期奖励是不同的(除非奖励具有某种属性,使它们在未来递减)。
编辑:抱歉,我查阅了书中引用的章节,并注意到 R 学习确实是一种处理不打折扣的非情景任务的方法。
AD REM:我认为以这种方式更新 rho 背后的想法是估计当前策略的平均奖励。因此,我猜测即使 SARSA 是一种策略方法,您也应该仅在选择了贪婪操作的情况下更新 rho 。这是因为,如果您想准确估计当前政策的平均奖励,您应该只考虑遵循此政策时会发生的事件。探索步骤所发生的事件并不代表“该政策的价值”的准确样本。这当然只是一个直观的说法——我没有任何 R-learning 的经验,也没有正式分析过这个问题。