本项目中的模型以论文中的模型结构为基础进行简化。模型首先采用3层<卷积-Batch Normalization>结构,分别包括32,64,128个3x3卷积过滤器,进行特征提取,接着分别传入策略预测网络和局势预测网络。策略预测网络包含一层卷积层(2个1x1卷积过滤器),Batch Normalization,最后传入Softmax分类器进行预测。局势预测网络包含一层卷积层(1个1x1卷积过滤器),Batch Normalization,最后利用tanh函数对局面评分。所有激活函数均为ReLU,模型通过Momentum SGD训练。
模型使用Tensorflow(1.5)训练,可以在Model/Alpha
文件夹中找到。其中Model/Alpha/train.py
中包含训练部分代码。Model/Alpha/model.py
中定义网络模型。Model/game.py
定义游戏环境相关的API。Model/agent.py
中包括一些Agent类用于对战。Model/self_play.py
用于收集训练数据。训练命令:
python -m Model.Alpha.train
命令行中输入:
python play.py is_black
其中is_black=1为先手,0为后手。