再次战胜人类:Meta AI推出首款可以忽悠人的AI模型

news2024/11/19 14:50:51

f54676e6b70911c3bc9487f9111b2a01.jpeg

文|Shona

Cicero,是Meta AI提出的能够在『强权外交』游戏中超越人类的AI模型。它凭借自己"忽悠"人的能力(模拟谈判与合作),成为游戏里的顶级高手。

AI模型连外交这活儿都能得心应手了?没错,它不仅能揣度人心,推理对方的意图,还能凭借高级的谈判技巧争取盟友。

90ebd18b299dd702da4390aaad06bf1b.gif

▲图1. Cicero工作示意图

论文题目:

Human-level play in the game of Diplomacy by combining language models with strategic reasoning  

论文链接:

https://www.science.org/doi/10.1126/science.ade9097

源码:

https://github.com/facebookresearch/diplomacy_cicero

了解Cicero之前,先介绍下『强权外交』游戏吧~

这是一款经典战棋类桌游,最多可由7位玩家参与,其中每位玩家代表第一次世界大战前欧洲的主要力量,游戏的目标是通过移动部队控制供应中心,率先夺下一半欧洲领土的玩家为赢。

游戏最核心的部分,是需要玩家之间进行私自交流和合作做出决策。这和围棋等双人博弈类的决策游戏并不相同,在这个游戏中,面对的不仅仅是一位对手,而是需要和多位对手交流和互动,非常强调谈判和沟通的技巧

c16daf87026bf6d04cece1019e2ee5a6.gif
▲图2. "强权外交"游戏

Cicero是如何"忽悠"人的?

面对这样的复杂的策略游戏,Cicero 主要通过以下两个主要模块来提升自己 『合作』、『谈判』、『协调』的能力。

054472a3477d9d585be015466e95ec08.png
▲图3. Cicero主要模块

它们分别是: 1. 『战略推理』,2. 『自然语言处理』。 在这两个模块的帮助下,Cicero可以推断,到了游戏后期,它会需要哪位玩家的支持,然后制定策略以赢得该玩家的青睐,甚至认识到该玩家从其特定角度看到的风险和机会。

5db7e36d18e48f8b3444c89ef079d2d4.png
▲图4. Cicero结构

1. 战略推理

通过强化学习算法,Cicero可以洞察其他玩家的后续可能会采取的行动和措施,并利用这些信息制定战略计划,智能地选择意图和行动。Cicero通过规划算法根据到目前为止的游戏状态和对话,来预测其他玩家的策略,从而选择自己的最佳动作。同时,对于偏离真实行为太远的行为,会得到较大惩罚。在游戏中每个协商的过程,Cicero每次发送或接收消息时,都会重新计算意图。

Cicero 使用 piKL 的变体来模拟其他玩家的策略。piKL 是一种迭代算法,通过假设每个玩家i寻求最大化其策略 π i的期望值并最小化 π i和 BC 策略之间的 Kullback-Leibler (KL) 散度来预测策略。

piKL 提供了一种对话影响策略预测的机制。如图5所示,Cicero和其他玩家之间不同的对话消息可能会产生不同的策略。

01e29ecb3852cdd5a99b7a417302b72a.png
▲图5. 对话对规划和意图的影响

与传统的监督学习相比,piKL 能更好地模拟人类游戏,并为agent带来更优的策略。

2. 自然语言处理

与GPT3类似的预训练语言模型。Cicero在一系列精心选择的计划中进行对话,用于谈判、提供建议、分享信息,并最终和其他玩家达成协议。训练数据包括互联网文本和来自『强权外交』游戏内的对话数据。

标准建模方案下的对话模型更多地是模仿数据集,但Cicero是通过战略推理模型指定的计划进行生成的,对话的意图是可控的。

如图6所示,Cicero代表的是英国,在不同的意图下,它向法国、德国、俄罗斯生成的对话完全不同,但都是符合意图的。

b1c6a74476c68fb5bb9698093e19d0a9.png
▲图6. 意图对生成对话的影响

如图7所示,action被表示为命令串的形式,如" NTH S BEL -> HOL" 标识北海将支持比利时到荷兰。意图模型根据往家的对话的state和历史来预测玩家行为(图7 A)。然后,通过意图模型,对训练数据集的每条消息进行注释(图7 B)。经过训练的对话模型可以在给定目标消息的意图注释的情况下进行预测(图7 C)。

45e0405e09ae1566fa465726a73d04ce.png
▲图7. 意图是如何训练控制对话的

3. 消息过滤

