预训练模型ProphetNet:根据未来文本信息进行自然语言生成_HET:PROP

作者|刘大一恒、齐炜祯、晏宇、宫叶云、段楠、周明

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

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

传统自回归语言模型通过估计文本语料概率分布被广泛用于文本建模,序列到序列的建模,以及预训练语言模型中。这类模型通常使用teacher-forcing的方法训练,即每一时刻通过给定之前时刻的所有字符以预测下一个时刻的字符。然而,这种方式可能会让模型偏向于依赖最近的字符,而非通过捕捉长依赖的信息去预测下一个字符。有如以下原因:局部的关系,如两元字符的组合,往往比长依赖更强烈;Teacher-forcing每一时刻只考虑对下一个字符的预测,并未显式地让模型学习对其他未来字符的建模和规划。最终可能导致模型对局部字符组合的学习过拟合,而对全局的一致性和长依赖欠拟合。尤其是当模型通过贪心解码的方式生成序列时,序列往往倾向于维持局部的一致性而忽略有意义的全局结构。

美媒:美司法部考虑对币安提起欺诈指控,但担心挤兑风险:金色财经报道,据美国财经媒体Semafor报道,美国司法部官员正在考虑对Binance提起欺诈指控,但担心交易所或银行的挤兑风险。知情人士称,联邦检察官担心,如果他们起诉币安,可能会导致该交易所出现挤兑,类似于现已破产的FTX平台,导致消费者损失金钱,并可能引发加密货币市场的恐慌。

知情人士称,检察官正在考虑其他选择,例如罚款和延期或不起诉协议。这一结果将是一种妥协,让币安对涉嫌的犯罪行为负责,同时减少对消费者的伤害。[2023/8/3 16:14:43]

ProphetNet

针对上述问题,我们提出了一个新的seq2seq预训练模型,我们称之为ProphetNet。该模型带有一个新颖的自监督学习目标函数,即预测未来的N元组。与传统seq2seq的Teacher-forcing每一时刻只预测下一个字符不同,ProphetNet每一时刻将学习去同时预测未来的N个字符。如图1所示:

由于担心机器人,开发人员或考虑永久锁定MoonCats创世猫:金色财经报道,以太坊最古老的NFT项目之一MoonCats正在讨论是否要销毁剩余的160只创世猫(Genesis MoonCats)。出于对发布的期待,一些人已经设置了机器人,以便在开发人员发布创世猫后立即将它们捕获。这些机器人运行一个简单的if-then命令,即“如果Genesis MoonCat即将被采用,该机器人会自动购买它”。开发人员和MoonCat持有者担心这些机器人会破坏乐趣,并考虑永久锁定剩余的创世猫。[2021/3/22 19:05:36]

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

预测未来N元组这一自监督学习目标在训练过程中显式地鼓励模型在预测下一个字符时考虑未来更远的字符,做到对未来字符的规划,以防止模型对强局部相关过拟合。

ProphetNet基于Transformer的seq2seq架构,其设计有两个目标:1.模型能够以高效的方式在训练过程中完成每时刻同时预测未来的N个字符;2.模型可以灵活地转换为传统的seq2seq架构,以在推理或微调阶段兼容现有的方法和任务。为此,我们受XLNet中Two-streamselfattention的启发,提出了用于模型decoder端的N-streamself-attention机制。图2展示了bigram形式下的N-streamself-attention样例。

美联储罗森格伦:现在担心通货膨胀还为时过早:美联储罗森格伦表示,现在担心通货膨胀还为时过早,在失业率为10%的情况下并不担心通胀。(金十)[2020/8/13]

除了原始的multi-headself-attention之外,N-streamself-attention包含了额外的N个predictingstreamself-attention,用于分别预测第n个未来时刻的字符所示。每一个predictingstream与mainstream共享参数,我们可以随时关闭predictingstream以让模型转换回传统seq2seq的模式。

图2:(a)为mainstreamself-attention;(b)为1-stpredictingstreamself-attention;(c)为2-ndpredictingstreamself-attention;(d)展示了n-streamself-attention的输入输出及流程。

动态 | 网友担心 Reddit 接受腾讯注资会影响其加密货币等内容板块:据The Block消息,美国社交新闻聚合平台Reddit在最新D轮融资中获得3亿美元,其中1.5亿来自腾讯,这遭到了部分网友的批评,理由是腾讯代表的是中国网络防火墙主力之一,网友担心这会影响Reddit网站此后的内容产出。Reddit网站包含丰富内容列表,其中很大一部分专门介绍加密货币。但英国广播公司BBC报道称,多数分析人士认为,腾讯通过此笔投资进而影响网站内容的可能性非常小。至此,Reddit网站本轮融资后,总融资已达5.5亿美元。[2019/2/13]

由于难以获取到大量带标记的序列对数据,我们用去噪的自编码任务通过大量无标记文本预训练ProphetNet。去噪的自编码任务旨在输入被噪音函数破坏后的序列,让模型学习去复原原始序列。该任务被广泛应于seq2seq模型的预训练中,如MASS、BART、T5等。本文中使用MASS的预训练方式,通过引入提出的predictingn-stream自监督学习目标函数预训练ProphetNet。我们以bigram形式的ProphetNet为例,整个流程如图3所示:

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

实验结果

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

表1:CNN/DailyMail测试集结果

表2:Gigaword测试集结果

表3:SQuAD1.1测试集结果SQuAD1.1交换验证测试集结果

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

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

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

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

总结

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

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

原力计划

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

Python数据清理终极指南口罩检测识别率惊人,这个Python项目开源了谈论新型冠状病、比特币、苹果公司……沃伦巴菲特受访中的18个金句,值得一看!天猫超市回应大数据杀熟;华为MateXs被热炒至6万元;Elasticsearch7.6.1发布一张图对比阿里、腾讯复工的区别不看就亏系列!这里有完整的Hadoop集群搭建教程,和最易懂的Hadoop概念!|附代码

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-3:690ms