transformer的理解

1.二头注意机制

  • 引入二头
    这里二头注意力机制,其实就是将前面的q,k,v进行细分,分成两个,这样关注的信息就被细化了.
    image.png
    将权重w拆分成wq,1,wq,2两个权重参数,然后将a分别与两个权重参数进行点乘,得到了qq,1和qq,2.
  • 计算 α \alpha α
    这个时候,将q的第一个头与每个k的第一个头进行计算,q的第二个头与k的第二头进行计算,就会得到两个 α \alpha α1, α \alpha α2
  • 计算b
    image.png
    后面的步骤就和单头注意力机制是一样的了,区别在于多头注意力机制引入多个头,信息更细分了,要进行多个计算,结果更准确.

2.引入位置信息

注意力机制中存在一个缺陷,就是没有位置信息,所以给注意力机制引入了一个one-hot结构的位置矩阵.
image.png
将权重矩阵W拆分成WI和WP,然后与输入值x和位置信息p进行点乘,得到ei和 α \alpha αi

3.transformer框架可视化理解

image.png
以机器翻译为例,输入一个机器学习,首先会经过编码,然后再经过解码,得到你想要的信息,tansformer机制就是一个编码和解码的过程.
image.png
输入的信息x会与一个one-hot编码的位置信息相结合,然后输入进一个self-attention多头注意力机制.然后将编码的结果作为解码的输入,将输入放到一个masked多头注意力机制,然后在经过self-attention注意力机制,最后经过一系列的操作得到最后的输出.
其中在编码的时候,添加了一个Norm层,Norm和Layer的区别就是,Norm是横向的,Layer是纵向的.

4.通过可视化看看注意力机制的效果

image.png
如图所示:
文中的it是一个代词,在这段文本中,it指代的是animal,所以它与animal的依赖更多一点,他们之间的关系线颜色更深.

5.单头注意力机制与多头注意力机制的效果对比

image.png
上面绿色的是多头注意力机制,下面红色的是单头注意力机制,从图中可以看出,多头注意力机制关注的信息跟多一些.

Transformer是一种用于自然语言处理的模型架构,它由编码组件和解码组件组成[^1]。Transformer的工作原理是通过注意力机制来处理输入序列和输出序列之间的关系[^2]。它在处理文本数据时具有很大的优势,并且在自然语言处理领域取得了重要的突破。 Transformer的编码组件主要负责将输入序列转换为一系列的隐藏表示,这些隐藏表示包含了输入序列的语义信息。编码组件由多个相同的层组成,每个层都包含了多头注意力机制和前馈神经网络。自注意力机制能够捕捉输入序列中不同位置之间的依赖关系,而前馈神经网络则能够对每个位置的隐藏表示进行非线性变换。通过多个层的堆叠,编码组件能够逐渐提取输入序列的更高级别的语义信息。 解码组件则负责根据编码组件生成的隐藏表示来生成输出序列。解码组件也由多个相同的层组成,每个层包含了多头注意力机制、多头编码-解码注意力机制和前馈神经网络。多头编码-解码注意力机制能够捕捉输入序列和输出序列之间的依赖关系,而前馈神经网络则能够对每个位置的隐藏表示进行非线性变换。通过多个层的堆叠,解码组件能够逐渐生成输出序列。 Transformer注意力机制是其核心部分,它能够在不同位置之间建立关联,并且能够根据输入序列和输出序列的不同位置之间的关系来进行加权计算。这种注意力机制使得Transformer能够更好地处理长距离依赖关系,从而提高了模型的性能。 总结起来,Transformer是一种用于自然语言处理的模型架构,它通过注意力机制来处理输入序列和输出序列之间的关系。它在自然语言处理领域取得了重要的突破,并且被广泛应用于各种任务,如机器翻译、文本生成等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值