香港大学硕士(香港大学硕士申请条件)

香港大学硕士,香港大学硕士申请条件

近日,腾讯 AI Lab 研发的智能写作助手「文涌(Effidit)」开放试用,依靠AI 技术辅助写作者拓展写作思路、丰富语言表达,提升写作和文本编辑的效率。该助手提供多维度文本补全、多样化文本润色两项核心功能,同时还具备例句推荐、文本纠错、云输入法等功能,构成完整的辅助写作体系。其中,多维度文本补全功能,经多位用户评测,在流利性、丰富性和相关性上,已经与人类水平不相上下,令人眼前一亮。

Paper Link: https://arxiv.org/abs/2202.06417

Code Link: https://github.com/yxuansu/SimCTG

图1:文涌文本补全结果

这篇文章,将会详细介绍使「文涌」的文本补全效果实现突破的关键技术:由剑桥大学、腾讯AI Lab、DeepMind、香港大学联合研究的对比学习生成框架:A Contrastive Framework for Neural Text Generation。该工作针对开放式文本生成任务(Open-ended Text Generation)提出了一个新的训练策略(SimCTG)以及解码算法(contrastive search)。作者在来自多语言的不同任务以及实际工业场景中进行了大量的自动及人工评测。实验结果表明该方法显著提升了文本生成模型的效果,并在中文对话任务上达到了接近人类写作文本的流利性、丰富性和相关性。同时,在Github开源项目中作者还详细展示了如何在中文,英文,日文,韩文等语言生成模型上使用该方法的结果。

1.技术细节

最近,伴随着以GPT-2为代表的自回归预训练语言模型的提出,开放域文本生成不再是五至十年前遥不可及的镜花水月,而成为了学术界和工业界竞相挑战的热点问题。通过大数据训练的预训练语言模型,能根据上文预测下一个词的概率分布,并通过一系列解码方法进行开放域文本生成。。然后,许多研究也发现,目前以GPT-2为代表的预训练语言模型在inference解码阶段通常会遇到比较严重的text degeneration问题(一系列使生成结果不自然的问题的统称,如重复、逻辑混乱、实体名错误等)。如图2所示,在用300G高质量中文文本训练的GPT-2模型上,无论是确定性解码方法贪婪搜索(greedy search)和集束搜索(beam search),还是目前在文本生成任务中展示出不错效果的采样方法(nucleus sampling Holtzman et al., 2020 ),都会出现或多或少的重复和逻辑混乱现象,使生成结果变得不自然。

图2:不同解码方法下的GPT2生成结果

在本文中,作者们通过分析,推理出token表示空间的各异性是导致生成模型degeneration问题产生的原因,即token的表示聚集在表示空间的一部分狭窄的子集中,如下图所示:

图3:token表示空间: (a) GPT-2; (b) SimCTG

可以发现,在”NLP is super fun !” 这个句子中,五个单词的表示相似性非常高。换句话说,增加或删除一个词对于句子的语义改变是比较小的。在推理阶段,相似的表示往往会导致模型预测出相似的概率分布,从而解码出重复的token序列。针对这一问题,作者提出了对比训练方法SimCTG和对比解码方法contrastive search来解决这一问题:

1.SimCTG在传统语言模型训练的损失基础上添加了一项对比损失函数 来校准token的表示空间,使同一句子中不同token的表示差异性尽量大,从而缓解各向异性的表示问题:

其中token表示之间的余弦相似度如下所示:

最终训练生成模型的损失函数如下所示:

2.Contrastive search解码方法:在解码阶段,通过使用“degeneration penalty”来从候选token中选择最合适的token输出,从而避免了生成模型解码的degeneration问题。如下公式所示:

其中degeneration penalty项计算了候选token和之前token表示之间的余弦相似度的最大值。 α 参数用来平衡两个分数之间的重要性,当 α 趋于0时,contrastive search退化为greedy search解码方法。虽然contrastive search解码方法需要对 个候选token进行重新的打分,但是通过简单的 cache 技巧,即可以显著提升contrastive search的推理效率。

