AI赌神升级!无惧bluff,6人局德扑完胜世界冠军,训练只用了8天

大数据文摘出品

作者:曹培信、宁静

2017年年初,Brain vs AI的德州扑克人机大战在卡耐基梅隆大学(CMU)落幕,由4名人类职业玩家组成的人类大脑不敌人工智能程序Libratus。

获胜后人类还遭到了Libratus的无情嘲讽。

但是那时候Libratus还只是个只能在1V1局里称霸的超级玩家,要说人类最喜欢的6人局这样的“大场面”,当时的Libratus还没有拿到入场券。

而就在昨天,Facebook与CMU学Noam Brown、Tuomas Sandholm的最新研究成果——Pluribus,就在人类最常见的无限制德州扑克6人局里,战胜了人类顶尖选手。

论文被Sicence收录:

https://science.sciencemag.org/content/early/2019/07/10/science.aay2400

跟还是不跟?高手之间的对决

Darren Elias(1986年11月18日出生)是一名美国职业扑克玩家,曾获得四项世界扑克巡回赛冠军。

在他与Pluribus的对决过程中,Darren Elias从来没有遇到过如此不害怕的对手。

一个有经验的扑克玩家,当有两个J(一个面朝上,另一个藏起来,一手既不好也不坏)时,都会谨慎行事。但是Elias的对手看起来好像不知道该怎么做。即使当Elias决定虚张声势(bluff),下注时看起来很有信心,而他的对手似乎在鼓励他继续!好像一点都没有被吓到。

最后,Elias的虚张声势没有起作用,他输了。

Elias

正如埃利亚斯先生意识到的,Pluribus知道什么时候该虚张声势,也知道别人在虚张声势,还知道什么时候该改变自己的行为,这样其他玩家就无法确定自己的策略。32岁 Elias先生说: 它确实做了一些人类很难做到的事情。

赢的背后,只是8天的训练

之前AI和人玩游戏,要么是双人游戏,如国际象棋、跳棋等,要么就是双方之间的零和博弈(一方赢一方输),AI可以在游戏中找到Nash equilibrium strategy(纳什平衡)来保证自己不会输。

关于Nash equilibrium strategy(纳什平衡)属于博弈论范畴(注:纳什证明了,如果允许混合策略,那么任何一个博弈,只要参与者数量是有限的、参与者可以选择的纯策略也是有限的,那么这个博弈至少有一个纳什均衡)。

以经典的“石头剪刀布”游戏为例,AI可以在游戏中找到对方的弱点和常出的手势进行学习,以达到最终的胜利,而多人扑克意味着玩家数量的增多,在更复杂的游戏中,AI难以确定如何与纳什均衡相抗衡;采用固定策略不能很快观察到的对手的策略倾向,而且需要监控到多个玩家在游戏中策略的转变,这对于AI多人扑克博弈来说,是一项挑战。

鉴于多人游戏,如果学习多个玩家的出牌习惯等特征的训练数据集成本过大,这里Pluribus采用的策略是自己与自己博弈,不使用人类对手的数据作为模型训练的输入。在开始时,随机的选择玩法,通过不断的训练来提升自己的性能,这里采用的博弈策略是改良版本的迭代的蒙特卡洛CFR(MCCFR),通过自我博弈,左右手互博,自己制定了一个blueprint strategy(蓝图策略),最后对每个可能的状况进行概率分布统计,通过搜索决策树来决定下一步的行为,是叫牌还是出牌。

CFR是一种迭代的自我游戏算法,AI从完全随机游戏开始,然后通过学习击败早期版本的自己逐渐改进。

在算法的每次迭代中,MCCFR指定一个玩家作为其当前策略在迭代中更新的标记。在迭代开始时,MCCFR根据当前所有玩家的策略(最初是完全随机的)模拟一手扑克牌。一旦模拟完成,人工智能就会回顾每一个玩家做出的决定,然后通过选择其他可用的行动来预测这个决定的好坏程度。

Pluribus玩家博弈树

在解决不完全信息博弈中搜索的问题,Pluribus跟踪每一手,根据其策略达到目前状况的可能性。不管Pluribus实际上握着的牌,它首先会计算如何使用可能的每一手,谨慎地平衡所有的策略,以保持对于对手的不可预测性。

