7_Attention(注意力机制)

一、Seq2Seq Model

Shortcoming: The final state is incapable of remembering a long sequence.

image-20210402152530449

二、Seq2Seq Model with Attention

  • Attention tremendously improves Seq2Seq model.(Attention极大地改善Seq2Seq 模型)
  • With attention, Seq2Seq model does not forget source input.
  • With attention, the decoder knows where to focus.(decoder 更新状态的时候,都会再看一遍encoder所有状态,这样就不会遗忘;attention还可以告诉decoder应该关注encoder哪个状态)
  • Downside: much more computation.(缺点:更多的计算)
  • https://distill.pub/2016/augmented-rnns/

2.1 SimpleRNN + Attention

在Encoder结束工作之后,Decoder 和Attention同时开始工作。QQ截图20210402153630

  • encoder的所有状态都要保留下来,这里需要计算S0 与每一个h的相关性。
  • α1,α2,α3,···αm都是介于(0,1)之间的实数,所有α相加等于1。

image-20210402170233688

2.1.1 权重计算αi

方法一: (used in the original paper):在原始论文中使用

image-20210402172113779

方法二:(more popular; the same to Transformer)

image-20210402172842453

2.1.2 Context vector Ci

image-20210402173439556

image-20210402175754801

2.2 Time Complexity(时间复杂度)

问题:How many weights ai have been computed? (我们共计算了多少权重ai

  • To compute one vector Ci ,we compute m weights: α1,α2,α3,···αm 。(想要计算出一个 Ci ,我们需要计算m个权重α1,α2,α3,···αm
  • The decoder has t states, so there are totally mt weights.(假设Decoder运行了t步,那么一共计算了 mt 个权重,因此时间复杂度mt)

image-20210402204443690

三、Summary(总结)

  • Standard Seq2Seq model: the decoder looks at only its current state.(标准的Seq2Seq模型:decoder基于当前状态来产生下一个状态,这样产生的新状态可能忘记了encoder的部分输入)

  • Attention: decoder additionally looks at all the states of the encoder.(注意力机制:decoder 在产生下一个状态之前,会先看一遍encoder的所有状态,于是decoder会知道encoder的完整信息,并不会遗忘)

  • Attention: decoder knows where to focus.(注意力机制:除了解决遗忘的信息,attention还会告诉decoder应该关注encoder的哪一个状态)

  • Downside: higher time complexity.(缺点:计算量太大)

    • m: source sequence length (假设输入encoder的序列长度为m)
    • t: target sequence length (decoder输出的序列长度为t)
    • Standard Seq2Seq: O(m + t ) time complexity (标准的Seq2Seq:只需要让encoder读一遍输入序列,之后不再看encoder的输入,然后让decoder依次生成输出序列)
    • Seq2Seq + attention: O(mt) time complexity(decoder每一次更新状态,都要把encoder的m个状态看一遍,所以每次的时间复杂度为m,decoder自己有t个状态,因此总时间复杂度是mt。

    使用attention可以提高准确率,要付出更多的计算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GAM_Attention(Generalized Additive Models Attention)是一种注意机制,用于在神经网络中加强特征的表达能力。如果你想改进GAM_Attention注意力机制,可以考虑以下几个方面: 1. 模型结构调整:可以尝试修改GAM_Attention的网络结构,例如增加或减少注意力层的数量、调整注意力层的大小或深度等。这样可以探索不同的模型结构对于特征表达的影响。 2. 特征选择与组合:注意力机制可以用于选择和组合输入特征,你可以尝试不同的特征选择方法,例如基于信息增益或相关性的特征选择算法,或者尝试不同的特征组合方式,例如使用多层注意力机制来组合不同层次的特征。 3. 损失函数设计:损失函数对于模型的训练和优化非常重要。你可以尝试设计新的损失函数,以更好地适应你的任务需求。例如,可以引入正则化项来约束注意力权重的大小,或者设计自适应的损失函数来调整注意力权重的学习速率。 4. 数据增强与正则化:数据增强和正则化技术可以帮助提高模型的泛化能力和鲁棒性。你可以尝试在训练数据上应用不同的数据增强方法,例如旋转、缩放、平移等,或者使用正则化技术,例如Dropout、L1/L2正则化等,来减少过拟合现象。 5. 超参数调优:注意力机制中可能存在一些超参数,例如学习率、正则化系数等,你可以通过网格搜索或者贝叶斯优化等方法来寻找最优的超参数组合,以提高模型性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

少云清

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

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

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

打赏作者

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

抵扣说明:

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

余额充值