大数据人官方⑤群

大数据人|中国大数据第一社区

 找回密码
 注册会员

扫一扫,访问微社区

聊聊AlphaGo、机器学习、以及它对扑克的影响

2016-3-7 21:43| 发布者: admin| 查看: 10195| 评论: 0|原作者: Rich Zhu|来自: 智游城

摘要: 一月底,自然杂志报道Google的AlphaGo成为首个击败人类职业选手的围棋人工智能程序。这个结果让几乎所有关注围棋AI的人都感到震惊,之前普遍认为,围棋机器战胜人类至少还需要10年,而突然之间,围棋人工智能有了一 ...

一月底,自然杂志报道Google的AlphaGo成为首个击败人类职业选手的围棋人工智能程序。这个结果让几乎所有关注围棋AI的人都感到震惊,之前普遍认为,围棋机器战胜人类至少还需要10年,而突然之间,围棋人工智能有了一个极大的飞跃,以至于AlphaGo被认为是人工智能的一个里程碑。

 

几乎同时出现两个比较大的扑克软件相关话题,一个是TCOOP终桌出现bot;另一个是snowie跟HM合作,在HM上放了SnowieApp,可能会加速对扑克生态的破坏。

 

考虑到大半年前职业扑克牌手跟扑克机器的首次正规对局,棋牌人机对话自然成为一个热门话题。

 

小编在这里整理出近期智游城上Rich Zhu发起的一个专题讨论,讨论和内容选取侧重于对扑克生态、环境以及扑克技术提高的影响。

 

全部讨论请参见http://www.zhiyoucheng.com/thread-26139-1-1.html

 

#1 RichZhu:

AlphaGo跟李世石的人机大战确定于3月9日、10日、12日、13日和15日在首尔举行,奖金为100万美元。国外的朋友可以在YouTube观看直播。对论坛的多数朋友来说,可能更关心的是扑克会受什么样的影响吧?最近一周有两个比较大的软件相关话题,一个是TCOOP终桌出现bot,另一个是snowie跟HM合作在HM上放了Snowie App,可能会加速对扑克生态的破坏。太大一个话题,有没有愁得睡不着觉或兴奋得自己打自己的?随便聊。

 

#3 yoking:

比赛筹码短,更容易养机器人。总之网络扑克这块是相当不乐观了。

 

#5 RichZhu 回复#3 yoking:

我倒是觉得,AI的进步会促使牌室对机器人态度的转变。之前很多牌室对机器人的态度是比较暧昧的,毕竟机器人也供水,也会带来直观上的人气。

 

随着bot技术的提高,bot的盈利能力逐渐超过一些半职业牌手,并成上升趋势,牌室是不能容忍牌桌上的钱大量流失的,毕竟人类牌手成为大赢家还有市场宣传价值,而bot赚的钱都是悄无声息地没了。

 

更重要的一点,是对牌室品牌的影响。当人们觉得网络牌室随处可遇机器人的时候,他们对网络扑克的热情就会降低。本来网络扑克就变得越来越无聊,整体打法逐渐向GTO收敛,逐渐机器人化,如果再觉得对手确实可能是机器人,就真的没兴趣玩了。下载一个免费软件或者一次性购买一个AI扑克,随时可玩,不需要网络,更不用被抽水。

 

到了这种地步,网络牌室就不得不对机器人认真对待了,因为机器人已经成为网络牌室最可怕的敌人。

 

同样的道理,连HM/PT这样的统计工具,也逐渐不受牌室欢迎。牌室需要尽可能维持一个“人性化”的环境。

 

#6 ticoarm:

最近这几天也在关注这个事情,对于机器学习,我上研究生的时候也上过这门课,感兴趣的朋友可以去网上看scikit-learn这个python包(这个项目也是google弄的),随着给机器的训练数据的增大和对于计算机结果的修正,机器会变得越来越强大,其实不管是博弈类游戏也好,面部识别或者自动驾驶汽车,看似不相关的东西,机器在学习的时候的本质都是这个。

 