Pluribus 中的实时搜索

扑克以外的事

之前在1V1局中大胜人类的Libratus后来去五角大楼上班去了,国防部认为这种策略型人工智能或许可以帮助他们进行战略的制定。

负责 Pluribus 项目的 研究员Noam Brown说:“Pluribus的技术可以用于华尔街交易、拍卖、政治谈判和网络安全这些活动中,这些活动就像扑克一样,涉及隐藏信息,因为你并不总是知道真实世界的状态。”

尽管像谷歌这样的公司,有着“Don’t be evil”的信条,但是,不可避免的是这样能够理解人类策略的人工智能,还是会引发大众对于人工智能的某种恐惧,或者说,如果这样的人工智能被运用到军事决策中,将会带来多严重的后果?

Image placeholder
Sher
未设置
  28人点赞

没有讨论,发表一下自己的看法吧

推荐文章
秘籍在手,训练不愁!特斯拉AI负责人Karpathy的超全神经网络训练套路

大数据文摘出品编译:周素云、宋欣仪、熊琰、ZoeY、顾晨波训练神经网络到底有诀窍和套路吗?AndrejKarpathy认为,还的确有。这位特斯拉的人工智能研究负责人、李飞飞的斯坦福高徒刚刚难得更新了博

10分钟,用TensorFlow.js库,训练一个没有感情的“剪刀石头布”识别器

大数据文摘出品编译:Luciana、小七、宁静“剪刀石头布”是我们小时候经常玩的游戏,日常生活中做一些纠结的决策,有时候也常常使用这种规则得出最后的选择,我们人眼能很轻松地认知这些手势,“石头”呈握拳

大力再出奇迹,1024 张TPU,65536 batch size,仅76分钟训练完BERT!

