蒙特卡洛 (MC) 方法和时序差分 (TD) 学习是强化学习中用于估计价值函数的两种方法,但它们在更新这些估计的方式和时间上有所不同。 MC 方法通过平均完整经验片段的总回报来学习。 例如,如果一个智能体导航一个迷宫,MC 会等到该片段结束(例如,到达目标或失败),计算从开始到结束的累积奖励,然后更新访问的每个状态的值。 相比之下,TD 学习使用观察到的奖励和当前对未来奖励的估计的组合,在每一步之后逐步更新估计。 例如,TD 可能会在智能体移动到下一个状态后立即调整状态的值,而无需等待片段结束。
关键区别在于它们对自举方法的处理以及对完整轨迹的依赖。 MC 不进行自举——它完全依赖于整个片段的实际回报。 这使得 MC 无偏差但具有高方差,因为结果在各个片段之间可能会有很大差异。 例如,在具有随机规则的游戏中,由于随机结果,MC 的价值估计可能会显着波动。 然而,TD 通过使用其自身对未来奖励的预测来更新价值来进行自举。 像 TD(0) 这样的常见 TD 方法使用即时奖励加上下一个状态的折扣值来更新状态的值。 这引入了一些偏差(因为预测可能不准确),但降低了方差,因为更新基于更短期的、更可预测的步骤。
MC 和 TD 之间的选择通常取决于问题的结构以及偏差和方差之间的权衡。 MC 适用于具有明确终止点的片段任务,例如棋盘游戏,其中可以使用完整轨迹。 然而,对于长片段或连续任务来说,它可能效率低下。 TD 更灵活,可在片段和非终止环境(例如,股票交易)中工作,并且由于增量更新,在许多情况下学习速度更快。 例如,TD 可以适应实时控制系统中不断变化的条件,而 MC 需要等待片段完成。 开发人员可能更喜欢 TD 用于在线学习或数据稀缺时,而 MC 可能更适合离线批量处理,其中精确的、无偏差的估计至关重要。