人工智能软件可以在一对一的比赛中轻松胜过人类扑克职业选手和业余选手,这是众所周知的。
现在,有史以来第一次建立了一个人工智能机器人,可以在六人无限制德州扑克牌桌上击败人类专业人士,并且已经在周四发表在“科学” 杂志上的一篇学术论文中有所描述。
被称为Pluribus的网络鲨鱼通过在八天内反复播放数万亿的游戏来学习如何玩流行的纸牌游戏。当它与五位精英扑克职业玩家(包括世界扑克系列锦标赛冠军克里斯弗格森和迈克尔加利亚诺)共同打出10,000手牌时,它果断地获胜。
根据该论文的第一作者诺姆·布朗(Noam Brown)的说法,如果人工智能机器人一直在玩真钱游戏,而不是玩筹码,那么平均每小时可以获得1000美元玩六人无限制德州扑克。Facebook AI Research的研究科学家。据我们所知,该软件以10,000美元的买入价玩了50美元/ 100美元无限注德州扑克现金游戏。
Pluribus的核心是一种称为反事实后悔最小化(CFM)的自我发挥算法,其他扑克机器人也使用它。
该软件基本上反对自身的多个副本,以逐步提高其技能。创建虚拟玩家表并给出随机策略。对于算法的每次迭代,选择一个玩家作为所谓的遍历者。
在迭代之间的每个模拟手之后,代码会回顾遍历者的表现,以及它是否可以针对其虚拟对手做得更好,因为他们已知的个人策略。该算法计算了遍历者的反事实后悔,或者换句话说,遍历者后悔没有做出一个本来有益的举动。在迭代结束时,这个反事实后悔被用来更新遍历者的策略,以便在将来做出之前后悔没有做出的动作时有更高的概率。然后它进入下一次迭代并选择另一个遍历器。
它非常聪明,因为它意味着软件从比较好的时候开始学习,当它有好手时应该调用,或者在需要强制推出其他播放器时提高,或者在调用的价格不是时折叠值得冒风险。
在桌子上
在Pluribus按照描述进行训练之后,它吸引了人类扑克专家。该软件的决定在游戏过程中得到了改善,通过监控其有血有肉的对手如何发挥作用。它会在游戏过程中考虑四种策略:一种是坚持一种称为“蓝图”的预先计算的策略,一种是倾向于积极地提升而不是一种策略,一种是像尼特一样经常折叠并且更频繁地折叠的策略。一个倾向于成为呼叫站的地方。
当它看到桌子上已经处理了哪些牌时,它忽略了它私下持有的两张牌 – 它的底牌 – 而是考虑到牌桌上的社区牌,它可以通过它可能持有的所有可能的牌组合,并确定它们将采取哪些行动。
至关重要的是,它被编程为平衡其动作,以便它并不总是放弃其手的力量或弱点(例如总是用aces提升,或者总是折叠三种以下的任何东西)。
然后它查看了它的实际底牌,然后选择了分配给该组合的动作。这确保了它的虚张声势,攻击性,陷阱等等,以一种不明显或不可预测的平衡方式。无论Pluribus是在一场比赛中对抗五个人类玩家还是五个机器人和一个人类,这种方法似乎运作良好。当它与其他四个机器人和超过5000手的人类对战时,它仍然令人信服地获胜。
“与扑克机器人对战并看到它选择的一些策略令人难以置信,” 2016年赢得世界扑克锦标赛手镯的迈克尔加利亚诺说道。“有几部戏剧人类根本就没有制作,特别是与其下注大小有关。“
克里斯“耶稣”弗格森,一个众所周知的紧身多手球运动员,补充说:“Pluribus是一个非常努力的对手。很难用任何一手牌将他击倒。他也很擅长做出薄弱的赌注。这条河。他非常擅长从好人手中榨取价值。“
现在,让我们做一些事情:一,是的,这不是真正的钱,这意味着人类没有什么可失去的,因此可能有不同的表现,尽管对这些家伙来说10,000美元并不是很多,真实与否。此外,尽管人类在绝大多数扑克玩家之上都是首屈一指的,并且已经赢得了数百万美元,但却不是世界上最好的。我们正在考虑Phil Ivey,Daniel Negreanu,Fedor Holz,Erik Seidel,Justin Bonomo等等。我们的意思是,这个软件并没有完全击败人类。
除此之外,这是非常酷的技术:它可以看到激烈的专业人士。
不需要GPU
Pluribus在具有64个CPU内核的服务器上进行了培训,并在8天内共运行了12,400个CPU核心小时。它需要不到512GB的内存。它在Facebook和卡内基梅隆大学(CMU)的主谋认为,如果他们通过公共云实例租用计算资源,那么它的成本将低于150美元。
训练结束后,Pluribus在一个拥有两个CPU并且需要不到128GB内存的系统上运行人类对手。对于游戏中的每个动作,通常需要1到33秒的时间来执行搜索操作。
“该领域的一些专家担心未来的人工智能研究将由拥有数百万美元计算资源的大型团队主导。我们相信Pluribus是强有力的证据,表明只需要适度资源的新方法可以推动前沿的AI研究,“布朗说。
降低扑克的复杂性
Pluribus与其前辈DeepStack和Libratus并没有太大的不同。它仍然使用CFM算法,但不再依赖于计算纳什均衡,这是一种在博弈论中提出的解决方案,它找到了最优稳定的策略,如果其他对手都没有,则没有动力偏离均衡。例如,摇滚剪刀游戏中的纳什均衡是在三个选项之间随机选择,假设这也是你的对手所做的事情。
如果只有另外一个人可以对抗,那么计算纳什均衡就没那问题了。但是一旦游戏包含三个或更多玩家,计算机就会变得太多了。相反,Pluribus结合了从自我游戏中获得的扑克知识,并将其与搜索算法相结合,该搜索算法只需考虑前面的几个步骤而不是整个游戏。
进一步简化搜索过程以降低复杂性。不是每个动作都需要考虑,游戏中的类似决策点被拼凑在一起并被视为相同。研究人员将此描述为抽象,Pluribus在考虑应采取的行动以及可获得的信息时使用它。
“行动抽象减少了AI需要考虑的不同行动的数量。无限制德州扑克通常允许在100美元到10,000美元之间进行任何全价。然而,在实践中,200美元和201美元之间几乎没有区别。为了降低形成策略的复杂性,Pluribus在任何给定的决策点只考虑几种不同的下注大小,“他们在论文中写道。
当涉及信息抽象时,虽然十个高直和九高直是一组不同的卡,但它们会产生类似的策略。AI机器人将这些组合在一起并将它们视为相同,因此不必为每个场景计算两种不同的策略。
扑克是一个复杂的问题需要解决,因为每个玩家都无法看到其他玩家手中的牌,这使得它成为一个不完美的信息游戏。通过使用抽象,游戏的复杂性降低,并且可以有效地对抗多个对手。
在线扑克可能不会毁了?
代码将不公开,谢天谢地,所以扑克爱好者将无法启动他们自己的AI主机器人试图在网上快速降压。实际上,由于代码的主要部分是由CMU在由计算机科学教授Tuomas Sandholm领导的实验室中编写的,因此该软件的许可实际上属于他创立的两家公司:Strategic Machines和Strategy Robot。
为了研究目的,Facebook帮助建立在代码之上。Sandholm告诉The Register,尽管Pluribus用于扑克,但它适用于具有不完全信息的类似场景。
Strategic Machine正在考虑将该技术应用于一系列行业,包括游戏,金融和医疗保健。Strategy Robot以为重点,以智能和安全为目标。