Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

训练数据问题 #1

Open
sjm1992st opened this issue May 5, 2018 · 7 comments
Open

训练数据问题 #1

sjm1992st opened this issue May 5, 2018 · 7 comments

Comments

@sjm1992st
Copy link

请问用了哪些数据训练的,多少量呢?训练了多长时间?

@HardcoreJosh
Copy link
Owner

HardcoreJosh commented May 6, 2018

策略网络和价值网络都是用公开数据训练的,没有用到自我对弈的强化学习。

策略网络是用1970年之后的职业棋手对局数据训练的,有1000多万条(盘面,下一步)的数据,我记得用policy_net.py里面的网络在1080上训练了一天多,大概有10个epoch。价值网络的低层是用策略网络的低层初始化的,然后先在aya‘s selfplay数据集上训练了几个epoch,最后在kgs 4d over数据集上finetune。这些数据集可以在这里找到。

价值网络很容易过拟合,因为一局棋里面的相邻步数,棋局只有一个或几个子不同,但是回归的目标都是一致的。所以一局棋里面我在布局,中盘,官子各随机选了一步来加入到训练集里面。训练的时候,加了比较大的L2正则化。最后训练出了现在的价值网络。

@sjm1992st
Copy link
Author

好的,非常感谢

@sjm1992st
Copy link
Author

您好,另外问下 input.py文件里两个解析函数parser,数据不都是sgf吗? 怎么选择用哪个

@HardcoreJosh
Copy link
Owner

kgs和aya's self play 数据集sgf格式略有不同,另外kgs里面有很多特殊情况比如让子棋,需要剔除出去。

刚才发现这几个月又放出了很多新的数据集,比如野狐服务器上的对局,还有Leela Zero的自我对弈的对局,如果加上这些数据训练价值网络,应该会更强。

@sjm1992st
Copy link
Author

sjm1992st commented May 7, 2018

emm~ 我在尝试用这里的数据训练policy_net时,在SGFparser.py用的parse_kgs发现这个有问题,这个解析的不能转换十进制....
if token[:2] == 'BR':
self.bd = int(line[3])

@HardcoreJosh
Copy link
Owner

不同的数据集,sgf的格式多少都有一些不同 我没有写出一个通用的sgf parser,parse_kgs这个函数应该是只能用于kgs数据集

@mazeyu
Copy link

mazeyu commented Dec 30, 2020

你好,非常感谢你的代码和思路。我基本照着实现了一遍。但是价值网络直接按照人类棋手数据训练。虽然在人类数据上价值网络的(验证集)准确率已经是百分之六七十,终局百分之八十,但是实战中感觉价值网络完全不准。局部计算能力非常差。想问问,价值网络是否在自对弈数据训练会好很多呢。
Screen Shot 2020-12-30 at 12 21 51 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants