注意力机制笔记

RNN的应用:
关键字提取 
手写数字识别(many to many)
seq2seq  ---》一般用于机器翻译,输出序列是不确定的 使用序列到序列的模型解决。包含两部分:编码器和解码器,编码器encoder把所有的输入序列都编码成一个统一的语义向量Context,然后再由解码器decoder进行解码。在解码器decoder解码的过程中不断的将前一个输出作为后一个时刻的输入,循环解码,直到输出停止符为止。
解码过程的解码模型是一个自回归模型。

####注意力机制#####
是seq2seq的优化方法:
通过引入一个神经网络。计算编码器的输出对解码器贡献的权重,最后计算加权平均后编码器的输出,即上下文(context)
相当于对原文做了权重输出: 通过编码器的输出和下一步的输入中引入上下文的信息,最后达到让解码器的某一个特定的解码和编码器的一些输出关联起来,即对其效应。

####自注意力机制######
为了优化循环神经网络
自注意力机制的计算设计序列中某一个输入相对于其他所有输入之间的联系。在计算中并未没有先后顺序之分,所以能够容易的并行计算;在计算过程中主要涉及的是矩阵乘法。
自注意力机制需要输入的三个值:
查询张量:Query
键张量:Key
值张量:Value

前两个张量(Q,K)的作用是根据查询张量获得每个键张量K的对应分数 
然后根据分数得到对应权重
最后把权重乘上值张量V,并对值张量加权平均,最后输出结果。
在实践中经常使用多个并行的自注意力机制,成为多头注意力(multihead,Atention),即使用多个注意力矩阵和多个权重对输入值进行加权平均,随后对加权平均的结果进行拼接。 (类比多个卷积核)

######Transformer模型########
区别于rnn positional encoding 位置编码
transformerencoderlayer 
transformerdecoderlayer
pytorch中自注意力机制模块:
编码器和解码器的输入参数:
d_model代表单层编码器模型输入的特征维度大小
nhead代表注意力的数目
dim_feedforward代表FF层的俄两个神经网络中间层的特征数目
dropout丢弃率 
这两个模块在内部自带归一化,所以不需要指定层归一化的模块

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值