首页 > 编程知识 正文

prophetical(未来网下载)

时间:2023-05-06 12:15:02 阅读:100433 作者:4573

作者|忧思小蘑菇,热情鞋垫,yydds,外向吐司,苗条兔,cqdhs

来源|微软研究人工智能头条(ID:MSRAsia)

编者按:微软亚洲研究院提出了一种新的预训练模型prevent net,并提出了一种新的自监督学习目标——来同时预测多个未来字符,在许多从序列到序列的自然语言生成任务中取得了优异的性能。

大规模预训练语言模型在自然语言理解(NLU)和自然语言生成(NLG)方面取得了突破性成果。这些模型通常使用特殊的自监督学习目标在大规模无标签语料库中进行预训练,然后对下游任务进行微调。

传统的自回归语言模型通过估计文本语料库的概率分布,广泛应用于文本建模、序列对序列建模(seq2seq)和预训练语言模型(如GPT)。这类模型通常采用教师强制的方法进行训练,即在每一时刻给出前一时刻的所有人物来预测下一时刻的人物。然而,这种方法可能会使模型偏向最近的wjdz字符,而不是通过捕获长期依赖的信息来预测下一个字符。原因有以下几点:(1)局部关系,如二进制字符的组合,往往强于长相关性;(2)逼师只考虑每时每刻对下一个角色的预测,没有明确让模型学习其他未来角色的建模和规划。最终可能导致模型中局部字符组合学习的过拟合,而全局一致性和长相关性的欠拟合。特别是当模型通过贪婪解码生成序列时,序列倾向于保持局部一致性,忽略有意义的全局结构。

先知网

为了解决上述问题,我们提出了一种新的seq2seq预训练模型,我们称之为prevent net。该模型有一个新的自监督学习目标函数,即预测未来N-gram。与seq2seq的传统教师强制在每时每刻只预测下一个角色不同,prevent net将学会在每时每刻预测未来的N个角色。如图1所示:

图1:左边是传统的语言模型,预测每时每刻下一刻的人物。右边是Bigram形式的ProphetNet,每时每刻同时预测两个角色的未来。

预测未来N元组是一个自监督学习目标,明确鼓励模型在预测下一个字符时考虑未来更多的字符,从而规划未来的字符,防止模型过度拟合强局部相关性。

ProphetNet基于Transformer的seq2seq架构,其设计有两个目标:1。该模型能够高效地预测训练过程中每时每刻的未来N个字符;2.该模型可以灵活地转换为传统的seq2seq架构(每时每刻只能预测一个字符),以便在推理或微调阶段兼容现有的方法和任务。因此,受XLNet中两流自关注的启发,我们为模型解码器提出了一种N流自关注机制。图2显示了一个二元模型形式的N流自我关注的例子。

N流自我注意除了原来的多头自我注意(我们称之为图2a所示的主流自我注意)之外,还包含了额外的N个预测流自我注意(如图2b和图2c所示),分别用于预测第N个未来时刻的人物(如图2d所示)。每个预测流都与主流共享参数,我们可以随时关闭预测流,使模型切换回seq2seq的传统模式。

图2: (a)主流自我关注;(b)第一预测流自我关注;(c)第二预测流自我关注;(4)介绍了n流自我注意的输入、输出和过程。

由于很难获得大量的标记序列对数据,我们利用去噪的自编码任务,用大量的未标记文本对prevent net进行预训练。去噪自编码的任务是输入被噪声函数破坏的序列,让模型学习恢复原始序列。任务是

广泛应于 seq2seq 模型的预训练中,如 MASS、落寞的微笑、T5 等。本文中使用 MASS 的预训练方式,通过引入提出的 predicting n-stream 自监督学习目标函数预训练 ProphetNet。我们以 bigram 形式的 ProphetNet 为例,整个流程如图3所示:

图3:二元形式下的 Prophet 整体框架图

实验结果

我们使用两个规模的语料数据训练 ProphetNet。ProphetNet 包含12层的 encoder 和12层的 decoder,隐层大小为1024。先在 BERT 所使用的 BookCorpus+Wikipedia(16GB)的数据上预训练模型,将模型在 Text summarization 和 Question generation 两个 NLG 任务上的三个数据集微调并评估模型性能。与使用同等规模数据(16GB)的预训练模型相比,ProphetNet 在CNN/DailyMail、Gigaword 和 SQuAD 1.1 question generation 数据集上都取得了最高的性能,如表1-3所示。

表1:CNN/DailyMail 测试集结果

表2:Gigaword 测试集结果

表3:SQuAD 1.1 测试集结果(上半部分)SQuAD 1.1 交换验证测试集结果(下半部分)

除了使用 16GB 的语料训练模型,我们也进行了更大规模的预训练实验。该实验中,我们使用了 160GB 的语料(该语料被 落寞的微笑、RoBETRa 等模型预训练中所使用)预训练 ProphetNet。我们展示了预训练14个 epoch 后的 ProphetNet 在 CNN/DailyMail 和 Gigaword 两个任务上微调和测试的结果。如表4所示。需要注意的是,在相同大小的训练数据下,我们模型的预训练 epoch 仅约为 落寞的微笑 的三分之一。我们模型的训练数据使用量仅约为 T5 和 PEGASUSLARGE(C4)的五分之一,约为 PEGASUSLARGE(HugeNews) 的二十分之一。尽管如此,我们的模型仍然在 CNN/DailyMail 上取得了最高的 ROUGE-1 和 ROUGE-L F1 scores。并在 Gigaword 上实现了新的 state-of-the-art 性能。

表4:模型经大规模语料预训练后在 CNN/DailyMail 和 Gigaword 测试集的结果

为了进一步探索 ProphetNet 的性能,我们在不预训练的情况下比较了 ProphetNet 和 Transformer 在 CNN/DailyMail 上的性能。实验结果如表5所示,ProphetNet 在该任务上超越了同等参数量的 Transformer。

表5:模型不经过预训练在 CNN/DailyMail 验证集结果

总结

本文介绍了微软亚洲研究院在序列到序列模型预训练的一个工作:ProphetNet,该模型提出了一种新的自监督学习目标,在同一时刻同时预测多个未来字符。并通过提出的 N-stream self-attention 机制高效地实现了模型在该目标下的训练。实验表明,该模型在序列到序列的多个自然语言生成任务都取得了不错的性能。我们将在之后尝试使用更大规模的模型架构和语料进行预训练,并进一步深入地探索该机制。

论文链接:https://arxiv.org/pdf/2001.04063.pdf

【end】

原力计划

《原力计划【第二季】- 学习力挑战》正式开始!即日起至 3月21日,千万流量支持原创作者!更有专属【勋章】等你来挑战

Python数据清理终极指南(2020版)

口罩检测识别率惊人,这个Python项目开源了

谈论新型冠状病毒、比特币、苹果公司……沃伦•巴菲特受访中的 18 个金句,值得一看!

天猫超市回应大数据杀熟;华为Mate Xs被热炒至6万元;Elasticsearch7.6.1发布

一张图对比阿里、腾讯复工的区别

不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。