哪些强化学习算法对情景问题有效?

人工智能 强化学习 游戏-ai 无监督学习 蒙特卡罗树搜索 q学习
2021-10-20 23:27:46

我有一些从回合制 RTS 游戏中提取的情节数据集,其中导致下一个状态的当前动作并不能确定情节的最终解决方案/结果。

预计学习将在每个情节的最终状态/终止条件(当它赢或输时)终止,然后继续到数据集中的下一个情节。

我一直在研究 Q learning、Monte Carlo 和 SARSA,但我对哪一个最适用感到困惑。

如果实施了上述任何算法,是否可以在每个情节的终止状态之前的初始状态中给出零奖励,在该状态下,它将获得正/负(赢/输)值的奖励?

1个回答

在应用像 SARSA(on-policy)这样的技术时,需要对模拟器进行控制。如果一个人只能访问情节数据集,那么唯一的选择是选择 Q-learning 或 Off-policy Monte-Carlo(或一般的 off-policy 方法)。

是否可以在每个剧集的终止状态之前的初始状态中给出零奖励,在该状态下它将获得正/负(赢/输)值奖励?

关于上述问题,答案是肯定的。该任务将是一个稀疏奖励任务,奖励仅在最后一次转换时发生。在稀疏奖励任务中面临的问题是收敛缓慢(甚至缺乏收敛)。

处理稀疏奖励任务的一些指导方针如下:

  1. Monte-Carlo 和 n-step Q-learning 优于 Q-learning/SARSA。

    考虑 10 步链 MDP,当从 s10 到 END 的转换发生时,唯一的奖励是 +1。 在此处输入图像描述

    让我们考虑训练的第一集是 start->s1->s2->s3->....->s10->end。Q-learning 更新不会导致状态 s1、s2、s3、s9 的正常更新,因为下一个状态的 Q 值是随机值。唯一更新正常的状态是 s10

    但是,如果我们使用 n-step Q-learning 或基于 Monte-Carlo 的更新。所有状态的 Q 值都以逻辑方式更新,因为从情节结束的奖励传播到情节中​​的所有状态。

    n 步 Q 学习将是理想的,因为通过调整n的值,可以权衡蒙特卡洛方法(如上所述)和 Q 学习(低方差)的好处。

  2. 使用伪/辅助奖励

    这不一定是推荐的,因为添加新的奖励结构可能会导致意外行为。另一方面,它可能会导致更快的收敛。

    一个简单的例子如下:考虑一个国际象棋游戏,唯一的奖励是在游戏结束时。由于国际象棋游戏的情节很长,因此可以引入以下奖励结构:

    • +100 赢得比赛
    • +1 用于捕获板上的任何棋子

    因此,伪奖励可以为学习提供一些方向。注意两个奖励的不同比例(100:1)。这是必要的,因为任务的主要目标不应该转移到夺取棋子上,而是要赢得比赛。