自回归(Autoregressive,AR)模型 / 非自回归(Non-autoregressive,NAR)模型
前言
回归分析(regression analysis)是确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法,运用十分广泛。回归分析按照涉及的自变量的多少,可分为一元回归分析和多元回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。
回归(regression):Y变量为连续数值型(continuous numerical variable)。
应用现状
目前主流的神经机器翻译模型为自回归模型,每一步的译文单词的生成都依赖于之前的翻译结果,因此模型只能逐词生成译文,翻译速度较慢。Gu等人提出的非自回归神经机器翻译模型(NAT)对目标词的生成进行独立的建模,因此能够并行解码出整句译文,显著地提升了模型的翻译速度。然而,非自回归模型在翻译质量上与自回归模型有较大差距,主要表现为模型在长句上的翻译效果较差,译文中包含较多的重复词和漏译错误等。
非自回归(Non-autoregressive,NAR)模型并行生成序列的所有标记,与自回归(AR)模型相比,生成速度更快,但代价是准确性较低。在神经机器翻译(neural machine translation,NMT)、自动语音识别(automatic speech recognition,ASR)和语音合成(TTS)等不同的任务中,人们提出了包括知识提取和源-目标对齐在内的不同技术来弥补AR和NAR模型之间的差距。在这些技术的帮助下,NAR模型可以在某些任务中赶上AR模型的准确性,但在其他任务中则不能。
AR
AR模型,即自回归(AutoRegressive, AR)模型又称为时间序列模型,数学表达式为:
\(y\left( t \right) = \sum\limits_{i = 1}^n {{a_i}y\left( {t - i} \right)} + e\left( t \right)\)
此处的n表示n阶自回归。
AR模型是一种线性预测,利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型。即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推,而插值是由两点(或少数几点)去推导多点,所以AR模型要比插值方法效果更好。
NLP中的 sequence2sequence 和 Transformer 都是AR模型。
NAR
举例说明:在机器翻译中,不同于自回归(Autoregressive Translation , ART)模型需要用已生成的词来预测下一个位置的词,非自回归 (Non-Autoregressive Translation, NART)模型打破了生成时的串行顺序,希望一次能够解码出整个目标句子,从而解决AT模型所带来的问题。
与自回归模型相比,非自回归(Non-Autoregressive)模型尝试同时生成一整个序列,从而解决上述三个问题。一个简单的非自回归模型直接假设目标序列的每个词都是独立的。然而这一独立性假设过强,显然与实际问题不符。为了缓解独立性假设过强的问题,一个方案是引入隐变量z,得到:
${P_\theta }\left( {y|x} \right) = \int_z {{P_\theta }\left( {y|z,x} \right){p_\theta }\left( {z|x} \right)dz} $
假定给定隐变量的前提下,目标序列的每个词是独立的,则:
${P_\theta }\left( {y|z,x} \right) = \prod\limits_{t = 1}^T {{P_\theta }\left( {{y_t}|z,x} \right)} $
从上面的公式可以看出,隐变量需要保存关于目标序列的全部信息,才能解码整个目标序列。因此隐变量的概率分布必须有足够的复杂度。
semi-NAR
参考:自回归与非自回归模型不可兼得?预训练模型BANG全都要!
自回归每次会使用已生成的序列作为已知信息预测未来的一个单词,最终再把每个时间步生成的单词拼成一个完整的序列输出。这其中的时延成为了线上使用或者实时使用这些预训练的自然语言生成模型的瓶颈。
在非自回归模型中,每个单词之间没有依赖关系,整个输出序列的每个单词被并行地同步预测。虽然其推断速度得到了很大改善,但是生成质量却往往弱于自回归模型。
为了平衡推断速度和生成质量,半非自回归的模型被提出和研究。半非自回归的经典做法是把非自回归生成的结果进行多次迭代,但不同半非自回归模型的算法差异比较大。由于和自回归相比,非自回归和半非自回归的依赖关系学习和生成难度较大,所以它们往往在文本-文本翻译,或者语音-文本翻译,文本-语音翻译等输入输出较为对齐的任务上可以提供不错的生成效果,但是很少在问答、对话、摘要等任务上进行研究,而这些领域被自回归生成验证可以拥有不错的生成质量且在预训练下得到提升。
业界研究
非系统性总结,持续更新……
微软-BANG
参考:自回归与非自回归模型不可兼得?预训练模型BANG全都要!
论文:BANG: Bridging Autoregressive and Non-autoregressive Generation with Large Scale Pretraining.
近两年,预训练技术的发展极大地提高了自然语言生成的效果,但随着数据量和模型大小的增加,模型在使用时的推断耗时也随之变大。为了降低自回归生成的时延,并行预测目标语句所有单词的非自回归模型被提出。然而,非自回归和半非自回归的依赖关系学习和生成难度较大,它们的生成质量往往弱于自回归模型。针对上述问题,微软亚洲研究院的研究员们提出了新的自然语言生成预训练 BANG;并指出自回归和非自回归生成可以被统一地理解为,有多大比例的上文信息可以被使用。
BANG 的贡献主要有:
- BANG 在大规模预训练中,通过考虑遮盖任意长度的前文来沟通自回归和非自回归生成;
- 提出跨流可见的多流注意力机制来实现高效的预训练,所有单词在考虑到任意长度前文被遮盖的前提下都可被并行预测;
- 对于不同的需求状况,BANG 支持自回归微调,非自回归微调和半非自回归微调。BANG 第一次把不同的生成方案在同一个预训练模型里进行支持;
- 研究员们在 16GB 的英语语料上进行了预训练,在摘要、对话、问题生成上,BANG 对自回归效果和半非自回归效果带来了显著的提升,并达到了与非预训练的 Transformer 自回归模型相似的评测结果。对于自回归生成的微调,BANG 也可以和当前主流的自回归预训练模型达到相似的结果。