虽然整体上用户需要先使用SimCTG训练,而后在推理阶段使用contrastive search。不过值得注意的是,在中文文本生成中,作者观察到即使不经过SimCTG的训练,直接使用contrastive search也能够取得非常好的效果,这进一步说明了作者提出的contrastive search解码方法具有通用性。

2.实验分析2.1 开放域文档生成2.1.1 模型和baseline选择

作者选择GPT-2作为实验对比的基础模型,并考虑以下两个strong baseline: (1) 使用MLE损失优化的GPT-2模型;(2)使用 unlikelihood训练损失 优化的GPT-2模型。在解码方法上,作者把contrastive search解码方法与greedy search和beam search等确定性解码方法,以及目前性能最好的nucleus sampling解码方法进行了对比。

2.1.2 数据集

为了全面评测模型和解码方法的效果,本文在wikitext-103语料上进行了对比试验。

2.1.3 评估方法

作者从三个不同的角度公平地对比不同模型和解码方法之间的优劣:(1)语言模型质量评估;(2)生成样本质量评估;(3)人工评估。

1.语言模型质量评估

l 困惑度

l token重复率 rep:语言模型top-1预测结果在前文(context)中出现的比率

l 错误token重复率 wrep:语言模型top-1预测结果在前文(context)中出现且不与正确结果(reference)相等的比率

2.生成样本质量评估

l 生成重复率(rep-n):计算生成的样本中词以及词的组合(n-gram)重复的比例

l 多样性分数 (diversity):综合衡量了rep-2、3、4之后的指标

l MAUVE 分数:一种和人类评价相关度较高的自动评价指标

l 语义相似度分数 (semantic coherence): 通过使用SimCSE方法来衡量生成的文本和prefix之间的语义相关性

l 生成的文本的困惑度 (gen-ppl): 用来评价不同的解码方法生成的文本的困惑度差异,如果gen-ppl过大表示生成文本质量较差,如果gen-ppl过小则表示相关性可能较低,在本文我们使用SimCTG训练得到的模型来计算该值

3.人工评价

我们从测试集中挑选了200个样例,并用不同的模型和解码方法生成续写结果。随后,我们从第三方标注公司雇佣了五名专业标注人员从相关新、流利性、信息丰富度三个方面对生成的文本的质量进行打分,分数区间为1-5,其中1分代表质量最差,5分代表质量最高。各指标代表含义如下

l 相关性:是否生成文本和prefix的相关性足够好

l 流利度:是否生成的文本足够流利

l 信息含量:是否生成的文本多样且有趣

2.1.4 实验结果

1.语言模型(language modeling) 质量以及生成质量的自动评测如下所示

图4:语言模型和生成质量实验结果

通过语言模型质量的评估(图4左边),可以发现用SimCTG方法训练的模型的ppl和acc分数显著好于两个基线模型:用最大似然估计(MLE)和非似然度估计(Unlikelihood Training)方法训练的模型,这验证了作者们在前文的假设:通过校准GPT-2模型的表示空间可以提升语言模型的性能,另外,虽然基于非似然度估计方法训练的模型的rep和wrep分数略好于SimCTG,但是其语言模型的性能相对SimCTG和MLE会差很多。

在生成质量的评估中(图4右边),SimCTG+contrastive search的组合方法在各项指标上均取得了最优的性能。不使用SimCTG单独使用contrastive search解码方法也有不错的效果,不过依然弱于目前最好的nucleus采样方法,这也进一步验证了SimCTG的必要性。

2.人工评价

图5:开放域文档生成人工评价结果

在人工评价中,我们惊讶地发现,SimCTG + contrastive search采样方法在相关性、流利性和信息丰富度上,均远超目前最好的方法nucleus sampling,并且其流利度已经接近人类水平。另外,在MLE和Unlikelihood模型上直接使用contrastive search并不能带来性能增益,这点与自动评测的结论一致。

2.2 开放域对话生成

为了验证我们方法的通用性,我们进一步在开放域对话系统上进一步的测试。在这个实验中,模型需要根据一段对话历史生成下一句的对话内容

2.2.1 实验设置

l 数据集:我们在 LCCC 中文对话数据集上进行测试,在DailyDialog数据集上进行英文测试