除以上两个主要模块外,Cicero通过多个过滤器传递每条生成的消息,这些过滤器的作用是:限制无意义、与意图不一致或不利于战略本身的消息。

例如,Cicero使用了 16 个分类器来区分真实的人类信息和不同类型的反事实信息。

Cicero的实际表现如何?

2022 年 8 月 19 日- 10 月 13 日,从Cicero开始投入使用,在其进行的40多场游戏里,成绩可以在所有玩家高居前10%。并且在所有 40 场比赛中,Cicero的平均得分为 25.8%,82 名对手平均得分为12.4%。Cicero的平均得分是这些真实玩家的两倍多。

我们从图8可以看出,Cicero在 『协调』和『协商』 中具备自己的优势。它可以通过和其他玩家讨论长期战略来促成联盟建立,也可以提出互惠互利的措施来实现和对手的共赢,甚至改变其他玩家的想法。

a794aa52b031d4a04caee1913dedf4e8.png
▲图8. 对话示例

当前,Cicero不是完美的,虽然可以和人类进行较为有效流畅地沟通,但还会偶发错误或自相矛盾的信息,甚至将对话引入对自己战局不佳的方向。过滤器并不会起到百分百的约束作用。Cicero自身也还有优化和发展的空间。

目前 Meta 已经在 GitHub 上开源了 Cicero 的代码,但由于其可以"忽悠"人的特质,Meta 希望研究人员能够 “以负责任的方式” 构建其代码。那么,Cicero的未来应用价值又在哪里呢?沉浸式游戏?谈判顾问?Meta对它寄予了较高期待:

The technology behind Cicero could one day lead to more intelligent assistants in the physical and virtual worlds.

是否能成为真正全方位的智能的文字助手,答案只能交给将来~

4e0da54ba30109c5b9794fef64b23201.jpeg

卖萌屋作者:Shona

中科院研究生,算法工程师。主要关注推荐领域。爱好是疯狂吸猫吸修狗。

作品推荐

  1. 2020年深度学习调参技巧合集

  2. 写给新手炼丹师:2021版调参上分手册

  3. 我在鹅厂,拿到满星绩效!

  4. 推荐系统用户反馈延迟新解法!阿里提出CVR无偏估计算法

  5. 强化学习,商业化之路宣告死亡了吗?

dd879fedf420fe405f4b2ebe5fb24bf4.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/159640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【尚硅谷】Java数据结构与算法笔记07 - 排序算法

文章目录一、排序算法简介二、排序的分类三、冒泡排序3.1 基本介绍3.2 算法图解3.3 代码实现四、选择排序4.1 基本介绍4.2 思路分析4.3 算法图解4.4 代码实现五、插入排序5.1 基本介绍5.2 思路分析5.3 算法图解5.4 代码实现六、希尔排序6.1 简单插入排序存在的问题6.2 基本介绍…

知识点查漏补缺

目录谷粒商城知识点补充前言1 java8新特性之lambda表达式1.1 为什么使用1.2 从匿名类到Lambda的转换1.3 语法总结2 Stream API2.1 概述2.2 创建2.2.1 通过集合2.2.2 通过数组2.2.3 通过Stream的of()2.2.4 创建无限流2.3 中间操作2.3.1 筛选与切片1)、filter2)、limit3)、skip(n…

【数据结构】—— Java实现队列和循环队列

队列与循环队列一、队列1.概念2.队列的使用3.队列的模拟实现二、循环队列1.基本概念2.代码实现一、队列 1.概念 队列:是允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出的(First In First Out)的…

商场楼层分布图用什么软件做,高效、便捷的商场二三维地图绘制平台

现在的很多大型购物商场占地面积较大,商品种类繁多,如果没有商场导航,会导致新顾客难以找到想要的店铺和商品,那么大型购物商场导航怎么实现呢?电子地图作为大家最喜闻乐见的高效应用形式,在商业应用中&…

C生万物 | 函数的讲解与剖析【内附众多案例详解】

👑作者主页:Fire_Cloud_1 🏠学习社区:烈火神盾 🔗专栏链接:万物之源——C 一起来学习函数吧!一、函数是什么?二、C语言中函数的分类1、库函数2、自定义函数【⭐⭐⭐】三、函数的参数…

【Linux学习】vim指令集(一)

Linux的最高境界 1、背景 vim是一款多模式的文本编辑器,兼容所有的vi语法,其有多种操作模式,每种模式可以互相切换。vim的安装指令如下所示: yum install -y vim2、vim编辑器的相关指令 常用的vim模式有命令模式、插入模式、底…

Vue项目大概目录介绍

后端,自己学习做个记录.实话是看不懂全靠抄. 这是一个刚建好的Vue项目 node_modules:整个项目用到的依赖文件 public--->favicon.ico:Vue的图标 public--->index.html:可以理解为首页入口,模板页,开发的时候用不到,Vue是个单页面应用,开发也用不到 src:好比项目的源码…

智云通CRM:阻挡客户拜访的三个因素,你中了几个?

拜访客户为什么会迟迟不行动,一般有三个因素,它们分别是“没有主动性”“证明自己的价值需要时间”“我很不专业,需要学习”,因为这三个因素都在诉说一件事——“我需要准备”。智云通CRM统计常见的情形如下。 “我刚刚从事这个…

nginx反向代理、负载均衡、动静结合

目录前言nginx是什么?一.启动异常1.80端口被占用① 关掉占用端口② 修改 nginx.conf 文件2.启动nginx并测试是否启动成功① 启动② 测试 电脑ip 你自己在nginx.conf设置的端口二.应用场景之负载均衡三.应用场景之反向代理1.正向代理和反向代理的区别2.配置反向代理…

Linux常用命令——wget命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) wget Linux系统下载文件工具 补充说明 wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,…

