Connect with us

人工智能

使用深度强化学习进行抄袭生成 – 思想领袖

mm

在写作或说话时,我们都曾经想知道是否有更好的方式来向他人传达一个想法。应该使用什么词语?如何构造思路?他们可能会如何回应?在 Phrasee ,我们花了很多时间思考语言 – 什么有效,什么无效。

想象你正在为一封将发送给你名单中1000万人的电子邮件活动编写主题行,推广一款新型笔记本电脑的20%折扣。

你会选择哪一行:

  • 您现在可以在下一个订单中额外享受20%的折扣
  • 准备好了 – 额外20%的折扣

虽然它们传达相同的信息,但其中一行比另一行获得了几乎15%更高的打开率(我打赌你无法击败我们的模型来预测哪一个?)。虽然语言可以通过 A/B测试多臂老虎机 进行测试,但自动生成抄袭仍然是一个具有挑战性的研究问题。

两个句子被认为是彼此的抄袭,如果它们具有相同的含义并且可以互换使用。另一个重要的事情通常被忽视的是,机器生成的句子是否通顺。

与监督学习不同,强化学习(RL)代理通过与环境交互并观察它们收到的奖励来学习。这一细微的差异对算法的工作方式和模型的训练有着巨大的影响。 深度强化学习 使用神经网络作为函数近似器,以便代理能够学习如何在复杂环境中超越人类,例如 围棋 ,Atari和 星际争霸II

尽管如此,强化学习并没有被广泛应用于包括自然语言处理(NLP)在内的现实世界问题。

作为我 数据科学硕士论文 的一部分,我们展示了如何使用深度RL来超越监督学习方法,自动生成输入文本的抄袭。生成最佳抄袭的问题可以看作是找到最大化句子之间的语义相似度同时保持输出的流畅度的一系列词语。RL代理适合在控制环境中找到实现最大预期奖励的最佳动作集。

相比之下,大多数机器学习问题中最大的问题不在于建模,而在于评估。虽然人类评估目前被认为是NLG评估的金标准,但它具有显著的缺点,包括昂贵,耗时,难以调整,并且缺乏跨实验和数据集的可复制性 (Han, 2016) 。因此,研究人员长期以来一直在寻找简单、通用且反映人类判断的自动评估指标 (Papineni et al., 2002)

机器生成图像字幕的最常见自动评估方法如下,包括其优缺点:

使用强化学习的抄袭生成管道

我们开发了一个名为ParaPhrasee的系统,用于生成高质量的抄袭。该系统由多个步骤组成,以便在计算上高效地应用强化学习。以下是高级管道的简要摘要,更多详细信息请参见 论文

数据集

有几个可用于研究的抄袭数据集,包括: Microsoft抄袭语料库 ,ACL的语义文本相似性竞赛, Quora重复问题Twitter共享链接 。我们选择了 MS-COCO ,因为其规模、清洁度和作为两个著名抄袭生成论文的基准。MS-COCO包含120k张常见场景的图像,每张图像由5个不同的人类注释者提供5个图像字幕。

虽然它主要用于计算机视觉研究,但字幕往往具有高语义相似性,并且是有趣的抄袭。由于图像字幕是由不同的人提供的,因此它们往往在细节上有轻微的变化,因此生成的句子往往会出现幻觉。

监督模型

虽然强化学习在样本效率、训练时间和整体最佳实践方面有了显著改进,但从头开始训练RL模型仍然相对较慢且不稳定 (Arulkumaran et al., 2017) 。因此,我们首先训练一个监督模型,然后使用RL对其进行微调。

我们使用 编码器-解码器 模型框架,并评估几种基准监督模型的性能。在使用RL对模型进行微调时,我们只微调解码器网络,并将编码器网络视为静态的。因此,我们考虑两个主要框架:

  • 使用标准/普通编码器解码器和GRU从头开始训练监督模型
  • 使用预训练的句子嵌入模型作为编码器,包括:词嵌入(GloVe),InferSent和BERT

监督模型在不同模型中表现相对均匀,BERT和普通编码器-解码器实现了最佳性能。

虽然性能趋于合理,但存在三个常见的错误来源:结巴、生成句子片段和幻觉。这些都是使用RL试图解决的主要问题。

强化学习模型

实现RL算法非常具有挑战性,尤其是当你不知道问题是否可以解决时。环境、代理、超参数、奖励函数或所有这些的实现都可能存在问题。这些问题在进行深度RL时更加严重,因为你需要调试神经网络的复杂性。

与所有调试一样,从简单开始 至关重要。我们实现了两个众所周知的玩具RL环境(CartPole和FrozenLake)的变体,以测试RL算法并找到一种可重复的策略来将知识从监督模型转移到强化学习模型。

