【Transformer】自回归和解码器

为什么叫自回归

“自回归”(Autoregressive)这个词来源于时间序列分析中的自回归模型(Autoregressive Model),它描述了一种特定的统计关系,即一个变量的当前值可以通过它的过去值来预测。在自回归模型中,一个时间点的值是其之前若干时间点值的线性组合。

在自然语言处理(NLP)和Transformer模型的上下文中,“自回归”一词被用来描述一种序列生成策略,其中序列的每个元素(如一个词或字符)的生成依赖于它之前的所有元素。换句话说,模型在生成序列的每一步时,都会考虑到到目前为止已经生成的序列部分。

这种策略被称为“自回归”,原因如下:

依赖历史信息:在生成当前元素时,模型仅使用序列中之前的历史信息,而不依赖于未来的信息。这与时间序列中的自回归模型类似,后者也只使用过去的值来预测当前值。

递归预测:在生成序列时,模型递归地预测下一个元素,每次预测都建立在之前预测的基础上。这种递归性质与自回归模型的递归定义相呼应。

因果关系:自回归生成保持了因果关系,即在生成序列时,只有已经生成的部分会影响未来部分的生成,这与时间序列中的自回归模型保持时间顺序的因果关系一致。

预测下一个值:无论是在时间序列分析还是NLP中的文本生成,自回归模型的核心都是基于已知的过去信息来预测序列中的下一个值。

在Transformer模型中,自回归生成是通过解码器部分实现的,解码器使用自注意力机制来确保在生成每个词时,模型只能访问到当前时间步之前的信息,从而实现自回归生成。这种机制使得生成的序列在语言上是连贯的,并且能够捕捉到长距离的依赖关系。

在Transformer模型中,解码器是怎么实现自回归生成的

在Transformer模型中,解码器实现自回归生成的过程涉及以下几个关键步骤:

初始化:

解码器通常以特殊的起始标记(如 )作为序列的开始。
编码器的输出:

编码器对输入序列(如源语言句子)进行编码,生成一个上下文向量,这个向量包含了整个输入序列的信息。
自回归生成:

在每个时间步 t,解码器接收到编码器的上下文向量,并结合已经生成的目标语言序列的部分(直到时间步 t-1)来预测时间步 t 的词。
这意味着在预测第 t 个词时,解码器只能看到从开始标记到第 t-1 个词的所有历史信息。
掩蔽自注意力:

为了确保自回归性,解码器内部的自注意力层会对当前位置之后的时间步进行掩蔽(masking),这样模型在预测当前词时无法访问未来信息。
概率预测:

解码器会输出一个概率分布,表示在当前时间步生成各个可能词的概率。
采样或贪婪选择:

根据输出的概率分布,可以通过不同的策略选择下一个词。最常见的是贪婪选择(选择概率最高的词),但也可以使用随机采样(如温度采样)来增加生成序列的多样性。
迭代过程:

选择或采样出的词会被添加到已生成的序列中,并作为新的输入反馈到解码器,与上下文向量一起用于预测下一个词。
这个过程会一直迭代,直到生成特定的结束标记(如 )或达到预设的最大序列长度。
注意力机制:

解码器在每个时间步都会通过注意力机制与编码器的输出交互,以获取源语言序列的相关信息,这有助于生成与源序列语义一致的目标序列。
通过这种方式,Transformer模型的解码器能够逐步生成目标语言序列,每一步都依赖于之前的步骤,确保了生成的序列在语义上与输入序列保持一致,并且遵循自然语言的语法和结构。这种自回归生成方式使得Transformer非常适合于机器翻译、文本摘要、问答系统等NLP任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江星竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值