transformer的输入到输出(维度以及矩阵计算) 您所在的位置:网站首页 计算维度 transformer的输入到输出(维度以及矩阵计算)

transformer的输入到输出(维度以及矩阵计算)

2023-07-12 12:37| 来源: 网络整理| 查看: 265

基本的transformer模型框架

本期以翻译为一个例子讲述他的训练过程:

 

 从输入文本开始:x=早上好   y=good morning

encode部分:

inputs的输入:

x=早上好       

 经过embedding向量化加上positional encoding(位置向量)后矩阵维度为(3,5)的一个矩阵,其中3为文本的个数(有几个字维度为多少),5是自己定义的向量维度

x=(3,5),其中包括字本身的向量和位置的向量

q=x*wq   k=x*wk   v=x*wv(wq,wk,wv分别为初始化矩阵)

Multi-Head Attention(多头注意力机制)

本次讲解为4头,基本注意力机制的公式为:softmax(q*k.T/^dk)*v

维度变化:q*k.T=(3,5)*(5,3)=(3,3)(/^dk和softmax矩阵维度不变)

之后乘v=(3,3)*(3,5)=(3,5)(由于为4头注意力机制所以5乘4)

z=(3,5*4)=(3,20)   注意力机制到这里就结束了(z为提取的向量特征)

再经过维度转换用于之后的残差和layer Norm

z=(3,20)*(20,5)=(3,5)     (残差为了防止在训练过程中信息遗失过多)

再经过前馈神经网络进行非线性激活(维度不变)

c=经过前馈的z=(3,5)

最后把提取出来的语义向量c作为decode的k和v

decode部分:

输入为y= good morning (这里会加一个起始符)

之后经过向量化enbedding和位置向量positional encoding后

y=(3,5)的一个矩阵(包含了位置向量和单词向量)

q=y*wq   k=y*wk   v=y*wv(wq,wk,wv分别为初始化矩阵)

Masked Multi-Head Attention(多头遮蔽注意力机制)

本次讲解为4头,基本注意力机制的公式为:softmax(q*k.T/^dk)*v

维度变化:q*k.T=(3,5)*(5,3)=(3,3)(/^dk和softmax矩阵维度不变)

再经过计算softmax后它会进行掩码矩阵的信息会变成下面这个图涂染的部分信息为0(防止在训练时提取到n+1个单词的信息)(掩码时矩阵维度不变)

之后乘v=(3,3)*(3,5)=(3,5)(由于为4头注意力机制所以5乘4)

z=(3,5*4)=(3,20)   注意力机制到这里就结束了(z为提取的向量特征)

再经过维度转换用于之后的残差和layer Norm

z=(3,20)*(20,5)=(3,5)     (残差为了防止在训练过程中信息遗失过多)

再经过前馈神经网络进行非线性激活(维度不变)

z=(3,5)

这里的z作为接下来多头遮蔽注意力机制的q

之后就和上面的过程一样经过注意力后维度为(3,5)

最后经过线性层后做softmax把最大概率的单词输出



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有