使用PyTorch实现简单的AlphaZero的算法(3):神经网络架构和自学习

神经网络架构和训练、自学习、棋盘对称性、Playout Cap Randomization,结果可视化

从我们之前的文章中,介绍了蒙特卡洛树搜索 (MCTS) 的工作原理以及如何使用它来获得给定棋盘状态的输出策略。我们也理解神经网络在 MCTS 中的两个主要作用;通过神经网络的策略输出来指导探索,并使用其价值输出代替传统的蒙特卡洛rollout算法。

在这一部分中,我们将从这个神经网络的架构开始,检查它的不同层、输入和输出。然后了解如何使用自我对弈训练网络和研究用于训练神经网络的损失函数。本文还将仔细研究训练的细节,包括特定于 Chain Reaction 游戏的数据增强技术和称为 Playout Cap Randomization 的方法提高训练效率。最后我们将可视化查看我们的工作成果。

神经网络架构

神经网络模型的输入形状为MxNx7,其中M和N分别为Chain Reaction游戏的行数和列数。图形中的数字“7”表示有7个通道,每个通道以二进制数据的形式存储的某些特定信息,如下面所示:

下面的图片展示了神经网络的架构。

我们的神经网络结构是一个resnet结构-它有conv2d, batchnorm2d和relu层,dropout层和两个任务头。

 

完整文章:

https://avoid.overfit.cn/post/d2e6352cf0104473ba896d198f8277bc

posted @ 2022-11-29 11:11  deephub  阅读(91)  评论(0编辑  收藏  举报