我自己觉得人们对于解决博弈类游戏的方法有两种,一种是纯数学意义上的解,另一种就是通过大数据,数据挖掘和机器学习来让机器像人一样学习,只不过比人学习更快,我们所有记录下来的棋局都可以成为机器学习的“养料”。虽然这种方法与数学意义上的解相比,没那么优雅,但就是可以通过不间断的学习,快速的成为最厉害的人,就是这么粗暴,想想都可怕。所以人输给机器也是注定的事情,只不过这不是通过数学上的击败(围棋体量大,现在也算不出),而是因为机器是个拥有多个大脑,可以不停学习的学霸。

 

回到扑克,我觉得首先扑克和围棋相比,可能就差在扑克是不完全信息游戏吧。再一点,如果说扑克机器人采用的是上一段中所说的第二种机器学习的方法的话,那么就是说机器放弃完全的GTO策略(假设GTO被发现并使用),机器应用非GTO策略的话,那人类如果改变了策略的话,机器如何能够及时发现呢?我觉得想让德州扑克机器人能与世界一流扑克选手较量的话,可能这两点是对于机器来说的难点吧,前一阵那个德州机器人也确实完败给了人类。

 

所以这些新闻给我的感觉就是机器学习对于完全信息博弈游戏产生了天翻地覆的影响,对不完全信息博弈游戏产生了不算天翻地覆,但是也足够大的影响,我想5年之内,无限德州机器人不会击败一流扑克选手。

 

#9 lilili11:

扑克室不会允许私人用,但是他们自己可能投放机器人,如果机器人能打赢reg的话。这要看他们在“用户体验”和“更大程度地圈钱”中做的权衡了。又一台“珍妮纺纱机”。

 

#10 notch 回复#9 lilili11:

机器人破坏的是网络扑克的环境,这个是挖根的行为。如果扑克室这么干又被揭发(或怀疑)的话,那是自掘坟墓了。有点类似怀疑扑克室操纵那些深筹牌局BB的话题。所以我觉得扑克室应该不会这么干。

 

#12 lilili11 回复 #10 notch:

我觉得你说的有道理。事情应该不会变得那么糟糕。机器人的出现对于玩家想要靠扑克赚钱的热情,打击太大了。所以扑克室也不乐意看到可以打败玩家的机器人的出现。还是维持一个“每个人都可以靠扑克发财”的集体幻觉,对扑克室最有利。无法击败的机器人的出现,会惊醒所有人。扑克的这种能赚钱的诱惑力可能比本身的内在乐趣更强,每个人都倾向于认为其他人是鱼,所以才会投入到扑克中,类似博傻游戏。如果大家都理智的话,即使没有机器人,扑克恐怕也只能剩下类似围棋和象棋的热度了。

 

#13 notch 回复#6 ticoarm:

扑克的确是不完全信息游戏,但这点对人和AI都是一样的。而AI的强大在于大数据的处理,它能记住和分析和对手的所有历史牌局。如果AI能够从中精准的提炼出每一个人的习惯,那将会是战无不胜的。

 

人类牌手能做的就是用尽可能的平衡防御,但这点受限于人类的各种局限,不可能是完美的防御。所以我对扑克沦陷持悲观态度。

 

#14 RichZhu 回复 #6 ticoarm:

我认同你的说法,就是扑克机器放弃完全的GTO策略。我一直认为,完全的GTO策略大概会是各种智能扑克软件里面最没前途的一种。

 

但我不同意你说的,5年之内,无限德州机器人不会击败一流扑克选手。我在微博上说,如果google来做扑克机器人,半年就足以打败人类。

 

我认为Alphago这次引入的“策略网络”和“价值网络”对有效降低机器的蛮力计算,在扑克机器上应用比在围棋机器上的效果会更为显著,这对深筹码无限德州的帮助实在是太大了。

 