大数据文摘出品作者:AndyBERT作为目前工业界中训练最耗时的应用,计算量甚至远大于机器视觉中的ImageNet训练。在BERT原论文中,JacobDevlin也是用了16台云TPU(64个TPU芯

UI2CODE再进化!结合Redux的框架升级!

背景UI2CODE的目标是通过分析视觉稿得到对应的代码,让AI提高开发效率。然而过去静态化页面的产出,不能得到业务场景的需求。针对于此,我们以UI2CODE自动化开发为基底,结合Redux的消息机制,

【跃迁之路】【868天】全栈工程师IT知识库更新记录(2019.1.3更新)

[叨叨两句] 跃迁之路整体迁移至GitHub做为开源项目,未来的更新提交都在那,其它地方只做更新记录的发布 该项目将定位为全栈工程师养成,目标是可以独立完成项目的全流程工作 项目地址https://g

56岁潘石屹下决心学Python,60岁程序语言之父们还在敲代码,你呢

比你成功的人,比你还努力。上周,SOHO中国董事长、地产大亨 潘石屹,56岁生日当天发布微博宣布进军编程语言Python。 紧接着第二天,又更新微博解释为何会做出此举。潘石屹给出的解释大致就是,在不断

我的天!这是史上最烂的项目:苦撑12年,600多万行代码…

编译:欧剃来源:projectfailures.wordpress.com转载自:Java技术栈你见过最烂的项目,撑了多长时间才完蛋?六个月?一年?今天介绍的这个奇葩项目,不但一开始就烂得透透的,还硬

Cache 和 Buffer 的区别在哪里?

Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据。在很

深入了解Nodejs Buffer的使用

JavaScript起初为浏览器而设计,没有读取或操作二进制数据流的机制。Buffer类的引入,则让NodeJS拥有操作文件流或网络二进制流的能力。Buffer基本概念Buffer对象的内存分配不是在

全球“黑客大赛”冠军霸气讲述:我是如何让50个文件一起骗过AI安防系统的?

大数据文摘出品来源:medium编译:邢畅、张睿毅、钱天培你有没有想过当黑客呢?破解手机密码,黑入公司系统,甚至…控制全球电脑。打住打住!违法犯罪的念头显然不能有。再退一步讲,咱也不一定有这本事。尤其

制定机器学习训练数据策略的6个技巧

人工智能(AI)和机器学习(ML)如今已经十分常见。AI指的是机器模仿人类进行认知的概念,ML是一种用于构建AI的方法。如果AI是指计算机可以根据指令执行一组任务,那么ML就是机器从数据中摄取、解析和

一份关于机器学习“模型再训练”的终极指南

机器学习模型的训练,通常是通过学习某一组输入特征与输出目标之间的映射来进行的。一般来说,对于映射的学习是通过优化某些成本函数,来使预测的误差最小化。在训练出最佳模型之后,将其正式发布上线,再根据未来生

2019年世界5G大会热点

  2019年世界5G大会热点,5G时代的开局元年,在北京举行5G大会吸引了众多行业领导者参与其中。5G融合大数据、人工智能、区块链等通用技术,将全面构建我国数字经济的关键基础设施。5G与人工智能之间

专访领英工程副总裁张仁辉:如何驯服算法,打造世界级的职位推荐系统?

大数据文摘出品作者:魏子敏、宋欣仪作为全球最大的职业社交网络,创建于2003年的LinkedIn在过去6年间,从一个7000万左右年营收的企业,增长至30亿美元营业额的企业。五年间LinkedIn业务

关于二进制世界的秘密

我们都知道,计算机的底层都是使用二进制数据进行数据流传输的,那么为什么会使用二进制表示计算机呢?或者说,什么是二进制数呢?在拓展一步,如何使用二进制进行加减乘除?二进制数如何表示负数呢?本文将一一为你

一文告诉你全世界最顶级的开发者都在使用什么数据库

作为一名IT行业从业者,其实从去年已经隐隐约约感觉到数据库的有变化,只是没有想到变得这么快。今年的一些事情实实在在地给了某些数据库重击,如果以前去某数据库还是喊喊,然后该用还用,今年从传统领域刮起的去

解码GaussDB:如何成为世界级数据库?

1、开源GaussDB单机版OLTP;2、成立鲲鹏智能数据产业联盟数据库产业推进组;3、1.5亿元启动基金,发起GaussDB高校金种子发展计划;4、成立十大GaussDB高校联合创新实验室;5、现场

Go语言高级编程_4.2 Protobuf

4.2Protobuf Protobuf是ProtocolBuffers的简称,它是Google公司开发的一种数据描述语言,并于2008年对外开源。Protobuf刚开源时的定位类似于XML、JSON

Go语言高级编程_4.6 gRPC和Protobuf扩展

4.6gRPC和Protobuf扩展 目前开源社区已经围绕Protobuf和gRPC开发出众多扩展,形成了庞大的生态。本节我们将简单介绍验证器和REST接口扩展。 4.6.1验证器 到目前为止,我们接

Go语言高级编程_4.7 pbgo: 基于Protobuf的框架

4.7pbgo:基于Protobuf的框架 pbgo是我们专门针对本节内容设计的较为完整的迷你框架,它基于Protobuf的扩展语法,通过插件自动生成rpc和rest相关代码。在本章第二节我们已经展示

Protobuf 生成 Go 代码指南

这个教程中将会描述protocolbuffer编译器通过给定的.proto会编译生成什么Go代码。教程针对的是proto3版本的protobuf。在阅读之前确保你已经阅读过Protobuf语言指南。编

在 Golang 中使用 Protobuf

本教程使用proto3版本的protocolbuffer语言,提供了一个基本的在Go程序中使用protocolbuffer的介绍。通过创建一个简单的示例应用程序,向你展示如何在.proto文件中定义消

Protobuf 编码指南

这个文档会介绍protocolbuffer的二进制有线格式(binarywireformat)。你并不是需要理解这些后才能在应用里使用protocolbuffer,但是当你想知道不同的protocol

UfqiNews有福新闻的第N+1批次更新:清晰,流畅,省电

UfqiNews有福新闻自推出以来,一直持续更新、优化升级,作为一款带来全新新闻阅读体验的资讯应用,已经日益成熟,浏览量也日渐攀升。近日针对UfqiNews有福新闻的升级改进包括如下方面。1.UI调整