分享
换位思考:大语言模型模拟故事情景代入角色
输入“/”快速插入内容
换位思考:大语言模型模拟故事情景代入角色
📣
xiaoming 乐谷说
2023-12-14 12:34
发表于上海
原文链接:
https://mp.weixin.qq.com/s/XSFWn_gTzfVdoSjB14StFw
论文地址:
https://arxiv.org/pdf/2311.10227.pdf
《Think Twice:Perspective-Taking Improves Large Language Models' Theory-of-Mind Capabilities》是一篇旨在提高大型语言模型的 Theory-of-Mind (ToM) 能力的研究论文。作者提出了一种称为“透视”的新方法,该方法涉及训练模型从对话中特定角色的角度预测下一句话。
本文旨在解决的问题是大型语言模型中缺乏心理理论能力。心智理论是指将心理状态归因于自己和他人的能力,这对于理解和预测他人的行为至关重要。然而,当前的语言模型很难解决这个问题,经常产生与角色视角不一致的响应。
透视方法的主要步骤是:(1)在大型文本语料库上预训练模型,(2)在对话数据集上微调模型,其中每个话语都与特定角色相关联,以及(3)在推理过程中,模型被赋予角色的视角作为额外的输入。
在语言模型中提高 ToM 能力的传统方法涉及在对话数据集上训练模型,而不考虑角色的视角。这通常会导致模型产生与角色视角不一致的响应。
透视方法与传统方法的不同之处在于,它在训练和推理过程中都考虑了角色的视角。这导致模型产生与角色视角更一致的响应。
发现透视方法可以显著提高大型语言模型的 ToM 能力。与使用这种方法训练的基线模型相比,使用这种方法训练的模型能够产生与角色视角更一致的响应。
想象一下,你正在玩一个假装你是海盗的游戏。你必须像海盗一样思考和说话才能玩好游戏。换位思考方法就像教机器人玩这个假装游戏。机器人被训练成像它假装的角色一样思考和说话,这有助于它理解和预测角色会说什么或做什么。
以论文中的截图为例子,我们进行分析。
这张图展示的是一个名为 SimToM 的两阶段提示框架,它旨在增强大型语言模型(LLM)的零次推理能力,特别是在理解他人的心理状态(即心智理论)方面。这个框架包括两个步骤:
1.
角色扮演(Perspective-Taking):在这一步,模型尝试理解故事中的代理人(例如服务员)知道什么以及他们的愿望。模型将从代理人的视角重构故事。
2.
推理(Inference):基于从特定视角理解到的信息,模型需要推断出问题的答案。在这个例子中,问题是:“哪种拿铁被服务员认为是服务出去的?”
原始故事描述了一系列事件,包括服务员用全脂牛奶填充杯子,之后又被替换成燕麦奶,并在顶部加了肉桂香料,最后将拿铁交给顾客。根据服务员的视角,他们可能只知道拿铁中包含全脂牛奶和肉桂香料,而不知道拿铁被替换成了燕麦奶。
在“Who Knows?”的部分,通过不同的图标表示了各个角色对发生的事件的知情程度。根据这些信息,我们可以推断出,服务员可能认为他们提供的是包含全脂牛奶和肉桂香料的拿铁,因为他们不知道牛奶被换成了燕麦奶。
这个框架的目的是帮助模型更好地理解和预测人类的行为和信念,这在人工智能领域是一个挑战性的研究方向。
让我们再举出另一个例子。
好的,让我们考虑一个新的例子来展示 SimToM 框架的应用:
假设有一个故事情节:
1.
一个小孩在公园里玩耍,他有一个红色的气球。
2.
当小孩不注意的时候,一个风筝碰到了气球,气球飞走了。
3.
小孩回头寻找气球,但他没有看到风筝碰到气球的那一刻。
在这个故事中,有几个关键的角色和观点:
•
小孩:他失去了气球,但不知道它是怎么丢的。
•
风筝的主人:可能看到了风筝碰到气球的整个过程。
•
旁观者:有些可能看到了气球被风筝撞到的情景,有些则没有。
现在,如果我们应用 SimToM 框架,我们可以构建两个不同的视角:
角色扮演(Perspective-Taking):
•
从小孩的视角:小孩知道他有一个气球,也知道气球不见了,但他不知道气球是怎么丢的。
•
从风筝主人的视角:风筝主人可能看到了气球被风筝撞飞的情况。
推理(Inference):