AlphaZero 是否使用 Q-Learning?

人工智能 强化学习 q学习 蒙特卡罗树搜索 监督学习 零字母
2021-11-09 00:14:19

我正在阅读 AlphaZero 论文Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm,似乎他们在任何地方都没有提到 Q-Learning。

那么 AZ 是在自我游戏的结果上使用 Q-Learning 还是只是一种监督学习?

如果是监督学习,那为什么说 AZ 使用强化学习呢?“强化”部分主要是使用蒙特卡洛树搜索的结果吗?

1个回答

注意:您在评论中提到您正在阅读 arXiv 上描述 AlphaZero 的旧版预印本。我的答案将是“官方”,经过同行评审,最近在《科学》杂志上发表的文章(nbro 在他的评论中链接到)。我不仅因为它是官方的而关注论文的正式版本,而且因为我发现它更好/更完整,如果可以的话,我建议阅读它而不是预印本(我了解它位于付费墙后面,因此某些人可能难以访问)。无论如何,这个特定问题的答案对于 arXiv 版本可能是相同的。


不, AlphaZero不使用Q学习。

AlphaZero 中的神经网络经过训练以最小化以下损失函数:

(zν)2πlogp+cθ2,

在哪里:

  • z{1,0,+1}是在自我博弈中观察到的真实结果。
  • ν是预测的结果/值。
  • π是从 MCTS 的访问计数得出的动作分布。
  • p是网络/策略输出的动作分布。
  • cθ2是一个正则化术语,对于这个问题/答案并不是很有趣。

在这个损失函数中,术语正是我们在传统强化学习设置(使用函数逼近)中基于 Monte-Carlo 回报执行简单的 Monte-Carlo 更新时所拥有的。请注意,没有“自举”,没有单步观察到的奖励加上预测的未来奖励的组合,就像我们在学习中所做的那样。我们一直玩到游戏结束(“一集”),并使用最终结果来更新我们的价值函数。这就是蒙特卡洛学习而不是学习的原因。(zν)2QzQ

至于项,这绝对不是学习(我们在这部分直接学习策略,而不是价值函数)。πlogpQ

如果是监督学习,那为什么说 AZ 使用强化学习呢?“强化”部分主要是使用蒙特卡洛树搜索的结果吗?

策略学习看起来与监督学习非常相似;实际上,这是监督学习(分类)设置中经常使用的交叉熵损失。我仍然认为它是强化学习,因为更新目标完全由自我游戏决定,由智能体自己的经验决定。没有外部提供的训练目标/标签(即没有从人类专家游戏数据库中学习,就像 2016 年在 AlphaGo 中所做的那样)。