ROSGPT利用大语言模型 (LLM) 的功能来显著推进机器人的人机交互方式,通过从非结构化人类语言输入中引出结构化机器人命令,充分利用LLM的零样本和少样本学习能力。 ROSGPT 是向通用人工智能 (AGI) 迈出的新一步,为机器人和自然语言处理社区合作创造新颖、直观的人机交互铺平了道路。
ROSGPT 的开源项目地址:https://github.com/aniskoubaarosgpt。
ROSGPT的论文原文:https://www.preprints.org/manuscript/202304.0827/v2。
ROSGPT介绍
1. 机器人人机交互现状
自从机器人发布以来,人类与机器人之间的交互一直受到人们的重视、关注和发展。 近年来,随着人工智能的指数级进步,研究界努力开发人类和机器人系统之间更直观、无缝的交互方法。 增强人机交互体验的需求旨在使机器人之间能够更好地自然地相互理解,无论其工作环境如何。 通过解决工作组织的复杂性、机器人操作员的认知和感知工作量限制,以及越来越多地使用具有不同角色的机器人,我们可以设想一个人类和机器人使用共同语言无缝沟通的未来,最终促进人类之间的和谐共处 和机器。
2. 大语言模型在自然语言理解中的作用
随着 OpenAI 开发的 ChatGPT 等大型语言模型 (LLM) 的出现,上述无缝人机通信的愿景似乎比以往任何时候都更加接近。 ChatGPT 为人工智能领域及其应用领域(包括机器人技术)带来了显着的转变。 它们令人印象深刻的语言处理和理解能力为人机交互开辟了新的可能性。 研究界已经开始探索大型语言模型 (LLM) 在推进人机交互方面的好处。 例如,Fede 等人在2022年推出了 Idea Machine,它利用大语言为机器人自动化的创意生成任务、创意扩展和组合以及建议模式提供智能支持。 这些发展为增强人机交互开辟了新的可能性,使我们更接近人与机器人之间无缝通信的愿景。
大型语言模型是使用深度学习技术对大量文本数据进行训练的自然语言处理系统。 它增长背后的一个主要原因是关于自我注意力的开创性工作,导致了 Transformer 模型的发展,彻底改变了 NLP 领域。 LLM有能力理解人类语言输入并在各种应用程序中生成上下文响应。 这些模型可以针对特定任务进行微调,例如语言翻译或文本摘要,从而使其具有令人难以置信的多功能性。 流行的 LLM 的例子包括 OpenAI 的 GPT-3 和 GPT-4等。 LLM令人印象深刻的能力确实是他们特有的,并将其与较小的预训练语言模型 (PLM) 区分开来。 然而,虽然LLM在复杂任务上表现出了令人印象深刻的表现,但研究界尚未完全了解其内在能力,并且仍在研究中。
LLM已被证明在多种应用中非常有用,因为它们具有卓越的能力,通过零样本或少样本学习来学习新的通信模式。 在零样本学习中,LLM 可以对其从未训练过的任务生成准确的响应,而在少样本学习中,它只需很少的训练样本就可以有效地适应新任务。 这种适应性是LLM的一个关键优势,使他们能够在各种环境中快速学习和提高。它的学习能力基于prompt,可以指导这些模型完成高度复杂的自然语言处理和理解 任务。 这些技术涉及向法学硕士提供特定的提示或说明,使其能够对输入文本生成高度准确且相关的响应。
3. ROSGPT的新颖性
基于 LLM 的功能,我们提出了 ROSGPT。这是一个概念框架,利用大语言模型 (LLM) 的功能来改善人机交互。 换句话说,我们利用 ChatGPT 的零样本和少样本学习功能,将其用作人类和机器人系统之间的复杂翻译代理。 “ROSGPT”这个名字源于ChatGPT与机器人操作系统ROS的集成。 通过 ROSGPT,ChatGPT 可以将非结构化人类语言命令翻译为格式良好、上下文特定的机器人命令,这些命令可以由 ROS 节点轻松解释,并且 转换为适当的 ROS 命令。 这使得机器人能够以更自然、直观的方式执行人类所需的任务。
我们相信这项工作是第一个连接大型语言模型和机器人操作系统(ROS)的工作,ROS是机器人应用程序的主要开发框架。 ROSGPT利用 ChatGPT 和 ROS 来为机器人交互提供更直观、自然的体验。 此外,我们还在 ROS 2 上开发了 ROSGPT 的开源概念验证实现,它可以作为 ROS 和 NLP 社区进一步调查和推进这一多学科研究领域的基础。
ROSGPT 的概念架构
ROSGPT 架构如图 1 所示。人类可以与机器人交谈并向机器人发出命令。 文本转语音模块将语音命令转换为非结构化文本命令,然后传输到位于机器人系统中的 ROSGPT 代理。 ROSGPT 有两个模块,如下所述。
1. GPTROSProxy:Prompt Engineering模块
该模块负责使用prompt engineering方法处理非结构化文本输入。 目标是设计特定于上下文的提示,将非结构化文本命令转换为结构化命令,这些命令可以轻松地以编程方式解释,并随后在 ROS 中作为适当的操作执行。
Prompt engineering是一个具有挑战性的过程,需要专门的专业知识来制作提示,将非结构化命令数据从自然人类语音准确地转换为可以通过编程方式解析的结构化数据。 结构化命令数据通常以标准格式(例如 JSON)表示。
通过实施精心设计的prompt engineering策略,并利用 ChatGPT 强大的零样本和少样本学习能力进行自然语言处理和命令转换,可以开发先进的机器人应用程序,以促进与人类的简化和用户友好的交互。 这种方法可以显着提高人机交互的准确性和效率,最终提高机器人系统在各个领域的整体可用性和实用性。Prompt engineering和 ChatGPT 语言处理能力的结合可以将自然语言命令翻译成适当的语言输出,使其成为开发高效、直观的人机交互的理想工具。 这种方法对从工业自动化到医疗保健等各个行业都具有重大影响,机器人系统可以从增强的可用性和实用性中受益。
在开发人机交互提示时,考虑为特定上下文应用程序开发适当的本体至关重要。 这对于促进非结构化和结构化命令数据之间的准确映射是必要的,最终提高交互的效率和有效性。
在机器人导航的背景下,机器人需要移动或旋转。 精确的运动和旋转命令的规范需要开发一个本体并结合特定领域的概念,例如机器人运动和机器人旋转。 为了充分描述这些命令时,本体还必须包含关键参数,例如距离、线性速度、方向、角度、角速度和方向。 通过利用这样的本体论,自然语言命令可以以更准确和一致的方式构建,从而改进机器人系统的性能和可靠性。通过利用这样的本体,用于机器人导航的自然语言命令可以使结构更加精确和准确,有助于提高性能和效率机器人系统。
2. ROSParser: 解析和执行命令
ROSParser模块是ROSGPT系统的关键组件,负责处理从非结构化命令中得出的结构化数据并将其转换为可执行代码。 从软件工程的角度来看,ROSParser可以被认为是一个促进高层处理模块和低层机器人控制模块之间通信的中间件。 ROSParser 模块旨在与负责使用预定义的 ROS 编程原语控制低级机器人硬件组件(例如电机控制器或传感器)的 ROS 节点进行交互。
ROSParser模块遵循在prompt engineering阶段开发的特定本体来提取与本体项相关的信息。 该本体作为 ROSParser 模块正确解释和执行命令的一组规则和指南。 例如,在上面的导航示例的上下文中,本体项将包括诸如机器人运动和机器人旋转之类的概念。
一旦提取了本体项及其相关参数,ROSParser 模块就会利用预定义的 ROS 编程原语来执行请求的任务。 例如,假设该命令涉及机器人移动 1 米并旋转 60 度。 在这种情况下,ROSParser将调用move()方法,然后调用rotate()方法,并使用特定于任务的参数来执行命令。 通过利用ROS框架和预定义的编程原语,ROSParser模块可以实现高级自然语言处理模块和低级机器人控制模块之间的无缝通信。
总结
ROSGPT是一个新颖的概念,它利用大型语言模型 (LLM) 的功能,使用机器人操作系统 (ROS) 来推进人机交互。 ROSGPT实施了一种基于本体的方法的prompt engineering,允许 ChatGPT 从非结构化人类文本命令生成预期的 JSON 结构化命令,并通过机器人导航中的概念验证实施展示了该概念的可行性。
ROSGPT的工作强调两个主要观察结果:1. ChatGPT 处理以前未见过的命令的令人印象深刻的引出能力,2,本体在指导映射过程并将其限制为预期输出方面的关键作用。 然而,我们承认使用 ChatGPT 进行人机交互的局限性,因为必须仔细检查其可靠性和安全性,以避免潜在的幻觉或有害的意外输出。 这一结果为各个方向的进一步研究开辟了新的机会。
总体而言,这项工作向通用人工智能(AGI)迈出了重大一步,并为机器人和自然语言处理社区合作创造创新、直观的人类机器人铺平了道路 互动。 未来的研究可以集中于将 ROSCHAPT 扩展到其他机器人任务,探索该概念的可扩展性和适应性。