飞扬围棋

标题: 围棋棋软管锥篇-旧贴和预告 [打印本页]

作者: zhouyang    时间: 2017-9-24 16:38
标题: 围棋棋软管锥篇-旧贴和预告
本帖最后由 zhouyang 于 2017-9-24 16:44 编辑

围棋棋软管锥篇-旧贴和预告

我想简单谈了棋软原理等等,谈完之后,后续的一些东西,就比较容易说清楚了啊。

但是一时没空,贴一个以前我发的就帖子,大家先看看,可能有点用,里面的一些具体测试细节,现在也有变化,比如,现在leela的测试程序也有变化,比如,变成多线程的了等等,大家如果有兴趣,可以先将就看。后面有时间我会专门发个帖子,尽量在用更浅显一些的语言谈谈棋软原理什么的。那个帖子不是主要谈原理,涉及不多,但主要意思没问题,以前是发在贴吧的,下面是链接:

https://tieba.baidu.com/p/5039852678?pn=1
作者: zhouyang    时间: 2017-9-24 16:39
目前围棋对弈软件水平已经很高,大家出于各种目的,也想配置自己的机器来运行。就看到各种帖子。先说的基本的。基本上,围棋软件水平的提高,主要来自蒙特卡罗算法。alphago又引入了神经网络。具体技术细节也不是这个帖子要谈的。
但基本这样,能有助理解就好了。
蒙特卡罗算法,通过随机 选点来计算,已经可以达到比较高的水平了,比如zen6,奕城9以上。
引入神经网络,通过学习,可以提高机器的棋感,简单说,没有网络,机器随机蒙,下子,有了神经网络学习。机器学习得到的棋感,就好非常多。
就是比如,如果alphago,把自己神经网络训练的结果,提供给其它棋软,在计算相同的情况下,表现应该是一样的。
简单说,就简化成这样。
蒙特卡罗,计算。
神经网络,棋感。

目前最新的棋软,有引入神经网络的,那么架构上,已经和alphago类似了。
作者: zhouyang    时间: 2017-9-24 16:39
本帖最后由 zhouyang 于 2017-9-25 16:53 编辑

神经网络的训练,和大家无关,那么略去不提。下面说我们时间使用中可能关心的问题。
早的棋软,例如zen5,已经比较强。引入神经网络的,理论当然更强啊。
其实人工智能的算法,理论等,很早就有了,关键是没有硬件能算那么多的,但后来,大家发现,cpu算,太慢,gpu可以啊,就一下热起来了,不止围棋。


对于我们要说的问题,关心的不是训练等,而是我们实际使用中的问题。下面简单说说。


引入神经网络技术,不一定是要GPU的,CPU也行,比如leela,就有两个版本,一个有gpu加速,一个没有。相应的部分有CPU完成,就是慢很多而已。
作者: zhouyang    时间: 2017-9-24 16:39
本帖最后由 zhouyang 于 2017-9-25 16:55 编辑

现在,简单说下现在大家能得到的棋软。
以3个来举例:
1,zen,其它商用版。和他类似。

zen5还没有引入神经网络,zen7应该比较强了。

这类软件的特点是,商用版,要保证多数人的机器都能不做太多的复杂配置,就能运行。基本应该,台式机,笔记本啥的,不管啥显卡,最少都能跑。对机器的要求不能太高。

同时,有一定的游戏性,比如,可以设定棋软实力,设置成3K,5d,就大致应该表现出相应棋力,不能太离谱。基本肯定是通过限制计算达到,我看到过,zen作者专门测试,调整不同参数,来让zen能表现出相应设置棋力。

就是说比如有个水平不太高的小孩子要和这类软件下棋,完全可以设置一个比较低得级别,棋就有的下。

而其它非商用的,基本下起来,都是最高水平啊。要不就是设置的非常简单,只能通过计算规模来限制。而且作者肯定没办法测试,不能保证到底是啥水平啊。

这是这类软件的优点,如下:
1.易用。
2.水平有分级,围棋水平有差异的使用者,都有可能可以下。

下面是缺点。
因为是商业软件,要考虑使用者的情况,不能无限思考啊。所以,zen限制了思考步数,即使分析模式,也只能算100万。
这样,就是未必能表现出其最强实力啊,比如,算1000万步能对,但100万就真有没算到的可能。
作者: zhouyang    时间: 2017-9-24 16:39
2,RN,这个是个开源的软件。基本就不是给一般只是想下棋,学棋的用的。

设置使用,比较麻烦,作者的优化方向,肯定是研究如何有最强棋力的研发目的用。根本不考虑如何用。

自己没有图形界面,必须要通过支持GTP的图形客户端来挂接。

硬件上,必须是9系列以上N卡才能有GPU加速,老N卡,A卡,根本不支持。

简单说下,如果想运行RN,需要的软硬件。

软件:

1.win系统,可能要比较新的版本,我只在win10上用过。其他,没试过。

2.Java VM,

3.gogui,这个需要JAVA。是RN的图形客户端。

4.RN可执行程序,新版可能要自己编译。运行的参数要自己设置。

硬件:
N卡9系列以上。

缺点:
1.要求使用者,稍微懂点计算机相关知识。
2.用的最大问题,没有分析模式,就是说,就算他对弈强,你学起来困难。

优点:
开源,有源代码。如果想自己开发,可以参考。
作者: zhouyang    时间: 2017-9-24 16:39
3.leela
leela本来是一个收费软件,现在完全免费了。不过不开源。

可以在WIN/Linux/Mac上运行。自带图形界面,也有支持GTP协议的命令行界面。
架构上,引入了神经网络,已经和alphago基本相同了。
神经网络加速部分,用的是opengl 1.1,理论上,现在还在服役的A,N卡,均可使用。
有两个程序,分别是含有GPU加速的,和不含的。

