蒙特卡洛 (MC) 学习是一种强化学习技术,它通过平均与环境交互的完整情节的回报来估计价值函数(例如状态或动作值)。与增量更新估计的方法(例如,时序差分学习)不同,MC 会等到一个情节结束后才计算总奖励和更新值。这种方法是无模型的,这意味着它不需要预先了解环境的动态(例如,转移概率)。 MC 特别适用于情节性任务,其中体验自然地分解为不同的序列,例如具有明确结局的游戏或具有终止状态的任务。
MC 的一个主要优点是它的简单性和直接使用实际回报,这使其无偏差——它不依赖于对未来奖励的估计。 例如,在像 Blackjack 这样的游戏中,代理可以玩完整的一手牌,并使用最终结果(赢/输)来更新该情节期间遇到的每个状态的值。 然而,MC 也有缺点。 由于它需要在更新之前完成一个情节,因此对于长期的或连续的任务来说效率很低。 此外,对完整回报的依赖会在更新中引入高方差,因为情节的结果可能差异很大。 这与像 TD 学习这样的方法形成对比,后者通过自举(增量估计未来奖励)来牺牲一些偏差以换取较低的方差。
为了说明这一点,请考虑训练一个代理玩 Blackjack。 每个情节对应于一手牌。 代理的状态可能包括其当前的牌面总和、庄家可见的牌,以及它是否持有可用的 Ace。 动作是“要牌”或“停牌”,奖励(+1、-1 或 0)仅在最后揭示。 在每手牌之后,MC 通过平均该状态发生的所有情节的回报来更新访问过的每个状态的值。 例如,如果代理在总和为 15 且庄家的牌为 6 的状态下要牌后获胜,则该状态-动作对的值会向上调整。 这种在许多情节上的平均有助于代理了解哪些状态和动作会带来更好的结果,即使在结果不确定的随机环境中也是如此。