解码器的作用主要是制作文本序列。与编码器类似,解码器也配备了一组类似的子层。它具有两个Multi-Headattention层,一个点前馈层,并且在每个子层之后都包含剩余连接和层归一化。
这些组件的功能类似于编码器的层,但有所不同:解码器中的每个Multi-Headattention层都有其独特的任务。
解码器的最后一个过程包括一个线性层,作为分类器,顶部是一个softmax函数来计算不同单词的概率。
Transformer解码器具有专门设计用于通过逐步解码编码信息来生成此输出的结构。
重要的是解码器以自回归的方式运行,用开始token启动其进程。它巧妙地使用先前生成的输出列表作为输入,与编码器的输出串联,编码器的输出包含来自初始输入的丰富的attention信息。
这种连续的解码一直持续到解码器到达关键时刻:生成标志其输出创建结束的token。
步骤1 -输出嵌入
在解码器的起跑线上,这个过程反映了编码器的过程。这里,输入首先通过嵌入层。
步骤2 -位置编码
在嵌入之后,再次像解码器一样,输入经过位置编码层。这个序列被设计用来产生位置嵌入。
然后将这些位置嵌入引入解码器的第一个Multi-Head attention层,在那里精心计算特定于解码器输入的注意分数。
步骤3 -解码器层堆栈
解码器由一堆相同的层组成(在原来的Transformer模型中是6层)。每一层有三个主要的子组件:
步骤3.1Masked Self-Attention机制
这类似于编码器中的Self-Attention机制,但有一个关键的区别:它防止位置关注后续位置,这意味着序列中的每个单词都不受未来标记的影响。
例如,当计算单词“are”的attention得分时,重要的是“are”不会偷看到序列中后面的单词“you”。
这种屏蔽确保了对特定位置的预测只能依赖于在它之前位置的已知输出。
步骤3.2 -编码器-解码器Multi-Head attention或交叉attention
在解码器的第二个Multi-Head attention层中,我们看到编码器和解码器组件之间的独特相互作用。在这里,编码器的输出充当查询和键的角色,而解码器的第一个Multi-Head attention层的输出充当值。
这种设置有效地将编码器的输入与解码器的输入对齐,使解码器能够识别并强调编码器输入中最相关的部分。
在此之后,来自第二层Multi-Head attention的输出然后通过点前馈层进行细化,进一步增强处理。
在这个子层中,查询来自前一个解码器层,键和值来自编码器的输出。这允许解码器中的每个位置参与输入序列中的所有位置,从而有效地将来自编码器的信息与解码器中的信息集成在一起。
步骤3.3前馈神经网络
与编码器类似,每个解码器层包括一个完全连接的前馈网络,分别并相同地应用于每个位置。
步骤4线性分类器和Softmax用于生成输出概率
数据通过Transformer模型的旅程在其通过最终的线性层时达到高潮,该线性层的功能是分类器。
这个分类器的大小对应于所涉及的类的总数(词汇表中包含的单词数)。例如,在一个有1000个不同的类代表1000个不同单词的场景中,分类器的输出将是一个有1000个元素的数组。
然后将该输出引入softmax层,该层将其转换为概率分数的范围,每个分数位于0到1之间。这些概率得分中最高的是key,它对应的索引直接指向模型预测的序列中的下一个单词。
归一化和剩余连接
每个子层(Masked Self-Attention、编码器-解码器attention、前馈网络)之后是一个归一化步骤,每个子层周围还包括一个残余连接。
解码器的输出
最后一层的输出被转换成一个预测序列,通常是通过一个线性层,然后是一个softmax来生成词汇表的概率。
解码器在其操作流程中,将新生成的输出合并到其不断增长的输入列表中,然后继续进行解码过程。这个循环不断重复,直到模型预测到一个特定的token,表示完成。
预测概率最高的token被分配为结束类,通常由结束token表示。
再次记住,解码器并不局限于单层。它可以由N层组成,每一层都建立在从编码器及其前一层接收的输入上。这种分层架构允许模型分散其焦点,并在其attention head中提取不同的attention模式。
这种多层次的方法可以显著提高模型的预测能力,因为它对不同的attention组合有了更细致的理解。
最终的架构是类似于这样的(来自原始论文)
-
解码器
+关注
关注
9文章
1190浏览量
42073 -
模型
+关注
关注
1文章
3531浏览量
50566 -
Transformer
+关注
关注
0文章
152浏览量
6551
原文标题:Transformer架构详细解析——解码器
文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录

网格环境中基于移动Agent的工作流架构研究
基于DTMF的解码器设计
基于DTMF的解码器设计
工作流程图怎么用?有哪些绘制工作流程图的软件
PyTorch教程-10.6. 编码器-解码器架构
基于transformer的编码器-解码器模型的工作原理

基于 RNN 的解码器架构如何建模

NX CAD软件:数字化工作流程解决方案(CAD工作流程)

Transformer架构中编码器的工作流程

评论