编者按微软亚洲研究院提出新的预训练模型 ProphetNet提出了一种新的自监督学习目标——同时预测多个未来字符在序列到序列的多个自然语言生成任务都取得了优异性能。
大规模预训练语言模型在自然语言理解NLU和自然语言生成NLG中都取得了突破性成果。这些模型通常使用特殊的自监督学习目标先在大规模无标记语料中进行预训练然后在下游任务上微调。
传统自回归语言模型通过估计文本语料概率分布被广泛用于文本建模序列到序列的建模seq2seq以及预训练语言模型中如 GPT 等。这类模型通常使用 teacher-forcing 的方法训练即每一时刻通过给定之前时刻的所有字符以预测下一个时刻的字符。然而这种方式可能会让模型偏向于依赖最近的字符而非通过捕捉长依赖long-term dependency的信息去预测下一个字符。有如以下原因1局部的关系如两元字符的组合往往比长依赖更强烈2Teacher-forcing 每一时刻只考虑对下一个字符的预测并未显式地让模型学习对其他未来字符的建模和规划。最终可能导致模型对局部字符组合的学习过拟合而对全局的一致性和长依赖欠拟合。尤其是当模型通过贪心解码greedy decoding的方式生成序列时序列往往倾向于维持局部的一致性而忽略有意义的全局结构。
图1左边是传统的语言模型每一时刻预测下一时刻的字符。右边是 Bigram 形式下的 ProphetNet每一时刻同时预测未来的两个字符。
预测未来 N 元组这一自监督学习目标在训练过程中显式地鼓励模型在预测下一个字符时考虑未来更远的字符做到对未来字符的规划以防止模型对强局部相关strong local correlation过拟合。
由于难以获取到大量带标记的序列对数据我们用去噪的自编码任务通过大量无标记文本预训练 ProphetNet。去噪的自编码任务旨在输入被噪音函数破坏后的序列让模型学习去复原原始序列。该任务被广泛应于 seq2seq 模型的预训练中如 MASS、BART、T5 等。本文中使用 MASS 的预训练方式通过引入提出的 predicting n-stream 自监督学习目标函数预训练 ProphetNet。我们以 bigram 形式的 ProphetNet 为例整个流程如图3所示
本文介绍了微软亚洲研究院在序列到序列模型预训练的一个工作ProphetNet该模型提出了一种新的自监督学习目标在同一时刻同时预测多个未来字符。并通过提出的 N-stream self-attention 机制高效地实现了模型在该目标下的训练。实验表明该模型在序列到序列的多个自然语言生成任务都取得了不错的性能。我们将在之后尝试使用更大规模的模型架构和语料进行预训练并进一步深入地探索该机制。
《原力计划【第二季】- 学习力挑战》正式开始即日起至 3月21日千万流量支持原创作者更有专属【勋章】等你来挑战
谈论新型冠状病毒、比特币、苹果公司……沃伦•巴菲特受访中的 18 个金句值得一看