一款ARPG游戏是如何搭建云真机系统的

随着业内对“工业化”认知的不断提升,越来越多的UWA用户通过UWA Pipeline的各项功能,为项目研发提供了极大的助力。其中的自动化测试与GOT Online性能测评的结合,帮助项目组在每个“测试-反馈”周期内,在大批量真机设备上实现项目…

Linux——信号知识归纳(下)

目录 一.进程状态 二.信号捕捉时机与流程 三.sigaction函数 四.SIGCHLD信号 一.进程状态 linux将进程的状态分为用户态(user mode)和内核态(kernel mode)。 内核态时CPU执行代码不受任何限制,而用户态会做代码安…

MRP的库存供应天数(StckDS)和收货供应天数(RDS)

我们在MD07里面,可以看到三个天数: 1、库存可供应天数(StckDS) 2、第一次日供应量收货(RDS 1) 3、第二接货日期的收货(RDS 2) 而且信号灯的显示就是按照这三个天数来进行设置的 我们以15000047这个物料为例,来看下这三个数是怎么计算的 …

Java集合全解【完整版】

文章目录01 初识集合> 集合是什么?为什么要用集合?> 集合的框架体系02 Collection接口> Collection接口常用方法> Collection接口遍历元素:使用Iterator(迭代器)> Collection接口遍历元素:增…

那个叫郭不戳的博主去哪了--回归篇

文章目录那个叫郭不戳的博主去哪了--回归篇所以你究竟去哪了?有没有好的面试经验啊工作方面怎么样啊卷不卷总结那个叫郭不戳的博主去哪了–回归篇 消失了三个月,今天开始正式回归。一大早打开CSDN看到好多消息,首先谢谢大家对我的认可。接下来…

基于微信小程序云开发的医院体检预约小程序源码,医院体检预约小程序源码,实现体检预约管理、体检预约凭证、预约数据查看导出 版权申诉

功能介绍 对于医院体检科室和体检机构而言,每天的体检人数分布也不太均衡,若很多人集中在 某些天体检,会出现「医生强度大、体检人排队久」的问题。采用体检预约小程序进行体检预约数管理,体检人可预约到更广的日期范围、更精准的…

Apache Spark 机器学习 管道 3

Apache Spark的机器学习管道提供一个统一的、高级的APIs集合,该APIs集合是以数据框架(Datagrams)为基础,帮助开发人员创建或者优化一个用于实际环境的机器学习的管道。 管道(Pipeline)的基本概念 Spark机…

测试之Bug与用例【创建Bug、Bug级别、Bug生命周期、测试用例的万能公式、设计测试用例具体方法】

文章目录1. 如何创建Bug2. Bug的级别3. Bug的生命周期4. 面试题:跟开发产生争执怎么办5. 设计测试用例的万能公式使用万能公式对水杯设计测试用例6. 设计测试用例的具体方法6.1 等价类6.2 边界类6.3 判定表6.4 正交法(allparis)6.5 场景设计法1. 如何创建Bug 提 Bu…

关于USB的事儿

FTDI公司的产品值得研究,包含很多USB转接芯片【串口、SPI、IIC、JTAG】。USB通信芯片本身也是需要编程的,上位机和USB芯片通信是需要驱动的,才能实现对应的识别。上位机(VB、C#、C等一系列面向对象程序)调用dll文件,里面很多API函…

集群安全Security

一、多节点 1、配置文件中配置 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.client_authentication: required xpack.security.transport.ssl.ke…