为什么 AlphaGo 不使用深度 Q 学习?

人工智能 强化学习 深度学习 蒙特卡罗树搜索
2021-10-29 05:02:30

之前的研究中,在 2015 年,Deep Q-Learning 在单人 Atari 游戏中表现出了出色的表现。但为什么 AlphaGo 的研究人员使用 CNN + MCTS 而不是 Deep Q-Learning?是因为深度 Q 学习在某种程度上不适合围棋吗?

2个回答

Q学习(以及它的深层变体,以及大多数其他著名的强化学习算法)本质上是单智能体环境的学习方法。为这些算法开发的整个问题设置(马尔可夫决策过程,或 MDP)总是根据位于某个环境中的单个代理来构建,在该环境中,该代理可以采取对其所领导的状态具有一定程度影响的行动到,并且可以观察到奖励。

如果您有一个问题,即实际上是多智能体环境,有一种方法可以将此环境转换为单智能体设置;您只需假设所有其他智能体(即围棋中的对手)是“世界”或“环境”的固有部分,并且这些其他智能体移动的所有状态都不是真正的状态(不可见到您的代理),但只是中间步骤,这些部分环境代理会导致环境发生变化并因此创建状态转换。

这种方法的主要问题是;我们仍然需要对这些代理人的决策进行建模,以实施这种新的“世界”观,我们的对手实际上是世界的一部分。无论我们给他们什么实现,这就是我们的单智能体 RL 算法将学习对抗的东西。我们可以将我们的对手实现为随机代理,并运行像 DQN 这样的单代理 RL 算法,然后我们很可能会学会与随机代理打好。不过,面对强大的对手,我们可能仍然会很糟糕。如果我们想使用单智能体 RL 算法来学习如何与强大的对手打好,我们首先需要针对那些强大的对手进行实现。但是,如果我们已经拥有了……为什么还要费心学习呢?我们已经有了强大的围棋选手,所以我们已经完成了,不需要学习!

MCTS是一种树形搜索算法,它主动考虑存在具有相反目标的对手这一事实,并尝试对对手可以做出的选择进行建模,并且我们给它的计算时间越多,它就可以做得更好。该算法以及围绕它构建的学习方法本质上旨在解决多智能体设置(具有相反目标的智能体)。

深度 Q 学习是一种无模型算法。在围棋(以及国际象棋)的情况下,游戏模型非常简单且具有确定性。这是一个完美的信息游戏,因此根据您当前的状态和动作(这是模型)预测下一个状态是微不足道的。他们利用 MCTS 来加速训练。我想深度 Q 学习也可以,但它会处于巨大的劣势。