luchi00 2017-06-15
选自Facebook.code
机器之心编译
参与:吴攀、李亚洲
每天从我们醒来的那一刻,生活中就充满了经常性的谈判(negotiations)。这些场景包括讨论观看的电视频道、说服孩子吃蔬菜、或者砍价。这些场景的共通之处在于需要复杂的交流与推理技巧,而这是计算机没有的能力。目前,已有的聊天机器人(chatbot)能够完成简短的对话、简单的任务,比如预定餐馆。但建立能够与人类进行有意义对话的机器仍是巨大的挑战,因为这需要 bot 结合知识与对对话的理解,然后生成新的句子帮助它达到目标。今天,Facebook 人工智能研究所(FAIR)的研究人员公开了一个具有谈判新能力的对话智能体(dialog agents),并开源了其代码。
论文地址:https://s3.amazonaws.com/end-to-end-negotiator/end-to-end-negotiator.pdf
开源地址:https://github.com/facebookresearch/end-to-end-negotiator
类似于人类在有不同目标时会产生分歧,然后谈判、妥协一样,这些 FAIR 研究者表明有不同目标的对话智能体也有可能与其他 bot 或人进行从开始到结束的谈判,直到达成共同的决定或结果。
任务:多问题交涉
FAIR 研究人员研究了在多问题交涉任务上的谈判。两个智能体都被给予同样的物品集(两本书、一顶帽子、三个球),然后下达指令:通过协商谈判达成分配这些东西的协议。
每个智能体都被赋予了自己的价值函数,代表它对每个物品类别的在意度(比如,对智能体 1 而言,每个球是 3 分)。就像生活中一样,每个智能体不知道其他智能体的价值函数,需要从对话中推断(你说你想要球,那球的价值就要高一点)。
FAIR 研究人员创造了许多这样的谈判场景,并总是确保两个智能体都不可能同时得到最好的结果。此外,如果达不成谈判(或 10 轮对话后无法达成一致),两个智能体都是 0 分。简单而言,谈判是必要的,好的谈判带来更好的表现。
Dialog rollouts
谈判即是一个语言问题,也是一个推理问题,其中必须要定义一个意图,并通过对话的方式实现。这样的对话同时包含协作与对抗元素,需要智能体理解和形成长期的规划,并生成话语达到目标。
FAIR 研究人员在建立这样长期规划对话智能体上的主要技术创新是一种名为 dialog rollouts 的思路。
未来,当聊天机器人能够建立谈判对象的心理模型,从而提前预想到或者引导对话的方向的时候,它们就能选择将无用的、混乱的、或者破坏性的交流引向成功的协商。
特别是 FAIR 开发出的 dialog rollouts 新技术,能让智能体通过推导对话的结局来模拟未来的对话,从而可以选择最大预期的未来奖励对话。
类似的思路已被用于游戏环境中的规划问题,但还从未被用于语言,因为其可能动作的数量巨大。为了改进效率,FAIR 研究者首先生成了一小部分候选表述(utterance),然后对每个表述重复模拟未来完整的对话,从而估算成功程度。该模型的预测准确率足够高,从而在以下几个领域极大改进了谈判策略:
更努力的谈判:这种新的智能体可以与人类进行更长时间的对话,因此接受交易更慢。而人类有时候没有达成交易就会走开,本实验中的模型会一直谈判,直到达成成功的结果。
智能谋略:在一些案例中,智能体最先会对无价值的项感兴趣,之后通过让步而「妥协」——这是一种人们常常使用的谈判策略。这种行为不是由研究者编程的,而是被 bot 观察认为这是一种实现其目标的好方法。
生成全新的句子:尽管神经网络更倾向于重复训练数据中的句子,但在这项研究中,模型可以在有需要时生成新句子。
构建和评估谈判数据集
为了训练谈判智能体并进行大规模量化评估,该 FAIR 团队众包了人与人之间谈判数据的收集服务。这些人被展示了一些物品和每个物品的价值,然后被要求达成分配这些物体的协议。然后研究者训练了一个循环神经网络来学习模拟人类的谈判方式。在一次对话的任何时候,该模型都会尝试猜测人类在这一情境下可能会说出的话。
和之前目标导向的对话(goal-orientated dialog)不同,该模型是完全基于人类的语言和决策而「端到端」训练的,这意味着该方法可以轻松被应用于其它任务。
这些 FAIR 研究者没有简单地尝试模拟人类,而是允许其模型实现谈判的目标。为了训练该模型实现其目标,研究者让该模型自我谈判练习了数千次,并且还使用了强化学习对得到了好结果的模型进行奖励。为了防止该算法发展出它自己的语言,它同时还接受了生成人类语言的训练。
为了评估该谈判智能体,FAIR 通过与人类的在线对话对它们进行了测试。之前大多数成果都避开了与真人的对话或位于难度更小的领域中,因为学习能回应人们说的各种语言的模型是很困难的。
有趣的是,在 FAIR 的实验中,大多数人没有意识到他们在和一个 bot 对话,而以为是另一个人类——这说明这些 bot 已经学会了在该领域的流畅英语对话。FAIR 最好的谈判智能体(使用了强化学习和 dialogue rollouts)的表现足以比肩人类水平。其实现更好的交易和更差的交易的概率差不多,这表明 FAIR 的 bot 不仅能说英语,而且还可以智能地思考其所说的内容。
用于对话智能体的强化学习
监督学习旨在模拟人类用户的行为,但其并不会明确试图实现智能体的目标。FAIR 的这个团队采用一种不同的方法:使用监督学习探索预训练,然后使用强化学习根据评估指标对该模型进行精细调节。实际上,他们使用监督学习学习了语言(language)和含义(meaning)之间的映射方式,然后使用强化学习来帮助决定选择怎样的表达。
在强化学习过程中,该智能体会试图根据与另一个智能体的对话来改善其参数。尽管其它智能体可能是人类,但 FAIR 则使用了一个被训练来模拟人类的固定监督式模型。第二个模型是固定的,因为研究者发现:如果同时更新两个智能体的参数,那么它们就会偏离人类语言,而发展出自己的用于谈判的语言。在每次对话的结尾,该智能体都会获得一个基于其达成的交易的奖励。然后使用一个策略梯度,该奖励会被反向传播通过该智能体所输出的每一个词,以增加能导致高回报的动作的概率。
未来研究
对研究界和 bot 开发者而言,这项突破是迈向可推理、可交谈和可谈判的聊天机器人的重要一步,构建了实现个性化数字助理的关键基础。与社区一起努力让我们有机会分享我们的研究成果和我们正在寻求解决的难题,我们鼓励有才华的人贡献他们的想法和努力,以推动这一领域继续向前。
以下为原研究论文的摘要:
论文:成交吗?用于谈判对话的端到端学习(Deal or No Deal? End-to-End Learning for Negotiation Dialogues)
大多数人类对话都发生在半合作的环境中,其中带有不同目标的个体会尝试达成共同的决策。协商谈判需要复杂的交流和推理技能,但成功却比较容易衡量,这使其成为了一个非常有趣的人工智能任务。我们收集了一个在许多议题的谈判任务上的人与人谈判的大型数据集,其中的个体不能观察其他个体的奖励函数,且必须通过自然语言对话达成协议(或交易)。我们首次表明训练端到端的谈判模型是可能的,其必须在没有标注的对话状态的情况下同时学习语言技能和推理技能。我们还引入 dialogue rollouts,其中该模型可以通过模拟可能的完整连续对话来进行提前规划;我们发现这种技术能极大地提升表明。我们的代码和数据集已经公开。