为什么 Alpha Zero 的神经网络会翻转棋盘以面向当前玩家?

人工智能 神经网络 强化学习 零字母 多代理系统
2021-11-17 06:15:31

在阅读 AlphaZero 论文以准备编写我自己的 RL 算法以顺利下棋时,我看到

“棋盘以当前玩家的视角为导向。”

我想知道如果有两个代理(黑色和白色),为什么会出现这种情况。是因为在 AlphaZero 用于生成移动的算法中,只有一个中央 DCNN 网络用于棋盘和移动评估(即没有两个单独的网络/策略用于各自的玩家 - 黑色和白色)?

如果我要在我的环境中为各自的代理实施黑色移动策略和白色移动策略,是否有必要反映棋盘以匹配当前玩家的视角,因为理论上黑色智能体应该学习黑色的移动视角,而白色代理应该学习白棋的着法视角吗?

2个回答

我不是 RL 方面的专家。我玩围棋已经有几年了。

我们先引用 AlphaZero 的论文:

除了 komi,围棋的规则对于颜色转置也是不变的;通过从当前玩家的角度代​​表棋盘来利用这些知识(参见神经网络架构)。

在围棋游戏中,除了棋盘表示之外,黑棋和白棋之间的区别是科米(黑方在最终计数中必须补偿白方先下棋的点数)。除了科米的存在,如果换颜色的话,相同位置下的策略应该没有区别。换句话说,给定一个状态s黑子和白子在棋盘上的数量,如果黑子先下的最优策略是π,那么如果棋盘上的棋子颜色交换,轮到白方,白方的最优策略应该是相同的π.

考虑到这一点,使用从自我/对手而不是黑/白的角度代表董事会的网络至少有两个优点。

首先是它可以防止网络在相同状态的两种表示下给出不一致的策略的可能性。考虑一个网络fθ接受董事会代表的顺序(B,W), 和一个状态s=(Xt,Yt)其中Xt是黑色石头的特征图和Yt是白子的特征图,轮到黑子了。现在考虑一个状态s=(Yt,Xt)(即颜色翻转),轮到白色了。ss本质上是相同状态的表示(除了不影响最优策略的 Komi)。网络可能存在fθ为这两种表示形式给出了不同的策略。然而,如果fθ接受状态为(Self,Opponent),网络的输入将是相同的(除了 komi 特征)。

因此,这种表示将显着减少特征向量表示的状态数量(X,),这将是训练神经网络的第二个优势。如果我们考虑在围棋中,相同的本地位置可能会以交换颜色出现在另一个位置,网络可以通过这种实现,将它们识别为相同的位置。状态数量的减少可能意味着网络所需的参数和功率显着下降。

AlphaGo 的其他训练实现也遵循使用相同状态的不同表示的相同原则,例如增加其训练数据以包括相同棋盘位置的旋转和反射。

然而,在国际象棋游戏中,情况就不同了。对于一个棋位,如果交换了棋子的颜色并轮到对手,这将是一个不同的状态,因为两种颜色的KING和QUEEN的位置不同。

在蒙特卡洛树搜索算法中,有一个单一的神经网络可以指导自我博弈。神经网络获取棋盘的当前状态s作为当前政策的输入和输出π(a|s)和价值v(s).

动作概率以 (8,8,73) 张量编码。前两个维度将图形的坐标编码为从板上“挑选”。第三维编码将这个数字移动到哪里:查看这个问题,讨论如何在 73 维向量中编码所有可能的移动。

同样,网络的输入以 (8, 8, 14 * 8 + 7 = 119) 张量组织。前两个 8 x 8 尺寸再次对板上的位置进行编码。然后人物的位置每6个人物类型一个平面:前6个平面为玩家人物,接下来6个平面为对手人物和两个重复平面这 14 架飞机重复 8 次,为网络提供前任位置。最后,在棋盘上有 7 个额外的平面编码为一个统一的值 - 易位权(4 个平面)、总移动计数(2 个平面)和当前玩家颜色(1 个平面)。

请注意,玩家图形和对手图形的位置被编码在状态张量的固定层中。如果您不将棋盘翻转到玩家的视角,那么网络对于黑白状态的训练输入将非常不同。它还必须根据当前玩家的颜色确定棋子可以移动的方向。当然,这一切都不是不可能的——但这会使 DNN 已经很难学习的问题变得不必要地复杂化。

正如你所描述的,你可以更进一步,完全分开对白人和黑人球员的训练。但这基本上会使您训练网络所需的工作量增加一倍(而且,我怀疑,对抗性训练会出现一些典型的稳定性问题)。

总而言之-您通常是对的-根本不需要翻转电路板。状态编码中的所有上述细节都是为了简化深度神经网络的学习任务。