对于人类改变策略来说,我想是不需要太担心的。虽然扑克AI直接走GTO算法行不通,机器的高效自学会让决策非常接近GTO。这应该算是一个比较有趣的地方吧,我们按GTO的算法求解,得不出GTO的答案;让机器自学,完全没有跟机器设定任何GTO关联,最后却能得到非常接近以至于实战上感觉不到差别的GTO应用。

 

自然在这样的基础上,AI可以有进一步的模式识别来最大化利用具体人类牌手的倾向和漏洞。即便不走到这一步,单单是非常接近GTO,也足以战胜人类牌手了。

 

#15 RichZhu 回复 #12 lilili11:

即便牌室不考虑机器人对业界的长期伤害,也要考虑作弊的风险与成本。

 

当初UB/AP出现超级用户,对这些牌室伤害很大,但牌室还是可以以不知道,属于员工个人行为为由,勉强过关。如果是牌室机器人被发现,法律这一关就过不去了。为了维持这个秘密,牌室需要的成本太高了。

 

另外很多牌室都属于一个更大的游戏公司,牌室收入常常占母公司很小的比例,而且成下滑趋势,母公司也不会允许自己的牌室为了蝇头小利而牵连整个公司。

 

PS/FTP的母公司都在把重心往那些更赚钱的项目上移,BJ/DFS/…,就不用说其他家了。

 

#16 泥中土:

原来Rich老大上一次发帖批评的是靠蛮力的完全GTO,而非其它粗糙模拟的近似GTO呀。

 

#17 RichZhu 回复 #16泥中土:

这两种GTO的实现都不适合人类牌手。另外把第二种说成粗糙模拟并不妥,它只是机器自学在一定条件下的收敛结果,构成的一个平衡或者自洽的体系,是可以做到“足够”逼近正解的。

 

我上次发帖也不是单指蛮力GTO的不可实现,更多的是对中文扑克界在GTO理解和应用方面普遍存在的混乱和误导谈一下我的看法,希望至少对部分玩家多少有些帮助,少走些弯路。

 

这个话题太长,有兴趣的朋友可以看http://www.zhiyoucheng.co/thread-23321-1-1.html

 

从人类的角度来讲,扑克真的是一个很朴实的东西。不管AI进化到什么程度,人类最有效最实用的学习途径还是要从基础知识、基本概念开始,而整个过程最重要的部分一定是让自己学会用脑,而不是带着幻觉钻牛角尖。

 

#18 RichZhu 回复 #13 notch:

扑克沦陷给AI没关系哈,反正扑克是人跟人的对局。国际象棋沦陷快20年了,人类仍然兴致勃勃地玩,高手仍然是智力比较好的那个群体。我觉得扑克机器战胜人类对扑克整体水平的影响要远小于国象和围棋的影响。

 

#19 ticoarm 回复 #14 RichZhu:

对于何时机器人能够击败一流选手,我重新认真思考了一下,觉得这个问题量化处理的话,其实就是CPU时间和算法问题。

 

我知道老大对于围棋有研究,对于AlphaGo所表现出来的能力与解决围棋游戏所需要的CPU时间和算法之间的关系一定有更深刻的理解。从解决围棋问题来看,上述的CPU时间和算法这两个要求,Google公司一定是足够的,所以我现在觉得自己之前说的5年内机器人无法击败人类有些欠妥,其实我之前得出这个结论也是由于我对于GTO的误解,但这里就不详细说了。

 

总之,很喜欢也很感谢这样的讨论,希望以后继续,共同进步。

 

#20 amandag:

个人有编程的能力,最近在思考一些牌例的时候想用编程来模拟和对手交手的各种action,结果发现自己很多牌原来想的并不清楚。比如100bb有效筹码,我们mp所有open的range被后位call(我们可以根据对手的入池率来估算对手的callingrange),我们在什么样的flop会cbet,如果对手call,所有可能的range是什么,turn上我们继续bet,对手raise的range可能是什么?我们需要马上弃牌吗?具体点,mp 99 open 之后能cbet的flop有多少个,哪些flop适合checkcall,什么样的情况在turn上必须放弃。我们现在总是用经验去解决问题,但互联网大数据的时代,数据分析肯定更有价值。

 