l 模型和基线方法: 我们在公开的GPT-2模型上使用SimCTG和MLE分别进行训练得到了一个对话回复模型,进行对比。对于每个模型,我们用四种方式进行解码,分别是贪婪搜索、集束搜索、nucleus采样和我们提出的contrastive search

l 评价方法:因为对话任务的特殊性,在本文我们只选择人工评价来进行公平的对比。人工评价的流程和文档生成任务保持一致

2.2.2 实验结果

图6:开放域对话生成人工评价结果

如上所示,可以得出以下几个结论:(1)SimCTG+contrastive search方法在开放域对话数据集上取得了最佳的效果,其中值得注意的是,LCCC数据集上SimCTG + contrastive search方法的流利性甚至超过人类水平;(2)此外,在中文上,即使没有经过SimCTG方法的训练,单独使用contrastive search依然可以显著提高了MLE模型的生成质量,这证明了contrastive search作为一种更先进的解码方法在对话任务上的有效性和通用性

3. 例子分析3.1 开放域文本生成

图7:开放域文档生成的英文例子

下面我们再看一个中文开放域文本生成的例子:

Prefix

我是从山村

beam search

里走出来的孩子,我的父母都是农民,我的家庭条件并不是很好,但是我从小就很懂事,我知道父母的不容易,所以我一直都很努力的

greedy search

走出来的孩子,我的父母都是农民,我的家庭条件不是很好,我的父母都是农民,我的家庭条件不是很好,我的父母都是农民,我的家庭条件不是

nucleus sampling

走出来的孩子,我是在山村中长大,山村中有我的亲人。我是在山村中成长,山村中有我的根。我是在山村中成长的孩子,我是在山村中长大,我

contrastive

search

走出来的孩子,所以我知道农村的生活有多苦,但是我不后悔自己的选择。”王丽说,她现在每个月工资3000多元,除去房租水电,剩下的钱基本

图8:开放域文档生成的中文例子

如图7-8所示,可以观察到集束搜索生成的结果质量比较低,缺乏多样性和连贯性;虽然nucleus方法生成的文本偶尔流利性比较好,但是因为随机采样的缘故,其生成的文本和容易出现和前文矛盾和不一致的表述。综合对比下,我们提出的contrastive search 方法生成的文本无论是多样性,连贯性还是和前文的一致性都显著优于其他的baseline。

3.2 开放域对话生成

图9:中文开放域对话的例子

上图是几个开放域对话生成的例子,我们可以观察到生成的样本的质量和参考样本的质量非常接近,甚至有一些效果超过参考回复。

4.可视化理解Contrastive Search

图10:contrastive search可视化分析; (a) MLE + beam search; (b) SimCTG + beam search; (c) SimCTG + contrastive search

为了更清晰的理解contrastive search的作用,图10中我们展示了不同方法的token相似度的热力图。其中红色框表示Prefix的相似度矩阵,黄色框表示生成文本的相似度矩阵。可以发现,MLE+beam search的热力图中token相似度普遍极高,这说明经过MLE训练的模型生成的token表示很难进行区分,极其容易导致出现degeneration的问题;虽然将模型更换为SimCTG之后(图b),其相似度矩阵变得稀疏和可区分,degeneration的问题依然存在(有规律的斜线)。最终我们发现,使用SimCTG和contrastive search生成的文本不仅稀疏可区分,其生成文本并没有出现有规律的degeneration问题,黄色框和红色框的热力图矩阵情况是比较一致的,说明SimCTG+contrastive search生成的文本更接近人类真实文本。

5.总结

在本文中,为了进一步改进开放域文本任务中的text degeneration问题,作者们提出了包含SimCTG训练策略和contrastive search解码方法在内的对比生成框架,并在不同语言的不同任务上,通过自动评价和人工评价两种方式验证了该框架的优势。在和目前最优的nucleus sampling的解码方法对比中,本文提出的contrastive search解码方法在流利性、相关性和信息丰富度上均取得了显著的优势。

—版权声明—

来源:算法与数学之美,编辑:nhyilin

仅用于学术分享,版权属于原作者。

若有侵权,请联系微信号:Eternalhui或nhyilin删除或修改!

—THE END—

香港大学硕士(香港大学硕士申请条件)