大规模机器学习技术已经在翻译、语言推理、语言理解、句子生成等领域取得巨大进展,而它的训练方式都大同小异:
给系统输入大量文本数据;
系统提取特征并提炼模式。
虽然这类研究硕果累累,但主要的缺点在于所学语言的表征质量会影响对应的结果。雷锋网了解到,如今越来越多的研究表示,如果用某种语言训练计算机,实际上系统并不能深刻理解语言与真实世界的关系。OpenAI 发现了这一问题,并致力于让智能体自己创造基于自身感知的语言。
系统在缺乏基础的情况下训练语言模型,就像 John Searles 在「中文房间理论」里所提到的机器一样,它们将输入的文本与分析大量文本数据的结果相对比,只呆在「房间」里就能与文本描述的外界互动,那么我们又如何判断计算机的「智能」呢?
雷锋网AI 科技评论了解到,近日 OpenAI 宣布了它们的一项研究成果,证明通过训练,智能体是可以创造语言并进行交流的。同时,他们也将论文《Emergence of Grounded Compositional Language in Multi-Agent Populations》同步到 arxiv 上。
OpenAI 的研究基于这样的一个假设:智能体对语言的理解,并不是在文本的庞大语料库中提炼模式,而是通过学习单词与环境之间的联系而实现的。因此,研究者们希望了解智能体们是否能自发产生一种内部沟通语言。
研究者们将 AI 智能体放在一个简单的环境中,并让它们自由沟通。OpenAI 采用了强化学习的策略,即当它们达成了一个目标的时候,会得到奖励(reward)。为了达到所设定的目标(以获得回报),智能体们就能创造属于自己的语言。
当然,智能体所设计的语言并不和人类语言那样复杂,而是「接地气」且「可拼凑」的(grounded and compositonal)。Grounded 指的是语言中的单词与说话者所接触的内容能直观地联系在一起。比如说,说话者会同时呈现单词「tree」与一棵树的图片,表达一种对应关系。而 Compositional 指的是说话者在表达特定指令时,能够将不同的单词组合成句,比如要求另一个智能体移动到某个指定的位置。
实验是建立在二维世界中的,智能体们能够完成移动、观察及对话等任务。图中呈现的是智能体 1 号正看着中间的某个点,并且正在说些什么(utterance)。
为了训练智能体的交流能力,OpenAI 的研究者设计了一个合作性质的实验(而不是竞争性的),以解决多智能体强化学习的问题。智能体所处的二维世界里标有不同颜色的地标(landmark),而每个智能体都设定了一个对应的目标,但主要分为两类:
一类是自发完成任务,比如将视线看向某个地标,或是移动到某个地标所在的地方;
二类是指挥其它智能体完成某个任务。
自然,每个智能体都具备与其它智能体沟通的能力,可以向对方传输信息。而它们所得到的奖励与场内智能体所得奖励总和相关,因此为了使奖励最大化,每个智能体也会遵循合作原则。
强化学习智能体一般采取两种行动:
1. 与环境相关的行动,比如移动与观察;
2. 与交流有关的行动,比如向其它智能体发送消息。
值得一提的是,智能体采用的是独热编码向量(One-Hot Vector)表示的抽象符号,但为了方便研究者理解智能体想表达的内容,采用了像「Look at」或「Go to」这样的单词来表示。
(雷锋网 AI 科技评论按:在机器学习任务中存在很多离散特征,为了将特征值转换为数字,且能连续且有序地理解数据,采用 One-Hot 编码就能解决这个问题。
用 Quora 上的例子来说明一下:比如现在有四个分类:人、企鹅、章鱼、外星人,用 1234 的序号按顺序标记。那么对于样本【人】而言,它的编码就是 {1,0,0,0};而对应编码为 {0,0,0,1} 的样本,实际上就对应着【外星人】样本。)
图示展示了智能体是如何沟通的。在 t=0 时刻,红色智能体指示了红色标记的位置;随后 t=1 下达了意为「Go to」的指令,在 t=2 时将这个指令传递给「green-agent」,在 t=3 时刻显示,绿色智能体理解了红色智能体传达的含义,并移动到了红色标记所在的位置。
智能体的通信信道并不交汇,且每个信道在每个时间点上都是畅通的,保证了信息能够顺利传递给对应的智能体。当某个智能体开始行动前,它会先处理前一时间点的沟通状况,判断各自的所处的位置,再决定下一秒的活动。
智能体通过计算未来奖励的梯度与奖励的变化预期来决定下一步的行动。如果智能体发现另一个智能体发送了某个信息才能够做得更好,那么前者便会向后者发出相应的指令。也就是说,智能体在这个过程中会不断思考,「如何交流才能使奖励最大化?」
在训练过程中,研究者采用了 Gumbel-Softmax 策略,以近似带有连续性表征的分离通信决策。也就是说,智能体能够采用连续性表征快速学习相互通信的方法,并在训练结束后汇集分离性的输出,呈现更强的表达性与组合性。
以下面视频为例,智能体在环境复杂度提升之时,自身的语言也在不断提升。
以下为三个典型情况:
单个智能体不需要通信(图1);
两个智能体为了完成简单的任务,发明了一个词进行交流协作(图2);
三个智能体在面对更复杂的任务时,创造了含有多个词的句子(图3)。
(图1:单个智能体不需要通信)
(图2:两个智能体为了完成简单的任务,发明了一个词进行交流协作)
(图3:三个智能体在面对更复杂的任务时,创造了含有多个词的句子)
前途是光明的,道路是曲折的。在智能体实现交流的过程中,OpenAI 也发现了不少问题。
OpenAI 一开始发现,智能体会创造一些单一话语,并映射到空间。这类像莫尔斯电码的语言无法解密,而且不具有合成性。也就是说,这些「鸟语」无法为其它智能体所理解,更不要谈合作了。
为了修正这一问题,研究者对语句赋予一定的成本(也就是说,智能体在说话时需要消耗一定的奖励),并提升了「快速完成任务」的优先级。这样一来,智能体能够以更加简洁的语言交流,并且开拓了更大的词汇量。
研究者们还发现,智能体会尝试用一个单词编码一个句子所表达的内容。产生这一问题的原因在于研究者们授予智能体使用大量词汇的能力,因此,智能体会用一个词来表达「红色智能体,移动到蓝色地标那」。这样一来,会导致词汇量与句子长度成指数般增长,而且与研发可理解 AI 的初衷相违背。
为了防止智能体的造句太过「凝练」,研究者受到句法交流的演变启发,为单词加上偏好权重,并缩小单词库的规模。此外,把特定单词的出现频率与奖励挂钩,鼓励智能体少造新词。
如果你看了前面的视频,就会发现智能体都是用颜色来指示相应的地标或对象。但其实一开始并非如此。研究员还发现,智能体有时会用「top-most」、「left-most」这样的词来表述,这些词是基于二维坐标的相对位置来表达的,虽然在该环境下也行得通,但由于太过具体,一旦改变的智能体所处的地理结构,那么系统可能就跑不转了。
为了解决这一问题,研究者抹掉了智能体在绝对坐标系上的联系,也就是说,每个智能体都位于自身坐标系的原点上,而且无法共享坐标系,它们自然也就学会用更绝对的颜色属性来指明对应的地标了。
当智能体无法通过文本交流,而且需要在特定的模拟环境中行动时,这一训练同样能应用。研究者们展示了如下特殊情况:
1. 智能体通过指向将目标位置信息告诉另一个智能体;
2. 小智能体引导大智能体靠近目标;
3. 小智能体推动没有视觉功能的大智能体靠近目标。
在未来,OpenAI 希望机器能自行创造与自己经验密切有着密切联系的语言。如果我们以这一实验为基础增加环境复杂性,并扩大智能体的活动范围,或许它们可以创造出一门新的表达性语言,呈现更丰富的含义。
而随着机器语言的复杂度增加,如何让人类也理解这样的语言呢?这一研究涉及人工智能、语言学及认知科学。在下一个项目中,Ryan Lowe 与 Igor Mordatch 计划与 UC 伯克利大学的研究人员合作,让智能体与讲英语的智能体进行交流,使机器创造的语言为人类所理解。雷锋网将持续关注。