从答案跟踪到:
我的问题是神经网络如何“学习”在从未遇到过的位置上做什么。说实际的AZ使用受过训练的神经网络的偏倚+权重执行MCTS,只是将其推后了神经网络如何计算这些值的一步。如果是通过随机的自我玩法,而没有任何人类知识,那么它将如何决定如何权衡从未见过的位置?
从答案跟踪到:
我的问题是神经网络如何“学习”在从未遇到过的位置上做什么。说实际的AZ使用受过训练的神经网络的偏倚+权重执行MCTS,只是将其推后了神经网络如何计算这些值的一步。如果是通过随机的自我玩法,而没有任何人类知识,那么它将如何决定如何权衡从未见过的位置?
Answers:
象棋引擎的评估功能,无论是作为神经网络实例化还是由显式代码实例化,始终能够为任何棋盘位置分配一个值。如果给它一个棋盘位置,甚至是游戏中永远不会出现的荒谬位置,它都可以吐出一个数字,代表它对一个或另一个玩家的有利程度。由于国际象棋中棋盘位置的数量非常庞大,因此只能在游戏树的无穷小样本上进行训练。引擎不只是简单地调出先前计算的电路板位置值,而是根据零件的排列进行计算。对于非神经网络的示例,国际象棋引擎评估的一部分可能是将每块棋子的价值相加,然后减去对手棋子的总价值。然后,
当发动机未经训练时,分配给某个位置的值也可能是随机的,因为评估函数的参数以(通常)随机值开始。训练阶段的目标是调整引擎的参数,以使高分分配给可能是玩家获胜状态的局面。
从有关AlphaZero的论文(第3页)中:
AlphaZero中的深层神经网络的参数从随机初始化的参数开始,通过自我扮演的强化学习进行训练。通过选择MCTS为两个玩家选择的动作来玩游戏。在游戏结束时,将根据游戏规则对最终位置进行评分,以计算游戏结果:−1表示损失,0表示平局,+ 1表示获胜。更新神经网络参数,以使预测结果与游戏结果之间的误差最小,并使策略向量与搜索概率的相似度最大。
[从报价单中删除数学符号]
总之,在训练期间,AlphaZero自己对战。当游戏结束时,将使用游戏的结果及其对游戏进行方式的预测准确性来调整神经网络,以便在下一场游戏中更加准确。AlphaZero不会保留所看到的每个位置的记录,而是会进行自我调整,以便它可以更准确地评估将来看到的任何板。