人类玩德州扑克也扑街了?Facebook开发玩德州扑克的AI,大比分击败顶尖人类选手!

简介: 最近,Facebook的研究人员开发了一个玩德州扑克的人工智能,可以轻松击败人类玩家,它跟DeepMind的AlphaZero有何不同?今天我们就来看下。

微信图片_20220109135122.png


近年来人工智能发展迅猛,很多重复性的工作都被AI自动化了,人类工作要被机器替代的说法也「甚嚣尘上」,而现在,打打扑克也不行了?

 

最近,Facebook 的研究人员开发了一个名为「Recursive Belief-based Learning」(ReBeL)的通用人工智能框架,德州扑克玩的相当溜。

       微信图片_20220109135125.png        


根据Facebook的说法,这个框架在单挑无限制的德州扑克游戏中明显优于人类表现,而且使用的领域知识比之前任何扑克人工智能都要少

 

他们断言 ReBeL 是开发通用多代理交互技术的一种方法,该算法可以部署在大规模、多代理环境中,预期的应用范围也很广,从拍卖、谈判、网络安全到自动驾驶都能用上。


AlphaZero在不完全信息游戏中表现「差点意思」


目前,将强化学习与搜索相结合,在人工智能模型训练和测试方面,已经取得了一些进展。 


强化学习代理是通过最大化回报来学习的,而搜索是从开始到目标状态的导航过程。例如,DeepMind 的 AlphaZero 使用强化学习和搜索技术在国际象棋、围棋等游戏中实现了SOTA效果。 


    微信图片_20220109135127.png      


但是之前的组合方法在应用于不完全信息的游戏如扑克(甚至是石头、剪子、布)时就不那么奏效了,因为它做出了一些在这种情况下不成立的假设 


任何给定动作的价值取决于它被选择的概率,更一般地说,取决于整个游戏策略,而围棋游戏的搜索空间是有限的,并且每一个动作的价值可以在被选之前评估出来。 


基于信念的递归学习击败顶尖人类玩家


ReBeL将「游戏状态」的概念进行了扩展,它包括了代理基于常识和其他代理的政策对他们可能处于何种状态的置信度 


ReBeL通过自我强化学习训练了两个网络:一个价值网络和一个政策网络。


它在自我对弈中使用两种模型进行搜索。结果是一种简单,灵活的算法,研究人员声称该算法能够在大规模的两人不完全信息游戏中击败顶尖的人类玩家。 从更高层次上来讲,ReBeL 运行于公共置信状态而不是世界状态(即游戏状态)。


公共置信状态(PBSs)将「状态价值」的概念推广到像扑克这样的不完全信息游戏中,PBS是在可能的动作和状态的有限序列(也称为历史记录)上的常见知识概率分布,可提供发生不同结果的可能性。


在完全信息游戏中,PBS可以提取到历史记录,而在两人零和游戏中,PBS可以有效地提取到世界状态。扑克中的PBS是玩家可以做出的一系列决定,以及特定手牌,底池和筹码时他们的结果。      


 

网络异常,图片无法展示
|


ReBeL在每个游戏开始时都会生成一个与原始游戏相同的「子游戏」,只是它起源于最初的PBS。该算法通过运行「均衡查找」算法的迭代并使用训练后的价值网络在每次迭代中取近似值来击败对手。  


     微信图片_20220109135130.png       


与世界上最好的单挑扑克玩家之一的Dong Kim相比,ReBeL在7500手牌中每手玩的时间超过了2秒,决策所需的时间从不超过5秒


Facebook以前的扑克游戏系统Libratus的最高得分为147,而ReBeL对人类的平均每场比赛盲注(强迫下注)得分为165(标准差为69)。  


   微信图片_20220109135132.png 


担心被拿去赌钱,Facebook决定不公开源码


在实验中,研究人员对ReBeL进行了单挑无限制,Liar’s Dice和残局游戏的基准测试,这是无限制德州扑克的一种变体,两个玩家可以在四轮投注中的前两轮进行检查或叫牌。 


研究小组使用了多达128台带有8个显卡的电脑来生成模拟游戏数据,并在训练期间随机分配赌注和堆栈大小(从5,000到25,000个芯片)。ReBeL 在整场比赛中接受训练,并且有20,000美元可以下注。 