分析功能最强,有各种变化图参考。比zen强非常多,这点rn完全没得比。zen只能看5个下一步的选点,leela能看各种参考图,zen只能分析一步,leela可以无限分析。
优点:
1.非常易用。多平台支持。安装使用及其简单。
2.没有GPU加速,也能用,有了就更快。
3.分析功能目前最强,没有之一。

缺点:
1.和zen等比,棋力的分级肯定没有商业软件靠谱啊。基本上,你就和最高水平对弈就好了。
2.如果和RN比,想要开发,没源码,肯定没得参考啊。
作者: zhouyang    时间: 2017-9-24 16:40
前面说了这么多相关信息,那么说下和我们如果处于下棋,学棋的目的,有啥关系啊。
如果你目的是奕城,野狐,打个高段,那么,zen,leela,都不错。如果你显卡特别好,最新N卡十系列高端,比如GTX1080Ti,而且有一定的计算机知识,或许可以试试RN,RN对显卡要求高,这种要求的是限定时间内的棋力。

如果,你想和机器对弈,而自己水平未必很高,或者有个小孩子和机器对弈,那么zen等商业软件最好,可以设置棋力。
除非想要自己开发棋软,考虑RN,有源代码参考。同时有一定计算机知识,而且具备相应硬件,否则,不要用RN。
如果你想给自己复盘,研究到底该咋走,或者高水平的小朋友复盘学习,想起到替代请高水平老师或者省下去道场的成本,那么leela最好。分析功能最强。不过这个,还是要求看Leela分析的人,已经有一定水平和理解能力了啊。毕竟软件不会说话,可能大点的孩子,水平高点的,价值大。
举个例子,我有leela分析过一盘定式次序错误的棋,分析到1000多万步,leela基本完全走出了正确的定式。100万的时候,还是瞎走啊。
作者: zhouyang    时间: 2017-9-24 16:44
后面应该还有点内容,大家感兴趣,可以先看看,没准您感兴趣的问题,我那个帖子,也提到了,还有图啥的,俺就不贴了,大家看个意思,反正有空,我会继续发帖子,稍微仔细点的说说的。

里面还涉及到一些和其它软件对比,还有硬件选择之类的,感兴趣,请自行参考。
作者: zhouyang    时间: 2017-9-24 16:47
3月份的帖子,很古老了。
作者: baoweide    时间: 2017-9-25 15:58
zhouyang 发表于 2017-9-24 16:39
现在,简单说下现在大家能得到的棋软。
以3个来举例:
1,zen,其它商用版。和他类似。

zen6不是已经用上神经网络了?为什么说zen6没有神经网络呢?

作者: zhouyang    时间: 2017-9-25 16:54
本帖最后由 zhouyang 于 2017-9-25 17:38 编辑
baoweide 发表于 2017-9-25 15:58
zen6不是已经用上神经网络了?为什么说zen6没有神经网络呢?

打字错误吧,肯定原意是想说zen5以及以前的。
这么说,zen5以前没有,zen6也是开始引入,部分具备神经网络的。
zen6和Rn,leela还是有点差别的。
zen6虽然有这部分,但没有GPU运算加速,比zen棋力提高虽然很多。
而且zen6这个部分到底是什么样子的,其实并不是很清楚,就是可能用了一些技术来比zen5提高棋力。
但有了多少,什么程度,因为是商业软件,不是非常清楚啊。
而且,zen肯定对很多东西都有所消减啊,商业软件,有他的考虑的。
zen其实,比较强的技术,应该是蒙特卡罗的剪枝以及计算等等,毕竟搞了好多年啊。
但zen商业版本有些特殊的考虑,发布的商业版本,可能还是要做一些精简。
比如:zen6的布局,就比较单调,风格相对明显,比较容易看出是zen6下的。
像zen6等等商业的软件的特点,优缺等等,其实也挺多内容,不过不是要谈的重点,就基本不考虑展开说了。
可能就是,有时候,为了说明情况,顺带提一下的。
因为这个zen等只是顺带提的,也没想关于这部分内容多说,完全可能有些地方,不小心打字错等等。

您看的很仔细,谢谢。


但zen6不像RN,leela的GPU加速版等,没GPU加速就完全不可用。
或者可以把zen6看成有点像Leela的CPU版,有神经网络的训练结果参考,但靠CPU运算,计算性能受限,同时,zen6本身发布较早,训练的结果也可能落后。
大家有兴趣可以比较leela最新的CPU版和zen6的棋力,这两个软件的结构有类似的地方。
应该后续leelaCPU版会更强,因为新版会更新神经网络的训练结果。
跟GPU版比,leela CPU版的神经网络部分有削弱,是为了减少计算资源考虑,zen如果只用cpu,肯定会有等等类似情况。


zen6以后的版本应该才大规模使用深度学习等技术,也改名字叫deepzen了。

deepzen比较强,不停的训练神经网络,同时,早就用了GPU加速等等。
但是还没发售的zen7是什么情况不清楚。
据说zen7发布的版本可能只支持CPU,不支持GPU。
那很遗憾,棋力必然受到限制。
虽然别的方面的改进,肯定带来不少的棋力提高,
但如果不支持GPU,就不可能有deepzen的最强棋力。


作者: ramoscy    时间: 2017-9-25 21:15
学习了.
作者: lwq0130    时间: 2017-9-25 22:20
好好学习,天天向上
作者: 逢芳必点    时间: 2017-9-25 22:26
看来随着围棋软件的推广     网络比赛会逐渐失去价值




欢迎光临 飞扬围棋 (http://bbs.flygo.net/BBS/) Powered by Discuz! X3.2