MuZero 的第二个国际象棋二元平面是如何定义的?

人工智能 强化学习 深度学习 文件 穆泽罗
2021-11-07 19:09:36

来自MuZero 论文(附录 E,第 13 页):

在国际象棋中,8 个平面用于对动作进行编码。第一个 one-hot 平面编码了该块是从哪个位置移动的。接下来的两个平面编码棋子移动到的位置:一个单热平面编码目标位置,如果在棋盘上,第二个二进制平面指示目标是否有效(在棋盘上)。这是必要的,因为为简单起见,我们的策略动作空间枚举了所有可能动作的超集,并非所有动作都是合法的,并且我们使用相同的动作空间进行策略预测并对动态函数输入进行编码。剩下的五个二元平面用于指示晋升的类型,如果有的话(女王、骑士、主教、车、无)。

第二个二元平面是全零还是全一?或者是其他东西?怎么知道此举是否在董事会之外?对于我的游戏,我知道这是否是棋盘上的合法棋步,但不知道棋盘是否是棋盘外棋步。

1个回答

第二个二元平面是全零还是全一?或者是其他东西?怎么知道此举是否在董事会之外?对于我的游戏,我知道这是否是棋盘上的合法棋步,但不知道棋盘是否是棋盘外棋步。

根据定义,第二个二元平面是 one-hot,只有一个,其他一切都为零。如果不满足此定义,则不再是“单热”。

该论文没有说明如何准确实施“板外”实施。研究论文不会进入编码级别。然而,检测“离板”并不是一项具有挑战性的任务。

https://webcache.googleusercontent.com/search?q=cache:djj-G4T_PwgJ:https://craftychess.com/hyatt/boardrep.html+&cd=2&hl=en&ct=clnk&gl=au

棋盘表示进化的下一步是将棋盘封闭在一个更大的阵列中,这样非法方格就会“脱离”边缘并且很容易被检测到。

一种可能性是为您的电路板添加边框。狡猾的做到了。将板扩展到 10x10。不是 9x9,因为您需要处理骑士跳跃。

你应该如何做是实现定义的。我们不知道 Google 做了什么,因为 AlphaZero 不是开源的。我在这里只是给你一个例子。