#23 noworry 回复 #18 RichZhu:

不太理解老大讲的这句话 – “我觉得扑克机器战胜人类对扑克整体水平的影响要远小于国象和围棋的影响。”

 

另外机器牌手战胜人类,大家都跟机器人学习,这个影响会非常大吧?

 

#24 royalflush 回复 #14 RichZhu:

“虽然扑克AI直接走GTO算法行不通,机器的高效自学会让决策非常接近GTO。这应该算是一个比较有趣的地方吧,我们按GTO的算法求解,得不出GTO的答案;让机器自学,完全没有跟机器设定任何GTO关联,最后却能得到非常接近以至于实战上感觉不到差别的GTO应用。”完全赞同Rich所说的这一段!

 

另外我对这一场比赛的看法是,如果AlphaGo输,这是不要紧的,它将会有更多的数据输入,然后可以24/7进行自学修改调整,再来下一场比赛。

 

#25 RichZhu 回复 #19 ticoarm:

确实,这次AlphaGo横空出世,震惊了几乎所有关注围棋AI的人。机器围棋这么多年一直进展缓慢而且有很强的“可预测性”,然后,out of nowhere,AlphaGo就出来了,不但一下子成为最牛的围棋AI,而且在让4子或更多的情况下,把其他所有顶尖的围棋机器打得完全没有招架之力,这个跳跃实在太大了。

 

更牛的是,所有这一切都是在硬件几乎没有变化的情况下做到的,完全是算法上的突破,这也是为什么AlphaGo被认为是人工智能的一个里程碑。确实,人类之前都过多地把注意力放在计算能力的提高上了,而靠计算能力的提高对围棋这样复杂的游戏,水平提升是非常缓慢的。就是这个AlphaGo本身,使用分布式的AlphaGo(1202个CPU,176GPU)跟单机式的AlphaGo(48CPU,8GPU)对下,胜率也就是78%,可见计算能力要提高很多,机器水平才会提高一丁点,这也是为什么几乎所有专业人士都认为计算机战胜职业棋手要等到下一代计算机的出现。

 

回到扑克机器,比较专业的研究也就是近几年的事情,落后围棋机器的研究实在太多了。即便这样,很多商业研究的软件也已经到了在网络中低级别盈利的程度。而这些软件,基本上都有明显的漏洞,非常不完善。

 

就说去年人机大战的那个Claudico程序吧,人类牌手进池的时候都会有个小的raise,因为他们发现程序在应对随机的小加注方面漏洞明显,另外程序还会出现在一个很小底池下超级大注的违反基本常识的打法。显然这些程序在基本算法方面还有很大的漏洞,而AlphaGo这样的算法是不会有这类问题的,这是为什么我觉得google要是研究扑克机器,半年就足以打败人类。

 

但是,“打败人类”这个说法要特别小心。在围棋上,没什么好说的,就是人跟程序下,赢了就是赢了,输了就是输了。在扑克上,我们大概只能指的是人跟机器的heads up比赛,任何超出这个范围的定义,要复杂和有争议得多了。再说下去太长了,先到这里,后面回复另外一个帖子的时候可能会展说。

 

#27 RichZhu 回复 #23 noworry:

大家都跟机器人学习,影响肯定是会有的,但究竟影响多大,恐怕不会像很多人认为的那么大。

 

我们看一下国际象棋,过去这些年,随便找个击败人类最优秀牌手的程序不是难事,但有多少人成为国际象棋大师?人类跟计算机学也不是一件容易的事情,这个我在前面那篇关于GTO的帖子中说过。

 

就是人跟人学,都不是很容易的事情。我在那篇关于AK争论的帖子中说过:“如果Phil Ivey出书,出视频,毫无保留给出他所有知道的,难道扑克界就会瞬间出现成千上万的Ivey?”

 

