Transformer

是什么    

    Transformer是一种用于处理序列数据的神经网络架构,最初由Vaswani等人在2017年提出,主要应用于自然语言处理(NLP)任务,如机器翻译、文本生成和文本分类。Transformer通过引入注意力机制(Attention Mechanism),解决了传统序列模型(如RNN和LSTM)在长序列处理中的一些局限性,如梯度消失和并行计算困难。

基本结构

输入嵌入

        输入序列中的每个元素(如单词或字符)首先被转换为一个固定维度的向量表示。

位置编码

        因为Transformer没有递归结构,它引入位置编码来表示输入序列中每个位置的信息。位置编码可以是正弦和余弦函数的组合,也可以是可学习的位置向量。

编码器

        Transformer的编码器由多个相同的层叠堆叠而成,每一层包括两个子层:

多头自注意力机制

        通过计算输入序列中每个元素之间的注意力权重,来捕捉序列中的全局依赖关系。

前馈神经网络

        对每个位置的输出进行进一步的非线性变换。

解码器

        解码器结构与编码器类似,也由多个相同的层叠堆叠而成,但每层有三个子层

遮蔽多头自注意力机制

        与编码器的自注意力类似,但在训练过程中对未来的时间步进行遮蔽。

多头注意力机制

        利用编码器的输出进行注意力计算。

前馈神经网络

        类似编码器的前馈神经网络。

输出层

        解码器的最终输出通过线性变换和Softmax层,得到预测的概率分布。

Transformer的工作原理

自注意力机制

        对于输入序列中的每个位置,通过计算与其他位置的相关性,生成加权的组合表示。主要公式包括:

查询(Query, Q),键(Key, K),值(Value, V)

        输入向量通过线性变换得到Q、K和V矩阵。

注意力权重计算

其中,dk​ 是键向量的维度,用于缩放内积。

多头注意力机制

        将自注意力机制扩展为多个头(head),每个头独立计算注意力,然后将结果拼接并线性变换,捕捉不同的子空间特征。

前馈神经网络

        对每个位置的输出进行独立的线性变换和非线性激活,通常使用ReLU激活函数。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

世润

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

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

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

打赏作者

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

抵扣说明:

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

余额充值