wfGo 围棋 AI训练 ANN训练

前言

wfGo 是笔者大学毕设作品,这几天有时间把它整理一下。该项目已在github开源,有需要的小伙伴可以看第一篇博客的末尾获取git地址:

https://blog.csdn.net/wf824284257/article/details/104085281

本文介绍了 wfGo的 AI训练模式 。

使用VS2017+打开项目即可。

开始

进入client端的主界面后,点击【ANN训练】 按钮,即可进入AI训练模式。

########### 1

根据下图所示,依次走1234这4步。

########### 2

之后,直接点击下图的 开始训练按钮即可。 点击后,下面【正在分析文件】会显示当前的进度。此时只需要等待完成。

########### 3

########### 4

当出现 【save weight ok】 的弹窗时,训练结束。

算法分析

此处使用的神经网络为BP神经网络,训练时,读入weight.txt的参数,训练完后,将新参数保存在weight.txt 。 这样保证了每次的训练成果没有浪费。

学习的数据为sgf类型的棋谱。 若一个sgf棋谱一共有200手棋,则对于该棋谱,学习节点共有200个。学习节点是一个数据结构,包含了一个棋盘矩阵与下一步的落子点。学习的过程大概是使用【学习节点】中的 落子点,作为对应棋盘矩阵的指导输出值,来训练我们的BP神经网络,不断的调整其中的参数。每个sgf可以重复多次训练。client项目中包含了大量的sgf文件。 sgf文件可以从网上下载。

########### 5

########### 6

########### 7

结束