首页 > 解决方案 > 为什么 AlphaGo Zero 使用二面旋转而不是归一化?

问题描述

AlphaGo Zero 论文提到,为了照顾游戏的对称性(动作值与棋盘的旋转和反射无关),生成的状态使用随机二面反射或旋转输入网络:

展开和评估(图 2b)。叶节点 s L被添加到用于神经网络评估的队列中,(di (p), v) = fθ(di(s L )),其中 d i是从i中随机均匀选择的二面反射或旋转[1..8]。

我想知道:每个板都可以表示为一个长数字。为什么不采取每个旋转和反射的数字形式,比较它们并选择较小的?(每次网络评估一个板)

我认为这将导致更快的学习,因为网络可以只关注所有可能状态的 1/8 部分。

标签: neural-networknumbers

解决方案


一种可能的解释是,他们感兴趣的是网络的对边和角落是否会对称收敛,因此他们可能已经使用这种方法来测试方法本身。

另一个假设的原因与“连续性”有关。如果移动一块石头可能会使位置不再正确定向,因此您必须翻转它,那么您从初始位置获得的值和策略数据突然不会为视觉上接近但数字翻转的位置提供任何训练好处。

归根结底,网络训练不是管道的瓶颈,self-play 生成是瓶颈。通过进行几次旋转来乘以生成的位置在那时可能感觉像是免费数据。

不过,他们确实完全摆脱了 AlphaZero 中的对称变换。同样,我假设它是为了测试,而不是优化(至少在围棋中。国际象棋和将棋显然是不对称的)。


推荐阅读