AlphaZero如何将神经网络输出的概率向量与动态合法棋步匹配?
AlphaZero中神经网络概率向量与合法棋步的匹配逻辑
首先要明确:AlphaZero的神经网络输出的概率向量维度是固定的,它覆盖了该棋类所有理论上可能存在的棋步(比如国际象棋的所有可能走法组合,哪怕在当前局面下是非法的),并非随局面动态变化。具体匹配逻辑如下:
过滤非法棋步
拿到当前局面的合法棋步列表后,遍历神经网络输出的全量概率向量,只保留那些对应合法棋步的概率值,直接丢弃非法棋步对应的概率。概率归一化
由于过滤后剩下的概率值总和不再是1,需要对这些保留的概率进行重新归一化处理——将每个合法棋步的概率除以所有合法棋步概率的总和,确保最终合法棋步的概率分布总和为1。结合MCTS使用
经过上述处理后的概率分布,会作为MCTS(蒙特卡洛树搜索)的先验概率输入,指导搜索过程中对各合法棋步的探索优先级。
举个简单例子:假设某棋类共有100种理论棋步,神经网络输出100维的概率向量。当前局面下只有20种合法棋步,就提取这20个位置的概率值,把它们的总和调整为1,得到最终可用的合法棋步概率分布。
内容的提问来源于stack exchange,提问作者Javi FR
相关产品推荐
相关产品推荐

