在人机交互场景中,强化学习能够训练智能体按照人类语言指令完成任务。
以往的算法通常直接将人类语言提供给智能体,然后使用强化学习优化方法来提升智能体的策略,以完成人类指定的任务。然而,人类语言的学习难度高,与解决具体决策任务的复杂度不相匹配。为此,南栖仙策和南京大学团队提出了一种新方法TALAR,让智能体自己发明与任务相关的“任务语言”,这样的语言更容易与任务关联,而人类的语言则作为“外语”,智能体另外学习如何将人类语言翻译为任务语言。
效果展示
仅用不到一百万帧训练样本,智能体(白色小球)就能够快速学习到理解人类的语言指令,并根据指令,将大球们推动到正确的位置上,完成任务。
此外,智能体还能够充分适应各种不同风格的人类语言表达,使人机交互的效率大大提高:
不仅如此,我们还发现,通过这种方法,智能体能够与分层强化学习结合,完成一系列人类指令,从而完成更复杂的操作任务:
下图形象地展示了这种新的方法的优势:智能体能够准确地将同一指令的不同人类语言表达识别为同一任务(如下图中a所示),而传统方法(下图中b和c)则将这些人类语言表达错误理解为不同指令。
同一种颜色的不同点对应了相同指令的不同人类语言表述。人类语言被翻译成任务语言后,同一指令的表征聚集在一起(表征比较接近),而传统方法对于同一指令的表征非常分散
智能体的人机交互之路
为了使智能体能够按照人类语言指令完成任务,目前常见的强化学习算法是将人类语言直接输入智能体。此时,智能体基于环境观测(例如传感器数据)和接收到的人类语言指令进行决策、收集样本和优化策略。
常见的基于强化学习的人机交互智能体,直接基于环境观测和人类语言指令作出决策
人类语言与智能体的鸿沟
然而,这些传统方法直接将人类语言暴露给智能体的学习方式通常比较低效,主要问题是人类语言与智能体之间存在鸿沟。
具体而言,人类语言具有非常大的开放性和灵活性。即使我们希望智能体完成同一个任务时,都有无数种可能的表达。例如,当我们想让机器人给自己拿一瓶可乐过来,有些人可能会说:“给我拿一瓶可乐过来”;有些人则会说:“可以给我一瓶可乐吗?”;还有一些人可能会用更委婉的语气:“请帮我拿一罐可乐”。千变万化的表达方式,大大提高了智能体准确理解人类语言的难度。
想象一个为人类服务的智能体,在极力专注于寻求最优策略方案的同时,还要面对各种复杂的人类语言开放式表达,无疑是巨大的学习负担。
从人类沟通方式中汲取经验
如何才能将人类指令传递给智能体,并让它能够快速理解呢?
想一想我们生活中与外国人沟通的过程:即便我们已经在努力学习外语,但当外国人说外语时,我们仍然会难以理解他们的许多表达;相反,如果外国人能够想办法用中文和我们交流,即使他们中文说得比较“拗口”,甚至有语病时,我们通常也能很快理解他们想要表达的含义。这是由于我们对自己的中文母语比较熟悉,因此可以轻易理解。
对于智能体来说,人类语言就是外语,因此难以被理解。
为了实现高效人机交互,我们可不可以参考人类与外国人沟通的过程:首先发展智能体的母语,再将人类的语言翻译成智能体的语言,从而帮助智能体快速理解人类的指令?
相比外语,我们可以很快理解外国人说中文
新方法设计和验证
要探寻智能体自己的语言,有两个问题需要着重讨论:
1.智能体的语言是在描述什么;
2.智能体的语言是如何表示的?使用离散符号还是连续向量?
对于问题1,由于智能体是在一个具体的场景中执行任务,我们希望它的语言能够描述任务场景发生了什么变化;对于问题2,我们认为,智能体的语言需要具备强表达力和简洁性。表达能力确保了该语言能够准确地反映人类指令,而简洁性则有助于智能体进行强化学习。为了满足这两个要求,我们提出了使用谓词表达式来表示智能体语言。由于智能体的语言与智能体在执行的任务是紧密相关的,因此,在本文中我们称之为“任务语言”(task language, TL)。谓词表达式的优势主要体现在两个方面:极好的组合结构和极强的可解释性。组合结构指的是一种语言不必更新大量新词汇,却可以清晰表示新的复合含义的能力,这种能力是自然语言的基本特征之一,也是语言在大规模泛化中必须具备的先决条件。可解释性指的是一种语言能够被人类理解和解释的能力,这种能力使得人们可以更好地理解智能体学习到的内容和决策行为。
基于这种谓词表达式,我们提出了一种新的基于强化学习的人机交互智能体训练算法:TAsk Language with predicAte Representation (TALAR)。
TALAR包含三个关键部分:
任务语言生成器:通过识别强化学习任务中物体之间的各种关系来生成语言。为了实现这一点,任务语言生成器同时学习多个谓词和它们的输出参数,从而建模环境中各个物体之间的关系。
人类语言到任务语言的翻译器:将人类语言翻译成任务语言。我们使用使用变分自编码器(VAE)算法训练翻译器。
根据人类指令解决强化学习任务的智能体策略。
有了这几个模块,强化学习智能体就可以基于它自己的语言去完成任务,大大减轻了它理解人类语言的负担,提升了人机交互智能体学习的效率。TALAR算法的学习框架如下图所示:
TALAR训练框架图:包含一个语言生成器(TL generator)和一个翻译器(Translator)。为了生成语言,TALAR首先从环境中收集一批样本,再用谓词表达的离散向量描述这些样本。此外,TALAR使用VAE算法学习如何将人类语言翻译为任务语言
我们通过一系列人类语言控制智能体完成任务的实验,验证了TALAR算法的能力。从实验结果上来看,TALAR(红色线)在智能体能力提升速度和最终能力值方面,都明显优于传统基于语言的人机交互强化学习方法。另外,我们还测试了智能体在面对未见人类指令(Testing)、和增加了语法错误的(Error-added)人类指令的表现。从实验结果我们发现,经过TALAR算法训练得到的智能体,对不同人类语言指令表达有更鲁棒的表现。面对各种复杂人类语言指令,都有75%以上的执行成功率,超过了传统的基于人类语言的强化学习算法。
训练过程曲线。TALAR算法能够迅速学习完成人类语言指定的任务
披荆斩棘的智能体:系列推文预告
为了不断提升智能体的能力,真正帮助人们解决现实生活中的问题,亚太地区最前沿的科研团队,南栖仙策与南京大学团队,进行了持续的科研创新,在2022年和2023年都取得了重要的研究进展,多篇研究成果并发表在人工智能顶级会议上。
在接下来的一段时间里,我们将通过一系列文章,介绍最前沿的技术进展和实际应用,拉近科技与生活之间的距离,探讨技术如何影响和改变人们的日常生活,希望帮助您更好地把握未来的机遇和挑战。