阐明国际象棋阿尔法零的神经网络输入的表示

人工智能 强化学习 深度学习 零字母
2021-11-04 16:30:59

在 Alpha Zero 论文 ( https://arxiv.org/pdf/1712.01815.pdf ) 第 13 页中,描述了 NN 的输入。在页面的开头,作者声明:

“神经网络的输入是 N x X x (MT + L) 图像堆栈 [...]”

由此,我了解到(对于一个训练示例)每个输入特征都是一个 8x8 平面。(从技术上讲,每个 8x8 平面的每个值都是一个特征,但出于问题的目的,我们假设一个平面是一个输入特征)。

在图像顶部的表格的描述中,做了以下陈述:

“[...] 计数由单个实值输入表示;其他输入特征由使用指定数量的二进制输入平面的 one-hot 编码表示。[...]”

我了解他们如何将 P1 和 P2 片段转换为 one-hot 编码。我的问题是:

  1. 当他们说单实值输入时,由于每个输入特征都应该是一个 8x8 平面,他们是否意味着他们创建了一个 8x8 平面,其中每个条目都具有相同的单实值?例如,对于“总步数”平面,如果到目前为止在游戏中已经进行了 10 步,它会像下面这样吗?
  move_count_plane = [[10, 10, 10, 10, 10, 10, 10, 10],
                      [10, 10, 10, 10, 10, 10, 10, 10],
                      [10, 10, 10, 10, 10, 10, 10, 10],
                      [10, 10, 10, 10, 10, 10, 10, 10],
                      [10, 10, 10, 10, 10, 10, 10, 10],
                      [10, 10, 10, 10, 10, 10, 10, 10],
                      [10, 10, 10, 10, 10, 10, 10, 10],
                      [10, 10, 10, 10, 10, 10, 10, 10]]
  1. 'Repetitions'平面,是不是和上面一样?他们的意思是一个平面,其中每个值都是达到特定板设置的次数?例如,如果某个特定位置已到达 2 次,则该位置的重复平面将是
  # for a specific timestep in the T=8 step history
  repetitions_plane = [[2, 2, 2, 2, 2, 2, 2, 2],
                       [2, 2, 2, 2, 2, 2, 2, 2],
                       [2, 2, 2, 2, 2, 2, 2, 2],
                       [2, 2, 2, 2, 2, 2, 2, 2],
                       [2, 2, 2, 2, 2, 2, 2, 2],
                       [2, 2, 2, 2, 2, 2, 2, 2],
                       [2, 2, 2, 2, 2, 2, 2, 2],
                       [2, 2, 2, 2, 2, 2, 2, 2]]

? 另外,他们为什么要保留 2 个重复平面?每个玩家都有一个吗?(过去 T=8 的重复平面为 P1 移动,过去 T=8 的更多重复平面为 P2 移动?)

提前致谢。

1个回答

对于任何想知道的人,我相信已经找到了答案:

  1. 是的,这将是一个 8x8 平面,其中所有条目都相同,移动次数(或没有进度的 mpve)。

  2. 有两个重复平面(从最近的 T=8 个位置开始的每个位置):

    a) 如果位置是第一次重复,则第一个重复平面将是所有条目均为 1 的平面。其他 0。

    b) 如果第二次重复当前位置,则第二个重复平面将是所有条目均为 1 的平面。其他 0。