与围棋象棋相比,扑克更多的是一个策略性游戏。简单学习机器在这里fold,那里raise或者面对这个对手这里下注多少,面对另外一个对手同样条件又该下注多少,是没有多少效果的。度过了最初的ABC阶段,你必须理解一套具体打法的背后思路,才会真的对你有帮助。相比之下,围棋有很大比例的技巧训练,比如大量的定式和局部死活,这些部分的人机训练,效率很高。

 

另外一点,就是当围棋机器战胜人类的时候,这个机器已经非常接近这个游戏的“正解”了。职业围棋手,对对方的错误是非常敏感的,而自身水平发挥也波动很小,加上围棋是一个完全信息的游戏,围棋程序必须要很接近正解才可能击败人类。相比之下,扑克牌手很难快速抓到机器的弱点,除非是算法本身有明显漏洞,而扑克牌手的水平发挥的波动和错误是大量的,常常是明显的。所以当扑克机器击败人类的时候,可以想象它离“正解”比围棋远,比国际象棋更远,因此它本身打法的参考价值就要打折扣。

 

最为重要的还是围棋这些游戏规则导致的人机学习过程的相对“单一性”。围棋的目标是非常单纯的,就是最终比对手围的地多,而国际象棋的终极目标就是消灭对方的王。请注意,围棋比终局的时候谁围的地多,并不需要考虑赢家比输家多围多少,这是为什么AlphaGo在领先的情况下可能下得非常猥琐,因为只要算清楚一条路确定能赢,就不必考虑其它计算,从而进行安全运作。如果像有些赌棋那样计算具体输赢的目数,就会复杂得多了。

 

相比之下,扑克就没有这样简单的目标了。除非一些特定形式的比赛,你很少会只考虑输赢的几率而不考虑输赢的大小。而这个输赢大小的考虑,会让人机学习一下子变得极为复杂,或者说学习效率变得很低。

 

我在“漫谈现场与网络扑克的差异”里面关于打鱼说过这样一段话:打鱼不但是扑克游戏的原动力,也是扑克理论与实践的本质与核心!扑克游戏不是在追求假设对手在打法正确下如何应对,而是在寻找如何在对手出现错误的时候最大利益化。扑克难的地方不在于对正确打法的正确应对,难的是在不断变化中捕捉到对手偏离正确打法,并给出相应的最佳应对。求解并及时应用对手偏离正确打法时的最佳应对要远比对手正确打法下的正确应对复杂,一个是一维静态的,一个是多维动态的。

 

5年前写这一段,是为了给“打鱼”正名。当时有一些所谓的高手习惯于高傲地说:你那一套也就只能打鱼。想必过来的人还记得这些吧,就如同这两年高手一开口,必然GTO一样。

 

巧的是,扑克的人机学习,比较具有围棋人机学习特点的部分,恰恰就是GTO相关部分,也就是我前面指的一维静态,尽管这一部分也只能学习一些特定条件下的处理。

分享到: QQ空间 新浪微博 腾讯微博 人人网 飞信 百度搜藏


鲜花

握手

雷人

路过

鸡蛋

最新评论

关闭

站长推荐上一条 /2 下一条


id="mn_portal" >首页Portalid="mn_P18" onmouseover="navShow('P18')">应用id="mn_P15" onmouseover="navShow('P15')">技术id="mn_P37" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">前沿id="mn_P36" onmouseover="navShow('P36')">宝箱id="mn_P61" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">专栏id="mn_P65" >企业id="mn_forum_2" >社区BBSid="mn_Nd633" >导航id="mn_Nbe89" >通讯录id="mn_N4033" >赞+1 折叠导航 关注微信 关注微博 关注我们

QQ|广告服务|关于我们|鄂ICP备14012176号-2|Archiver|手机版|小黑屋|大数据人    

GMT+8, 2017-5-23 18:52 , Processed in 0.768540 second(s), 21 queries .

Powered by 小雄! X3.2

© 2014-2016 bigdataer Inc.

返回顶部