出于对作弊的担心,Facebook 团队决定不发布用于扑克的 ReBeL 代码库。相反,他们将 Liar’s Dice 的实现开放了。Facebook的研究人员相信ReBeL将使得德州扑克在强化学习研究领域更受欢迎。 


「虽然人工智能算法已经存在,可以在扑克游戏中取得超人的表现,但这些算法通常假设参与者拥有一定数量的筹码或使用一定的赌注大小」。 而在实战中,你的筹码数量是不定的,所以需要重新训练算法,这种情况下想进行实时对战就有困难了。但是,ReBeL 可以在几秒钟内计算任意任意赌注大小的策略


参考链接:

https://arxiv.org/pdf/2007.13544.pdfhttps://venturebeat.com/2020/07/28/facebook-develops-ai-algorithm-that-learns-to-play-poker-on-the-fly/

相关文章
|
2天前
|
人工智能 自然语言处理 Java
【100%好礼】诚邀体验SoFlu-JavaAl开发助手,重塑AI编码价值
在这个数字化时代,软件开发任务繁重,飞算科技推出SoFlu-JavaAl开发助手,诚邀您体验AI编码新境界。它不仅生成代码,还通过自然语言理解需求,精准生成完整工程源码,大幅缩短设计工期,提升效率。SoFlu-JavaAl支持一键构建Java Maven工程,轻松合并老项目,快速响应需求变更。参与体验还有机会获多重好礼!
|
17天前
|
人工智能 小程序
【一步步开发AI运动小程序】十五、AI运动识别中,如何判断人体站位的远近?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,无需后台支持,具有快速、体验好、易集成等特点。本文介绍如何利用插件判断人体与摄像头的远近,确保人体图像在帧内的比例适中,以优化识别效果。通过`whole`检测规则,分别实现人体过近和过远的判断,并给出相应示例代码。
|
14天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
97 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
10天前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十七、如何识别用户上传视频中的人体、运动、动作、姿态?
【云智AI运动识别小程序插件】提供人体、运动、姿态检测的AI能力,支持本地原生识别,无需后台服务,具有速度快、体验好、易集成等优点。本文介绍如何使用该插件实现用户上传视频的运动识别,包括视频解码抽帧和人体识别的实现方法。
|
16天前
|
人工智能 小程序 UED
【一步步开发AI运动小程序】十六、AI运动识别中,如何判断人体站位?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,本地引擎无需后台支持,具备快速、体验好、易集成等优势。本文介绍如何利用插件的`camera-view`功能,通过检测人体站位视角(前、后、左、右),确保运动时的最佳识别率和用户体验。代码示例展示了如何实现视角检查,确保用户正或背对摄像头,为后续运动检测打下基础。
|
3天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
119 0
|
22天前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十三、自定义一个运动分析器,实现计时计数02
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,详细解析了俯卧撑动作的检测规则构建与执行流程,涵盖卧撑和撑卧两个姿态的识别规则,以及如何通过继承`sports.SportBase`类实现运动分析器,适用于小程序开发者。
|
22天前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十二、自定义一个运动分析器,实现计时计数01
随着AI技术的发展,AI运动APP如雨后春笋般涌现,如“乐动力”、“天天跳绳”等,推动了云上运动会、线上健身等热潮。本文将指导你从零开始开发一个AI运动小程序,利用“云智AI运动识别小程序插件”,介绍运动识别原理、计量方式及运动分析器基类的使用,帮助你在小程序中实现运动计时和计数功能。下篇将继续探讨运动姿态检测规则的编写。
|
11天前
|
人工智能 小程序 数据处理
uni-app开发AI康复锻炼小程序,帮助肢体受伤患者康复!
近期,多家康复机构咨询AI运动识别插件是否适用于肢力运动受限患者的康复锻炼。本文介绍该插件在康复锻炼中的应用场景,包括康复运动指导、运动记录、恢复程度记录及过程监测。插件集成了人体检测、姿态识别等功能,支持微信小程序平台,使用便捷,安全可靠,帮助康复治疗更加高效精准。
|
17天前
|
人工智能 小程序 JavaScript
【一步步开发AI运动小程序】十四、主包超出2M大小限制,如何将插件分包发布?
本文介绍了如何从零开始开发一个AI运动小程序,重点讲解了通过分包技术解决程序包超过2M限制的问题。详细步骤包括在uni-app中创建分包、配置`manifest.json`和`pages.json`文件,并提供了分包前后代码大小对比,帮助开发者高效实现AI运动功能。