我们发现,使用Actor-Critic算法在这些环境中优于REINFORCE。在将知识转移到Actor-Critic模型时,我们发现使用训练好的监督模型初始化Actor的权重并预训练Critic实现了最佳性能。我们发现,将复杂的策略蒸馏方法推广到新环境具有挑战性,因为它们引入了许多新的超参数,需要调整才能有效。

支持这些见解,我们然后转向为抄袭生成任务开发一种方法。我们首先需要创建一个环境。

该环境允许我们轻松测试使用不同评估指标作为奖励函数的影响。

然后,我们定义代理,鉴于其众多优势,我们使用Actor-Critic架构。Actor用于选择序列中的下一个词,其权重使用监督模型进行初始化。Critic提供了一个预期奖励的估计,这有助于Actor学习。

设计正确的奖励函数

RL系统中最重要的组件是奖励函数,因为RL代理正在尝试优化它。如果奖励函数不正确,即使系统的其他部分都能正常工作,结果也会受到影响!

一个经典的例子是 CoastRunners ,其中OpenAI研究人员将奖励函数设置为最大化总分数,而不是赢得比赛。结果是,代理发现了一个循环,可以通过击中涡轮而不完成比赛来获得最高分数。

https://www.youtube.com/watch?time_continue=2&v=tlOIHko8ySg&feature=emb_title

鉴于评估抄袭的质量本身就是一个未解决的问题,设计一个自动捕捉此目标的奖励函数更加困难。大多数语言方面不能很好地分解为线性指标,并且是任务依赖的 (Novikova et al., 2017)

RL代理通常会发现一种有趣的策略来最大化奖励,这种策略会利用评估指标的弱点,而不是生成高质量的文本。结果往往是,在代理没有直接优化的指标上表现不佳。

我们考虑三个主要方法:

  1. 词重叠度指标

常见的NLP评估指标考虑生成的抄袭和评估句子之间的词重叠度。词重叠度越大,奖励越大。词级方法的挑战在于,代理包含太多连接词,例如“a is on of”,并且没有流畅度的衡量标准。结果是生成的抄袭质量非常低。

  1. 句子级相似度和流畅度指标

生成的抄袭的主要属性是,它必须是流畅的,并且与输入句子在语义上相似。因此,我们尝试明确评分这些,然后将指标组合起来。对于语义相似度,我们使用预训练模型(包括BERT)之间的句子嵌入的余弦相似度。对于流畅度,我们使用GPT-2的句子困惑度得分。余弦相似度和流畅度得分越大,奖励越大。

我们尝试了多种句子嵌入模型和流畅度模型的组合,虽然性能尚可,但代理面临的主要问题是不能足够地平衡语义相似度和流畅度。对于大多数配置,代理优先考虑流畅度,导致删除细节和大多数实体被放在“中间”或移到“桌子上”或“路边”。

多目标强化学习是一个开放的研究问题,在这种情况下尤其具有挑战性。

  1. 使用对抗模型作为奖励函数

鉴于人类被认为是评估的金标准,我们训练了一个单独的模型,称为鉴别器,来预测两个句子是否是彼此的抄袭(类似于人类的评估方式)。RL模型的目标是说服这个模型,生成的句子是输入句子的抄袭。鉴别器生成一个评分,表示两个句子是抄袭的可能性,这个评分被用作奖励来训练代理。

每5000次猜测,鉴别器都会被告知哪个抄袭来自数据集,哪个是生成的,这样它就可以改进未来的猜测。该过程持续了几轮,代理试图欺骗鉴别器,鉴别器试图区分生成的抄袭和数据集中的评估抄袭。

经过几轮训练后,代理生成的抄袭超过了监督模型和其他奖励函数。

结论和局限性

对抗性方法(包括游戏的自我对抗)为训练RL算法超越人类在某些任务上的性能提供了一个非常有前途的方法,而无需定义明确的奖励函数。

虽然RL在这种情况下能够超越监督学习,但在代码、计算和复杂性方面的额外开销并不值得大多数应用的性能提升。RL最好应用于监督学习难以应用的情况,并且奖励函数容易定义(例如Atari游戏)。算法和方法在监督学习中更为成熟,错误信号更强,导致训练更快、更稳定。

另一个考虑因素是,与其他神经方法一样,代理可能会在输入与之前看到的输入大不相同的情况下灾难性地失败,需要为生产应用程序添加额外的合理性检查。

近年来对RL方法的兴趣和计算基础设施的进步将为在行业中应用RL(尤其是在NLP中)带来巨大的机会。

Andrew Gibbs-Bravo 是 Phrasee 的数据科学家,专注于改进 Phrasee 世界领先的 AI 驱动的文案写作技术。他也是伦敦强化学习社区聚会的联合组织者,并对所有与强化学习、自然语言处理和机器学习相关的事情感兴趣。